1. Trang chủ
  2. » Luận Văn - Báo Cáo

Gắn từ loại vào từ và ứng dụng trong hệ thống hỏi đáp của ngôn ngữ tự nhiên

83 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Gắn từ loại vào từ và ứng dụng trong hệ thống hỏi đáp của ngôn ngữ tự nhiên
Tác giả Phạm Công Thiện
Người hướng dẫn PGS. TS. Phan Thị Tươi, Tiến Sĩ Dương Tuấn Anh
Trường học Đại Học Bách Khoa - Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2004
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.1 Mục đích nghiên cứu đặt ra trong quá trình tìm hiểu đề tài - Tìm hiểu các kỹ thuật xử lý ngôn ngữ tự nhiên chuyên sâu - Nghiên cứu các kỹ thuật tách và gắn từ loại trong câu Part of

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

PHẠM CÔNG THIỆN

GẮN TỪ LOẠI VÀO TỪ VÀ ỨNG DỤNG TRONG HỆ THỐNG HỎI ĐÁP CỦA NGÔN NGỮ TỰ NHIÊN

MÃ SỐ NGÀNH : 01.02.10

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 11 năm 2004

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : PGS TS Phan Thị Tươi

Cán bộ chấm nhận xét 1 :

Cán bộ chấm nhận xét 2 :

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC

SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA

PHÒNG ĐÀO TẠO SĐH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC

Tp HCM, ngày 25 tháng 11 năm 2004.

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên : PHẠM CÔNG THIỆN .Phái : Nam

Ngày, tháng, năm sinh : 07 – 06 – 1978 Nơi sinh : Quảng Ngãi

Chuyên ngành : CÔNG NGHỆ THÔNG TIN MSHV : CNTT 13 020……

TÊN ĐỀ TÀI : GẮN TỪ LOẠI VÀO TỪ VÀ ỨNG DỤNG TRONG HỆ THỐNG HỎI ĐÁP CỦA NGÔN NGỮ TỰ NHIÊN

II- NHIỆM VỤ VÀ NỘI DUNG :

- Đọc các tài liệu về part-of-speech-tagging cho tiếng Anh

- Thông qua gán từ loại cho từ tìm hiểu phương pháp gán ngữ nghĩa cho từ

- Tìm hiểu các phương pháp xây dựng hệ thống dữ liệu phục vụ cho hệ thống hỏi đáp

- Tìm hiểu các hệ thống hỏi đáp, truy vấn thông tin hiện có, đánh giá các hệ thống

- Đề xuất mô hình hệ thống hỏi đáp

- Xây dựng chương trình cho hệ thống hỏi đáp

- Áp dụng hệ thống hỏi đáp cho xử lý ngôn ngữ tự nhiên

III- NGÀY GIAO NHIỆM VỤ ………ngày 01 tháng 02 năm 2004………… IV- NGÀY HOÀN THÀNH NHIỆM VỤ: ngày 25 tháng 11 năm 2004 V- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Phó giáo sư, tiến sĩ Phan Thị Tươi

CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH

Phó giáo sư, tiến sĩ Tiến sĩ

Phan Thị Tươi Dương Tuấn Anh

Nội dung và đề cương luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua

Ngày tháng năm

Trang 4

LỜI CẢM ƠN

Lời chỉ dạy của các Thầy Cô Giáo, kiến thức, kinh nghiệm học tập và nghiên cứu có được sau khi làm xong đề tài là tài sản quý giá làm hành trang cho những bước đường sắp tới của tôi

Xin gởi lời cảm ơn sâu sắc đến Cô giáo Tiến Sĩ Phan Thị Tươi, đã tận tình theo dõi các bước đi của đề tài, đã kịp thời uốn nắn chỉnh sửa và đưa ra những nhận xét sâu sắc Xin cảm

ơn Thầy Dương Tuấn Anh, đã hối thúc và động viên tôi trong quá trình thực hiện Xin cảm ơn các Thầy, Cô trong khoa Công Nghệ Thông Tin đại học Bách Khoa TP Hồ Chí Minh đã vun đắp kiến thức cho tôi trước và trong chương trình Thạc Sĩ này

Với thời gian làm việc ngắn ngủi, với khối lượng công việc tương đối nhiều Tôi đã cố gắng và tương đối hoàn thành được yêu cầu đề tài đặt ra ban đầu Xin cám ơn sự trợ giúp và tận tình chỉ bảo của các bạn bè, đặc biệt là các bạn học viên lớp Cao Học K2002 Cám ơn anh Claudio Scordino (Tiến Sĩ người Italia) đã nhanh chóng và đóng góp ý kiến cặn kẽ cho đề tài của Tôi

Xin chân thành cảm ơn Ban giám đốc công ty Sunyard Vietnam đã giúp đỡ, tạo điều kiện về thời gian, công việc cho tôi trong suốt quá trình học tập và làm đề tài

Cuối cùng, cảm ơn Ba, Mẹ, Anh, Em và những người khác trong gia đình đã và đang động viên, khuyến khích, tạo điều kiện đễ tôi vững bước tiến lên

Trang 5

1.2 Các ràng buộc 2

1.3 Ý nghĩa khoa học 2

1.4 Ý nghĩa thực tiễn 3

CHƯƠNG 2 - TỔNG QUAN 4

2.1 Start – nghiên cứu của Boris Katz 4

2.2 Máy gắn từ loại Multi-Text 5

2.3 Bộ tagger EngCG (English Constraint Grammar) 6

2.4 Open-Domain Voice-Activated Question Answering 8

2.5 Học máy dựa trên việc phân loại câu hỏi (Learning Question Classifiers)10 2.6 The Effectiveness of Dictionary and Web-Based Answer Reranking 12

2.7 Chuỗi từ vựng liên kết (Lexical Chains) cho hệ thống hỏi đáp 14

2.8 SVM Answer Selection for Open-Domain Question Answering 15

2.9 vnQtag – Bộ tagger tiếng Việt 17

2.10 Phân tích, đánh giá 18

2.11 Những đóng góp của đề tài 19

CHƯƠNG 3 - CƠ SỞ LÝ THUYẾT 22

3.1 Gắn từ loại vào từ (Part-of-Speech Tagging) 22

3.2 Phương pháp mạng Markov (Markov assumption) 25

3.2.1 Giải thuật Viterbi cho việc chọn trạng thái phân tích trên HMM 26

3.2.2 Xác suất từ vựng (Obtaining lexical Probability) ……… 28

3.3 Ngữ nghĩa thủ tục (Procedural Semantics) trong hệ thống hỏi đáp………… 31

3.4 Máy học (Learning Module) và trả lời câu hỏi (Answering Module) 36

3.5 Gắn ngữ nghĩa 39

3.6 Máy học (Learning Module) 40

4 CHƯƠNG 4 – HIỆN THỰC ĐỀ TÀI VÀ CÁC KẾT QUẢ ĐẠT ĐƯỢC 41

4.1 Tách và gắn từ loại vào các từ trong câu (II, VI) 43

4.2 Gắn ngữ nghĩa (III, VII) 44

4.3 Ghi vào cơ sở tri thức (IV) 46

4.4 Lọc lấy cụm từ cần hỏi và tìm kiếm câu trả lời (IIX, IX) 47

Trang 6

5 CHƯƠNG 5 - KẾT LUẬN VÀ KIẾN NGHỊ NHỮNG NGHIÊN CỨU TIẾP

THEO 58

5.1 Kết luận 58

5.2 Kiến nghị những nghiên cứu tiếp theo 58

5.2.1 Cải tiến về lý thuyết: 59

5.2.1.1 Làm mạnh QA bằng cách tăng cường cơ sở tri thức của nó … 59

5.2.1.2 Cấu trúc câu phức tạp, các nghiên cứu sâu hơn về ngôn ngữ 59

5.2.1.3 Tăng tốc độ tính toán, học hỏi và trả lời 59

5.2.1.4 Hỗ trợ khả năng hiểu nghĩa câu và tìm ra câu trả lời theo ngữ nghĩa ……… 60

5.2.2 Cải tiến về thực nghiệm 60

5.2.2.1 Hổ trợ khả năng giao tiếp bằng âm thanh 60

5.2.2.2 Tăng khả năng giao tiếp với người sử dụng ………60

TÀI LIỆU THAM KHẢO 62

TÓM TẮT LÝ LỊCH TRÍCH NGANG 65

