Lời Nói Đầu
Ngày nay những nghiên cứu về lĩnh vực xử lý ngôn ngữ tự nhiên nhằm tạo cho máy tính khả năng hiểu giao tiếp được bằng ngôn ngữ tự nhiên với con người đã không chỉ còn là lý thuyết nữa mà đã đi vào xây dựng rất nhiều ứng dụng có hiệu quả.Hơn nữa quá trình ứng dụng này còn có sự kết hợp giao thao của các nghành chuyên môn khác nhau trong lĩnh vực tin học,có các kỹ thuật ứng dụng lập trình logic,giao diện người dùng vào lĩnh xử lý ngôn ngữ tự nhiên.Vì vậy em chọn đề tài “Tìm hiểu kỹ thuật xây dựng giao diện người dùng với cơ chế phản hồi ngôn ngữ tự nhiên” một đề tài phản ánh được nội dung trên làm đề tài cho đồ án tốt nghiệp của mình .
Do trình độ nhận thức còn hạn chế và hiểu biết chưa rộng nên trong đồ án của em chắc chắn không tránh khỏi nhiều thiếu sót. Em rất mong nhận được sự chỉ bảo của các thầy cô và các bạn!
Em chân thành cảm ơn TS. Lê Thanh Hương – cô giáo phụ trách hướng dẫn tốt nghiệp đã gợi ý để em lựa chọn đề tài này và đã tận tình hướng dẫn trong suốt quãng thời gian làm đồ án .
Em cũng xin gửi lời cảm ơn tới thày giáo Quách Tuấn Ngọc về những chỉ dẫn của thày trên diễn đàn edu.net của bộ giáo dục về cách viết một đồ án tốt nghiệp có hiệu quả,cảm ơn các bạn trong nhóm thực tập và các bạn trong lớp đã chia sẻ kiến thức,thông tin có liên quan đến lĩnh vực của đồ án ,cũng như kinh những kinh nghiệm lập trình hết sức bổ ích.
Cuối cùng, em xin được cảm ơn sự dạy dỗ nhiệt tình của các thầy cô giáo trong khoa nói riêng và trong trường đã dạy dỗ em trong suốt 5 năm học dưới mái trường ĐHBK thân yêu.
Mục lục
Lời nói đầu 1
Mục lục 2
Phụ lục 3
PHẦN 1:TỔNG QUAN VỀ VIỆC ỨNG DỤNG XỬ LÝ NGÔN TRONG THỰC TIỄN 4
1.1.Giới thiệu 4
1.2. Đặt vấn đề 5
1.2.1.Mục đích của đề tài 5.
1.2.2.Nội dung công việc 6
PHẦN 2:CƠ SỞ LÝ THUYẾT 7
2.1.Giao diện ngôn ngữ tự nhiên 7
2.1.1.Những ưu điểm của giao diện ngôn ngữ tự nhiên 10
2.1.2.Những nhược điểm của giao diện ngôn ngữ tự nhiên 11
2.2.Giao diện ngôn ngữ tự nhiên hạn chế 12
2.3.Kỹ thuật WYSIWYM editing 12
2.3.1.Các mô hình Editor 12
2.3.2.Kiến trúc WYSIWYM 15
2.3.3.Các thành phần cơ bản của một hệ thống WYSIWYM editing 17
PHẦN 3:HỆ THỐNG HỎI ĐÁP NGÔN NGỮ TỰ NHIÊN 19
3.1.Các hệ thống truy vấn cơ sở dữ liệu 19
3.2.Giới thiệu về một hệ thống CLEF 21
3.2.1. Ứng dụng của hệ thống 21
3.2.2. Kiến trúc của hệ thống 22
3.3.Giao diện CLEF 22
3.3.1.Chức năng và nhiệm vụ của giao diện CLEF 23
3.3.2.Mô hình hoá các văn bản trả lời 24
3.3.3.Cách thức tương tác giữa người dùng và giao diện CLEF 25
PHẦN 4:XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG GIAO DIỆN WYSIWYM 38
4.1.Phân tích thiết kế 38
4.1.1.Phân tích chức năng 38
4.1.2.Thiết kế cơ sở tri thức 40
4.1.2.1.Quan hệ ngữ nghĩa giữa các anchor(liên kết) 40
4.1.2.2.Thiết kế logic 51
4.2.Cài đặt chương trình mô phỏng 65
4.2.1.Công cụ ngôn ngữ 65
4.2.2.Mã hoá chương trình 68
PHẦN 5: ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 94
5.1. Đánh giá kết quả 94
5.2.Hướng phát triển 95
Các tài liệu tham khảo 96
Phụ Lục
Danh mục các hình vẽ 3
Hình 2.1: Mô hình trao đổi giữa CSDL và người dùng qua giao diện NNTN 7
Hình 2.2:Kiến trúc của một giao diện ngôn ngữ tự nhiên 9
Hình 2.3:Mô hình kiến trúc của WYSIWYM 16
Hình 2.4 : Mô hình hoạt động của một hệ thống WYSIWYM 17
Hình 3.1: Kiến trúc chung của một hệ QA 20
Hình 3.2:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 1) 25
Hình 3.3:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 2) 26
Hình 3.4:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 3) 28
Hình 3.5:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 4) 29
Hình 3.6:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 5) 30
Hình 3.7:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 6) 31
Hình 3.8: Minh hoạ quá trình mở rộng văn bản 32
Hình 3.9:Tiến trình tương tác giữa người dùng và giao diện CLEF (trạng thái 7) 34
Hình 4.1: Tiến trình hoạt động của giao diện WYSIWYM 40
Hình 4.2:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 1 59
Hình 4.3: Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 2 60
Hình 4.4:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 3 .61
Hình 4.5:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 4 63
Hình 4.6:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 5 65
Hình 4.7:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 6 66
Hình 4.8 :Các thành phần thực thi chương trình 68
95 trang |
Chia sẻ: banmai | Lượt xem: 1646 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tìm hiểu kỹ thuật xây dựng giao diện người dùng với cơ chế phản hồi ngôn ngữ tự nhiên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
có nội dung về việc khám bệnh của bệnh nhân có dạng như sau
Some patient was seen by some doctor at some hospital on some day some month some year
Đồ thị DAG biểu diễn mạng ngữ nghĩa của câu trên
Hình 4.3: Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 2
Cấu trúc tri thức mà đồ thị biểu diễn
(A-box (consult_record u1)
(pat u1 u2 )
(patient u2)
(doc u1 u3 )
(doctor u3)
(place u1 u4 )
( hospital u4)
(time u1 u5 )
(date u5)
(day u5 u6 )
(day_spec u6)
(month u5 u7 )
( month_spec u7 )
(year u5 u8 )
(year_spec u8))
Chuyển cấu trúc trên sang dạng logic vị từ ta có cấu tạo logic của A-box
[u1 u2 u3 u4 u5u6u7u8consult_record (u1)
&pat(u1,u2)&patient(u2)
&doc(u1,u2)&doctor(u3)
&place(u1,u4)&hospital(u4)
&time(u1,u5)&date&(u5)
&day(u5,u6)&day_spec(u6)
&month(u5,u7)&month_spec(u7)
&year(u5)&year_spec(u8)]
Nội dung A-box tương ứng với mô hình feedback text dạng số 3
Mô hình feedback text dạng số 3 có nội dung về chẩn đoán bệnh
A-box có của feedback text này được mô tả bằng đồ thị DAG như sau
Hình 4.4:Mạng ngữ nghĩa A-box tương ứng với mô hình feedback text dạng 3
Cấu trúc tương ứng của A-box này là
(A-box(diagnosis_record u1)
(pat u1 u2)
(patient u2 )
(diagnosis u1 u3)
(cancer u3 )
(place u1 u4 )
(hospital u4)
(time u1 u5 )
(date u5)
(day u5 u6 )
(day_spec u6)
(month u5 u7)
(month_spec u7)
(year u5 u8 )
(year_spec u8))
Biểu diễn lại cấu trúc trên dưới dạng logic vị từ
[ u1u2u3u4u5u6u7u8 diagnosis_record(u1)
&pat(u1,u2)&patient(u2)
&diagnosis(u1,u3)&cancer(u3)
&place(u1,u4)&hospital(u4)
&time(u1,u5)&date(u5)
&day(u5,u6)&day_spec(u6)
&month(u5,u7)&month_spec(u7)
&year(u5,u8)&year_spec(u8)]
Nội dung A-box tương ứng với mô hình feedback text dạng số 4
Loại feedback text này có mẫu câu dạng như sau
Some patient has started on some medicine some weight some frequency on some day some month some year.Some patient stopped taking some medicine some weight some frequency on some day some month some year
Đồ thị mạng ngữ nghĩa của A-box được vẽ trên hình 4.5.
Các đối tượng sự kiện medication_start và medication_stop đều có thuộc tính là các đối tượng medication_spec và patient,thuộc tính của 2 sự kiện này là cùng một đối tượng vì nó cùng nói về một bệnh nhân và cùng một loại thuốc điều trị cho bệnh nhân đó.Còn đối với thuộc tính time dù hai sự kiện này cùng có thuộc tính time và kiểu thuộc tính cùng là date nhưng do sự kiện bắt đầu dùng thuốc và kết thúc việc dùng loại thuốc này diễn ra ở hai thời điểm khác nhau nên các đối tượng date xác định thời gian xảy ra sự kiện trên là hai đối tượng khác nhau.Trên đồ thị mỗi nút là một thực thể (entity) do đó có trên đồ thị có 2 nút date,2 nút day_spec và 2 nút month_spec.,2 nút year_spec.
Hình 4.5:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 4
Cấu trúc tri thức mà A-box biểu diễn được diễn giải thành
(A-box(medication_reord u1)
(start u1 u2)
(medication_start u2)
(pat u2 u4)
(patient u4)
(time u2 u5)
(date u5)
(day u5 u6 )
(day_spec u6 )
(month u5 u7 )
(month_spec u7)
(year u5 u8 )
(year u8 )
(medication u2 u9)
( medication_spec u9 )
(quantity u9 u10)
(weight u10 )
(medicine u9 u11)
(medicine_name u11 )
(frequency u9 u12 )
(frequency_name u12)
(stop u1 u3 )
(medication_stop u3 )
(pat u3 u4 )
(patient u4)
(time u3 u13)
(date u13 )
(day u13 u14 )
(day_spec u14)
(month u13 u15 )
(month_spec u15)
(year u13 u16 )
(year_spec u16)
( medication u3 u9)
(medication_spec u9)
(quantity u9 u10)
(weight u10 )
(medicine u9 u11)
(medicine_name u11 )
(frequency u9 u12 )
(frequency_name u12))
Cấu tạo của A-box chuyển sang dạng biểu diễn logic
Vì các toán tử trong biểu thức logic biểu diễn A-box đều là toán tử & (do các câu đều câu khẳng định )nên các quan hệ ngữ nghĩa nào xuất hiện hai lần trong cấu trúc trên đều chỉ cần biểu diễn bằng một vị từ logic.
[u1u2u3u4u5u6u7u8u9u10u11u12u13u14u15u16
medication_record (u1)&start (u1,u2)&stop(u1,u3)
&medication_start(u2)&medication_stop(u3)
&pat(u2,u4)&pat(u3,u4)&patient(u4)
&medication(u2,u9)&medication(u3,u9)&medication_spec(u9)
&quantity(u9,u10)&weight(u10)
&medicine(u9,u11)&medicine_name(u11)
&frequency(u9,u12)&frequency_spec(u12)
&time(u2,u5)&date(u5)
&day(u5,u6)&day_spec(u6)
&month(u5,u7)&month_spec(u7)
&year(u5,u8)&year_spec(u8)
&time(u3,u13)&date(u13)
&day(u3,u14)&day_spec(u14)
&month(u3,u15)&month_spec(u15)
&year(u5,u16)&year_spec(u16) ]
Nội dung A-box tương ứng với mô hình feedback text dạng 5
Loại feedback text này có mẫu câu dạng như sau
Some patient has some amount level of some substance
Với nội dung câu như vậy ta có biểu diễn dạng DAG
Hình 4.6:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 5
Cấu trúc được đồ thị DAG mô tả là
(A-box(test_result_record u1)
(pat u1 u2)
(patient u2 )
(substance u1 u3 )
(substance_name u3)
(amount u1 u4)
(substance u4 ))
Ta chuyển thành biểu thức logic như sau
[u1u2u3u4 test_result_record(u1)
&pat(u1,u2)&patient(u2)
&substance(u1,u3)&substance_name(u3)
&amount(u1,u4)&amount_name(u4)]
Nội dung A-box tương ứng với mô hình feedback text dạng 6
Mẫu câu tương ứng với feedback text loại 6
The care plan of this some type of tumor was discussed by some team on some day some month some year.This agreed plan was some type of care.
Đồ thị DAG biểu diễn cấu trúc A-box tương ứng với mẫu câu trên
Hình 4.7:Mạng ngữ nghĩa của A-box tương ứng với mô hình feedback text dạng 6
Từ đồ thị ta rút ra được cấu trúc tri thức
(A-box(care_record u1)
(discuss_section u1 u2)
(discuss_event u2 )
( tumor u2 u4 )
( tumor_type u9 )
( team u2 u9 )
(team_type u9)
(time u2 u5 )
(date u5 )
(day u5 u6)
(day_spec u6)
(month u5 u7 )
(month_spec u7 )
(year u5 u8 )
(year u8 )
( dicide_section u1 u3 )
(decide_event u3 )
(care u3 u10 )
(care_type u10))
Chuyển sang dạng biểu diễn logic
[u1u2u3u4u5u6u7u8u9u10 care_record (u1)
&dicuss_section(u1,u2)&discuss_event(u2)
&tumor(u2,u4)&tumor_type(u4)
&team(u2,u9)&team_type(u9)
&time(u2,u5)&date(u5)
&day(u5,u6)&day_spec(u6)
&month(u5,u7)&month_spec(u7)
&year(u5,u8)&year_spec(u8)
&dicide_section(u1,u3)&dicide_event(u3)
&care(u3,u10)&care_type(u10)]
Trong quá trình thao tác với feedback text người sử dụng có thể không cần biết một số thông tin mà họ cho là không cần thiết do đó họ có thể sẽ không mở rộng các feedback text đến hết mức khi đó A-box biểu diễn nội dung câu đó cấu trúc sẽ ngắn hơn vì một số đối tượng không được phản hồi tương ứng với nó biểu thức logic diễn đạt câu sinh ra sẽ vắng mặt những vị từ logic mà người sử dụng không kích hoạt.
Như vậy cơ sở tri thức vừa xây dựng đã xác định nội dung của T-box quy định tập từ vựng và miền ngữ nghĩa là bao đóng của các phát biểu trên feedback text.Còn A-box sẽ cung cấp cấu trúc sinh ra ứng với các kiểu mẫu câu mà người dùng đã lựa chọn để tạo các phản hồi từ giao diện.Bước tiếp theo là ta cần cài đặt nội dung của cơ sở tri thức này để có thể hoàn thành một chương trình mô phỏng.
4.2.Cài đặt chương trình
Phần cài đặt sẽ lựa chọn ngôn ngữ lập trình để cài đặt chương trình và nêu cách thức mã hóa các quan hệ logic thành những chức năng chương trình.
4.2.1.Công cụ ngôn ngữ
Như đã nói trong phần đầu của phần phân tích chức năng một giao diện WYSIWYM có 2 phần chính là phần giao diện đồ hoạ người dùng và WYSIWYM engine làm nhiệm vụ sinh ra các feedback text nhưng đó mới chỉ là khung nhìn logic ta chưa nói sẽ sử dụng công cụ cài đặt như thế nào,phần này chỉ ra cho người đọc khung nhìn thành phần (component view) xác định ngôn ngữ cài đặt chương trình.Ngôn ngữ được lựa chọn sử dụng để xây dựng phần đồ hoạ người dùng là Java,với bộ công cụ JDK 1.50,trình soạn thảo Jcreator 3.5. Cơ sở tri thức WYSIWYM engine được cài đặt bằng ngôn ngữ prolog với chuẩn mở rộng ProFIT và bộ soạn thảo SWI-prolog Editor.
Hình 4.8 :Các thành phần thực thi chương trình
Trên hình vẽ chỉ ra nhiệm vụ của các thành phần trong quá trình thực thi chương trình.Các lớp Java sẽ xác định (define) toàn bộ các thành phần trực quan (visual components) của giao diện như menus,pane layout vv…Đồng thời có một số lớp sẽ gọi các chương trình prolog để sinh ra các feedback text.Chương trình này sử dụng các lớp thư viện WYSIWYM có sẵn.
WYSIWYM engine bao gồm một tập các chương trình Prolog và chạy như một tiến trình con (subprocess) được điều khiển bởi các chương trình Java.Nó bao gồm toàn bộ các thông tin về ngôn ngữ (linguistic and ontologic information)trong phạm vi đã xây dựng.
Các file property có nhiệm vụ định nghĩa các cấu hình (configuration) của giao diện.Cấu hình nằm trong hệ thống các lớp và được truy nhập thông qua các lớp Java nhưng thay vì dịch (complie) các file .java sang file .class thì các file là một danh sách các định nghĩa thuộc tính (property definitions).Các lớp WYSIWYM java sẽ tìm các file property này để xác định (definition ) các thuộc tính khoá (key attributes) bao gồm các thiết lập mặc định (default settings) cho các tham số dòng lệnh (command-line parameters).Các file property được gọi theo thứ tự thiết lập có ưu tiên khi chương trình bắt đầu hoạt động (initialises).
4.2.2.Mã hóa chương trình
Phần mã hóa chương trình đề cập chủ yếu đến cách chuyển các cấu trúc tri thức từ dạng thiết kế sang dạng mã trình của ProFIT còn phần mã chương trình Java vốn là các lớp thư viện đồ họa quen thuộc không cần thiết phải đề cập đến.
Trước tiên ta cần tìm hiểu về các cấu trúc ProFIT (ProFIT structure) để mã hoá các cấu trúc tri thức.
ProFIT là một dạng mở rộng (extension) của Prolog chuẩn (Stand Prolog) với một số mở rộng là Features,Inheritance và Templates (FIT là viết tắt của 3 chữ này) được viết bởi Gregor Erbach (1995).ProFIT cho phép lập trình viên (programmer) hoặc những người nghiên cứu phát triển ngữ pháp (grammar developer) mô tả (declare) một cấu trúc phân cấp -inheritance hierarchy,các đặc tả -features và các biểu thức mẫu -templates.
Các chương trình ProFIT là một superset của các chương trình Prolog.Trong khi chương trình Prolog chỉ bao gồm các mệnh đề xác định- definite clause thì một chương trình ProFIT bao gồm các khai báo kiểu dữ liệu -datatype declaration và các mệnh đề xác định-definite clause.Các mệnh đề trong một chương trình ProFIT có thể được xây dựng dựa trên các kiểu dữ liệu-datatype (gồm có các sorts,features,templates và finite domains).Một chương trình ProFIT bao gồm
Các khai báo phân loại-Declarations for sorts
Các khai báo đặc tả -Declaration for features
Các biểu thức mẫu-Declarations for templates
Các khai báo thông tin về miền giới hạn của các sorts-Declarations for finite domains
Các mệnh đề xác định-Definite clauses
Các khai báo phân loại sorts-Sort Declarations
Sort hay còn gọi là type cho phép sắp xếp các term đặc tả (feature terms) trong Prolog theo phân loại từ thứ bậc,có thể dùng để mô tả quan hệ giữa các lớp đối tượng theo những cấu trúc phân cấp,trong đó các lớp con sẽ kế thừa các lớp cha.Mỗi lớp được biểu diễn bằng một sort.Trong ProFIT thì sort tổng quát nhất là top.Toàn bộ các sort khác đều là con (subsort) của top.Cú pháp của mệnh đề chứa các sort có định dạng cú pháp như sau
Supersort > [Subsort1,……,Subsortn].
Phát biểu trên chỉ ra rằng tất cả các Subsorti đều là subsort của Supersort và các Subsort này phải loại trừ lẫn nhau.
Mọi sort chỉ được định nghĩa một lần duy nhất ví dụ chúng chỉ có thể xuất hiện ở phía bên trái của toán tử connective >.
Các cấu trúc phân cấp của các sort không thể quay vòng ví dụ không một sort nào có thể trực tiếp hoặc gián tiếp là Supersort của chính nó.
Áp dụng cấu trúc này vào các mô tả định nghĩa các lớp trong T-box ta sẽ hoá hoá các lớp trong phần thiết kế như sau
domain > [record, event, object, data].
record > [patient_record,
demographic_record,
consult_record,
diagnosis_record,
medication_record,
test_result_record,
care_record].
event > [medication_event, discuss_event, decide_event].
object > [patient, doctor, hospital, cancer, substance_name, medicine_name].
substance_name > [fbc, lft, calcium].
data > [date, gender_type, substance_amount,
medication_spec, frequency_spec, weight, day_spec, month_spec, year_spec, tumor_type, care_type, team_type].
day_spec > [d1, d2, d3].
month_spec > [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec].
year_spec > [y2001, y2002, y2003, y2004, y2005, y2006].
gender_type > [male, female, unknown].
substance_amount > [normal, low, high, excessive].
weight > [mg1, mg2, mg3, mg4, mg5].
frequency_spec > [once_a_day, twice_a_day].
tumor_type > [recurrent, non-recurrent].
team_type > [multidisciplinary].
patient > [pt_Vu_Minh_Khoa,pt_Ngo_Kieu_Phuong,pt_Ho_Nhu_Ngoc].
cancer>[migraine,well_differentiated_non_hodgkins_lymphoma,ductal_carcinoma_in_situ,adenocarcinoma,invasive_ductal_carcinoma].
hospital >[hcu_Trang_An,hcu_Bach_Mai,hcu_Huu_Nghi,hcu_Thanh_Nhan].
doctor>[dr__Ton_That_Tung,dr__Ho_Dac_Di,dr__Pham_Ngoc_Thach,dr__Le_The_Trung].
care_type > [surgery,chemotherapy,radiotherapy,immunotherapy].
medicine_name > [arimidex,dexamethasone,chlorambucil].
Các phát biểu đặc tả-Features Declarations
Với mỗi sort cụ thể (particular sort) có thể có những đặc tính (features),một feature có thể là một thuộc tính (attribute) của lớp mà sort mô tả hoặc là quan hệ giữa các lớp với nhau.Một feature của một sort sẽ được các subsort của nó kế thừa (tương đương với việc các lớp con có thể kế thừa các thuộc tính của lớp cha).Mỗi feature có một sortal restriction cho giá trị (value) của nó.Một mệnh đề chứa các phát biểu sort feature có cú pháp như sau
Sort intro [Feature1 :Restricion1……,Featuren : Restrictionn ].
Nếu một sort có các sort con (subsort) và sort cha (supersort) có các feature ta có thể kết hợp trong một khai báo có cú pháp dạng như sau
Sort > [subsort1,…..,subsortn]
intro [feature1:restriction1,…..featuren:restrictionn]
Phát biểu trên khẳng định rằng mỗi subsort trong số các subsort từ subsort1 đến subsortn có đầy đủ các feature từ feature1 đến featuren .
Đưa cấu hình này vào cài đặt các phần còn lại trong T-box ta có
patient_record intro[+demographic_section:demographic_record,
+consult_section:consult_record,
+diagnosis_section:diagnosis_record,
+medication_section:medication_record,
+test_result_section:test_result_record,
+care_section:care_record].
demographic_record intro [+pat:patient,
+gender:gender_type
diagnosis_record intro [+pat:patient,
+diagnosis:cancer,
place:hospital,
time:date].
consult_record intro [+pat:patient,
+doc:doctor,
+place:hospital,
time:date].
medication_record intro [+start:medication_start,
stop:medication_stop].
test_result_record intro [+pat:patient,
+amount:substance_amount,
+substance:substance_name].
care_record intro [+discuss_section: discuss_event,
+decide_section: decide_event].
discuss_event intro [+tumor:tumor_type,
team:team_type,
+time:date].
decide_event intro [+care:care_type].
date intro [day:day_spec, month:month_spec, +year:year_spec].
medication_spec intro [+medicine:medicine_name,
quantity:weight,frequency:frequency_spec].
Bộ sinh ngôn ngôn ngữ
Trong phần thiết kế đã trình bày nội dung các câu được sinh ra được biểu diễn dưới dạng logic tuy nhiên để có thể chuyển các biểu thức logic thành những câu dạng ngôn ngữ tự nhiên đòi hỏi phải có một bộ sinh ngôn ngữ làm công việc này.Bộ sinh ngôn ngữ chứa các luật sinh chuẩn cho việc tạo thành các câu với ngữ pháp (grammar )chính xác.Trong các hệ thống WYSIWYM được hỗ trợ bởi một kỹ thuật chuẩn gọi là ICONOCLAST từ này là viết tắt của “Intergrating CONstraint On Content,Layout And STyle” tạm dịch là tích hợp các ràng buộc vào một nội dung,bố cục và mẫu câu.Mục đích của kỹ thuật này là khai thác các công nghệ (techonogy) của lập trình logic ràng buộc -Constraint Logic Programming nhằm tạo ra một hệ thống sinh ngôn ngữ hiệu quả -flexible NLG system,ICONOCLAST sử dụng hệ thống ProFIT ( ProFIT system) để mã hoá các cấu trúc đặc tả-feature structures thành các Prolog term.Mô hình sinh ngôn ngữ được mô tả theo cấu trúc sau
generate (textStructure):-
semantic_composer(OriginalMeaning),
rhetorical_transformer(OriginalMeaning,FinalMeaning),
text_planner(FinalMeaning,TextStructure),
tactical_generator(TextStructure),
document_formatter(TextStructure).
Các module và các kiểu dữ liệu (data types) sẽ được giải thích tóm tắt như sau
Semantic Input (đầu vào ngữ nghĩa): Đầu vào được xử lý là một cấu trúc đặc tả (feature structure) biểu diễn nội dung sẽ được diễn đạt khi sinh ra.semantic_composer sẽ nhận được cấu trúc này từ một tập các Prolog assertion trong cơ sở tri thức. Nó được giả định là các khía cạnh.
Rhetorrical Transformation (Phép biến đổi tu từ):Các đầu vào ngữ nghĩa gốc (original semantic input) có thể phải được qua phép biến đổi tu từ trước khi được phân tích thành cấu trúc câu (text structure).Hiện tại có 2 loại rhetorical transformation được cài đặt là factoring là một tập các kết hợp (a type of aggregation) và abstraction.
Text Structuring (cấu tạo câu): Đầu vào là một cấu trúc ngữ nghĩa (semantic structure), đầu ra là một cấu trúc câu (text structure),thông thường các cấu trúc câu (text structure) là một cây (như trong phần thiết kế đã trình bày ) chỉ ra một text category như là một đồ thị câu.Mỗi nút cũng có một mening feature, đối với nút gốc giá trị của feature (đặc tả) sẽ là cấu trúc ngữ nghĩa (semantic) của toàn bộ document (đối với trường hợp của bài toán ứng dụng giao diện CLEF thì document là tất cả nội dung feedback text thể hiện trên giao diện).Các nút khác nghĩa của chúng là một phần của cấu trúc.
Tactical Generation:( Sinh câu theo sơ đồ có sẵn): Đầu vào của bộ sinh là một cấu trúc câu mà mỗi nút diễn đạt những nội dung cơ bản nó không chỉ ra được toàn bộ thành phần của câu hoàn chỉnh. Đầu ra là một sự phát triển xa hơn (further development) của cấu trúc này nó đưa ra cấu trúc toàn thể cho câu.
Document formatting (Đinh dạng câu) :Bộ định dạng câu (document formatter) sẽ thêm vào các feature bổ sung (further features) ,những feature này không phải là những nút (feature node )trên đồ thị DAG trong phần thiết kế.Chúng có thể là những dấu chấm câu,chữ viết hoa vv…
Một số đặc điểm của cấu trúc câu sinh ra trong ICONOLAST
Cấu trúc câu được biểu diễn trong ICONOCLAST bởi một cây được cài đặt bởi một cấu trúc các đặc điểm (feature structure) trong đó các feature được gọi là cset liệt kê các thành phần trực thuộc (các thành phần này là các nút có quan hệ với nút đề cập)của một nút hiện thời (current node).Nút gốc sẽ mở rộng ra toàn bộ tài liệu, nút là (terminal node) khi cây đã mở rộng hết là một lexical item tại đó cset có thể điền vào một từ (giống như trong phần thiết kế đã trình bày trên cây mở rông các nút này có màu nâu).
Mỗi nút trên cây có một nhóm các đặc điểm sau
Meaning:Một đoạn (fragment) của cấu trúc ngữ nghĩa được diễn đạt bởi một unit . Đối với nút gốc nghĩa này là toàn bộ của các phần hợp thành nó( tức là nó chứa nghĩa của các nút con cháu trên cây ngữ nghĩa).Các nút khác nghĩa này thường là một đoạn của cấu trúc.
Text category: text category của unit được biểu diễn bởi 2 sub-feature là Level và indentation. Để dễ dàng cho việc sử dụng,Level được cài đặt như một số nguyên (an interger) nhưng giá trị của nó phải tương ứng với cấp trong cấu trúc cây,trên đồ thị và trong câu.Indentation là một số nguyên chỉ ra unit cần xây dựng.
Syntax:Cú pháp các systactic category được biểu diễn bởi một số các sub-feature như PERSON,NUMBER,GENDER,và CASE .Đối với các unit lớn (large-scale unit) như đồ thị các feature này có thể không phù hợp,cần xây dựng bổ xung.
Context:(Ngữ cảnh):Các feature của ngữ cảnh (linguistic context) có ảnh hưởng đến việc lựa chọn các thành phần trong câu để mở rộng.
Centering:Một nhóm các feature cung cấp các thông tin quan trọng (focus information).
Layout: Một nhóm các feature xác định các thuộc tính đồ hoạ thêm vào khi định dạng câu ví dụ để định dạng các anchor( liên kết) có màu đỏ.
Quá trình sinh ra các câu feedback text đòi hỏi phải có một tập luật chuẩn (phrase-structure rule) kết hợp với một hệ thống từ vựng (a lexicon ) do người thiết kế xác lập (các từ vựng này là những cụm từ dạng ngôn ngữ tự nhiên hiển thị trên giao diện,mỗi cụm từ là giá trị ứng với các đối tượng nằm trong các lớp đã nói đến trong phần thiết kế ví dụ đối tượng bệnh nhân pt_Vu_Minh_Khoa là một đối tượng trong cơ sở tri thức,cụm từ hiển thị mà feedback text đưa ra trên giao diện khi đối tượng này được kích hoạt từ lựa chọn của người dùng là “Vu Minh Khoa”. để sinh câu theo chuẩn tiếng Anh tuân thủ các chuẩn ngữ pháp của câu và có .Trong ProFIT cấu trúc mẫu có dạng như sau
syn!head!form!fin&
mod!none&
val!comps![]&
spr![]&
Trong cấu trúc trên ký hiệu ! là để phân tách giữa thuộc tính (attribute) và giá trị (value).Ký hiệu & là toán tử kết hợp. Độ sâu của indention trong cấu trúc tương đương với vị trí của cấp trong cấu trúc head và val cùng là giá trị của syn.Ký hiệu [] là một danh sách rỗng.Các feature comps và spr cùng một subcategorization (thứ hạng).Thứ tự phân cấp tương ứng với cấu trúc trên như sau:
Những giải thích nêu trên giúp người đọc có thể hiểu được nội dung tập luật chuẩn sinh ngôn ngữ (tiếng Anh ) đã được mã hoá bằng ProFIT sau đây
Luật sinh các cụm danh từ đối với một anchor( liên kết)
rule(english, simple_np_anchor,
meaning!(<anchor &
instance!Instance &
class!Class) &
syntax!category!np &
layout!level!phrase &
cset![meaning!some &
syntax!category!det,
meaning!Class &
syntax!(category!noun &
form!common) &
layout!subscript!Instance]).
Luật sinh một cụm (phrase)danh từ cho các mô tả description:trong trường hợp một người là nam danh từ mô tả người này thay vì dùng tên sẽ là dùng he,nếu là nữ sẽ dùng từ she.
rule(english, any_pronoun_np,
meaning!(instance!Instance & predicate!Pred) &
initial!focus!Instance &
syntax!(category!np &
form!pronoun) &
layout!(level!phrase &
subscript!Instance) &
cset![meaning!Pred &
syntax!(category!pronoun &
gender!Gender) &
layout!subscript!Instance]) :-
( abox:abox(type,R,demographic_record),
abox:abox(pat,R,Instance),
abox:abox(gender,R,GT),
abox:abox(type,GT,G),
((G=male,Gender=masc);(G=female,Gender=fem);(G=unknown,Gender=animate))
).
word(Language, Unit & cset!CSet) :-
word(Language, Unit, Word), !,
Word = CSet.
word(english, syntax!(category!pronoun & gender!neut & case!gen), its).
word(english, syntax!(category!pronoun & gender!neut), it).
word(english, syntax!(category!pronoun & gender!masc & case!nom) & cset!he).
word(english, syntax!(category!pronoun & gender!masc & case!gen) & cset!his).
word(english, syntax!(category!pronoun & gender!masc) & cset!him).
word(english, syntax!(category!pronoun & gender!fem & case!nom) & cset!she).
word(english, syntax!(category!pronoun & gender!fem) & cset!her).
word(english, syntax!(category!pronoun & gender!animate & case!nom) & cset!'he\\u002fshe').
word(english, syntax!(category!pronoun & gender!animate & case!gen) & cset!'hi\\u002fher').
word(english, syntax!(category!pronoun & gender!animate) & cset!'him\\u002fher').
Sinh ra cụm từ có chứa mạo từ (article)
rule(english, proper_name_np,
meaning!(instance!Instance &
predicate!Pred &
properties![]) &
syntax!category!np &
layout!level!phrase &
cset![meaning!Pred &
syntax!(category!noun &
form!name) &
layout!subscript!Instance]).
Sinh ra cụm từ không có agument
rule(english, simple_np,
meaning!(instance!Instance &
predicate!Pred &
properties![]) &
initial!(sequence!Sequence &
distractors!Distractors) &
syntax!category!np &
layout!level!phrase &
cset![meaning!Article &
syntax!category!det,
meaning!Pred &
syntax!(category!noun &
form!common) &
layout!subscript!Instance]) :-
articles:article(Instance, Sequence, Distractors, Article).
Sinh ra cụm từ mô tả có các owner agument
rule(english, owner_its_np,
meaning!(instance!Instance &
predicate!Pred &
properties![attribute!owner &
value!(Owner & instance!OwnerInstance)]) &
initial!focus!OwnerInstance &
syntax!category!np &
layout!level!phrase &
cset![meaning!Owner &
syntax!(category!adjective &
form!pronoun) &
layout!subscript!OwnerInstance,
meaning!Pred &
syntax!(category!noun &
form!common) &
layout!subscript!Instance]).
rule(english, pp_with_np,
meaning!(attribute!Attribute &
value!Value) &
syntax!(category!pp &
form!np) &
layout!level!phrase &
cset![meaning!Attribute &
syntax!category!prep,
meaning!Value &
syntax!(category!np &
form!normal) &
layout!level!phrase]).
rule(english, undefined_record_vp,
meaning!(Record &
<anchor &
class!record) &
syntax!(category!vp &
form!imp) &
layout!level!phrase &
switch!off &
cset![meaning!edit &
syntax!(category!verb &
form!imp),
meaning!Record &
syntax!category!np]).
rule(english, undefined_steps_vp,
meaning!(Steps &
class!set(action)) &
syntax!(category!vp &
form!VerbForm) &
layout!level!phrase &
switch!off &
cset![meaning!follow &
syntax!(category!verb &
form!VerbForm),
meaning!Steps &
syntax!category!np]).
rule(english, np_sentence_unspecified,
meaning!(Meaning & <anchor) &
syntax!(Syntax &
category!np) &
layout!level!paragraph &
switch!off &
cset![meaning!Meaning &
syntax!Syntax &
layout!level!sentence]).
rule(english, np_sentence_unspecified,
meaning!(Meaning & <anchor) &
syntax!(Syntax &
category!np) &
layout!level!sentence &
switch!off &
cset![meaning!Meaning &
syntax!Syntax &
layout!level!phrase]).
rule(english, attribute_value_sentence,
meaning!(<property &
attribute!Attribute &
value!Value) &
layout!level!sentence &
cset![meaning!Attribute &
syntax!category!label &
layout!(level!word & mark!colon),
meaning!Value &
layout!level!phrase]).
rule(english, pp_with_vp,
meaning!(attribute!Attribute &
value!Value) &
syntax!(category!pp &
form!vp) &
layout!level!phrase &
cset![meaning!Attribute &
syntax!category!prep,
meaning!Value &
syntax!(category!vp &
form!prog) &
layout!level!phrase]).
Từ các luật trên ta phải thiết lập giá trị cho các đối tượng cơ sở tri thức để tạo thành bộ lexicon để đảm bảo sinh ra các đoạn text có nội dung là những câu dạng ngôn ngữ tự nhiên.
Bộ lexicon định nghĩa các động từ ,danh từ vv..với các định dạng mã như sau
english_verbform(Verb, imp, Verb) :- !.
english_verbform(Verb, inf, Infinitive) :-
concat_atoms('to ', Verb, Infinitive), !.
english_verbform(Verb, prog, Progressive) :-
english_verb_stem(Verb, Stem),
concat_atoms(Stem, ing, Progressive), !.
english_verbform(do, pres, does) :- !.
english_verbform(Verb, pres, Pres) :-
concat_atoms(Verb, s, Pres), !.
english_verbform(Verb, past, Past) :-
english_verb_stem(Verb, Stem),
concat_atoms(Stem, ed, Past), !.
english_verb_stem(Verb, Stem) :-
atom_string(Verb, VerbString),
atom_string(e, EString),
append_strings(StemString, EString, VerbString),
atom_string(Stem, StemString), !.
english_verb_stem(Verb, Verb)
word(english, meaning!Article &
syntax!category!det &
cset!Article) :- atom(Article).
word(english, meaning!ordinal(1) &
syntax!category!det &
cset![the,first]).
word(english, meaning!ordinal(2) &
syntax!category!det &
cset![the,second]).
word(english, meaning!ordinal(3) &
syntax!category!det &
cset![the,third]).
word(english, meaning!ordinal(N) &
syntax!category!det &
cset![the, Nth]) :- N > 3,
integer_atom(N, I),
concat_atoms(I, th, Nth).
word(english, meaning!and &
syntax!category!conj &
cset!and).
word(english,
syntax!(category!adjective & form!pronoun) &
cset!its).
Thiết lập các cụm từ (giá trị của các đối tượng )gắn với các đối tượng trong cơ sở tri thức ta có bộ từ vựng (lexicon) sau
Định nghĩa các cụm danh từ (noun phrase)
word(english, meaning!adenocarcinoma &
syntax!(category!noun &
form!name) &
cset!'adenocarcinoma').
word(english, meaning!ductal_carcinoma_in_situ &
syntax!(category!noun &
form!name) &
cset!'ductal carcinoma in situ').
word(english, meaning!invasive_ductal_carcinoma &
syntax!(category!noun &
form!name) &
cset!'invasive ductal carcinoma').
word(english, meaning!invasive_lobular_carcinoma &
syntax!(category!noun &
form!name) &
cset!'invasive lobular carcinoma').
word(english, meaning!dexamethasone &
syntax!(category!noun &
form!name) &
cset!'Dexamethasone').
word(english, meaning!arimidex &
syntax!(category!noun &
form!name) &
cset!'Arimidex').
word(english, meaning!calcium &
syntax!(category!noun &
form!name) &
cset!'calcium').
word(english, meaning!fbc &
syntax!(category!noun &
form!name) &
cset!'FBC').
word(english, meaning!lft &
syntax!(category!noun &
form!name) &
cset!'LFT').
word(english, meaning!multidisciplinary &
syntax!(category!noun &
form!name) &
cset![a,multidisciplinary,team]).
word(english, meaning!mg1 &
syntax!(category!noun &
form!name) &
cset!'1 mg').
word(english, meaning!mg2 &
syntax!(category!noun &
form!name) &
cset!'2 mg').
word(english, meaning!mg3 &
syntax!(category!noun &
form!name) &
cset!'3 mg').
word(english, meaning!mg4 &
syntax!(category!noun &
form!name) &
cset!'4 mg').
word(english, meaning!mg5 &
syntax!(category!noun &
form!name) &
cset!'5 mg').
word(english, meaning!once_a_day &
syntax!(category!noun &
form!name) &
cset!'once a day').
word(english, meaning!twice_a_day &
syntax!(category!noun &
form!name) &
cset!'twice a day').
word(english, meaning!health_care_unit_1 &
syntax!(category!noun &
form!name) &
cset!'Thanh Nhan hospital').
word(english, meaning!health_care_unit_2 &
syntax!(category!noun &
form!name) &
cset!'Bach Mai hospital').
word(english, meaning!y2001 &
syntax!(category!noun &
form!name) &
cset!'2001').
word(english, meaning!y2002 &
syntax!(category!noun &
form!name) &
cset!'2002').
word(english, meaning!y2003 &
syntax!(category!noun &
form!name) &
cset!'2003').
word(english, meaning!y2004 &
syntax!(category!noun &
form!name) &
cset!'2004').
word(english, meaning!y2005 &
syntax!(category!noun &
form!name) &
cset!'2005').
word(english, meaning!y2006 &
syntax!(category!noun &
form!name) &
cset!'2006').
word(english, meaning!d1 &
syntax!(category!noun & form!name) &
cset!'1st').
word(english, meaning!d2 &
syntax!(category!noun & form!name) &
cset!'2nd').
word(english, meaning!d3 &
syntax!(category!noun & form!name) &
cset!'3rd').
word(english, meaning!normal &
syntax!(category!noun &
form!name) &
cset!'normal').
word(english, meaning!low &
syntax!(category!noun &
form!name) &
cset!'low').
word(english, meaning!high &
syntax!(category!noun &
form!name) &
cset!'high').
word(english, meaning!excessive &
syntax!(category!noun &
form!name) &
cset!'excessive').
word(english, meaning!pt_Vu_Minh_Khoa &
syntax!(category!noun &
form!name) &
cset!'Vu Minh Khoa').
word(english, meaning!pt_Ngo_Kieu_Phuong &
syntax!(category!noun &
form!name) &
cset!'Ngo Kieu Phuong').
word(english, meaning!pt_Ho_Nhu_Ngoc &
syntax!(category!noun &
form!name) &
cset!'Ho Nhu Ngoc').
word(english, meaning!dr__Le_The_Trung &
syntax!(category!noun &
form!name) &
cset!'Dr. Le The Trung').
word(english, meaning!dr__Ho_Dac_Di &
syntax!(category!noun &
form!name) &
cset!'Dr. Ho Dac Di').
word(english, meaning!dr__Ton_That_Tung &
syntax!(category!noun &
form!name) &
cset!'Dr. Ton That Tung').
word(english, meaning!dr__Pham_Ngoc_Thach &
syntax!(category!noun &
form!name) &
cset!'Dr. Pham Ngoc Thach').
word(english, meaning!male &
syntax!(category!noun &
form!name) &
cset!male).
word(english, meaning!female &
syntax!(category!noun &
form!name) &
cset!female).
word(english, meaning!unknown &
syntax!(category!noun &
form!name) &
cset!unknown).
word(english, meaning!recurrent &
syntax!(category!noun & form!name) &
cset!'recurrent tumor').
word(english, meaning!non-recurrent &
syntax!(category!noun & form!name) &
cset!'non-recurrent tumor').
word(english, meaning!surgery &
syntax!(category!noun & form!name) &
cset!'surgery').
word(english, meaning!chemotherapy &
syntax!(category!noun & form!name) &
cset!'chemotherapy').
word(english, meaning!radiotherapy &
syntax!(category!noun & form!name) &
cset!'radiotherapy').
word(english, meaning!immunotherapy &
syntax!(category!noun & form!name) &
cset!'immunotherapy').
word(english, meaning!palliative &
syntax!(category!noun & form!name) &
cset!'palliative').
word(english, meaning!jan &
syntax!(category!noun &
form!name) &
cset!'January').
word(english, meaning!feb &
syntax!(category!noun &
form!name) &
cset!'February').
word(english, meaning!mar &
syntax!(category!noun &
form!name) &
cset!'March').
word(english, meaning!apr &
syntax!(category!noun &
form!name) &
cset!'April').
word(english, meaning!may &
syntax!(category!noun &
form!name) &
cset!'May').
word(english, meaning!jun &
syntax!(category!noun &
form!name) &
cset!'June').
word(english, meaning!jul &
syntax!(category!noun &
form!name) &
cset!'July').
word(english, meaning!aug &
syntax!(category!noun &
form!name) &
cset!'August').
word(english, meaning!sep &
syntax!(category!noun &
form!name) &
cset!'September').
word(english, meaning!oct &
syntax!(category!noun &
form!name) &
cset!'October').
word(english, meaning!nov &
syntax!(category!noun &
form!name) &
cset!'November').
word(english, meaning!dec &
syntax!(category!noun &
form!name) &
cset!'December').
word(english, meaning!pat &
syntax!category!label &
cset!'name').
word(english, meaning!migraine &
syntax!(category!noun &form!name) &
cset!'migraine').
word(english, meaning!well_differentiated_non_hodgkins_lymphoma &
syntax!(category!noun &form!name) &
cset!'well differentiated non-Hodgkins lymphoma').
word(english, meaning!ductal_carcinoma_in_situ &
syntax!(category!noun &form!name) &
cset!'ductal carcinoma in situ').
word(english, meaning!adenocarcinoma &
syntax!(category!noun &form!name) &
cset!'adenocarcinoma').
word(english, meaning!invasive_ductal_carcinoma &
syntax!(category!noun &form!name) &
cset!'invasive ductal carcinoma').
word(english, meaning!surgery &
syntax!(category!noun &form!name) &
cset!'surgery').
word(english, meaning!chemotherapy &
syntax!(category!noun &form!name) &
cset!'chemotherapy').
word(english, meaning!radiotherapy &
syntax!(category!noun &form!name) &
cset!'radiotherapy').
word(english, meaning!immunotherapy &
syntax!(category!noun &form!name) &
cset!'immunotherapy').
word(english, meaning!arimidex &
syntax!(category!noun &form!name) &
cset!'Arimidex').
word(english, meaning!dexamethasone &
syntax!(category!noun &form!name) &
cset!'Dexamethasone').
word(english, meaning!chlorambucil &
syntax!(category!noun &form!name) &
cset!'Chlorambucil').
-------------------------------------------------------
Định nghĩa các đoạn text cố định (canned text).
Trong phần text hiển thị trên giao diện có những cụm từ cố định được sinh ra(phần không có màu) kèm theo với các anchor( liên kết) mới khi mở rộng các anchor( liên kết) cấp trên. Các cụm từ này được định dạng sẵn ứng với từng câu như sau
word(english, meaning!careplan &
syntax!category!label &
cset!'the care plan for this').
word(english, meaning!agreed_care &
syntax!category!label &
cset!'The agreed care plan was').
------------------------------------------------
Định nghĩa các cụm động từ
word(english, meaning!diagnose &
syntax!category!label &
cset!'was diagnosed with').
word(english, meaning!consult &
syntax!category!label &
cset!'was seen by').
word(english, meaning!start_on &
syntax!category!label &
cset!'has started on').
word(english, meaning!discuss &
syntax!category!label &
cset!'was discussed by').
word(english, meaning!stop_take &
syntax!category!label &
cset!'stopped taking').
word(english, meaning!has &
syntax!category!label &
cset!'has').
---------------------------------
Áp dụng các luật chuẩn trình bày ở trên kết hợp với bộ từ vựng đã định nghĩa ta có các luật sinh các câu feedback text phản hồi tới người dùng theo từng mẫu câu cụ thể của các feedback text trong trường hợp của bài toán ta có
Luật sinh ra các anchor( liên kết) sinh ra từ anchor khởi tạo patient record
rule(english, patient_record_section,
meaning!(<description &
predicate!patient_record &
properties![attribute!demographic_section & value!Demographic, attribute!consult_section & value!Consult,
attribute!diagnosis_section & value!Diagnosis,
attribute!medication_section & value!Medication,
attribute!test_result_section & value!TestResult,
attribute!care_section & value!Care]) &
layout!level!section &
cset![meaning!Demographic &
layout!level!paragraph,
meaning!Consult &
layout!level!sentence,
meaning!Diagnosis &
layout!level!sentence,
meaning!Medication &
layout!level!paragraph,
meaning!TestResult &
layout!level!sentence,
meaning!Care &
layout!level!paragraph]).
Diễn đạt cấu trúc date sinh ra có dạng day.month.year (cấu trúc date bao gồm 3 giá trị hợp thành là ngày tháng ,năm)
rule(english, date_record,
meaning!(<description &
predicate!date &
properties![attribute!day & value!Day,
attribute!month & value!Month,
attribute!year & value!Year]) &
layout!level!phrase &
cset![meaning!Day &
syntax!(category!noun & form!name) &
layout!(level!phrase & mark!full_stop),
layout!level!phrase,
meaning!Month &
syntax!category!noun &
layout!(level!phrase & mark!full_stop),
layout!level!phrase,
meaning!Year &
syntax!category!noun &
layout!level!phrase ]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) demographic record (xác định thông tin cá nhân của người bệnh)
rule(english, demographic_record_paragraph,
meaning!(<description &
predicate!demographic_record &
properties![Patient, Gender]) &
layout!level!paragraph &
cset![meaning!Patient &
layout!level!sentence,
meaning!Gender &
layout!level!sentence]).
Luật sinh ra câu khởi tạo bởi anchor (liên kết) consult record (xác định các thông tin khám bệnh
rule(english, consult_record_paragraph,
meaning!(<description &
predicate!consult_record &
properties![attribute!pat & value!Patient,
attribute!doc & value!Doctor,
attribute!place & value!Hospital,
attribute!time & value!Date]) &
layout!level!sentence &
cset![
meaning!Patient &
layout!level!phrase,
meaning!consult &
syntax!category!label &
layout!level!word,
meaning!Doctor &
layout!level!phrase,
meaning!at &
layout!level!word,
meaning!Hospital &
layout!level!phrase,
meaning!on &
syntax!category!prep &
layout!level!word,
meaning!Date &
layout!level!phrase
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) medication record (xác định quá trình điều trị thuốc -cả bắt đầu và kết thúc)
rule(english, medication_record_paragraph,
meaning!(<description &
predicate!medication_record &
properties![attribute!start & value!Medication_start,
attribute!stop & value!Medication_end]) &
syntax!category!np &
layout!level!paragraph &
cset![meaning!Medication_start &
layout!level!sentence,
meaning!Medication_end &
layout!level!sentence]).
Sinh ra cấu trúc medication gồm 3 thành phần medicine là name+quantity+frequency (tên thuốc+liều lượng+số lần dùng thuốc trong một ngày)
rule(english, medication_desc,
meaning!(<description &
predicate!medication_spec &
properties![attribute!medicine & value!Medicine,
attribute!quantity & value!Quant,
attribute!frequency & value!Freq]) &
layout!level!phrase &
cset![meaning!Medicine &
layout!level!phrase,
meaning!Quant &
layout!level!phrase,
meaning!Freq &
layout!level!phrase
]).
Luật sinh ra câu với khởi tạo anchor( liên kết) medication start (bắt đầu quá trình điều trị thuốc)
rule(english, medication_start_sentence,
meaning!(<description &
predicate!medication_start &
properties![attribute!pat & value!Patient,
attribute!medication & value!Medication,
attribute!time & value!Date]) &
layout!level!sentence &
cset![meaning!Patient &
layout!level!phrase,
meaning!start_on &
syntax!category!label &
layout!level!word,
meaning!Medication &
layout!level!phrase,
meaning!on &
syntax!category!prep &
layout!level!word,
meaning!Date &
layout!level!phrase
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) medication end (kết thúc việc sử dụng thuốc)
rule(english, medication_end_sentence,
meaning!(<description &
predicate!medication_stop &
properties![attribute!pat & value!Patient,
attribute!medication & value!Medication,
attribute!time & value!Date]) &
layout!level!sentence &
cset![meaning!Patient &
layout!level!phrase,
meaning!stop_take &
syntax!category!label &
layout!level!word,
meaning!Medication &
layout!level!phrase,
meaning!on &
syntax!category!prep &
layout!level!word,
meaning!Date &
layout!level!phrase
]).
Luật sinh câu khởi tạo từ anchor (liên kết) diagnosis record (xác định thông tin chẩn đoán bệnh)
rule(english, diagnosis_record_paragraph,
meaning!(<description &
predicate!diagnosis_record &
properties![attribute!pat & value!Patient,
attribute!diagnosis & value!Cancer,
attribute!place & value!Hospital,
attribute!time & value!Date]) &
layout!level!sentence &
cset![ meaning!Patient &
layout!level!phrase,
meaning!diagnose &
syntax!category!label &
layout!level!word,
meaning!Cancer &
layout!level!phrase,
meaning!at &
layout!level!word,
meaning!Hospital &
layout!level!phrase,
meaning!on &
syntax!category!prep &
layout!level!word,
meaning!Date &
layout!level!phrase
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) discuss event (xác định thông tin về việc hội chẩn của bệnh nhân)
rule(english, discuss_sentence,
meaning!(<description &
predicate!discuss_event &
properties![attribute!tumor & value!Tumor,
attribute!team & value!Team,
attribute!time & value!Date]) &
layout!level!sentence &
cset![meaning!careplan &
syntax!category!label &
layout!level!word,
meaning!Tumor &
layout!level!phrase,
meaning!discuss &
syntax!category!label &
layout!level!word,
meaning!Team &
layout!level!phrase,
meaning!on &
syntax!category!prep &
layout!level!word,
meaning!Date &
layout!level!phrase
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) type of care (xác định phương pháp điều trị của bệnh nhân)
rule(english, decide_sentence,
meaning!(<description &
predicate!decide_event &
properties![attribute!care & value!Care]) &
layout!level!sentence &
cset![ meaning!agreed_care &
syntax!category!label &
layout!level!word,
meaning!Care &
layout!level!phrase
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) care record (thông tin điều trị bệnh)
rule(english, care_record_paragraph,
meaning!(<description &
predicate!care_record &
properties![attribute!discuss_section & value!Discuss,
attribute!decide_section & value!Decide]) &
layout!level!paragraph &
cset![
meaning!Discuss &
layout!level!sentence,
meaning!Decide &
layout!level!sentence
]).
Luật sinh ra câu khởi tạo từ anchor( liên kết) tests record (xác định kết quả thí nghiệm của bệnh nhân)
rule(english, test_result_record_paragraph,
meaning!(<description &
predicate!test_result_record &
properties![attribute!pat & value!Patient,
attribute!amount & value!Amount,
attribute!substance & value!Substance]) &
layout!level!sentence &
cset![meaning!Patient &
layout!level!phrase,
meaning!has &
syntax!category!label&
layout!level!word,
meaning!Amount &
layout!level!phrase,
meaning!level_of &
syntax!category!label &
layout!level!word,
meaning!Substance &
layout!level!phrase]).
Như vậy những nội dung quan trọng nhất của phần cài đặt đã được trình bày.Các kết quả thực hiện chương trình hoàn toàn giống với những gì đã trình bày ở trên.
PHẦN 5: ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
5.1. Đánh giá kết quả
Đề tài “tìm hiểu kỹ thuật xây dựng giao diện người dùng với cơ chế phản hồi ngôn ngữ tự nhiên” là một quá trình tiếp cận có chọn lọc đối với các kỹ thuật xây dựng giao diện ngôn ngữ tự nhiên.Chủ đề của đề tài này liên quan tới nhiều lĩnh vực trong đó bao gồm
Xử lý ngôn ngữ tự nhiên (Natural Language Processing)
Giao diện đồ hoạ người dùng (Graphic user interface –GUI)
Lập trình logic (logic programming)
Do có sự giao thoa trên mà trong quá trình xây dựng chương trình mô phỏng đòi hỏi phải tìm hiểu những kiến thức và vận dụng các kỹ thuật của các lĩnh vực này vào bài toán cụ thể. Ở khía cạnh “tìm hiểu” thì coi như mục đích đã đạt được vì để xây dựng được chương trình mô phỏng thì phải nắm được các kỹ thuật xây dựng giao diện người dùng (cần tìm hiểu các công giao diện đồ hoạ ),với cơ phản hồi ngôn ngữ tự nhiên (cần tìm hiểu các đặc trưng của ngôn ngữ tự nhiên), kỹ thuật tạo các phản hồi feedback text bằng WYSIWYM đòi hỏi nắm được những nội dung về lập trình logic.
Tuy nhiên do những hạn chế không thể tránh khỏi nên đồ án có nhiều nhược điểm:
Nhược điểm lớn nhất là ngôn ngữ tự nhiên được áp dụng là Tiếng Anh (English) trong khi đồ án tốt nghiệp lại do một sinh viên Việt Nam thực hiện, điều này không phải vì người thực hiện giỏi Tiếng Anh hơn tiếng mẹ đẻ của mình là Tiếng Việt.Hạn chế này là do việc áp dụng ngôn ngữ nào để sinh ra các text dạng ngôn ngữ tự nhiên trên giao diện phản hồi cho người dùng phụ thuộc vào bộ luật sinh ngôn ngữ chuẩn của thứ Tiếng đó,vì sử dụng kỹ thuật WYSIWYM nên các luật này không chỉ tồn tại ở dạng cấu trúc logic mà còn phải được mã hoá theo chuẩn của ngôn ngữ ProFIT, điều này được áp dụng đối với tất cả các hệ thống WYSIWYM hiện có ,tất nhiên có thể xây dựng được tập luật cho tiếng Việt,tuy nhiên điều này đòi hỏi rất nhiều thời gian trong khi điều kiện (thời gian,tài liệu,các kiến thức về Tiếng Việt) chưa cho phép
Nhược điểm thứ hai liên quan đến phần nội dung tri thức, đó là nội dung của các feedback text được phản hồi lại phía người dùng còn rất sơ sài và không mang ý nghĩa thực tế,các feedback text chỉ đóng khung trong 6 loại mẫu câu cố định sẵn,không đa dạng. Điều này là do kiến thức về lĩnh vực bệnh ung thư (chủ đề tri thức áp dụng cho chương trình mô phỏng) còn hạn chế,quy mô của một ứng dụng thuộc bất kỳ lĩnh vực nào không chỉ phụ thuộc vào kiến thức của người lập trình mà còn phụ thuộc vào kiến thức chuyên môn của các chuyên gia lĩnh vực (domain experts) chỉ có những chuyên gia này mới biết được những tri thức trong lĩnh vực của họ tức là quan hệ ngữ nghĩa giữa các từ của phạm vi tri thức này,từ đó mới có thể xây dựng được bộ từ vựng (lexicon) về lĩnh vực đó,bộ từ vựng càng lớn thì quy mô của ứng dụng càng lớn,các phản hồi ngôn ngữ tự nhiên càng đa dạng.Do người thực hiện đề tài là một sinh viên chỉ tìm hiểu các tri thức (domains) qua các trang web về bệnh ung thư cùng với khả năng dịch thuật hạn chế nên nội dung các feedback text xây dựng còn khá đơn điệu và không đảm bảo tính chuyên môn.
Nhược điểm cuối cùng là khả năng viêt đồ án chắc chắn còn hạn chế của người viết (những hạn chế này người viết không thể tự nhận ra được chỉ có người đọc mới phát hiện thấy)do thiếu kinh nghiệm mặc dù có tìm hiểu cách viết luận văn của các sinh viên khoá trước.Chính vì lý do đó mà có những nội dung có thể trình bày không được cặn kẽ hoặc không nêu bật được nội dung trọng tâm cần đề cập.Những thiếu sót về mặt chủ quan này sẽ được khắc phục dần dần.
5.2.Hướng phát triển
Từ những hạn chế trên mà đề tài cần phải được tiếp tục nghiên cứu trong thời gian tới để khắc phục những nhược điểm nói trên.Cần có những công việc cụ thể để chuẩn bị cho việc phát triển đề tài này như sau
Giành thời gian nghiên cứu các đặc trưng của Tiếng Việt,và các cấu trúc mã hoá chuẩn của ProFIT để kết hợp xây dựng một tập luật chuẩn phục vụ cho việc sinh ngôn ngữ tự nhiên Tiếng Việt bằng kỹ thuật WYSIWYM.(kỹ thuật xây dựng giao diện người dùng bằng cơ chế phản hồi ngôn ngữ tự nhiên).
Trong điều kiện có thể lựa chọn một lĩnh vực dễ tiếp cận hoặc có ưu thế về ứng dụng trong thực tiễn để xây dựng một ứng dụng WYSIWYM như vậy sẽ mở rộng phạm vi của các WYSIWYM sang cả miền Tiếng Việt vì hiện nay trên thế giới chỉ có một số nước như Anh,Pháp,Nhật có các hệ thống ứng dụng lớn xây dựng theo kiểu kiến trúc này.
Các tài liệu tham khảo
[1] Catalina Hallett,Richard Power,Donia Scott, “Intuitive Querying of e-Healht Data Repositories”. (2005)
[2]Donia Scott,Richard Power and Roger Evans “Generation as a solution to its own problem” (1998)
[3]Donia R Scott “The Multilingual Generation Game: authoring fluent texts in unfarmiliar languages”(1999)
[4]Donia scott,Richard Power and Roger Evans “Generation as a solution to its own problem”
[5]Gregor Enbach “ProFIT prolog with Features ,Inheritance and Templates” (1995)
[6]Peter Lucas “Introduction to ProLog “(2001)
[7]Paul Piwek,Roger Evans and Richard Power “Editing Speech Acts: A Practical Approach to Human-Machine Dialogue”.(1999)
[8]Kees van Deemter and Richard Power “Conference in Knowledge Editing”.
[9]Richard Power and Donia Scott “Multilingual authoring using feedback texts”.
[10]Richar Power “Controlling logic scope in text generation”.
[11]Richard Power “Generating referring expression with unification grammar”
[12]Richard Power “Reducing ICONOCLAST to RAGS”
[13]Roger Evans and Richard Power and Donia Scott “ What You See Is What You Mean :direct knowledge editng with natural language feedback”(1998).
[13]Rodger Kibble,Richard Power,Kees van Deemter “Editing logically complex discourse meanings”1998
[14]Ofer Biller “Semantic Authoring for Multilingual Text Generation”(2005).
Các địa chỉ Website có liên quan
Các file đính kèm theo tài liệu này:
- BK5.docx