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.
95 trang |
Chia sẻ: luyenbuizn | Lượt xem: 968 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung 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
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.
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
Các file đính kèm theo tài liệu này:
- BK5.docx