PHỤ LỤC 66

Phụ lục các thuật ngữ 66 Phụ lục viết tắc từ loại dùng trong máy tách và gắn từ loại vào từ trong câu….68

Trang 8

ABSTRACT -oOo -

PART-OF-SPEECH-TAGGING AND APPLICATION IN QUESTION &

ANSWERING SYSTEM FOR NATURAL LANGUAGE solves the problem of tagging and part-of-speech for words in a sentence, with a given input, every words would be attached part-of-speech as noun, verb, adjective, adverb, … Later on, output is used in a question & answering system as an input Final result is the answer for above question which has been searched and found in a knowledge base The master thesis relies on a series of available theoretical research and improvements for an English question & answering integration Using part-of-speech tagging for question & answering is a new trend in Natural Language Processing Besides, the thesis provides an automatic learning module

to enrich its knowledge base With about 3000 sentences random data from TREC, the system shows ability to tag and attach part-of-speech successfully throughout almost all sentences The ability to answer these questions from TREC is relatively high, almost all sentences can be learned and almost all questions can be answered with correct information

Trang 9

CHƯƠNG 1 - MỞ ĐẦU

Máy tính đang được con người trang bị sức mạnh để xử lý nhiều công việc phức tạp đòi hỏi khối lượng tính toán lớn Bên cạnh, con người còn muốn máy tính thông minh hơn, hiểu được và gần gũi mình hơn Có thể nói, mục đích lớn mà con người đã và đang dày công xây dựng là biến máy tính trở thành đối tượng giống con người; biết nghe, biết nói, biết học, biết trả lời thắc mắc …

Các công trình nghiên cứu về lĩnh vực này đã và đang có những bước phát triển vượt bậc Hàng loạt những bài báo, công nghệ mới, diễn đàn mới về phân tích câu, từ (Tagging); về học máy (Machine Learning); về hệ thống hỏi đáp

(Question & Answering System); khai thác dữ liệu và quản lý thông tin (Data Mining and Information Retrieval) … ra đời Với sự phát triển rất nhanh của khối lượng dữ liệu, khối lượng tri thức hiện nay thì đây là lĩnh vực đang được các nhà khoa học, các nghiên cứu sinh Công nghệ thông tin đang quan tâm tìm hiểu

Ý tưởøng GẮN TỪ LOẠI VÀO TỪ xuất phát từ việc làm cách nào để gắn ngữ nghĩa vào một câu Thông thường mỗi từ có thể đóng nhiều vai trò và có nhiều nghĩa trong các câu khác nhau, vậy nên việc gắn đúng từ loại cho từ có ý nghĩa quan trọng trong việc lấy được nghĩa đúng của từ và qua đó hiểu đúng câu Nếu câu ban đầu là một câu hỏi thì khả năng trả lời được câu hỏi này rất cao Kỹ thuật gắn từ loại được trang bị trong môn học Xử lý ngôn ngữ tự nhiên, cùng với những kiến thức tổng quan và chi tiết khác trong chương trình đào tạo bậc đại học và cao học của trường Đại học Bách Khoa TP Hồ Chí Minh cho phép tôi thực hiện đề tài cao học GẮN TỪ LOẠI VÀO TỪ VÀ ỨNG DỤNG TRONG HỆ THỐNG HỎI ĐÁP CỦA NGÔN NGỮ TỰ NHIÊN

1.1 Mục đích nghiên cứu đặt ra trong quá trình tìm hiểu đề tài

- Tìm hiểu các kỹ thuật xử lý ngôn ngữ tự nhiên chuyên sâu

- Nghiên cứu các kỹ thuật tách và gắn từ loại trong câu (Part of Speech

Tagging), so sánh và đánh giá các kỹ thuật này

- Hiện thực một module phần mềm có khả năng tách các từ trong câu và gắn từ loại (Tagger)

- Kết quả thu được từ Tagger, xây dựng hệ thống hỏi đáp (Question &

Answering System) bao gồm các yêu cầu

o Gắn ngữ nghĩa vào câu hỏi nhận được

Trang 10

o Trích lấy phần thông tin cần hỏi từ câu hỏi (Required Information)

o Tổ chức một cơ sở tri thức (Knowledge Base) bao gồm một khối lượng thông tin đáng kể và cách thức truy xuất, xóa bỏ, cập nhập Cơ sở tri thức này là nền tảng thông tin để tìm kiếm câu trả lời cho câu hỏi được yêu cầu ban đầu

o Lấy thông tin và trả lời câu hỏi

o Trong trường hợp không thể trả lời do thiếu thông tin, thì hệ thống hỗ trợ khả năng tương tác với người dùng để học lấy thông tin cần thiết

1.2 Các ràng buộc

Để tiến hành công việc với các yêu cầu trên, các ràng buộc sau được đưa ra để giới hạn khối lượng

- Về ngôn ngữ, hỏi đáp và dữ liệu là tiếng Anh

- Về tập mẫu chứa từ vựng cần dùng trong quá trình phân tích văn phạm, ngữ nghĩa có thể tìm kiếm từ một nguồn dữ liệu tin cậy mà không phải thiết lập mới từ đầu

- Về hệ thống hỏi đáp chỉ có thể trả lời các câu hỏi trong một phạm vi nhất định Cụ thể, tập trung khả năng trả lời các câu hỏi của TREC 1999 à TREC

2002 (TREC – Text REtrieval Conference) khoảng 3000 câu [8]

1.3 Ý nghĩa khoa học

Đề tài với khối lượng công việc được đề cập trên là một ứng dụng cụ thể các kiến thức nền tảng được cung cấp trong môn học xử lý ngôn ngữ tự nhiên Kỹ thuật phân tích và gắn từ loại vào từ có ý nghĩa quan trọng trong hầu hết các hệ thống xử lý ngôn ngữ Cách tổ chức và truy xuất cơ sở tri thức là một hiện thực cụ thể kiến thức được trang bị của môn học cơ sở tri thức

(Knowledge Base) Hầu hết những kỹ thuật, kinh nghiệm được trang bị trong các chương trình đại học và cao học, cùng với việc đọc và tìm hiểu những nghiên cứu và giải thuật trong các bài báo, tạp chí chuyên ngành gần đây nhất sẽ được vận dụng trong quá trình làm đề tài Tóm lại, Luận án này đi sâu nghiên cứu và

Trang 11

hiện thực ý tưởng và khối lượng kiến thức thuộc lĩnh vực xử lý ngôn ngữ tự nhiên

Việc hoàn thành đề tài giúp tác giả hiểu rõ được các giải thuật và phương pháp giải quyết vấn đề trong xử lý ngôn ngữ Kỹ thuật được dùng trong đề tài còn có ứng dụng trong nhiều nghiên cứu khác như duyệt từng phần

(Partial Parsing), rút trích thông tin (Information Extraction) (Trang 375 [1])… Ứng dụng hệ thống hỏi đáp sẽ chứng minh khả năng học và tương tác của máy tính, qua đó có thể nghĩ đến các yêu cầu thông minh khác đã và đang là những nghiên cứu lớn trong lĩnh vực trí tuệ nhân tạo

1.4 Ý nghĩa thực tiễn

Việc hoàn thành đề tài minh chứng cho khả năng nghiên cứu và hiện thực một vấn đề có tính lý thuyết và ứng dụng thực tiễn Đề tài này rất có thể được phát triển hơn để hoàn thiện Trong quá trình làm đề tài, tác giả luôn cố gắng tổ chức chương trình theo kiểu mã nguồn mở Hiện nay, mặc dù các ứng dụng, dự án lớn về lĩnh vực này đang có một số lượng lớn người tham gia và có sự thay đổi, tiến bộ từng ngày (Phần 2 – Các công trình nghiên cứu liên quan), nhưng hầu hết đều là các ứng dụng thương mại và không cho mã nguồn, như vậy việc phát triển, hiệu chỉnh để tạo ra ứng dụng cho riêng mình là rất khó khăn và phải xây dựng lại từ đầu

Đề tài không thể đặt mục tiêu lớn là xây dựng hệ thống hỏi đáp hoàn chỉnh

vì khối lượng của nó vượt quá khả năng của một, hai người làm trong thời gian ngắn Nhưng với cách tổ chức và khả năng mở rộng, cho phép nghĩ đến một hệ thống lớn hơn, có khối lượng thông tin lớn hơn, khả năng trả lời được nhiều câu hỏi trong nhiều lĩnh vực hơn

