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ỹ
96 trang |
Chia sẻ: huyen82 | Lượt xem: 1590 | Lượt tải: 2
Tóm tắt 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
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.
Hà nội ngày 23 tháng 5 năm 2006
Sinh viên thực hiện
Nguyễn Trung Thành
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
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
PHẦN 1:TỔNG QUAN VỀ VIỆC ỨNG DỤNG XỬ LÝ NGÔN NGỮ TỰ NHIÊN TRONG THỰC TIỄN
Dẫn nhập:phần này sẽ giới thiệu chung về chủ đề của đồ án,lý do xuất phát từ nhu cầu của thực tiễn và hướng nghiên cứu khoa học liên quan đến đồ án.
1.1.Giới thiệu
Ngày nay việc sử dụng máy tính đã trở nên hết sức phổ biến.Công nghệ thông tin đã đi vào hầu hết các lĩnh vực của đời sống xã hội.Máy tính trở thành công cụ đắc lực của nhiều người hoạt động trong các lĩnh vực khác nhau,nhất là trong việc lưu trữ và xử lý một khối lượng dữ liệu chuyên ngành khổng lồ và không ngừng tăng lên từng ngày.Máy tính giống như các công cụ khác là “cánh tay nối dài”, “tư duy nối dài” của con người vì nó có thể đảm nhiệm những chức năng mà con người tỏ ra khiếm khuyết,những năng lực mà con người cảm thấy khó khăn thì máy tính lại chiếm ưu thế chẳng hạn như khả năng tính toán của con người dựa trên hệ nhị phân là rất chậm so với khả năng tính toán của computer dựa trên hệ nhị phân hay là bộ nhớ của con người không thể nào so sánh được với dung lượng khổng lồ của các bộ nhớ máy tính.Song không phải vì vậy mà máy tính không có sự hạn chế.Việc máy tính tỏ ra có nhiều ưu thế hơn con người ở một số lĩnh vực là do nguyên lý hoạt động của máy tính khác với nguyên lý hoạt động của con người.Chính điều này cũng là nguyên nhân của những hạn chế của máy tính,rõ ràng là máy tính cũng thua con người trong nhiều lĩnh vực.Do đó để có thể phát huy hiệu quả được các khả năng của con người và tận dụng hết khả năng của máy tính đòi hỏi phải có sự “phối hợp” người và máy.Thực chất của quá trình phối hợp này là con người sẽ chuyển giao những chắc năng mà con người còn “yếu” sang cho máy tính đồng thời máy tính sẽ phải chuyển ngược trở lại cho con người những thông tin và dữ liệu ở dạng đơn giản hiệu quả để con người có thể hiểu và sử dụng trong công việc cũng như trong đời sống sinh hoạt hàng ngày. Để làm được điều này đòi hỏi quá trình giao tiếp giữa người và máy phải luôn thông suốt,thông tin hai chiều phải thật trong sang,tuy nhiên để người và máy hiểu được nhau là rất khó vì như chúng ta biết máy tính chỉ là những thiết bị điện tử hoạt động dựa trên những nguyên tắc logic và cơ chế vật lý của các thiết bị điện, điện tử,ngôn ngữ của máy tính là ngôn ngữ của trạng thái, đó là trạng thái bật hay tắt của một thiết bị,trạng thái điện áp cao hay điện áp thấp của các linh kiện điện tử là những con số 0 và 1 luân phiên thay đổi nhau trong những thanh ghi dữ liệu vv.. còn con người cùng với hoạt động sống của mình trong môi trường xã hội đã hình thành nên ngôn ngữ của riêng mình với các ngôn ngữ rất đa dạng khác nhau của nhiều dân tộc là những ngôn ngữ tự nhiên,mỗi loại ngôn ngữ tự nhiên có lịch sử rất lâu đời con người tiếp nhận ngôn ngữ tự nhiên một cách dễ dàng (ai cũng có thể biết nói biết viết ) nhưng đối với ngôn ngữ của máy tính thì con người muốn nắm vững đòi hỏi mất rất nhiều thời gian và phải trải qua những quá trình nghiêm ngặt.Nhưng những nhu cầu của thực tiễn bắt buộc con người phải tìm ra những giải pháp tăng cường khả năng giao tiếp giữa người và máy tính.Chính vì vậy mà những ứng dụng xử lý ngôn ngữ tự nhiên đã ra đời như một hướng đi để tìm ra câu trả lời cho bài toán nói trên.
Tuy ngôn ngữ tự nhiên và ngôn ngữ máy có những sự khác biệt như đã phân tích ở trên song chúng đều có một điểm chung là đều phải có cấu trúc và phải tuân theo những trật tự nhất định,do đó chúng có thể “chuyển hoá” lẫn nhau.Khái niệm chuyển hóa đây có nghĩa là ngôn ngữ tự nhiên có thể được thông dịch chuyển dần qua các dạng trung gian theo từng bước,cuối cùng chuyển thành các định dạng nhị phân của ngôn ngữ máy và máy có thể “hiểu” được.Nói chính xác là máy tính có thể xử lý được đầu vào dạng ngôn ngữ tự nhiên và trả lại đầu ra cũng ở dạng ngôn ngữ tự nhiên.Các bước trung gian này được đảm nhiệm bởi các chương trình ứng dụng xử lý ngôn ngữ tự nhiên. Hiện nay các ứng dụng này đang rất phát triển theo nhiều nhánh khác nhau.Một trong các nhánh đó là các ứng dụng giao diện ngôn ngữ tự nhiên.Công việc xây dựng các ứng dụng này thuộc về đội ngũ những người lập trình,các kỹ sư tri thức.Vì những lý do đó, là một sinh viên ngày tin học nên người nghiên cứu chọn đề tài tập trung vào một hướng nghiên cứu về lĩnh vực xây dựng giao diện ngôn ngữ tự nhiên như một bước đi để tiếp cận với ngành khoa học nhiều triển vọng này.
1.2. Đặt vấn đề
1.2.1.Mục đích của đề tài :
Đề tài này nhằm nghiên cứu kỹ thuật xây dựng giao diện người dùng dựa trên cơ chế phản hồi ngôn ngữ tự nhiên.
Nói đến giao diện người dùng tức là nói đến phần chương trình của ứng dụng sẽ trao đổi tương tác trực tiếp với người dùng,nó là cơ chế trung gian trong quan hệ giữa người dùng với ứng dụng và xa hơn nữa là máy tính.Thông thường hiện nay phổ biến các loại giao diện người dùng đồ hoạ mang tính trực quan cao thuận tiện cho việc sử dụng của người dùng tuy niên nó vẫn chưa đáp ứng được nhu cầu đặt ra cho con người khi phải tiếp cận và xử lý những loại dữ liệu phức tạp có nội dung tri tức chuyên sâu,những ưu điểm của các đặc trưng đồ hoạ không thể nào giải quyết được vấn đề này vì với loại giao diện đồ hoạ thông thường con người vẫn phải giao tiếp với máy tính theo những cách có vẻ hơi “cứng nhắc” do phải khuôn mẫu theo những định dạng sẵn có, đó là những “chuẩn của máy” chứ không phải là “chuẩn của con người” vì cái gần gũi và thông dụng nhất của con người trong mọi quá trình giao tiếp vẫn là ngôn ngữ tự nhiên,một thứ công cụ bẩm sinh của con người.Chính vì vậy hướng nghiên cứu của đề tài này là đi xa hơn một bước trong việc xây dựng giao diện người dùng đồ họa bằng cách đưa ngôn ngữ tự nhiên vào trong giao diện người dùng đồ hoạ (Graphical user interface) thông qua việc cung cấp những phản hồi dạng ngôn ngữ tự nhiên (natural language feedback) trên giao diện đồ họa cho người dùng,người dùng sẽ vừa làm việc với ứng dụng đồ hoạ vừa có thể thao tác trực tiếp trên giao diện này khi được các phản hồi ngôn ngữ tự nhiên cung cấp chỉ dẫn thông qua nội dung ngữ nghĩa mà nó phản ánh.Quá trình xây dựng sẽ được tiến hành bằng việc áp dụng kỹ thuật WYSIWYM một hướng tiếp cận mới trong lĩnh vực xử lý ngôn ngữ tự nhiên.Ngôn ngữ tự nhiên mà giao diện phản hồi lại với người dùng ở đây là tiếng Anh-English.Sở dĩ đề tài này chọn tiếng Anh làm ngôn ngữ áp dụng để thử nghiệm vì hướng nghiên cứu này còn rất mới ,các tài liệu chủ yếu nói về các cấu trúc Tiếng Anh,phương pháp tiếp cận xử lý ngôn ngữ tự nhiên không phải dựa trên cú pháp (syntax)như những phương pháp truyền thống mà dựa trên những ngữ nghĩa (semantic) có sẵn một tập luật sinh ra các cấu trúc câu phản hồi chuẩn trong khi nếu áp dụng với tiếng Việt đòi hỏi phải có thời gian nghiên cứu Tiếng Việt để xây dựng tập luật chuẩn ,mà hiện tại ở Việt Nam chưa có người nghiên cứu về đề tài này.Cách xây dựng trên dựa ngữ nghĩa cũng không quá phức tạp về nội dung đòi hỏi người thực hiện phải giỏi tiếng Anh lắm và quy mô đề tài nhỏ nên phạm vi từ vựng không quá rộng lớn chỉ tập trung trong một phạm vi hẹp,người nghiên cứu có thể bao quát được không quá khó khăn.Tính chất của đề tài là mang tính nghiên cứu tìm hiểu những phương pháp truyền thống và những phương pháp mới từ đó so sánh để tìm ra những ưu nhược điểm của mỗi phương pháp, đưa vào thử nghiệm một phương pháp,một kỹ thuật được cho là phù hợp nhất,từ đó tích luỹ kinh nghiệm và kiến thức trong tương lai nếu có điều kiện sẽ xây dựng những ứng dụng có tính thiết thực áp dụng vào trong thực tiễn.
1.2.2.Nội dung công việc
a)Nghiên cứu các loại giao diện ngôn ngữ tự nhiên (Natural language interface ),từ đó lựa chọn phương pháp phù hợp để 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,nội dung của giao diện này được hiểu là giao diện xây dựng có dạng frame giống như các giao diện đồ hoạ thông thường tuy nhiên trên giao diện có các câu ngôn ngữ tự nhiên gọi là các feedback text người dùng có thể tương tác với giao diện dựa vào các feedback text này,sau mỗi lần người dùng thao tác trên feedback text thì giao diện sẽ phản hồi lại người dùng một feedback text mới có nội dung cụ thể và chi tiết hơn nội dung feedback text mà người dùng vừa tác động vào.
b)Tiến hành cài đặt một chương trình mô phỏng có tính chất thử nghiệm để minh hoạ một mô hình giao diện có dạng đã đề cập.Các yếu tố người dùng tức là những thông tin,dữ liệu mà người dùng thực hiện trao đổi với giao diện này là về lĩnh vực chẩn đoán chăm sóc và điều trị bệnh ung thư.
Những nội dung cụ thể về cách tiến hành cũng như kỹ thuật xây dựng sẽ được đề cập cụ thể hơn ở những phần sau theo hướng đi từ khái quát đến chi tiết .
PHẦN 2:CƠ SỞ LÝ THUYẾT
Dẫn nhập:phần này sẽ trình bày tổng hợp các kiến thức mang tính lý thuyết có liên quan đến đồ án đặt cơ sở cho việc tìm hiểu kỹ thuật và cài đặt chương trình mô phỏng ở các phần sau.
2.1.Giao diện ngôn ngữ tự nhiên(Natural language interface)
Các ứng dụng giao diện ngôn ngữ tự nhiên có nhiều loại khác nhau nhưng phổ biến nhất là các ứng dụng giao diện ngôn ngữ tự nhiên được nhúng vào các ứng dụng truy vấn và quản lý cơ sở dữ liệu. Trong quá trình khai thác và sử dụng các cơ sở dữ liệu chuyên ngành đòi hỏi phải biết cách sử dụng và làm việc trên những hệ quản trị cơ sở dữ liệu.Tuy nhiên hầu hết đối với người sử dụng máy tính như một phương tiện xử lý thông tin thì họ lại không có những kiến thức hiểu biết chuyên sâu về các lĩnh vực trong tin học,về các ngôn ngữ lập trình,cơ sở dữ liệu hay ngôn ngữ truy vấn cơ sở dữ liệu, đồng thời với việc có một thực tế là các hệ quản trị cơ sở dữ liệu hiện nay khá phức tạp trong việc truy vấn và cập nhật dữ liệu,muốn sử dụng được chúng cũng phải qua đào tạo cơ bản,do đó việc giao tiếp với người và máy để truy vấn dữ liệu gặp rất nhiều khó khăn.Chính vì vậy mà có rất nhiều dự án ,công trình nghiên cứu về xử lý ngôn ngữ tự nhiên nhằm tạo ra một giao diện người dùng thuận tiện cho phép người dùng có thể thực hiện việc truy vấn với các cơ sở dữ liệu một cách dễ dàng mà không phải tốn công và chi phí đào tạo
Giao diện ngôn ngữ tự nhiên cho cơ sở dữ liệu (NL-interface) là một bộ phận trung gian giữa người dùng và CSDL.Nó dịch các câu truy vấn dạng ngôn ngữ tự nhiên sang dạng biểu diễn hình thức logic,tìm kiếm trong CSDL và đưa ra các thông tin phù hợp cho người dùng
Hình 2.1: Mô hình trao đổi giữa CSDL và người dùng qua giao diện NNTN
Các ý tưởng sơ khai về xử lý ngôn ngữ tự nhiên được hình thành từ rất sớm vào khoảng những năm 1900 và được đề xuất biểu diễn ngôn ngữ tự nhiên bằng suy diễn toán học sử dụng logic.Những nghiên cứu này được công bố bởi Frege và Russell, Wittgenstein .Họ đề xuất rằng ngôn ngữ tự nhiên là một hệ thống hình thức có thể xử lý tự động. Các ứng dụng xử lý ngôn ngữ tự nhiên được ra đời từ vào khoảng thập niên 60 của thế kỷ 20,hầu hết chúng đều bị giới hạn bởi các cơ sở dữ liệu và các ứng dụng hết sức đặc thù, đáng kể nhất là hệ thống LUNAR, đó là một giao diện ngôn ngữ tự nhiên cho cơ sở dữ liệu về những phân tích hoá học từ những mẫu đá trên mặt trăng.LUNAR là một máy hữu hạn trạng thái đầu trong đó dữ liệu đầu vào có thể phân tích được.Nó làm việc khá hiệu quả và tạo ra được sự quan tâm đối với lĩnh vực sử lý ngôn ngữ tự nhiên.Nó làm cho các nhà nghiên cứu có chung một niềm tin rằng những nghiên cứu về xử lý ngôn ngữ tự nhiên mới những mức hạn chế vừa đủ là khả thi và sớm trở thành giao diện chuẩn đối với các máy tính.Một nhà nghiên cứu tại IBM năm 1978 đã nói rằng “ máy tính có thể hiểu được ngôn ngữ tự nhiên trong một tương lai không xa”.Tuy nhiên thời gian đã chứng minh kết luận của ông ta không đúng.
Mặc dù các nhà khoa học đã dành rất nhiều thời gian cho những nghiên cứu trong các thập kỷ vừa qua đặc biệt là các ứng dụng trong những hệ thống thương mại tuy nhiên những giao diện ngôn ngữ tự nhiên (NLI)thực sự có tính ứng dụng cao trong thực tế lại không phải là nhiều.Có vẻ như các công ty không tin tưởng lắm vào giao diện ngôn ngữ tự nhiên và họ không đủ thông tin và sự đảm bảo về lợi ích khi đầu tư cho những ứng dụng giao diện kiểu này.Một trong những lý do để họ không tin cậy vào giao diện ngôn ngữ tự nhiên-NLI là hiện đang phổ biến một loại giao diện thể hiện ưu thế vượt trội của mình là giao diện dựa trên form.Tuy nhiên liệu đó có phải là lý do chính đáng hay không ,hay chẳng lẽ giao diện ngôn ngữ tự nhiên-NLI lại không có lợi ích gì.
Trong một giao diện ngôn ngữ tự nhiên điển hình dùng để truy nhập cơ sở dữ liệu( Natural language interface to a database-NLIDB),người dùng sẽ yêu cầu đưa ra các bản ghi thông qua các câu truy vấn diễn đạt bằng ngôn ngữ tự nhiên.Trước tiên các câu truy vấn sẽ được phân tích về mặt ngữ nghĩa bởi một đầu vào xử lý ngôn ngữ,nơi các truy vấn sẽ được dịch sang ngôn ngữ biểu diễn trung gian (thông thường là các form dạng logic).Sau đó các diễn đạt dạng ngôn ngữ trung gian sẽ được dịch sang ngôn ngữ cơ sở dữ liệu SQL đã được hỗ trợ bởi các hệ quản trị CSDL. Cụ thể một hệ thống NLIDB bao gồm những thành phần (components)chính sau:
Hình 2.2:Kiến trúc của một giao diện ngôn ngữ tự nhiên
Một bộ xử lý ngôn ngữ (linguistic processor-L processer) làm nhiệm vụ dịch các truy vấn dạng ngôn ngữ tự nhiên (NL-queries) sang dạng biểu diễn trung gian( Intermediate query- I query)(1)
Một trình quản lý thiết kế (design monitor) cho những yếu tố có tính chất chung của giao diện ngôn ngữ tự nhiên (general-purpose NL) không liên quan tới những cơ sở dữ liệu cụ thể (particular DB) (2,3)
Một trình quản lý trả lời truy vấn (query-answer monitor) sẽ gửi những câu truy vấn cho bộ xử lý L processor và hiển thị câu trả lời (4)
Một trình quản lý CSDL (DB-monitor) (5) sẽ dịch các câu truy vấn I query sang dạng SQL và trả lại kết quả từ CSDL
Nếu nhìn từ góc độ chức năng xử lý công việc thì hệ thống xây dựng dựa trên hai công việc (mode)
Xây dựng giao diện ngôn ngữ tự nhiên (constructing NLF) cho một CSDL về lĩnh vực cụ thể (công việc của người thiết kế-the designer ’s mode)
Đặt câu truy vấn (query processing) đây là công việc của người dùng cuối (end-user ’ s mode)
Với khả năng kinh nghiệm của mình các chuyên gia thiết kế có thể tạo ra được một NLF trong vòng vài giờ làm việc tập trung và dựa trên đó xây dựng những hệ NLF tin cậy với đầy đủ tính năng trong vòng vài ngày
Trường hợp thứ hai (second mode) quan tâm tới đa số người dùng đại chúng (mass user) và được dựa trên NLF đã được thiết kế từ trường hợp đầu (first mode) cần thực hiện truy vấn những thông tin cần thiết từ CSDL và biểu diễn các kết quả trả về từ CSDL
Rất nhiều các loại giao diện ngôn ngữ tự nhiên cho CSDL đã được phát triển trong suốt 30 năm qua. Đặc điểm chung của các hệ thống này là phạm vi áp dụng của các phương pháp kỹ thuật là rất lớn.Trở ngại chung của các hệ thống này thông thường các hệ thống chỉ có thể hiểu được một tập rất nhỏ các ngôn ngữ tự nhiên.Chúng thường không rõ ràng đối với những đối tượng người dùng bình thường,do các cấu trúc câu thiếu sự hợp lý và tính trong sáng về ngữ nghĩa ,và đôi khi hệ thống đưa ra những câu trả lời không có mấy giá trị hay muốn nói là không thể chấp nhận được.Ở khía cạnh tích cực thì ngôn ngữ tự nhiên vượt trội hơn nhiều so với SQL về tính diễn cảm(expressive) do đó nó trở nên dễ dàng hơn trong việc hỏi những câu phức tạp sử dụng ngôn ngữ tự nhiên hơn là cũng hỏi với nội dung đó nhưng sử dụng ngôn ngữ CSDL.Các truy vấn đơn bằng ngôn ngữ tự nhiên(single natural language query ) thường được dịch sang các câu lệnh SQL.Truy vấn dạng ngôn ngữ tự nhiên không chỉ thân thiện với những người dùng không phải chuyên gia mà còn cho phép thao tác với các câu chứa nội dung thời gian( temporal constructions).Do những đặc thù trên mà giao diện ngôn ngữ tự nhiên cũng mang nhiều ưu điểm và nhược điểm cố hữu.Sau đây là những nét ưu nhược điểm chủ yếu của các hệ thống này
2.1.1.Những ưu điểm (advantage) của giao dện ngôn ngữ tự nhiên
Có nhiều lý do để cho rằng giao diện ngôn ngữ tự nhiên có nhiều ưu điểm.Một điều hiển nhiên là người sử dụng hệ thống không muốn học các ngôn ngữ nhân tạo để có thể giao tiếp với máy tính.Các công ty sẽ rất có lợi khi không phải tốn chi phí đào tạo nhân viên của mình và những người sử dụng hệ thống thường xuyên cũng cảm thấy hài long khi họ có ít kinh nghiệm trong việc sử dụng máy tính.Các nhà nghiên cứu nói rằng để xây dựng được giao diện ngôn ngữ tự nhiên cần phải tiến hành từng bước,phải thực hiện những mục tiêu mang tính giai đoạn khi mà máy tính hiện nay chưa thể hiểu được ngôn ngữ tự nhiên,việc hoàn thành ước mơ của những nhà nghiên cứu có lẽ cũng không quá xa vời.Nhiều người tin rằng trong tương lai sẽ có nhiều loại giao diện kiểu này sẽ được phát minh,chúng có khả năng kiểm tra ngữ pháp và nhận dạng được giọng nói,cũng như sẽ có nhiều công cụ ngôn ngữ sẽ xuất hiện.
Một lý do khác là một số giao diện ngôn ngữ tự nhiên hiện nay làm việc khá tốt.Mặc dù giao diện đồ hoạ dựa trên form được sử dụng khá hiệu quả trong nhiều lĩnh vực song chúng lại có những giới hạn nhất định.Có thể đưa ra một vài ví dụ là khả năng tham chiếu đến các đối tượng không xuất hiện trên màn hình hiển thị (screen),các quan hệ về thời gian ngoài ra còn rất khó khăn trong việc diễn đạt sự phủ định hay các đại lượng một cách ngắn gọn.
Chẳng hạn câu “phòng nào không có một lập trình viên nào”.Rất may mắn là độ dài các câu trong ngôn ngữ tự nhiên không quá dài và chúng ta có thể diễn đạt những câu hỏi một cách ngắn gọn.Dĩ nhiên là các câu hỏi như vậy phải có khả năng diễn đạt sang dạng ngôn ngữ truy vấn hình thức(formal query language) như SQL ,chúng sẽ phức tạp hơn và rất buồn tẻ nếu người dùng phải tự viết các câu SQL
Một ưu điểm khác của giao diện ngôn ngữ tự nhiên-NLI là khả năng hỗ trợ diễn đạt các câu tĩnh lược hay các câu có chứa những nội dung lặp lại.
Tuy nhiên với tất cả những ưu điểm như trên nhưng chúng vẫn không thực sự tỏ ra vượt trội trong các ứng dụng hiện thời là vì sao?Có một vài điều cần nghiên cứu thêm, mặc dù vậy Walker và Whittaker đã kết luận rằng giao diện ngôn ngữ tự nhiên sẽ trở nên hiệu quả hơn các hệ thống dựa trên menu.Các nhà nghiên cứu giao diện ngôn ngữ tự nhiên muốn thu được thông tin từ nhiều mức khác nhau, đặc biệt là khi các có sự kết hợp các biểu thức ngôn ngữ thành một tổ hợp.Chúng thường được sử dụng để nối hai tập hợp với nhau để tạo ra một tập mới có khả năng xử lý tốt hơn tương tự như trong SQL.Các nhà nghiên cứu muốn kết hợp những ưu điểm sẵn có trong SQL với khả năng diễn đạt những câu truy vấn phức tạp bằng những cách đơn giản của giao diện ngôn ngữ tự nhiên NLI do đó họ thích sử dụng giao diện ngôn ngữ tự nhiên -NLI hơn là các giao diện dựa trên menu.Mặc dù ngày nay có rất nhiều lỗi trong các hệ NLI nhưng những nhà nghiên cứu đều cho rằng lợi ích của NLI đem lại chỉ là về mặt lý thuyết mà còn có ích trong những ứng dụng hàng ngày
2.1.2.Nhược điểm (Disadvantage) của giao diện ngôn ngữ tự nhiên
Hiện nay các giao diện ngôn ngữ tự nhiên chỉ có thể mô tả một phần giới hạn,một bộ phận nhỏ trong ngôn ngữ tự nhiên,trong khi đó thì ngôn ngữ tự nhiên lại quá lớn và luôn luôn thay đổi không ngừng.Vấn đề của giao diện ngôn ngữ tự nhiên-NLI là không có khả năng xử lý đầu vào bằng ngôn ngữ tự nhiên một cách thực sự hiệu quả.Việc tiến hành cài đặt giao diện ngôn ngữ tự nhiên-NLI chỉ áp dụng được với một phạm vi rất hẹp.Tập ngôn ngữ tự nhiên mà các ứng dụng hoạt động trên đó goi là tập ngôn ngữ đóng (linguistical coverage).Tập ngôn ngữ đóng này thường không dễ hiểu đối với người dùng.Người dùng thấy rằng rất khó để hiểu và nhớ các loại câu hỏi mà hệ thống có thể trả lời,sẽ dễ dàng hơn với người dùng nếu họ chỉ làm việc với một hệ thống dựa trên các câu truy vấn đơn. Đối với những ngôn ngữ truy vấn hình thức,các giao diện dựa trên form và đồ hoạ thường không xảy ra những vấn đề trên vì các thông tin về lĩnh vực ứng dụng được hiển thị một cách rõ ràng hơn.
Một vấn đề khác của giao diện ngôn ngữ tự nhiên -NLI là khi một giao diện ngôn ngữ tự nhiên xảy ra lỗi người ta thường khó xác định được là lỗi đó thuộc về ngữ nghiã do khái niêm hay lỗi là do cú pháp. Điều đó làm cho người dùng thường phải đặt lại truy vấn. Điều tồi tệ nhất có thể xảy ra là hệ thống không đưa ra câu trả lời chính xác,nó có thể dẫn tới hậu quả là người dùng sẽ hiểu sai thông tin. Điều này có thể khắc phục bằng cách đưa trả lại câu hỏi cho người dùng.Ngoài ra việc xử lý và phân tích những ngôn ngữ tự nhiên rất khó khăn phức tạp đòi hỏi nhiều công sức.Chính vì vậy mà đến nay giao diện ngôn ngữ tự nhiên vẫn chưa phổ biến trong các ứng dụng.
2.2.Một giao diện ngôn ngữ tự nhiên hạn chế (a quasi-NL interface)
Từ những khó khăn và thuận lợi trên đã dẫn đến một sự chuyển hướng trong nghiên cứu xây dựng các giao diện ngôn ngữ tự nhiên,người ta xây dựng các giao diện ngôn ngữ tự nhiên hạn chế thay vì các giao diện ngôn ngữ tự nhiên truyền thống.Sự hạn chế ở đây không phải là sự hạn chế về tính năng của giao diện mà là sự hạn chế về miền ngôn ngữ tự nhiên cần xử lý theo nguyên tắc “chia để trị” phân định các lĩnh vực hẹp hơn để xây dựng loại giao diện này. Để xây dựng giao diện bằng ngôn ngữ tự nhiên hiện nay có rất nhiều cách tiếp cận .Có hai huớng tiếp cận chính là dựa trên cú pháp và dựa trên ngữ nghĩa.
Cách tiếp cận dựa trên cú pháp (syntatic-based approach):Các câu truy vấn sẽ được Parse(ngắt khúc và phân tích) để xây dựng các cấu trúc cú pháp (syntactic structure) sau đó sẽ dịch sang ngôn ngữ truy vấn CSDL (database query language)
Cách tiếp cận dựa trên ngữ nghĩa(semantic-oriented approach):theo cách tiếp cận này thì các câu truy vấn sẽ được chuyển thành các vị từ (predicates) của một ngôn ngữ truy vấn CSDL mà không cần dựa vào các cấu trúc cú pháp (without building its syntactic structure).Bằng cách này các thành phần ngữ nghĩa và ứng dụng của quá trình giao tiếp giữa người và máy sẽ đơn giản hơn về mặt ngữ cảnh
Trong số các cách tiếp cận xây dựng giao diện ngôn ngữ tự nhiên hạn chế thì kỹ thuật WYSIWYM được đánh giá là một kỹ thuật hết sức hiệu quả,kỹ thuật này được biết đến như một phương pháp 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.
2.3.Kỹ thuật WYSIWYM editing
Kỹ thuật WYSIWYM được Richard Power đề xuất lần đầu tiên vào năm 1998 là một cách tiếp cận dựa trên ngữ nghĩa như vậy. Lý do chọn cách tiếp cận này là vì đây là cách phát triển giao diện có hầu hết các ưu điểm của giao diện ngôn ngữ tự nhiên mà lại có ít nhược điểm nhất,thay vì xây dựng một giao diện ngôn ngữ tự nhiên theo hướng tiếp cận dựa trên cú pháp ta sẽ xây dựng một giao diện ngôn ngữ tự nhiên hạn chế (quasi Nl interface) dựa trên ngữ nghĩa.
2.3.1.Các mô hình Editor (type of Editor)
Các hệ thống tương tác giữa người dùng và máy trong đó có giao diện dựa trên kỹ thuật WYSIWYM editing được gọi chung là các hệ Authoring system trong đó Author là người dùng liên quan đến lĩnh vực mà hệ thống ứng dụng(system) cung cấp các khả năng tương tác và hiệu chỉnh nội dung thông tin.
Điểm đầu tiên là ta phải lưu ý là quá trình tạo và hiệu chỉnh dựa trên kỹ thuật WYSIWYM (WYSIWYM editing) được nhìn nhận giống như quá trình xử lý từ (word processing) bởi vì quá trình này thực hiện trên các tài liệu được định dạng (formatted document).Chúng ta cần biết qua một số đặc điểm của việc xử lý từ (word processing) trước khi tìm hiểu về các loại Editor.
Khi chúng ta thao tác (edit) trên một tài liệu thông qua một bộ xử lý từ (word processor) mục đích của chúng ta là nhằm đưa ra các kiểu thông tin đa dạng. Ở mức cơ bản nhất chúng ta có một chuỗi các ký tự.Các ký tự này ghép lại tạo thành một từ và các từ các từ ghép lại tạo thành một câu.,chúng sẽ diễn đạt một khái niệm hay một ý tưởng nào đó.Các bộ word processor cũng có thể cho phép tạo ra các hiệu ứng đồ hoạ trong các tài liệu.Bằng việc thay đổi font và kích thước các ký tự chẳng hạn.Nhìn một cách tổng thể thì có bốn mức thông tin khác nhau trong một tài liệu (document).Mỗi mức có một đặc trưng tiêu biểu (characteristic feature)
Mức đồ hoạ (Graphic level): Tại mức này tài liệu được biểu diễn trên màn hình (screen) ở cấp độ pixel.với bitmap 2 chiều (two- dimensional bitmap)
Mức vị tự (Graphemic level): Chuỗi các ký tự trong tài liệu
Mức cú pháp (Syntatic level): Các từ chứa trong tài liệu và thứ tự sắp xếp của chúng
Mức ngữ nghĩa(Semantic level): Ý nghĩa chứa trong tài liệu
Các hiển thị trực quan trong một word processor thể hiện toàn bộ cả bốn mức này.Sự khác biệt của các mức thông tin trên tương ứng với ba cách mà người dùng user có thể tương tác với một hệ thống (authoring system) dựa trên ba loại đặc điểm
Các đặc trưng có thể điều khiển trực tiếp (Directly controlled features): Có những đặc trưng người dùng (user) có thể tác động trực tiếp bằng các thao tác cơ bản (atomic actions).Ví dụ trong một word processor các thao tác cơ bản mà người dùng có thể thực hiện được như chèn hoặc xoá một ký tự,thao tác này được xếp ở mức vị tự (graphemic level)
Các đặc trưng thông dịch (Interpreted feature): Một đặc trưng thông dịch có thể được biến đổi một cách không trực tiếp, Các tác động của người dùng có thể được dịch (interpreting) sang các tác động ở mức thấp hơn.Ví dụ với word processor thì các đặc trưng cú pháp và ngữ nghĩa có thể nhận được từ việc dịch (interpreting) chuỗi ký tự .Không một chương trình nào có thể sử dụng các đặc trưng cú pháp hoặc ngữ nghĩa được mã hoá bằng các chuỗi ký tự trừ phi nó có khả năng parse (ngắt khúc và phân tích) để hiểu được ngôn ngữ.Như thế các đặc trưng ngữ nghĩa được mã hoá trong tài liệu có thể chỉ có giá trị đối với con người.
Các đặc trưng thể hiện (Presentational features): Các đặc trưng này được đưa ra bởi chương trình nhằm hiển thị các đặc trưng khác cho người dùng.Ví dụ các đặc trưng đồ hoạ trong một word processor,các đặc trưng này sẽ không thể được dịch(interprete) từ mức điều khiển (controlled level) nhưng có thể nhận được từ mức này (controlled level) .Chẳng hạn một bộ công cụ soạn thảo text editor chỉ có thể ghi các chuỗi ký tự thì phải đưa thêm vào các đặc trưng đồ hoạ (kích thước,font chữ) để có thể in ra và hiển thị trên màn hình..
Từ những đặc điểm trên có t._.hể nhận thấy những đặc điểm giống và khác nhau giữa text editing và WYSIWYM editing . Điểm chung của 2 kỹ thuật này là chúng đều biểu diễn thông tin dựa trên các đặc trưng ở cả bốn mức đồ hoạ (graphical),vị tự (graphemic),cú pháp(synstatic) và ngữ nghĩa (semantic).Sự khác nhau giữa chúng là một word processor cho phép tác động trực tiếp (direct control) lên các đặc trưng ở mức vị tự (graphemic feautures) tức là thao tác trên các chuỗi ký tự (character sequence) còn WYSIWYM editing cho phép tác động trực tiếp lên các đặc trưng ở mức ngữ nghĩa (semantic features) tức là thao tác trên những tri thức (knowledge).Trong WYSIWYM editing thì các đặc trưng đồ hoạ,vị tự và cú pháp toàn bộ mang tính chất thể hiện trình bày (presentational).Người dùng có thể chọn các thuật ngữ (term) nhưng không thể thao tác trực tiếp (control directly) lên chúng ví dụ như gõ các ký tự chẳng hạn.Căn cứ vào những đặc điểm trên của một trình soạn thảo ngôn ngữ tự nhiên (natural language editor) ta sẽ có bốn loại NL Editor khác nhau tương ứng với những mức khác nhau mà qua đó người dùng có thể tác động.
1.Handwriting Editor.Người dùng có thể thao tác trực tiếp ở mức đồ hoạ (graphic) ví dụ sử dụng một bút điện tử (thiết bị đầu vào-input divice) để viết một văn bản theo cách “thủ công” như viết trên giấy.Quá trình này người dùng đã gián tiếp tham gia vào việc tác động lên thông tin ở các mức khác.Editor có khả năng nhận dạng các ký tự
2.Text Editor.Người dùng có thể thao tác trực tiếp trên mức vị tự (graphemic) chẳng hạn gõ trực tiếp các ký tự tại vị trí con trỏ (cursor). Điều này mang lại một giá trị và lợi ích rất lớn trong các ứng dụng.Người dùng không thể tác động lên các chi tiết khuôn dạng của ký tự ,nhưng việc mã hoá các chuỗi ký tự một cách tin cậy sẽ làm cho Editor trở nên tiện ích hơn.Ví dụ như việc thay đổi kích thước ,font hoặc màu, độ rộng của một cột nào đó.
3.NL-Menu.Người dùng có thể thao tác trực tiếp ở mức cú pháp bằng cách chọn từ một danh sách những từ (words) hoặc cụm từ (phrase) cho phép mở rộng câu hiện tại (current sentence).Bằng cách này người dùng có thể không được phép thao tác trực tiếp trên những chuỗi ký tự nhưng các cấu trúc ngôn ngữ (linguistic structure) được mã hoá theo những cách tin cậy từ một miền nhỏ của ngôn ngữ (sub-language) mà editor có thể parse (ngắt khúc và phân tích ) các chương chình có thể đưa ra được những thông tin đáng tin cậy về mặt ý nghĩa (meaning)
4. WYSIWYM Editing .Người dùng có thể thao tác ở mức ngữ nghĩa hay tri thức -controls the semantic(or knowledge) level bằng việc chọn ra các khái niệm mở rộng (conceptual exetensions) của nghĩa hiện tại (current meaning) từ một pop-up menu.Toàn bộ các đặc trưng khác đều được trình bày sẵn do đó người dùng không thể thao tác trực tiếp trên các từ vựng (wording).Chương trình sẽ không làm nhiệm vụ phân tích (parsing) hoặc dịch các đặc trưng nào vì đây là mức cao nhất (higest level-knowledge) nên người dùng có thể điều khiển trực tiếp mà không cần các đặc trưng phải được thông dịch (interpreted features).
2.3.2. Kiến trúc WYSIWYM
Thông thường có hai cách để xây dựng một cơ sở tri thức (KB) bằng các ngôn ngữ lệnh hoặc bằng việc thao tác trực tiếp .WYSIWYM (What You See Is What You Meant) là một kỹ thuật mới trong việc tạo ra và biểu diễn tri thức bằng cách tương tác với một văn bản hồi đáp dạng ngôn ngữ tự nhiên(NL feedback text),trong mỗi đoạn feedback text có chứa hai loại tri thức,một loại được cố định sẵn và một loại có thể có nhiều lựa chọn cho quá trình mở rộng văn bản .
Nhiều ứng dụng trí tuệ nhân tạo yêu cầu các thông tin phải được diễn đạt dưới dạng những biểu diễn tri thức đã được hình thức hoá.Hệ chuyên gia là một ví dụ điển hình,ngoài ra có các hệ thống sinh văn bản ,chúng đều được mã hoá các định dạng thiết kế.Do đó với các công cụ hiện có thì việc xây dựng các cơ sở tri thức đều phải được tiến hành bởi các kỹ sư tri thức những người đã rất quen thuộc với các tri thức đã được hình thức hóa.Trong khi đó WYSIWYM editing cho phép các chuyên gia lĩnh vực (domain expert) có khả năng tạo ra và duy trì các mô hình tri thức ( bao gồm cơ sở tri thức-knowledge base,cơ sở dữ liệu –database và các mô hình lĩnh vực-domain models ) bằng các tri thức trực tiếp với một ưu điểm là sử dụng cơ chế phản hồi bằng ngôn ngữ tự nhiên đối với người dùng.Với WYSIWYM editing mỗi tác động lên những kết quả của mô hình được biểu diễn bằng ngôn ngữ tự nhiên sẽ cho thấy trạng thái hiện tại (current location) của mô hình.Các mô tả dạng văn bản (text)cũng bao gồm các thông tin rất rõ ràng về phần còn lại của mô hình chưa được hoàn thành.Bằng cách này các kỹ thuật sinh văn bản (text) được sử dụng sao cho các dữ liệu đầu vào phức tạp được biểu diễn theo những cách dễ hiểu và dễ thực hành nhất. WYSIWYM editing thực sự là một công cụ mạnh đối với nhiều lĩnh vực và có nhiều hứa hẹn trong tương lai bao gồm những khả năng mà các cách biểu diễn tri thức truyền thống không có.Ví dụ việc thiết kế các hệ thống trả lời truy vấn (QA System) và thiết kế giao diện đối với các trang bị kỹ thuật phức tạp.
Hình 2.3:Mô hình kiến trúc của WYSIWYM
Ý tưởng cơ bản của WYSIWYM editing là cung cấp một giao diện cho một cơ sở tri thức(KB) để nó có thể dễ dàng sử dụng đối với người dùng bình thường có thể là một chuyên gia lĩnh vực khác không cần có kiến thức chuyên môn về biểu diễn cơ sở tri thức.Các chuyên gia lĩnh vực sẽ thao tác với các feedback text. Feedback text là một khuôn dạng văn bản được hệ thống sinh ra có chứa các anchor( liên kết) ,các anchor( liên kết) này là những vị trí mà tại đó văn bản có thể được mở rộng.Mỗi anchor( liên kết) sẽ được kết hợp với một pop-up menu chứa các nội dung mở rộng có thể của văn bản.Cơ sở của quá trình mở rộng văn bản là thao tác lựa chọn giá trị mới trong pop-up menu của người dùng,một đoạn feedback text mới sẽ được sinh ra từ nội dung mới của cơ sở tri thức. Mỗi feedback text có hai chức năng: thứ nhất là đưa ra các biểu diễn tri thức đã được cố định sẵn,hai là đưa ra các biểu diễn tri thức có thể tùy chọn.Các tùy chọn này được đánh dấu bởi các anchor( liên kết).Bằng việc nhấn vào các anchor( liên kết) người dùng sẽ nhận được một pop-up menu có nhiều giá trị tuỳ chọn,người dùng sẽ chọn lấy lựa chọn có ngữ nghĩa phù hợp với ý định .Thuật ngữ WYSIWYM được viết tắt từ What You See Is What You Meant(Những gì bạn thấy là những gì bạn hiểu) trong đó “What You See” biểu diễn một cơ sở tri thức(KB) mà người dùng đã tạo ra bởi các quyết định mang tính chất ngữ nghĩa(“What You Meant”)
Hình 2.4 : Mô hình hoạt động của một hệ thống WYSIWYM
Hình 2.4 minh hoạ ý tưởng cơ bản của cách thức hoạt động của mô hình giao diện WYSIWYM editing. Đây là một dạng đặc biệt của văn bản (text) ngôn ngữ tự nhiên được sinh ra để biểu diễn cấu hình hiện thời của mô hình văn bản.Như đã đề cập ở trên loại văn bản này có chứa nhiều cụm từ gọi là anchor( liên kết) nơi mà các khái niệm mới,các đối tượng mới sẽ được thêm vào. Đối tượng có chứa các thuộc tính,khi lựa chọn các thuộc tính mới của đối tượng từ pop-up menu văn bản mới được sinh có cấu hình thay đổi sẽ bao gồm cả đối tượng và các thuộc tính của nó, có nhiều thông tin hơn về đối tượng được đưa vào văn bản,càng nhiều thông tin về đối tượng được đưa vào thì đoạn văn bản sinh ra sẽ càng dài do quá trình mở rộng tăng lên.
2.3.3.Các thành phần cơ bản của một hệ thống WYSIWYM editing
Một hệ thống WYSIWYM editing thường có ba bộ phận (component) sau:
Một module có nhiệm vụ xây dựng và duy trì cơ sở tri thức ( knowledge base).Phần này gồm có một T-box (hay từ vựng-terminology) sẽ định nghĩa (defines) các khái niệm (concepts) và các mối quan hệ (relation) từ đó kết hợp chúng lại thành những khẳng định (assertions) trong cơ sở tri thức gọi là A-box (Assertions) đuợc hình thức hoá.
Một bộ sinh ngôn ngữ tự nhiên (Natural language generators) sinh ra các văn bản đầu ra (output texts) từ một cơ sở tri thức đầy đủ (complete knowledge base),generator này sẽ sinh ra các feedback texts từ bất cứ trạng thái nào của cơ sở tri thức
Một giao diện người dùng thể hiện quá trình tương tác giữa người dùng với các feedback text và kết quả (output) mà hệ thống đưa ra.Các feedback text sẽ bao gồm hai thành phần ,một thành phần có tính mouse-sensitive gọi là anchor( liên kết) nơi người dùng (author) có thể đưa ra các quyết định lựa chọn căn cứ vào ngữ nghĩa của nội dung feedback text,các lựa chọn này sẽ được thực hiện thông qua một list hữu hạn các khái niệm (member) từ pop-up menu.
Có một yêu cầu cần thiết đối với kỹ thuật WYSIWYM editing là các nội dung của các feedback text cần phải được diễn đạt rõ ràng, điều này đòi hỏi tính chặt chẽ và chính xác,logic về mặt nội dung của cơ sở tri thức
Hệ thống WYSIWYM editing cho phép các chuyên gia lĩnh vực (domain expert) thoải mái hơn khi làm việc với các ứng dụng liên quan đến CSDL.
Với những ưu điểm đó WYSIWYM editing được lựa chọn để xây dựng giao diện phản hồi ngôn ngữ tự nhiên trong các hệ thống hỏi đáp ngôn ngữ tự nhiên.Nội dung ứng dụng của kỹ thuật này sẽ được trình bày tiếp trong phần sau.
PHẦN 3: HỆ THỐNG HỎI ĐÁP NGÔN NGỮ TỰ NHIÊN
Dẫn nhâp:phần này sẽ giới thiệu mô hình của hệ thống hỏi đáp ngôn ngữ tự nhiên, đồng thời phân tích chức năng và hoạt động của hệ thống từ đó xác định những vấn đề nằm trong nội dung của hệ thống có liên quan đến đề tài và chọn ra module có thể áp dụng cài đặt thử nghiệm chương trình mô phỏng giao diện ngôn ngữ người dùng với cơ chế phản hồi ngôn ngữ tự nhiên,phân định phần công việc để đưa ra nhiệm vụ của bài toán cần giải quyết.
3.1.Các hệ thống truy vấn cơ sở dữ liệu
Vì nội dung của đề tài đề cập đến có 2 phần là tìm hiểu kỹ thuật và xây dựng chương trình mô phỏng giao diện người dùng với cơ chế phản hồi ngôn ngữ tự nhiên nên phần chương trình tuy không phải là ứng dụng cụ thể song nó cũng phải “hướng ứng dụng” tức là nó phải nằm trong một kiến trúc ứng dụng nào đó và cung cấp những chức năng nhất định trong kiến trúc của toàn bộ hệ thống đó.Với tính cách là một giao diện tức là một đối tượng trung gian giữa người dùng và máy tính thì giống như mọi giao diện người dùng khác giao diện phản hồi ngôn ngữ tự nhiên cũng làm nhiệm vụ nhận những tác động của người dùng và chuyển ngược trở lại cho họ những thông tin cần thiết. Đây là một quá trình hỏi đáp được tiến hành dưới nhiều hình thức dưới nhiều hình thức khác nhau,quá trình này thường diễn ra trong các hệ thống hỏi đáp truy vấn cơ sở dữ liệu.
Hệ thống trả lời truy vấn (Question Answering System) áp dụng cho các lĩnh vực chuyên môn cụ thể hạn chế trong một phạm vi hẹp (restriceted domains) được thiết kế để đưa ra những câu trả lời từ những nguồn dữ liệu dạng phi cấu trúc (unstructured data-free text),dữ liệu bán cấu trúc(semi-structured data) hoặc dữ liệu có cấu trúc(structured data-database).
Hình 3.1: Kiến trúc chung của một hệ QA
Những ứng dụng QA được quan tâm chủ yếu vào hai khía cạnh quan trọng.Thứ nhất lĩnh vực áp dụng nên có quy mô đủ nhỏ và ổn định(không có quá nhiều biến động về dữ liệu) cho phép có thể quản lý việc mô hình hóa các dữ liệu và tri thức bằng các thuật ngữ(term) trong một cơ sở tri thức có cấu trúc( structured knowledge base) và do đó có thể cung cấp được những thông tin từ một nguồn đáng tin cậy.Bất cứ khi nào mà những dữ liệu có cấu trúc có thể được khai thác,một đề xuất thông minh là nên xây dựng một ứng dụng QA dựa trên ngôn ngữ tự nhiên vì có nhiều ưu điểm là dễ sử dụng mang tính thân thiện với người dùng. Điều quan trong hơn là ứng dụng QA trong một lĩnh vực giới hạn (restricted domain ) yêu cầu những kỹ thuật rất khác đối với các kỹ thuật được áp dụng trong lĩnh vực mở (open domain textual QA) .Các câu hỏi là một nguồn thông tin cơ sở để tìm ra câu trả lời.Việc phân tích cẩn thận và có chất lượng các câu hỏi là điều cực kỳ quan trọng đối với ứng dụng QA trong lĩnh vực hạn chế (domain-restricted QA). Điều quan trọng nhất là khi chúng ta có nhu cầu cần trả lời các câu hỏi và các câu trả lời này được lấy từ những văn bản hay những cơ sở tri thức thì chúng ta cần thông dịch ngữ nghĩa của các câu truy vấn sang dạng có thể kết nối với nguồn tri thức của lĩnh vực đó để xử lý và rút ra các câu trả lời. Phạm vi của đề tài này quan tâm đến một cách tiếp cận trong việc trả lời truy vấn trong lĩnh vực giới hạn ( domain-restricted QA) từ nguồn dữ liệu có cấu trúc.Và các loại dữ liệu nói đến đó nằm trong lĩnh vực y tế chẩn đoán, điều trị và chăm sóc sức khoẻ cho các bệnh nhân ung thư.
3.2.Giới thiệu về một hệ thống CLEF (CLEF system)
Trong số những ứng dụng cụ thể của các hệ thống hỏi đáp (question answering system) Thuật ngữ CLEF (Clinical E-Sience Framework) là thuật ngữ dùng để chỉ các hệ thống ứng dụng trong lĩnh vực y tế hỗ trợ việc chăm sóc, điều trị sức khoẻ của bệnh nhân,kết hợp với việc nghiên cứu các loại bệnh dựa trên thông tin được lưu trữ về hồ sơ bệnh nhân.
3.2.1.Ứng dụng của hệ thống
Hệ thống truy vấn CLEF được thiết kế để trả lời các truy vấn về các mẫu hồ sơ của bệnh nhân (patient record) trong kho dữ liệu.Đây là một hệ thống nhằm phát triển các phương pháp chuẩn mực trong việc quản lý các thông tin y tế trong lĩnh vực chăm sóc bệnh nhân đồng thời tích hợp các thông tin y tế vào trong các dự án nghiên cứu sinh học.Hệ thống này cung cấp khả năng lưu trữ và tổ chức các hồ sơ bệnh nhân một cách hiệu quả nhất.Nó kết hợp các thông tin này trong một hệ thống quản lý tri thức hình thức ( formal knowledge management system) với một e-Sience framework để người sử dụng có thể truy nhập thông tin từ cơ sở dữ liệu phục vụ cho mục đích của mình.
Các kiểu câu hỏi mà hệ thống cung cấp là những truy vấn tập trung vào những thuộc tính trọng tâm để đưa những kết quả tổng thể (aggregated result) Ví dụ
Số lượng cụ thể/tỷ lệ phần trăm thống kê của các bệnh nhân với một biểu hiện đặc trưng nào đó.
Các câu trả lời được đưa ra bằng truy vấn đối với CSDL,mà các truy vấn này có thể được tách thành các truy vấn con đơn giản hơn.Do đó chúng không cần phải yêu cầu có các suy diễn trên các bản ghi hồ sơ về bệnh nhân,tuy nhiên giao diện truy vấn cũng có thể kết hợp với kỹ thuật khai phá dữ liệu để đưa ra được câu trả lời với những truy vấn quá phức tạp.Ví dụ
Với một điều kiện chắc chắn nào đó,cách điều trị nào mang lại nhiều thành công nhất cho các bệnh nhân với biểu hiện đặc trưng nào đó
Giao diện truy vấn cũng có thể được sử dụng để truy nhập vào các các thông tin mang tính cá nhân của người bệnh.
Giao diện truy vấn được thiết kế cho những người dùng không chuyên hoặc có hiểu biết thông thưòng về kiến thức tin học mà không đòi hỏi phải đào tạo chuyên sâu về tin học,tuy nhiên họ phải là người hiểu biết về các khái niệm liên quan đến lưu trữ hồ sơ( không nhất thiết phải hiểu biết về cấu trúc dữ liệu thực sự và cách mã hoá dữ liệu).Có ba loại đối tượng sử dụng chính(user) trong việc sử dụng hệ giao diện truy vấn CLEF để thu nhận thông tin từ kho dữ liệu về bệnh nhân
Nhân viên y tế,những người sử dụng để hỗ trợ cho việc chẩn đoán hoặc điều trị bệnh
Các nhà nghiên cứu y học,họ sử dụng hệ thống để xác định các trường hợp điển hình trong điều trị ,lựa chọn các bệnh nhân tham gia các thử nghiệm y học,quản lý những người tham gia những thử nghiệm y học này
Nhà quản trị bệnh viện,họ thu thập những thông tin về điều trị,về các thí nghiệm vv..
Hệ thống truy vấn này được mong đợi sẽ mang lại nhiều tiện ích cho người sử dụng không có hoặc có rất ít kiến thức về SQL .Chúng ta cũng thấy rằng đối với những người thông thuộc ngôn ngữ SQL giao diện truy vấn bằng ngôn ngữ tự nhiên là một bước đi mang tính cải tiến và linh hoạt hơn so với chuẩn SQL.Chúng ta cũng hy vọng rằng với những người không thông hiểu về các đồ thị mã hoá dữ liệu y học sẽ cảm thấy dễ dàng hơn với những diễn đạt dưới dạng ngôn ngữ tự nhiên thay vì các mã hoá y học.
3.2.2 Kiến trúc chung của hệ thống
Về mặt kỹ thuật thiết kế của hệ thống truy vấn CLEF gồm ba module chính là: Bộ xây dựng truy vấn(Query Editor), bộ phân tích truy vấn(Query Decomposition Component) và bảng kết quả(Result Consolidator )
Bộ xây dựng truy vấn(Query Editor)
Nhiệm vụ của module này là tạo ra các feedback text dạng ngôn ngữ tự nhiên tương tác với người dùng bằng cách cho phép họ cấu trúc một câu truy vấn nhờ việc lựa chọn các khái niệm cấu thành nội dung câu truy vấn . Đây chính là phần có sự tham gia xây dựng bằng các kỹ thuật WYSIWYM editing
Bộ phân tích truy vấn(Query Decomposition Component)
Đây là một module đa thành phần nó thực hiện vai trò làm giao diện giữa Bộ xây dựng truy vấn (Query Editor) và Hệ quản trị cơ sở dữ liệu (DBMS)
Module này có hai nhiệm vụ là
Tách các yêu cầu phức tạp đa thành phần(complex multi-part request)-tức là những câu có nhiều trường giá trị cần truy vấn của người dùng cuối thành tập các câu truy vấn nhỏ hơn có nội dung trọng tâm hơn (more focused query)-tức là mỗi câu truy vấn con này sẽ hướng vào một trong số các trường giá trị được tách ra từ câu truy vấn lớn,có thể ánh xạ thành các truy vấn gốc(archetype)- ở đây được hiểu là các truy vấn SQL.
Tái tổ hợp các kết quả của các truy vấn con thành một trả lời hoàn chỉnh đưa lại cho người dùng
Xét về mặt logic module này gồm có 2 module con là
Module phân tích truy vấn (Query decomposition module)
Vai trò của module này là dịch nội dung của các truy vấn sang một dạng biểu diễn có thể ánh xạ được sang các câu truy vấn cơ sở (archetype).Nó được thực hiện bởi việc phân tích các biểu diễn ngữ nghĩa của các truy vấn sang các đối tượng Java.Ở mức quản trị cơ sở dữ liệu(DBMS level) ,việc tìm kiếm được thực hiện sử dụng các mã hoá của các khái niệm y học ,bước đầu tiên trong quá trình tạo truy vấn là người dùng thế các khái niệm y học bằng các chuỗi mã ký hiệu phù hợp.Các đối tượng Java sẽ tạo ra và gửi đến hệ quản trị CSDL và chuyển thành SQL
Bộ phản hồi(feedback processor)
Vai trò của module này là nhận các phản hồi từ Hệ quản trị cơ sở dữ liệu (DBMS) rồi cấu trúc lại thành một kết quả cho câu truy vấn tức thời ,thực hiện việc định dạng và gửi lại cho giao diện người dùng để hiển thị
Bảng kết quả (Result consolidator): là module nhận những định dạng trả về từ feedback processor để hiển thị kết quả cho người dùng.Trong đề tài này do chỉ xây dựng phần giao diện nên kết quả trả về không phải ở dạng ngôn ngữ tự nhiên mà là ở dạng bảng.
3.3.Giao diện CLEF
Trong điều kiện cho phép về thời gian và nguồn lực (con người,tài nguyên dữ liệu thông tin) dựa trên sự thu thập các kiến thức về lĩnh vực y học cụ thể là các thông tin về bệnh ung thư của người nghiên cứu nên nội dung của đề tài không nhằm mục đích xây dựng một ứng dụng vì các ứng dụng trong lĩnh vực y học đòi hỏi phải có những tri thức mang tính chính xác chuyên môn cao mới có thể đưa vào phục vụ các công việc trong thực tế, đề tài chỉ hướng tới việc nghiên cứu kỹ thuật WYSIWYM editing một hướng tiếp cận mới trong lĩnh vực xử lý ngôn ngữ tự nhiên.Những dữ liệu sử dụng trong bài toán (phạm vi của đề tài này) chỉ mang tính chất demo,minh hoạ cho việc cài đặt kỹ thuật WYSIWYM editing trong việc thiết kế giao diện người dùng bằng phản hồi ngôn ngữ tự nhiên nói đúng hơn là ngôn ngữ tự nhiên hạn chế (phạm vi,miền bao quát của tập từ vựng rất hẹp).
Nội dung của công việc trước tiên là nghiên cứu các tri thức (knowledge-semantic) trong lĩnh vực y tế (clinical domain) trong trường hợp này là bệnh ung thư,từ đó xây dựng một cơ sở tri thức (chỉ mang tính chất minh hoạ nên cơ sở tri thức này có phạm vi rất nhỏ) về các bệnh nhân ung .Cơ sở tri thức này bao gồm quan hệ ngữ nghĩa (semantic) có tính chuyên môn (domain) giữa các trường hợp,tình huống điều trị bệnh tức là các mối tương quan giữa các thông tin về bệnh nhân.Từ chỗ có được cơ sở tri thức (knowledge base) về thông tin bệnh nhân ta sẽ đưa công cụ ngôn ngữ (language tools) vào cụ thể ở đây là các kỹ thuật về WYSIWYM editing để tạo ra một giao diện (editing interface) có thể tương tác với người dùng (author) thông qua ngôn ngữ tự nhiên hạn chế (quasi-natural language).Quá trình triển khai việc thiết kế và cài đặt giao diện này cũng là quá trình nghiên cứu và làm sáng tỏ bản chất của kỹ thuật WYSIWYM editing một hướng tiếp cận mới trong lĩnh vực xử lý ngôn ngữ tự nhiên.Thực chất công việc là áp dụng kỹ thuật WYSIWYM editing một kỹ thuật giao diện người dùng (user interface technique) kết hợp với kỹ thuật sinh ngôn ngữ tự nhiên (natural language generation technology) cung cấp khả năng phản hồi để người dùng có thể tương tác được với giao diện.
3.3.1.Chức năng nhiệm vụ của giao diện CLEF
Giao diện truy vấn CLEF là một giao diện người dùng dạng form hỗ trợ cho việc xây dựng công thức (formulation) cho các câu hỏi và hiển thị các câu trả lời. Giao diện CLEF thuộc loại giao diện thao tác trực tiếp (direct-manipulation interface) tức là nó cung cấp một cơ chế tương tác phản hồi (feedback) cho người dùng.Nó là một phần trong module đầu tiên của hệ thống CLEF (module Query-Editor).Như đã trình bày ở trên hệ thống CLEF.Hệ thống CLEF bao gồm một tập các mô hình thực hiện việc xây dựng,xử lý các câu hỏi kết nối với kho dữ liệu,tìm kiếm thông tin từ cơ sở dữ liệu đưa ra các câu trả lời cho người dùng. Nó được thiết kế để cải thiện khả năng truy nhập vào các hồ sơ điện tử của các bệnh nhân bằng cách đưa ra những khung nhìn về các hồ sơ bệnh một cách trực quan hơn.Các câu hỏi luôn xoay quanh chủ đề về thông tin của bệnh nhân,khả năng chẩn đoán và cách điều trị.Như vậy hệ thống bao gồm rất nhiều công đoạn khác nhau,giao diện CLEF chỉ làm công đoạn đầu tiên là xây dựng một tiến trình hội thoại (dialogue history) giữa người dùng (author)và hệ thống (CLEF system).Tiến trình này sẽ tạo ra một kết quả đầu ra là một cấu trúc đặc trưng (feature structure) có định dạng XML . Đầu ra này sẽ được đưa vào công đoạn tiếp theo để xây dựng các câu truy vấn cơ sở dữ liệu dạng SQL.Vì quá trình tương tác giữa người dùng và hệ thống là quá trình hội thoại bằng ngôn ngữ tự nhiên nên người dùng dễ dàng cung cấp cho hệ thống những thông tin về bệnh nhân cần chuyển thành những điều kiện sử dụng cho các cấu trúc truy vấn SQL.
Giống như mọi giao diện WYSIWYM (WYSIWYM interface )khác thì giao diện CLEF cũng có những đặc điểm chung của giao diện WYSIWYM đó là:
Giao diện WYSIWYM biểu diễn nội dung của một cơ sở tri thức mà người sử dụng nó quan sát được các tri thức này thông qua các feedback text.Trong mỗi tình huống tạo đầu vào cho một câu truy vấn (query editing), nội dung của cơ sở tri thức sẽ là một dạng hoàn thiện (completed formal representation) của câu truy vấn mà người dùng muốn tạo ra.Giao diện này sẽ trình bày cho người dùng các đoạn text dạng ngôn ngữ tự nhiên tương ứng với những câu truy vấn chưa hoàn thiện (incomplete query) và “hướng dẫn-guides” (ở đây ý muốn nói các nội dung ngữ nghĩa mang tính tri thức chính là những chỉ dẫn đối với người dùng) họ có thể họ thực hiện các tương tác (editing) phù hợp với nội dung feedback text đưa ra để hệ thống tạo thành một truy vấn hoàn chỉnh (complete query).Khi các feedback text đã được mở rộng hết mức thì phần đầu ra của giao diện sẽ tạo ra một cấu trúc thông tin đầy đủ để làm đầu vào cho một câu truy vấn hoàn chỉnh (complete query)
3.3.2.Mô hình hoá văn bản trả lời (Modeling feedback texts)
Về mặt biểu diễn thông tin về hồ sơ của bệnh nhân sẽ được tách thành các phần nhỏ hơn đê thuận tiện hơn đối với người sử dụng trong quá trình thao tác tạo các câu hỏi.Thông tin về mỗi bệnh nhân được gọi chung là patient record sẽ được phân nhỏ thành 6 hạng mục thông tin nhỏ hơn về bệnh nhân
Demographic record (hồ sơ nhân khẩu): Các thông tin cá nhân như tên tuổi,giới tính
Consult record :Thông tin về địa điểm,nơi khám bệnh và bác sĩ khám bệnh
Diagnosis record :Thông tin về quá trình chẩn đoán bệnh chẩn đoán bệnh
Medication record :Thông tin điều trị thuốc của bệnh nhân
Test result record :Thông tin về các xét nghiệm của bệnh nhân
Care plan record :Thông tin về kế hoạch điều trị của bệnh nhân
Mỗi một hạng mục như trên có thể được mở rộng trong quá trình tương tác với người dùng (author).Sở dĩ người sử dụng hệ thống được gọi là author vì quá trình tạo ra các thông tin về bệnh nhân là hoàn toàn do người sử dụng chủ động tạo ra,việc này đòi hỏi phải có những tri thức chuyên môn về lĩnh vực ung thư ở đây author có thể là bác sĩ điều trị cho bệnh nhân chẳng hạn.Từ author nói nên rằng người sử dụng chính là tác giả chủ thể của quá trình thao tác ngôn ngữ của hệ thống-control language,nó thể hiện mức độ mà người dùng làm việc với một hệ thống editing system là mức ngữ nghĩa (semantic). Đây chính là đặc trưng cơ bản nổi bật nhất để phân biệt WYSIWYM editing với các kỹ thuật ngôn ngữ tự nhiên hay kỹ thuật về giao diện dạng form.
3.3.3.Cách thức tương tác giữa người dùng và giao diện CLEF
Dưới đây sẽ trình bày theo từng bước mô tả nội dung hoạt động tương tác giữa người dùng và giao diện CLEF (một giao diện WYSYWYM) để thấy được những đặc điểm khác biệt giữa một giao diện WYSIWYM –WYSIWYM interface với một giao diện người dùng đồ hoạ -GUI thông thường
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)
Khi khởi tạo giao diện có dạng như hình 3.2. Phần text được đánh dấu bằng màu đỏ là phần có khả năng tiếp tục được mở rộng tức là nội dung của nó sẽ được thay thế bởi một nội dung mới.Ban đầu cụm từ some record để chỉ hồ sơ về thông tin của một bệnh nhân nào đó.Như vậy để có thể tìm kiếm những thông tin liên quan đến bệnh nhân ta cần phải đưa ra được những thông tin cụ thể hơn về bệnh nhân đó,các thông tin này đã được phân loại theo sáu hạng mục như đã đề cập ở trên.Sau khi lựa chọn từ danh sách các hạng mục ta sẽ có trạng thái mới như sau
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)
Các cụm từ này đều có màu đỏ để phân biệt với các cụm từ khác trong đoạn text chứa nó ở khả năng mở rộng,trong kỹ thuật WYSIWYM editing chúng được gọi là một anchor( liên kết).Mỗi anchor( liên kết) có thể là một tổ hợp của các sự kiện (events) hay đặc điểm (features) có cùng kiểu (same type). Đặc điểm của các anchor( liên kết) là chúng có tính chất mouse-sensitive mỗi lần khi ta click chuột vào chúng sẽ làm sổ ra một pop-up menu thể hiện khả năng mở rộng (possible extension) của cơ sở tri thức tại điểm đó.Sau khi click chuột vào pop-up menu một feedback text mới sẽ được sinh ra.
Quá trình mở rộng các feedback text (generate feedback text) là một quá trình kép theo hai chiều là chiều dọc (độ sâu ngữ nghĩa tăng dần) và chiều ngang (số lượng thành phần mở rộng tăng dần).Sở dĩ nói như như trên là vì một đoạn text sẽ diễn đạt một câu dạng ngôn ngữ tự nhiên,mà ta biết các câu trong ngôn ngữ tự nhiên sẽ diễn đạt các sự kiện,các mối quan hệ giữa các đối tượng hoặc diễn đạt tính chất, hành vi của các đối tượng này,quá trình sản sinh một câu bằng ngôn ngữ tự nhiên bằng kỹ thuật WYSIWYM với xuất ban đầu là một đối tượng chẳng hạn áp dụng vào trường hợp của bài toán này là đối tượng patient record ,ban đầu chưa có thông tin gì về đối tượng quá trình tạo ra thông tin cho đối tượng là quá trình bổ sung những tính chất đặc điểm ,các mối quan hệ có chứa những yếu tố liên quan đến đối tượng .Rõ ràng các tính chất về đối tượng sẽ có nhiều mức độ chi tiết khác nhau,thông tin về tính chất càng cụ thể thì độ sâu ngữ nghĩa càng tăng và tính chất của đối tượng được mở rộng theo chiều sâu (chiều dọc),còn các mối quan hệ và số lượng các đặc điểm tính chất của đối tượng cũng ngày một nhiều lên do đó các bổ xung các quan hệ về đối tượng chính là quá trình mở rộng theo chiều ngang.Vì các anchor( liên kết) giữ vai trò là các tổ hợp của các sự kiện hoặc các đặc điểm cung cấp khả năng mở rộng cho câu cũng có hai loại anchor( liên kết) tương ứng với hai chiều mở rộng của feedback text là các anchor( liên kết) sự kiện (event) và các anchor( liên kết) đặc tả (feature).Quá trình mở rộng theo chiều ngang thì anchor( liên kết) sự kiện sẽ được thay thế bằng nhiều anchor( liên kết) mới trong đoạn feedback text mới còn quá trình mở rộng theo chiều dọc thì anchor( liên kết) đặc tả sẽ được thay thế bằng một giá trị lựa chọn cho đặc tính mà nó diễn đạt ban đầu.
Quá trình mở rộng theo chiều ngang
Tương ứng với quá trình mở rộng theo chiều ngang là anchor( liên kết) sự kiện.Khi ta nhấn chuột vào anchor( liên kết) này sẽ làm hiện ra một pop-up menu chứa một lựa chọn duy nhất.Chẳng hạn click chuột vào anchor( liên kết) demographic record thì pop-up menu sẽ đưa không đưa ra các thuộc tính đặc trưng thay thế mà đưa ra một khả năng mở rộng duy nhất.
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)
Ta nhấn chuột vào item demographic record trong pop-up menu thì feedback text mới sinh ra sẽ chứa 2 anchor( liên kết) mới là some patient và some gender
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)
Rõ ràng là quá trình mở rộng này là quá trình bổ xung các mối quan hệ của đối tượng,làm tăng thêm các yếu tố, thuộc tính của bệnh nhân như tên,giới tính của bệnh nhân.
Quá trình mở rộng theo chiều dọc
Khác với các anchor( liên kết) sự kiện khi ta nhấn chuột vào một anchor( liên kết) đặc tả (feature) pop-up menu hiện ra sẽ chứa nhiều các lựa chọn khác nhau.Trong pop-up menu này có chứa một danh sách các member cùng kiểu chẳng hạn anchor( liên kết) some hospital sẽ chứa một danh sách tên các bệnh viện như bệnh viện Tràng An,bệnh viện Thanh Nhàn.vv…(trong trường hợp này chỉ giới hạn ở bốn bệnh viện ).
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)
Khi ta lựa chọn tên một bệnh viện từ danh sách hiển thị mà pop-up menu liệt kê ví dụ bệnh viện Trang An thì anchor( liên kết) ban đầu đã kích hoạt danh sách trên sẽ được thay thế bởi tên bệnh viện như minh hoạ dưới đây :
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)
Dễ nhận thấy tại vị trí cụm từ some hospital đã được thay thế bằng từ Trang An hospital.Các anchor đặc tả (features) được thay thế bằng khái niệm nằm trong danh sách của pop-up menu không có khả năng sinh ra anchor( liên kết) mới khi feedback text mới được hệ thống đưa ra,như vậy là các anchor( liên kết) đặc tả có một điểm chung là khả năng mở rộng “một cấp” tức là chỉ được thay thế một lần duy nhất.
Hì._.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:
- 4719.doc