Việc hoàn thành đề tài đồng nghĩa với việc thử nghiệm trang bị trí thông minh cho máy tính Đề tài đưa ra khả năng xây dựng một tính năng học tự động và tương tác của máy tính

Trang 12

CHƯƠNG 2 - TỔNG QUAN

Hàng loạt các đề tài nghiên cứu, các diễn đàn, tài liệu về lĩnh vực này ra đời trong vài năm trở lại đây Sau đây tác giả dẫn ra một số công trình tiêu biểu, chủ yếu ở nước ngoài:

2.1 Start – nghiên cứu của Boris Katz

Địa chỉ web: http://www.ai.mit.edu/projects/infolab/ailab.html Đây là một hệ thống hỏi đáp trực tuyến do nhiều tác giả của Đại học MIT khởi xướng từ năm 1993

Hệ thống được công bố là có thể trả lời được rất nhiều câu hỏi về rất nhiều lĩnh vực (Hình 2.1)

Hình 2.1 Start – một hệ thống hỏi đáp trực tuyến

Trang 13

Qua kiểm chứng nhận thấy hệ thống có thể trả lời tốt các câu hỏi về chính trị (có sẵn trong cơ sở tri thức) nhưng không trả lời được các câu hỏi về thể thao (chưa có trong cơ sở tri thức) Hệ thống là đóng kín đối với người sử dụng Khả năng rút lấy thông tin trong câu hỏi của hệ thống là tốt Nghĩa là, với một loạt những câu hỏi có cùng nội dung, nếu hệ thông trả lời được một câu, thì xác suất trả lời được các câu còn lại là rất cao

Khả năng cho phép người sử dụng cập nhật thêm thông tin cho QA là không được cho biết Rất có thể hệ thống này có chức năng đó và đòi hỏi người cập nhập phải được kiểm tra quyền trước khi thực hiện quyền này

Vì mã nguồn cũng như cơ sở tri thức, tài liệu kỹ thuật của dự án này không được cung cấp, hiện tại những gì có thể rút ra được từ website này chỉ là những bài báo công bố công trình nghiên cứu về mặt lý thuyết của các tác giả mà thôi

Đây là một hệ thống hỏi đáp được đầu tư rất qui mô với số lượng lớn nhân lực của viện MIT Thời gian chuẩn bị và phát triển hệ thống rất lâu (từ năm

1993 đến nay) Hiện thực rất gần gũi người sử dụng – có giao diện web thân thiện Nhưng việc phát triển của hệ thống là đóng kín với cộng đồng và những người nghiên cứu tìm kiếm để chỉnh sửa, phát triển không thể hy vọng mã nguồn từ họ Tác giả đã cố gắng liên lạc với những người chủ dự án với

hy vọng xin được phiên bản mã nguồn dành cho giáo dục (Academic Version Source Code), nhưng được trả lời rằng phiên bản này không được hỗ trợ

2.2 Máy gắn từ loại Multi-Text

Địa chỉ web: http://issco-www.unige.ch/projects/MULTEXT.html Đây là một phần mềm hỗ trợ gắn từ loại cho các từ của câu Dự án đựơc cung cấp theo chuẩn mã nguồn mở với mong muốn cộng đồng cùng phát triển

Hầu hết các giải thuật sử dụng trong phần mềm này dựa trên mô hình

Markov ẩn Mục đích chính của bộ tagger là phục vụ cho việc dịch thuật giữa các ngôn ngữ (multilingual)

Hiện tại phần mềm này chưa được kiểm chứng hoặc kiểm định về độ tin cậy của nó, mặc dù vậy nó được công bố trong các tài liệu dành cho giáo dục (ở địa chỉ: http://www-nlp.stanford.edu/fsnlp/tagging/ ) Các tài liệu [1], [2] đều

Trang 14

lấy Tagger này làm ví dụ khi đưa các thông tin về các hệ thống tagger Ý tưởng nguồn mở của phần mềm là một bước đi đúng đắn đề hoàn thiện phần mềm ngày một tốt hơn

Hình 2.2 Máy gắn từ loại Multi Text

2.3 Bộ tagger EngCG (English Constraint Grammar)

Samuelsson và Voutilainen, Đại học Helsinky chứng minh rằng bộ Tagger của họ làm việc tốt hơn các bộ Tagger sử dụng mô hình Markov ([2] Trang

373, [11]) Đặc biệt trong trường hợp training corpus và test corpus không có cùng nguồn gốc Mặc dù vậy, có nhiều trường hợp nhập nhằng EngCG không giải quyết và trả về nhiều hơn một kết quả Trong EngCG, các luật sinh được

Trang 15

mô tả ở dạng automat hữu hạn Ý tưởng chính là dựa trên các chuyển đổi trạng thái Có một vài ngoại lệ khi người sử dụng đưa vào các luật riêng để khống chế lỗi Qua đó người sử dụng có thể dạy cho Tagger các luật riêng như cách mà hệ chuyên gia làm Các tác giả còn cho rằng, với một người đã nắm vững phương pháp tagging, viết một bộ tagger theo phương pháp này không khó khăn hơn sử dụng mô hình Markov

Theo Christopher, D Manning, Hinrich Schutze 2001 [2] [10] Hình 2.3 mô tả các trường hợp lỗi phát sinh trong quá trình tách gắn từ loại vào từ Các trường hợp dùng để kiểm tra là các trường hợp có tính nhập nhằng, đa nghĩa, mô tả ngữ nghĩa hoặc cú pháp theo ngữ cảnh Chẳng hạn từ executive có thể là danh từ, cũng có thể là tính tư Cụm từ more important issues có thể hiểu là nhiều thứ quan trọng hơn được công bố, hay là các công bố quan trọng Từ

up là giới từ trong cụm running up a hill, mà lại là hậu tố trong cụm từ

an executive order more important issues run up a big bill

loan was needed to meet loan needed to meet

Hình 2.3 Các trường hợp lỗi phát sinh trong quá trình tagging

Khi các từ trong câu có ý nghĩa chung chung, không rõ ràng, hoặc là từ loại của từ là particle (tiền tố hoặc hậu tố) thì bộ tagger có thể phân tích sai Khi đó particle có thể bị hiểu là giới từ và giới hạn phân biệt này rất mong manh (thậm chí trong việc phân tích bằng tay)

Trang 16

2.4 Open-Domain Voice-Activated Question Answering

Địa chỉ web : www.askjeeves.com, http://www.isip.msstate.edu

Voice-Activated Question Answering (VAQA) là hệ thống đại diện cho thế hệ tiếp theo của QA nhờ hỗ trợ thêm khả năng nhận dạng âm thanh (Trang

321 [3]) (Automatic Speech Recognition)

Hình 2.4a Mơ hình tổng quan của

VAQA

Trang 17

Kỹ thuật Open-domain question answering (ODQA) là giải pháp cho các ứng dụng Internet hiện nay Các hệ thống hỏi đáp trên nền văn bản (text) đã tạo

ra những ảnh hưởng mạnh mẽ đến người dùng trên các website

(www.askjeeves.com là ví dụ) Rất rõ để thấy rằng bước tiếp theo sẽ là tích hợp âm thanh vào input (và cả output) để loại bỏ keyboard ra khỏi hệ thống

Vì khối lượng thông tin trên Internet đang lớn lên theo hàm mũ, việc tìm kiếm theo lối truyền thống word-based của các hệ thống tìm kiếm (Search Engine) sẽ nhanh chóng trở thành lỗi thời do có quá nhiều trường hợp tìm thấy Hơn nữa việc bùng nổ các thiết bị tương thích với máy tính nhưng giới hạn khả năng hiển thị (ví dụ: điện thoại cầm tay) đã tạo ra yêu cầu thiết yếu đến các kỹ thuật cao cấp xử lý tương tác với Internet dùng âm thanh và các các phương thức tương ứng khác

Hình 2.4b Kiến trúc của bộ phận Filtering cho một hệ thống Voice Activated QA

Trang 18

Mô hình hệ thống tổng quát của Voice Activated QA ở Hình 2.4b Hệ thống trả lời các câu hỏi được thực hiện như sau: đầu tiên lọc bỏ những câu hỏi sai hình thức từ hệ thống Word Lattice (hàng rào từ ngữ), nếu phát hiện sai, bộ phận này sẽ có chỉnh sửa về từ vựng và ngữ nghĩa, nếu câu trả lời không được tìm thấy bằng cách chỉnh sửa các từ khóa thì câu hỏi sẽ được phục vụ bởi một module QA tương tác (interactive QA module)

Bằng cách cho QA và hệ thống nhận dạng âm thanh tự động (Automatic Speech Recognition - ASR) tương tác và truyền thông tin tới lui, và bằng cách cho phép các mỗi phần xử lý lại dữ liệu dựa trên cơ chế feedback này, chúng ta có thể hội tụ giả thiết để tìm ra câu trả lời

Tổ chức của bộ phận Filtering trong Voice Activated Question Answering được cho trong hình 2.4b Câu hỏi được xử lý bởi Automatic Speech

Reconigtion thông thường có nhiều lỗi Lỗi có thể do ASR xác định rằng từ không có trong tự điển của nó hoặc do việc giải mã hạng chế mà ASR gây

ra Câu hỏi được xử lý trước khi nó được sử dụng bởi acoustic model (bộ phận xử lý âm thanh) Nói chung, mục đích của bộ filter là làm giảm số lượng các output không mong đợi của bộ Word Lattice

Chất lượng của VAQA phụ thuộc chủ yếu vào bộ phận ngôn ngữ (enhanced language model) và bộ phận sửa lỗi (corrections) được kích hoạt bởi module tương tác QA (QA interactive module) Để huấn luyện cho bộ phận ngôn ngữ, bộ phận lọc thông tin là quan trọng, vì nó cho phép lọc bỏ việc nhận dạng sai Kết quả thử nghiệm cho thấy việc tương tác của hệ thống VAQA nâng cả độ chính xác của QA và giảm thiểu sai sót của ASR

2.5 Học máy dựa trên việc phân loại câu hỏi (Learning Question

Classifiers)

Open-domain question answering và lĩnh vực học máy đã trở thành một

hướng nghiên cứu quan trọng trong xử lý ngôn ngữ tự nhiên (Trang 556 [3])

Question Answering yêu cầu công việc rút trích (retrieval) nhiều hơn là tìm kiếm (search) vì mục đích là tìm ra câu trả lời chính xác và ngắn gọn cho các câu hỏi chứ không phải là trả về một tài liệu nào đó Với các ứng dụng như lấy đại ý của một câu chuyện, một đoạn văn … thì khó khăn đó càng rõ ràng hơn Do đó các kỹ thuật xử lý ngôn ngữ tự nhiên cao cấp được sử dụng nhiều hơn là kỹ thuật dựa vào từ khóa Một trong những bước quan trọng của quá

Trang 19

trình này là phân tích câu hỏi đến một mức độ có thể xác định được loại và tinh thần của câu trả lời Vài ứng dụng thực tế, với một câu hỏi có thể đưa ra câu trả lời chỉ khoảng 50bytes từ hơn 5GB dữ liệu thư viện Người sử dụng sẽ nhận ra chỉ định loại hoặc không gian câu trả lời đóng vai trò quan trọng trong việc lọc được số lượng câu trả lời không chính xác

Hình 2.5 Kiến trúc của bộ phân loại câu hỏi

Đề tài nghiên cứu này phát triển một kỹ thuật học máy dựa trên phân loại câu hỏi

Mục đích của chúng ta là phân loại các câu hỏi thành các lớp dựa trên ngữ nghĩa và ràng buộc trên các câu trả lời, nhờ đó có thể tận dụng các bước xử lý của QA

Ví dụ, xem câu hỏi:

Q: What Canadian city has the largetst population?

Trang 20

Mong muốn của người hỏi là có được câu trả lời về thành phố, và rõ ràng rằng chỉ những thành phố mới đáng được xem xét

Các thử nghiệm cho thấy phân loại câu hỏi có thể giải quyết được vấn đề tìm kiếm câu trả lời chính xác hơn và cho thấy ưu thế của việc phân tích dựa trên ngữ nghĩa (semantics analysis)

Trong tương lai, người ta có kế hoạch nghiên cứu sâu hơn các ứng dụng của việc phân tích dựa trên ngữ nghĩa để giúp ích cho tìm kiếm và rút trích thông tin

2.6 The Effectiveness of Dictionary and Web-Based Answer Reranking

Email: cyl@ini.edu (Trang 570 [3])

Trong cố gắng để phát triển các nghiên cứu về rút trích thông tin

(information retrieval research), ban tổ chức hội nghị quốc tế về chủ đề này Text Retrieval Conference (TREC) ( được tài trợ bởi NIST – National

Institute of Standards and Technology) đã đưa ra một chuỗi các đánh giá về các hệ thống trả lời câu hỏi (trong TREC 8, TREC 9 và TREC 10) NTCIR (NII-NaCSIS Test Collection for IR Systems, TREC ở Nhật) đã khởi động các cố gắng đánh giá của mình trong Question Answering Challenge (QAC)

2001 Các hệ thống nghiên cứu từ TREC đến QAC tập trung việc trả lời các câu hỏi dưới dạng đưa ra đáp án ngắn gọn trên nền một tập hợp rất lớn thông tin

Hình 2.6a 5 câu trả lời thường gặp cho câu hỏi “What is autism?”

(1) Phân tích câu hỏi – xác định từ cần hỏi để gởi lên search engine (local hoặc web), nhận dạng loại câu hỏi, và đề nghị loại câu trả lời Mặc dù hầu hết các hệ thống phụ thuộc và phân loại câu trả lời dự kiến, số lượng

Trang 21

các phân loại có thể phân bố từ vài chữ số đến hàng nghìn Các phân loại hiện nay chủ yếu dựa vào tên và WordNet

(2) Phân đoạn câu hay trích thành các câu – nhằm mục đích chia khối lượng lớn các đoạn văn thành các phần nhỏ hơn để dể lấy ra phần trả lời cho các câu hỏi Hầu hết các hệ thống tốt nhất trong TRECs sử dụng kỹ thuật phân đoạn riêng

(3) Trích ra câu trả lời – trích ra câu trả lời dựa vào loại câu trả lời có thể có Nếu loại câu trả lời là điển hình dựa vào tên các thực thể, engine rút trích thông tin chỉ dùng để lấy câu trả lời ra Nếu không mẫu câu trả lời được dùng để định vị Nghĩa là câu trả lời có thể là cụ thể, có thể là một tập hợp hoặc không gian để giúp định ra kết quả

(4) Phân loại câu trả lời – gán điểm (scores) cho câu trả lời dự kiến dựa vào tần xuất xuất hiện của nó, tương tự như câu trả lời dự kiến trong việc trích lấy thông tin ngoại (web, WordNet, …)

Hình 2.6b Câu trả lời thường gặp cho câu hỏi “What is Wimbledon?”

Phân loại câu trả lời thường bị bỏ qua Những câu trả lời dự kiến được tạo ra bởi corpus TREC chứa 83% các câu trả lời chấp nhận được Trong khi đó Webclopedia chỉ cho rằng 64% các câu trả lời đó là thuộc vào top 5 câu trả lời tốt nhất

Để cải thiện hiệu quả, cần có một phương pháp tốt hơn để lấy ý nghĩa thông tin trên web và liên kết chúng với các ứng dụng Cũng cần có một cách liên kết tốt – một mô hình thống kê hợp lý hơn để phối hợp mẫu (pattern), từ vựng (dictionary), và thông tin trên web (web scores)

Trang 22

2.7 Chuỗi từ vựng liên kết (Lexical Chains) cho hệ thống hỏi đáp

Địa chỉ web: http://trec.nist.gov/presentations/ (Trang 674 [4])

Các mối liên kết khái niệm thường hay xuất hiện trong các bài thuyết trình Nội dung thay đổi giữa những bài thuyết trình nhưng cùng khái niệm đó có thể được nói đến trong những ngữ cảnh khác nhau Khi ngữ cảnh thay đổi, khái niệm đặc tả chủ đề cũng thay đổi Ví dụ, trò chơi tennis có thể được đề cập khi nói đến kỹ thuật, luật lệ hoặc chấn thương Trong mỗi trường hợp, khái niệm tương ứng là khác nhau Sự đa chủ đề của cùng một khái niệm tạo

ra sự nhập nhằng và khó khăn trong việc xác định khái niệm của một vấn đề Tuy nhiên, quan hệ về chủ đề rất hữu ích trong nhiều trường hợp: rút trích thông tin, tách lấy thông tin, mạch lạc từ ngữ, QA, vv Vấn đề này được dùng trong nhiều lĩnh vực: thuyết trình, mạch lạc trong câu, suy luận, kéo theo, dùng sai nghĩa gây cười …

Một cơ sở tri thức về từ vựng cụ thể, chẳng hạn WordNet, có thể được hiểu là chuỗi liên kết về từ vựng Có một trình tự các từ liên quan đến nhau về ngữ nghiã để tạo ra các khái niệm nào đó Có một chuỗi liên kết từ vựng tốt hơn có thể được tạo ra Xem ví dụ sau:

S2: He opened the refrigerator

Không thể giải thích sự liên quan và sự chặt chẽ logic của hai câu trên Bằng cách xem xét lời giải thích của các khái niệm: hungry - cảm giác cần và muốn được ăn thức ăn, refrigerator - một vật dụng trong nhà bếp dùng giữ thức ăn ở nhiệt độ thấp thì ta nhận thức được mối liên hệ: thức ăn Có một chuỗi liên kết tạo ra giữa hungry và refrigerator mô tả việc mở tủ lạnh để lấy thức ăn Xem xét việc tìm ra câu trả lời trong ví dụ sau:

Giải thích của want là cảm thấy ham muốn Có thể liên kết với chuỗi mắc xích trên các câu S1, S2 và tìm ra câu trả lời sau:

A: Jim wanted to eat (hoặc Jim wanted food)

Trang 23

Thiết kế của các hệ thống QA luôn hướng đến mục đích có được hệ thống thông minh nhân tạo Hệ thống QA này dựa trên việc tìm kiếm và tổng hợp các tài liệu dùng truy vấn bằng từ khóa, sau đó là rút trích câu trả lời Chỉ những câu hỏi nào không yêu cầu nguyên nhân phức tạp mới có thể được trả lời theo cách này

2.8 SVM Answer Selection for Open-Domain Question Answering

Email: {jun, sasaki, maeda}@cslab.kecl.ntt.co.jp

Địa chỉ web: http://cs.nyu.edu/cs/projects/proteus/irex/

Một QA sử dụng kỹ thuật Support Vector Machines Kết quả nhận được tốt hơn các kỹ thuật cổ truyền như Decision Tree Learning, Boosting Decision Tree Learning, Maximum Entropy (Trang 974 [4])

Các hệ thống Question Answering liên quan quá trình rút trích thông tin câu trả lời từ một câu hỏi cho sẵn và một khối lượng rất lớn tập mẫu cũng như tài liệu mẫu Ví dụ, nếu một hệ thống QA được yêu cầu trả lời câu hỏi:

“When was the Queen Vitoria born?” ,

Hình 2.7 Trọng số được gán cho các mối liên hệ

Trang 24

câu trả lời phải là

Thông thường, các QA system có các thành phần sau:

Question analysis (Phân tích câu hỏi): phân tích câu hỏi và định vị từ khóa,

loại câu hỏi Trong vài trường hợp, các hệ thống còn tìm từ chính trong câu hỏi đó (question focus)

Text retrieval (Rút thông tin): Tìm ra khoảng N các đoạn văn (hoặc tài liệu)

phù hợp với đầu ra của bộ phân tích câu hỏi, chẳng hạn các từ khóa hoặc loại câu hỏi

Answer candidate extraction (Rút trích thông tin dự kiến): rút ra các câu trả

lời dự kiến từ các tài liệu cho bởi bộ phận Rút thông tin

Answer selection (Chọn câu trả lời): Chọn ra câu trả lời trong các câu trả lời dự kiến dựa trên kết quả của bộ phân tích câu hỏi

Ý tưởng của kỹ thuật Support Vector Machines (SVM):

SVM tạo ra mô hình dữ liệu nhằm thuận lợi trong việc cải tiến các giải thuật học máy (decision tree learning, maximum entropy)

• Nâng được hiệu quả đối với các mảng tìm kiếm có số chiều lớn

• Khả năng quản lý được các hàm gốc (kernel functions) ánh xạ dữ liệu đầu vào đến các không gian tìm kiếm nhiều chiều hơn mà không tăng độ phức tạp tính toán

Hệ thống SVM QA là một hệ thống có thể được huấn luyện để tối ưu quá trình tìm kiếm và câu trả lời,

Trang 25

Hình 2.8 Mô hình ứng dụng của SVM

Tài liệu thử nghiệm cho thấy hệ thống này hoạt động tương đối hiệu quả và tăng được hiệu xuất trên 1358 câu hỏi Kỹ thuật này cho kết quả tốt hơn các kỹ thuật truyền thống như decision tree learning, decision tree learning nâng cao (boosting decision tree learning), maximum entropy

2.9 vnQtag – Bộ tagger tiếng Việt

Địa chỉ web:

http://www.inria.fr/rapportsactivite/RA2003/led2003/logiciel17.html [17] Tác giả Nguyen Thi-Minh-Huyen dựa vào Tagger Qtag khá nổi tiếng để hiện thực Tagger có thể gắn từ loại cho Tiếng Việt Qua kiểm chứng nhận thấy Tagger này có thể hoạt động tốt, và được chạy trên Windows Đáng tiếc là Tagger không có hổ trợ mã nguồn (source code) và những thông tin liên lạc của tác giả không được cập nhập Do đó không thể liên lạc và tìm kiếm thêm thông tin về tagger này

Một hạn chế của tagger là dựa trên nền một tập mẫu (corpus) tương đối không hoàn chỉnh và qua tìm hiểu chưa thấy có cơ chế cập nhập gần gũi người sử dụng

Trang 26

Hình 2.9 Một bộ tagger cho tiếng Việt

2.10 Phân tích, đánh giá

Hiện nay có rất nhiều tác giả, nhóm tác giả quan tâm đến lĩnh vực này Một số công trình mở rộng sang các lĩnh vực xử lý âm thanh, biểu đồ … để tăng khả năng giao tiếp với người sử dụng Trong thời gian gần đây, có nhiều công trình lý thuyết ra đời đặt nền tảng cho các ứng dụng sau này (thông qua các địa chỉ website, các bài báo chuyên ngành) Hầu hết các công trình

nghiên cứu còn đang thử nghiệm hoặc có những hạn chế nhất định về nội dung, lĩnh vực Có lẽ là do tính đa nghĩa của từ, cụm từ làm cho các ứng dụng thực tế bị hạn chế Một xu hướng hiện nay là các dự án tổ chức theo kiểu mã

Trang 27

nguồn mở và chạy trên các hệ điều hành cũng là nguồn mở (Solarix, Linux ) Với cách tiếp cận người dùng như vậy, hệ thống sẽ sửa được nhiều vấn đề khi làm việc với ngôn ngữ tự nhiên như yếu tố nghiệp vụ (ngôn ngữ) được yêu cầu cao hơn nhiều so với yếu tố kỹ thuật (chương trình)

Một hạn chế nữa của các công trình trên là tài liệu và giải thuật chi tiết dành cho nhà phát triển (Document for Developers) không được cung cấp Các đề tài mang tính thương mại thì gần như che dấu hoàn toàn thông tin bên trong hệ thống Trong khi các đề tài học thuật thì còn đang nghiên cứu và chỉnh sửa nên cũng không đưa ra công cụ hỗ trợ để ngưới khác hiện thực hoặc cải tiến chương trình Hiện nay, chưa thấy có công trình nào nghiên cứu kết hợp việc gắn từ loại vào từ và gắn ngữ nghĩa vào câu được công bố Có vài tài liệu ([1], [2]) đề cập đây là một hướng khả thi Đây cũng là hướng đi riêng của tác giả trong quá trình hiện thực chương trình

Bên cạnh những hạn chế đã nêu, các công trình nghiên cứu trên cho thấy khả năng mở rộng cao Phần lớn các tác giả nhiệt tình trao đổi khi có yêu cầu Ví dụ C Scordino [18], A Stein [20] … Các tác giả hy vọng mở rộng, nâng cấp hệ thống của họ qua việc tham gia đông đảo của cộng đồng Tài liệu [3], [4] là tập hợp các bài báo nghiên cứu về xử lý ngôn ngữ tự nhiên được công bố gần đây Nhìn chung, việc nghiên cứu các công trình liên quan cho thấy một cách tổng quan hơn công việc của những người khác đã và đang làm, qua đó thấy được những đóng góp của đề tài này

2.11 Những đóng góp của đề tài

Ngày nay, khi mạng máy tính, email, internet, forum … đã trở nên rất thông dụng, con người có cơ hội tiếp cận và sử dụng một không gian dữ liệu rất lớn Mong muốn đặt ra là làm sao sử dụng nhanh chóng hiệu quả dữ liệu này Do đó việc tổ chức các dữ liệu có sẵn, hỗ trợ khả năng truy xuất nhanh chóng, cho phép cập nhật, chỉnh sửa dữ liệu là một yêu cầu thực tiễn quan trọng Đề tài này cũng đưa ra mục đích góp phần vào việc tổ chức thông tin, hỗ trợ khả năng tương tác, tìm kiếm trên khối lượng thông tin là ngôn ngữ tự nhiên

Trang 28

Về lý thuyết, đề tài nghiên cứu các giải thuật xử lý như Viterbi, mô hình Markov ẩn, ngữ nghĩa thủ tục, gắn ngữ nghĩa đơn giản Các giải thuật này được tham khảo từ các tài liệu có sẵn Bên cạnh, các giải thuật gắn ngữ nghĩa cải tiến, kết hợp gắn từ loại vào từ trong câu và ứng dụng vào hệ thống hỏi đáp, giải thuật học máy là những giải thuật do tác giả đưa ra nhằm giải quyết các yêu cầu cụ thể của hệ thống này Hơn nữa, với việc trả lời câu hỏi không đòi hỏi phải hiểu hết ngữ nghĩa của câu, mặc dù đã có vài tài liệu đề cập sơ lược đến [2], kỹ thuật kết hợp gắn từ loại và gắn ngữ nghĩa cải tiến là một ý tưởng mới mà đề tài đi sâu tìm hiểu Ngoài ra, với mục tiêu là học và trả lời câu hỏi, các giải thuật kết hợp ngữ nghĩa trên là đầy đủ, và đáp ứng được yêu cầu về thời gian chạy

Về thực nghiệm, đề tài đã kết hợp các nền tảng lý thuyết đã tìm hiểu vào một hệ thống chạy trên một khối lượng dữ liệu thử nghiệm lớn Kết quả cho thấy tốc độ, khả năng trả lời, giao diện là chấp nhận được Với việc tổ chức chương trình theo lối nguồn mở nhằm tạo khả năng mở rộng cao nhất Cách thức chương trình là hỗ trợ giao diện (interface) lập trình dưới lớp hệ thống, ứng dụng gọi các hàm qua lệnh gọi syscall() Nhờ đó, ở lớp trên, việc lập trình giao tiếp tương đối đơn giản Hệ thống được tổ chức như sau:

Người sử dụng

Hệ thống hỏi đáp (cung cấp các lệnh)

Hệ thống giao diện

Web server (hỗ trợ tạo giao diện và giao tiếp gọi lệnh của hệ thống)

Trang 29

Người lập trình có thể cải tiến hai khối hệ thống giao tiếp hoặc hệ thống hỏi đáp để nâng sức mạnh của chương trình

Cách tổ chức chương trình này có thể nhanh chóng đưa ra web để làm hệ thống hỏi đáp trực tuyến, cách mà nhiều công trình hiện nay đang làm

Ngoài ra, đề tài còn tìm hiểu một số công trình đang có để có cách nhìn tổng quan về các nghiên cứu trong nước và nước ngoài về lĩnh vực này Nhìn chung, hướng đi này đang có nhiều người tham gia và ngày càng có nhiều bước phát triển mạnh

Trang 30

CHƯƠNG 3 - CƠ SỞ LÝ THUYẾT

3.1 Gắn từ loại vào từ (Part-of-Speech Tagging)

Part-of-speech tagging là việc chọn chuỗi từ loại chính xác nhất cho các từ trong câu Trong Hình 3.1a (Trang 196, [2]) là tập các cụm từ (tag) được sử dụng trong dự án Penn Một phương pháp đơn giản nhất là: luôn luôn chọn một diễn dịch thường xảy ra nhất trong tập huấn luyện (training set – có ý nghĩa như tập mẫu dùng để huấn luyện hệ thống gắn từ loại) Với cách này, kết qủa phân tích đạt độ chính xác khá cao khoảng 90% Do vậy, các tính toán xác suất là điểm bắt đầu từ đó lượng giá các giải thuật Chỉ khi khả năng phân tích của giải thuật tagging >90% thì mới coi là giải thuật tốt

Hình 3.1a Trích qui ước viết tắc dùng trong dự án Penn [2]

Phương pháp cải tiến độ tin cậy là sử dụng một số ngữ cảnh cục bộ của câu

Ví dụ: xác suất của flies với nghĩa V là 0.60 Tuy nhiên khi có The đứng trước flies thì flies này mang nghĩa danh từ là hợp lý hơn Kỹ thuật tổng quát

sau đây sẽ khai thác các thông tin cục bộ như vậy:

Trang 31

Xét câu: w1 , … , wT ( w=word), ta muốn tìm một chuỗi từ loại C1, … , CT(C=category) tương ứng với xác suất của chuỗi này là lớn nhất: PROB(C1, …,

CT | w1, … , wT)

Theo công thức Bayes và công thức xác suất có điều kiện:

), ,(

), ,

|, ,(

*),

()

w, w

| C ,(CPROB

1

1 1

1 T

1 T 1

T

T T

T

w w PROB

C C w w PROB C

C PRO

T

i

i i T

i

i i

w w PROB

C w PROB C

C PROB

1

1

1 1

1 T

1 T 1

)

|(

)

|(

*)

|()

w, w

| C(C

i i T

i

i i

w w PROB

C w PROB C

C PROB

1

1

1

1 T

1 T 1

)

|(

))

|(

*)

|((

) w, w

| C(C

Hình 3.1b Xác suất bigram sinh ra từ corpus

Trang 32

Xác suất Bigram (Bigram probability): Là xác suất ứng với sự kiện một từ loại đi kèm sau một từ loại khác Ví dụ (∅, ART) nghĩa là mạo từ đi đầu, tương tự: (∅, N), (ART, N) là xác suất mạo từ đi trước danh từ … Từ dữ liệu trong Corpus ta tính được các xác suất PROB(ART | ∅), PROB(N | ART), PROB(N | V)… Hình 3.1b cho ta một đoạn bảng bigram

Từ bảng xác suất Bigram, với công thức xác suất có điều kiện, chúng ta có thể tính xác suất cho mẫu câu:

PROB(ART N V N)=PROB(ART | ∅)*PROB(N | ART)*

*PROB(V | N)*PROB ( N | V)

=0.71 * 1 * 0.43 * 0.35

=0.106855 PROB(N V ART N)=PROB(N | ∅)*PROB(V | N)*

*PROB(ART | V)*PROB(N | ART)

=.29 * 0.43 * 0.65 * 1

=0.081 Công thức tính xác suất cho cặp (N, V) :

)1-iposition

at N(Count

)

at Vand1-iposition

at Count(N)

|(C =V C−1 =N =

Cũng từ Corpus, ta đếm được số xuất hiện của 1 từ ứng với từng từ loại (Hình 3.1c) và tính được xác suất của từng từ khi từ này có nghĩa theo từng từ loại gọi là xác suất từ vựng (lexical-generation probability – Hình 3.1.1d)

Ví dụ : PROB (the | ART) = 0.54, PROB (flies | N) = 0.025 …

Trang 33

Hình 3.1c Kết quả xuất hiện từ loại trong corpus

Hình 3.1d Xác suất tạo từ loại được tạo ra

3.2 Phương pháp mạng Markov (Markov assumption)

Markov đề nghị một mô hình phân tích cú pháp là một mạng (đồ thị có hướng có trọng số ) (Trang 200 [2]), gồm có:

Trang 34

Nút: Tên từ loại

Cung: Đi từ 1 từ loại đến từ loại kế tiếp với trọng số là xác suất bigram của

cặp từ loại đó

Mô hình này gọi là mô hình Markov ẩn - (HMM - Hidden Markov Model) nghĩa là: Với một chuỗi từ cho trứơc, không biết rõ là mô hình Makov sẽ ở trong trạng thaí nào

Ví dụ: Với 4 từ loại V, N, P, ART và câu: Flies like a flower, mỗi từ đều có

khả năng thuộc về cả 4 từ loại à Mạng có 44 = 256 khả năng và chúng ta có thể tính toán xác suất cho chuỗi này ứng với từng khả năng Vấn đề đặt ra là: Diễn dịch nào (một trạng thái của mô hình Markov) sẽ được chọn?

Giả sử: Flies like a flower được xét theo thứ tự từ loại (N V ART N) thì :

PROB(flies|N) * PROB(like|V) * PROB (a|ART) * PROB (flower|N)

= 0.025 * 0.1 * 0.36 * 0.063 = 5.4* 10-5

3.2.1 Giải thuật Viterbi cho việc chọn trạng thái phân tích trên HMM

Đầu vào:

Chuỗi từ w1, … , wT, T từ Chuỗi từ loại L1, … , LN, N từ loại Các xác suất 1 từ ứng với từ loại PROB(wi | Li) Các xác suất bigram cho từng cặp từ loại PROB(Li | Li-1) Đầu ra:

Chuỗi từ loại thích hợp nhất C1, … ,CT cho chuỗi từ này mảng C(T)) Nội dung giải thuật:

Bước khởi tạo:

For i=1 to N do // Với mọi từ loại

SEQSCORE(i,1)=PROB(wi | Li)*PROB(Li | ∅) // Xác định điểm số của chuỗi

BACKPTR ( i ,1) = 0 // Xác định con trỏ ngược Bước lặp:

For t=2 to T do

*PROB(Li|Lj)*PROB(wi | Li))

Trang 35

BACKPTR(i,1) = Chỉ số của j có trị Max ở trên Bước nhận dạng chuỗi từ loại

C(T) = i có trị SEQSCORE(i,T) lớn nhất

For i = T-1 to 1 do C(i) = BACKPTR (C(i+1) , i+1)

Ý tưởng của giải thuật Viterbi

Chọn chuỗi từ loại dựa trên xác suất của chuỗi từ loại ứng với chuỗi từ mang trị cao nhất

Vì một từ có thể thuộc nhiều từ loại, việc tính xác suất phải dò ngược với các trị đã tính trước, vậy phải lưu trữ mọi tính toán Có N từ loại, T từ, dùng một ma trận N hàng, T cột

Hai ma trận được dùng:

SEQSCORE(N x T) để tính điểm xác suất cho từng từ (cột) ứng với từng từ loại (dòng)

BACKPTR(N x T) để chứa trị pointer ngược cho các từ sau khi đã xác định được xác suất lớn nhất phù hợp cho từng từ Nhờ BACKPTR chúng

ta dò ngược được chuỗi từ loại kết qủa

Bước khởi tạo:

Tính cột 1 của ma trận SEQSCORE mang các trị là Xác suất của từ thứ i (wi) thuộc từ loại thứ i (Li) và từ loại này là từ loại bắt đầu của 1 câu Tại lúc này hiển nhiên các pointer=0

Bước lặp

Tính các cột còn lại của hai ma trận:

SEQSCORE (i,t) sẽ tính max xác suất của từ thứ t ứng với các cặp xác suất bigram và xác suất từ này thuộc từ loại thứ i (với mọi j = 1 N) Sau khi xác định được xác suất lớn nhất tại 1 trị j Trị j này chính là pointer ngược BACKPTR(i,t) =j

Bước nhận dạng chuỗi từ loại

C(T), từ loại cuối chính là trị i có Max (SEQSCORE (i,T)) Đó chính là từ loại cuối làm cho xác suất của cả câu có trị lớn nhất

Sau khi đã biết C(T), nhờ ma trận BACKPTR, ta suy ngược ra các từ loại phía trước

Trang 36

3.2.2 Xác suất của từ vựng (Obtaining lexical Probability)

Các phương pháp dựa trên corpus gợi ý cho một số cách mới để điều khiển bộ phân tích Nếu chúng ta có sẵn corpus thật lớn, chúng ta có thể sử dụng phương pháp thống kê để nhận dạng các cấu trúc thông dụng của tiếng Anh và thường được dùng trong các giải thuật phân tích Điều này cho phép chọn ra một diễn dịch thích hợp nhất khi gặp phải một câu có sự nhập nhằng về từ loại và có thể làm cho bọ phân tích hiệu quả hơn và gần như là đơn định Các bộ sao lục từ ngữ (corpus -corpora) như vậy ngày nay đã có sẵn cho chúng ta sử dụng

Yêu cầu đầu tiên là “chuỗi nhập cho bộ phân tích phải là gì?“ Một cách tiếp cận đơn giản mà giải thuật part-of-speech ở trên đã dùng là chọn một từ loại đơn cho mỗi từ rồi phân tích câu với những từ loại đã chọn được Nếu part-of-speech tagging chính xác thì đây là một cách tiếp cận tuyệt vời vì các nhập nhằng về từ loại đã được loại bỏ trước khi phân tích Nhưng nếu chọn từ loại sai sẽ ngăn cản bộ phân tích tìm kiếm một diễn dịch đúng Trường hợp xấu hơn, parser lại tìm ra một diễn dịch đúng nhưng lại không hợp lý dựa trên việc kết hợp từ với từ loại sai mà không bao giờ nhận ra các sai này Ngay cả với độ chính xác 95%, cơ hội cho mỗi từ đều đúng trong một câu gồm 8 từ là 0.67 và trong câu 12 từ chỉ là 0.46 ( < 50%) Vì vậy cách tiếp cận này cho kết qủa có vẻ không đúng mong đợi

Một cách tiếp cận thích hợp hơn sẽ tính toán xác suất mà mỗi từ xuất hiện trong các từ loại Nếu ta có thể kết hợp các xác suất này với một số phương pháp gán xác suất vào các luật của văn phạm thì chúng ta có thể phát triển một giải thuật phân tích tìm ra được một phân tích từ loại có khả năng đúng nhất cho một câu

Chúng ta đã biết một kỹ thuật đơn giản để tính xác suất từ loại bằng cách đếm số lần xuất hiện của một từ trong corpus Xác suất của từ w theo từ loại Li trong nhóm từ loạiL1, …, LN được ước lượng theo công thức:

PROB (Li | w) = Count (Li & w) / ∑i=1,N Count (Li & w)

Sử dụng data trong Hình 3.1.1c ta tìm được xác suất độc lập ngữ cảnh

(context-independent probability) Tuy nhiên các ước lượng như vậy không đáng tin vì đã bỏ qua ngữ cảnh trong việc tính toán Một cách ước

Trang 37

lượng tốt hơn là: Nên tính toán khả năng từ loại Li có mặt tại vị trí i trong cả chuỗi w1, …, wi hơn là tìm kiếm một chuỗi từ loại có xác suất cao nhất trong tất cả các chuỗi từ loại có thể có từ một câu

Ví dụ: Xác suất để từ flies là danh từ trong câu “The flies like flower”

được tính toán bằng cách tổng xác suất của tất cả các chuỗi kết thúc bằng flies như là 1 danh từ Với các bước chuyển trạng thái và xác suất sinh từ loại theo dữ liệu của Hình 3.1b, 3.1d, các chuỗi có xác suất khác 0 như sau:

Bây giờ, có thể tính xác suất mà flies là danh từ như sau:

PROB(flies/N | the flies) = PROB(flies/N & the flies) / PROB(the flies)

Xác suất hướng tới ( Forward probability) αi(t)

Là xác suất tạo ra bởi các từ w1 , … , wt và kết thúc chuỗi từ bằng wt với từ loại là Li ( viết tắt là (wt / Li)

αi(t) = PROB ( wi / Li , w1,…,wt)

Thí dụ : Với cấu “The flies like flowers” , α2(3) là tổng các gia 1trị tính toán cho tất cả các chuỗi kết thúc bằng động từ (V , từ loại 2 ) ở vị trí 3 với chuỗi cho trước “The flies like” Sử dụng xác suất có điều kiện , ta có thể dẫn ra xác suất mà một từ wt là một thực thể của từ loại Li như sau :

Trang 38

PROB(wt / Li | w1 , … , wt) = PROB(wt / Li & w1 , … , wt) / PROB (w1 , … ,

wt)

Ta ước lượng gía trị cũa PROB (w1 , … , wt) bằng cách tính tổng trên tất cả khả năng kết hợp chuỗi từ loại cho mọi trạng thái t : ∑j=1, N αj(t)

Vậy: PROB (wt / Li | w1 , … , wt) = α i(t) / ∑j=1, N α j(t)

Giải thuật hướng tới (forward algorithm) tính toán xác suất từ vựng

Là một mở rộng của giải thuật Viterbi Dùng ma rận SEQSUM (N x T) để mô tả tổng xác suất hướng tới

Bước khởi tạo:

For i =1 to N do // N từ loại

SEQSUM ( i , 1) = PROB (wi | Li ) * PROB (Li | ∅ )

Bước tính toán xác suất hướng tới :

Trang 39

Hình 3.2.2 Tính toán tổng xác suất câu

Chú ý rằng, trong khi ước lượng xác suất độc lập ngữ cảnh (Hình 3.1.1d) có trị hơi lớn với diễn dịch động từ cho từ “flies” thì ước lượng xác suất phụ thuộc ngữ cảnh lại thực sự loại bỏ nó vì tập training trong corpus không có câu nào thuộc dạng động từ đi ngay sau một mạo từ Các xác suất phụ thuộc ngữ cảnh khác hẳn so với xác suất độc lập ngữ cảnh và mang tính trực giác hơn

3.3 Ngữ nghĩa thủ tục (Procedural Semantics) trong hệ thống hỏi đáp

Ngữ nghĩa thủ tục là cơ chế để tổ chức cơ sở tri thức và rút trích để trả lời câu hỏi (Trang 414 [2]), được dùng trong các ứng dụng truy xuất cơ sở dữ liệu, khi có sự khác biệt đáng kể giữa ngôn ngữ dạng luận lý và ngôn ngữ dạng cơ sở dữ liệu Hình thức tổ chức cơ sở tri thức chỉ bao gồm khai báo cụ thể, không có biến

(ATIME F1 CHI 1700HR) (DTIME F4 CHI 1600HR)

Trang 40

Hình 3.3a Đặc tả cơ sở tri thức đơn giản

Khi đó, ngôn ngữ luận lý có dạng một biểu thức luận lý trong ngôn ngữ truy vấn Mỗi câu trong ngôn ngữ luận lý được tạo ra tương ứng với một thủ tục tạo nên câu truy vấn đó Ví dụ câu: Does every flight to Chicago serve breakfast? có dạng luận lý:

(EVERY f1 : (& (FLIGHT f1) (DEST f1 (NAME c1 “Chicago”)))

(SERVE-BREAKFAST f1))

Được phân tích ra dạng thủ tục như sau:

- Tìm tất cả các chuyến bay trong cơ sở dữ liệu có điểm đến là CHI (viết tắc của Chicago)

- Với mỗi chuyến bay tìm được, kiểm tra xem có phục vụ ăn sáng

không Nếu tất cả điều đúng thì trả về yes, ngược lại trả về no

Phần này tác giả trình bày cách phân tích dạng luận lý của các câu truy vấn như là các thủ tục, phương pháp này đựơc gọi là ngữ nghĩa thủ tục (Procedural Semantics)

Để vấn đề được rõ ràng, ta xem xét cơ sỡ dữ liệu đơn giản trong Hình 3.3a trên CSDL bao gồm một tập các sự kiện mà không có biến Thời gian theo chuẩn quốc tế; ví dụ 1700HR là 5 giờ chiều Quan hệ (ATIME f

c t) mô tả rằng flight f đến phi trường c ở thời điểm t Hệ thống tri thức này cho ta giao tiếp đơn giản là so trùng mẫu (parttern matching) về nghĩa, ở đó các câu query có thể chứa biến Hai loại câu truy vấn có thể có là

• (Test <literal>1 …, <literal>n) – trả về true nếu có sự ràng buộc của các biến mà ngữ nghĩa đó được tìm thấy trong CSDL

• (Retrieve <var> <literal>1 …, <literal>n) – giống như test, nhưng nếu thành công thì trả về tất cả các thực thể thỏa mãn vị trí của biến trong hàm như là đáp số

Ví dụ, với CSDL như trên, câu truy vấn sau:

Ngày đăng: 16/04/2021, 04:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Christopher, D. Manning, Hinrich Schutze, Foundations of Statiscal Natural Language Processing 2001 Sách, tạp chí
Tiêu đề: Foundations of Statiscal Natural Language Processing
[3] Shu-Chuan Tseng, Coling 2002 – Proceedings of the 19 th International Conference on Computational Linguistics – Vol 1 Sách, tạp chí
Tiêu đề: Coling 2002 – Proceedings of the 19"th
[4] Shu-Chuan Tseng, Coling 2002 – Proceedings of the 19 th International Conference on Computational Linguistics – Vol 2 Sách, tạp chí
Tiêu đề: Coling 2002 – Proceedings of the 19"th
[5] Phan Thị Tươi, Trình biên dịch, NXB Đại học Quốc gia TP. Hồ Chí Minh 2001 Sách, tạp chí
Tiêu đề: Trình biên dịch, NXB Đại học Quốc gia TP. Hồ Chí Minh
Nhà XB: NXB Đại học Quốc gia TP. Hồ Chí Minh" 2001
[6] Mary D. H., Introduction to Natural Language Processing 1985 Sách, tạp chí
Tiêu đề: Introduction to Natural Language Processing
[7] Afred V. Aho, Ravisethi, Jeffrey D. UllMan, Compiler principles, Techniques, and Tools 1986 Sách, tạp chí
Tiêu đề: Compiler principles, Techniques, and Tools
[11] Samuelsson , Christer, A. Voutilainen, Comparing a linguistic and a stochastic tagger 1997 Sách, tạp chí
Tiêu đề: Comparing a linguistic and a stochastic tagger
[12] S. Harabagui, D. Moldovan Open-Domain, Voice-Activated Question Answering 2004, trang web www.askjeeves.com, http://www.isip.msstate.edu Sách, tạp chí
Tiêu đề: Voice-Activated Question Answering "2004
[13] X, Li, D. Roth, Learning Question Classifiers 2001, trang web http://acl.ldc.upenn.edu/C/C02/ Sách, tạp chí
Tiêu đề: Learning Question Classifiers" 2001
[14] Chin-Yew Lin, The Effectiveness of Dictionary and Web-Based Answer Reranking 2003, trang web http://acl.ldc.upenn.edu/C/C02/ Sách, tạp chí
Tiêu đề: The Effectiveness of Dictionary and Web-Based Answer Reranking" 2003, "trang web
[16] J. Suzuky, Y. Sasaki, Support Vector Machine Answer Selection for Open- Domain Question Answering 1999, trang webhttp://cs.nyu.edu/cs/projects/proteus/irex/ Sách, tạp chí
Tiêu đề: Support Vector Machine Answer Selection for Open-Domain Question Answering "1999", trang web
[18] C. Scordino, Research on Question and Answering System 2002, trang web http://utenti.quipo.it/claudioscordino/ Sách, tạp chí
Tiêu đề: Research on Question and Answering System" 2002
[19] Nguyễn Hoàng Phúc Nguyên, Clustering và vấn đề cải tiến mô hình ngôn ngữ trong lĩnh vực xử lý văn bản tiếng Anh 2003 Sách, tạp chí
Tiêu đề: Clustering và vấn đề cải tiến mô hình ngôn ngữ trong lĩnh vực xử lý văn bản tiếng Anh
[21] J. Pettibone, Penn Treebank II Tags 2002, trang web http://bulba.sdsu.edu/jeanette/thesis/ Sách, tạp chí
Tiêu đề: Penn Treebank II Tags "2002
[8] TREC – Text REtrieval Conference, trang web trực tuyến http://trec.nist.gov/, về các tiêu chuẩn của các hệ thống hỏi đáp Link
[9] Boris Katz và nhóm nghiên cứu đại học MIT, Start – một hệ thống trả lời câu hỏi trực tuyến, trang web http://www.ai.mit.edu/projects/infolab/ailab.html Link
[10] Nhóm nghiên cứu ISSCO của đại học Geneve, the Multi-Text Tagger, trang web http://issco-www.unige.ch/projects/MULTEXT.html Link
[15] D. Moldovan, A. Novischi, Lexical Chains for Question Answering trang web http://trec.nist.gov/presentations/ Link
[17] Nguyen Thi Minh Huyen, vnQtag – Bộ tagger tiếng Việt 2003, trang web http://www.inria.fr/rapportsactivite/RA2003/led2003/logiciel17.html Link
[20] H. Schmid, A. Stein trang web http://www.ims.uni- stuttgart.de/projekte/corplex/ về tập mẫu tiếng Anh Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm