22
HC VIN CÔNG NGHBƯU CHÍNH VIỄN THÔNG --------------------------------------- Trương Tài Ba NGHIÊN CU VÀ XÂY DNG HTHNG HỎI ĐÁP HƯỚNG MIN NG DNG Chuyên ngành: KHOA HC MÁY TÍNH Mã s: 60.48.01 TÓM TT LUẬN VĂN THẠC SĨ HÀ NI - 2013

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

  • Upload
    ngongoc

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

---------------------------------------

Trương Tài Ba

NGHIÊN CỨU VÀ XÂY DỰNG

HỆ THỐNG HỎI ĐÁP HƯỚNG MIỀN ỨNG DỤNG

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60.48.01

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2013

Page 2: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: PGS.TS. Lê Thanh Hương. Viện công nghệ thông tin và truyền thông -

Trường Đại học Bách Khoa Hà Nội.

Phản biện 1: ……………………………………………………………………………………………

Phản biện 2: ……………………………………………………………………………………………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính

Viễn thông

Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ...............

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Page 3: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

1

PHẦN I. MỞ ĐẦU Tìm kiếm luôn là một trong những bài toán quan trọng trong việc lưu trữ và tổ chức

dữ liệu. Các máy tìm kiếm như Google, Bing…ra đời đã tạo nên cuộc cách mạng lớn trong

việc tìm kiếm thông tin trên Internet. Tuy nhiên, những máy tìm kiếm này trong một số

trường hợp không phù hợp với yêu cầu thực tế do kết quả trả về cho người dùng quá lớn

(thường lên đến hàng triệu bản ghi). Do đó, người dùng sẽ rất khó tìm kiếm được thông tin

hữu ích trong lượng thông tin đồ sộ như vậy.

Thu thập, xử lý và khai thác thông tin theo một miền ứng dụng cụ thể sao cho hiệu

quả đang là một vấn đề mới mẻ và thú vị trong lĩnh vực khai phá dữ liệu. Bài toán có ý

nghĩa lớn đối với nhu cầu tiếp cận thông tin của con người. Trong luận văn này sẽ đề cập

đến việc sử dụng các kỹ thuật trích rút thông tin (Information Extraction - IE) kết hợp với

xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) để thu thập, xử lý, trích rút

các thông tin từ các trang web đặt món ăn trực tuyến, từ đó xây dựng cơ sở dữ liệu lưu trữ

các thông tin của nhà hàng và món ăn, cuối cùng xây dựng một hệ thống hỏi đáp tự động

dựa trên cơ sở dữ liệu này.

Mô hình bài toán như sau:

Hình 1.1: Mô hình bài toán

Trong phạm vi luận văn này, tác giả sẽ trình bày cơ bản về trích rút thông tin từ các

trang web đặt món trực tuyến theo một mẫu cho trước, sau đó sẽ lưu thông tin vào cơ sở dữ

liệu phục vụ cho quá trình xây dựng hệ thống hỏi đáp tự động. Thông tin được trích rút theo

các nội dung sau:

Page 4: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

2

- Tên nhà hàng

- Mô tả về nhà hàng

- Số điện thoại

- Địa chỉ nhà hàng

- Danh sách các món ăn

- Danh sách giá tương ứng với các món ăn

Bên cạnh đó, trong luận văn này sẽ trình bày cơ bản về hệ thống hỏi đáp tự động, các

bài toán cũng như kỹ thuật trong việc xây dựng một hệ thống hỏi đáp tự động miền ứng

dụng nhà hàng – món ăn.

Page 5: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

3

PHẦN II. NỘI DUNG 2.1. Bài toán trích rút thông tin

2.1.1. Phát biểu bài toán trích rút thông tin

Trích rút thông tin (Information Extraction – IE) là một lĩnh vực của khai phá dữ liệu

(Data Mining) có nhiệm vụ lấy ra các mẫu thông tin “có ích” đối với người dùng.

Theo Jaeyoung Yang và cộng sự, trích rút/trích xuất thông tin (IE) là bài toán nhận

dạng những thành phần thông tin cụ thể của một văn bản, những thành phần này chính là hạt

nhân tạo nên nội dung ngữ nghĩa của văn bản đó [12].

Nói một cách đơn giản, trích rút/trích xuất thông tin là quá trình xử lý thông tin, đầu

vào là một văn bản và đầu ra là các thông tin “có giá trị” với người dùng. Thông tin “có giá

trị” ở đây có thể hiểu là các thực thể, các thuộc tính mô tả thực thể và mối quan hệ giữa các

thực thể. Dữ liệu được trích rút ra có nội dung và cấu trúc thỏa mãn yêu cầu người dùng.

Có thể phát biểu bài toán trích rút thông tin như sau:

Đầu vào: Văn bản có cấu trúc bất kỳ.

Đầu ra: Thông tin “có ích” được tổ chức dưới dạng cấu trúc.

Ví dụ sau đây sẽ minh họa quá trình trích rút thông tin từ văn bản và tổ chức lại thành

dữ liệu có cấu trúc

Hình 2.1: Minh họa bài toán trích rút thông tin

Page 6: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

4 Ở đây bài toán nhận đầu vào là một văn bản không có cấu trúc, nhiệm vụ của trích

rút thông tin là trích ra các dữ liệu liên quan tới Bill Gate gồm: chức vụ (CEO), công ty làm

việc (Microsoft Corporation, Microsoft), người thành lập (founder) và tên quỹ (Free

Software Foundation)… Sau đó dữ liệu sẽ được tổ chức lại có cấu trúc và lưu vào trong cơ

sở dữ liệu. Đây là một nhiệm vụ trong hội nghị KDD1 2003, ở đó những người (đội) tham

gia phải trích chọn các thông tin từ các văn bản cho trước và điền vào các trường trong cơ

sở dữ liệu (Filling slots in a database from sub-segments of text).

2.1.2. Các kỹ thuật trích rút thông tin

Dữ liệu đầu vào cho bài toán trích rút thông tin rất đa dạng và phong phú. Dữ liệu có

thể là dạng không cấu trúc, bán cấu trúc hoặc có cấu trúc, dữ liệu có thể được trích rút trực

tuyến (on-line) hoặc ngoại tuyến (off-line). Chi tiết như sau:

Dữ liệu không cấu trúc: Dữ liệu không cấu trúc thường dùng để chỉ dữ liệu ở dạng tự

do và không cần có cấu trúc định nghĩa sẵn ví dụ như ngôn ngữ tự nhiên.

Dữ liệu có cấu trúc: Dữ liệu có cấu trúc thường dùng để chỉ dữ liệu lưu trữ trong các

hệ quản trị cơ sở dữ liệu quan hệ như MS SQL Server hay MySQL, trong đó các thực

thể và các thuộc tính được định nghĩa sẵn .

Dữ liệu bán cấu trúc: Là dữ liệu có cấu trúc nhưng không hoàn toàn tường minh, nó

không tuân theo những cấu trúc, cách thức cấu trúc của bảng và các mô hình dữ liệu

trong cơ sở dữ liệu nhưng nó chứa những thẻ, những đánh dấu tới những phần tử ngữ

nghĩa riêng biệt của các bản ghi và các trường riêng biệt bên trong dữ liệu .

Dữ liệu từ các trang web là một dạng tiêu biểu cho dữ liệu bán cấu trúc. Trong luận

văn này tập trung vào giải quyết bài toán trích rút thông tin từ dữ liệu bán cấu trúc ngoại

tuyến (thu thập dữ liệu về và trích rút thông tin).

Có nhiều cách tiếp cận để giải quyết bài toán trích rút thông tin, tuy nhiên nếu dựa

trên đặc trưng dữ liệu thì bài toán trích rút thông tin có thể giải quyết bằng một số kỹ thuật

sau:

Dữ liệu có cấu trúc: Được lưu trữ trong CSDL, việc lấy thông tin thông qua các truy

vấn người dùng (mệnh đề SELECT)

1 KDD: http://www.kdd.org/

Page 7: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

5 Dữ liệu bán cấu trúc: Các trang web đại diện cho dữ liệu loại này. Có hai kỹ thuật

thường xuyên được dùng để trích rút thông tin trên web đó là sử dụng cấu trúc cây

DOM và sử dụng biểu thức chính quy.

Dữ liệu không có cấu trúc: Với dữ liệu không có cấu trúc, bài toán trích rút thông

tin có thể coi là bài toán nhận dạng và trích rút thực thể như: tên người, tên tổ chức,

vị trí, ngày tháng, số…

2.1.3. Trích rút thông tin dựa trên cây DOM

Theo W3C2 thì DOM (Document Object Model) là một giao diện lập trình ứng dụng

(API) cho các văn bản HTML hợp lệ và các văn bản XML có cấu trúc chặt chẽ. Nó định

nghĩa cấu trúc logic của các văn bản và cách thức một văn bản được truy cập và thao tác. Ví

dụ về một bảng được lấy văn bản HTML:

Hình 2.3: Minh họa biểu diễn cây DOM

Cây DOM được xây dựng dựa trên các thẻ HTML, trong đó nút gốc chính là thẻ

ngoài cùng (TABLE), sau đó đến các thẻ lồng bên trong và lá chính là các nội dung. Như

2http://www.w3.org/DOM/

Page 8: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

6 vậy việc trích chọn thông tin trên cây DOM chính là việc duyệt cây thông qua các cặp thẻ

HTML.

Như vậy, việc trích rút thông tin từ cây DOM phía trên như sau: duyệt lần lượt qua

các nút cây DOM đến khi nào gặp lá. Khi đó, giá trị tại nút chính là thông tin cần trích rút.

Ví dụ: Trích rút thông tin Aeolian thì sẽ duyệt cây DOM như sau:

TBODYTRTDAeolian.

2.2. Cơ bản về hệ thống hỏi đáp

Hệ thống hỏi đáp tự động có thể được định nghĩa như sau [23]: Là hệ thống được xây

dựng để thực hiện việc tìm kiếm tự động câu trả lời từ một tập lớn các tài liệu cho câu hỏi

đầu vào một cách chính xác và ngắn gọn.

Kiến trúc chung của hệ thống hỏi đáp như sau: thành phần phân tích câu hỏi, thành

phần trích rút thông tin và thành phần trả lời câu hỏi. Các thành phần cơ bản được biểu diễn

trong hình 7 bên dưới:

Hình 3.1: Mô hình chung cho hệ thống hỏi đáp tự động

Chi tiết các thành phần được mô tả như sau:

- Bước 1 – Phân tích câu hỏi: Phân tích để “hiểu” câu hỏi, trích chọn ra các từ khóa

và biến đổi câu hỏi về dạng câu truy vấn.

- Bước 2 – Trích rút thông tin: Quá trình này nhằm tìm ra các tài nguyên phù hợp

nhất với câu hỏi người dùng. Đầu vào của bước này là các câu hỏi của người đã

được phân tích, bước này cần phải xử lý để đưa ra kết quả là một tập các tài liệu

phù hợp với câu hỏi người dùng.

- Bước 3 – Sinh câu trả lời: Phân tích tập tài liệu đã thu thập được ở bước 2 và sử

dụng các thông tin hữu ích do bước phân tích câu hỏi cung cấp để đưa ra câu trả

lời chính xác nhất cho câu hỏi của người dùng.

Có nhiều cách phân loại hệ thống hỏi đáp khác nhau. Nếu dựa vào miền ứng dụng thì

có hai loại đó là: hệ thống hỏi đáp miền đóng (chỉ hỏi đáp cho một miền ứng dụng cụ thể)

và hệ thống hỏi đáp miền mở (hỏi đáp cho nhiều miền ứng dụng khác nhau). Mặt khác, nếu

phân loại theo khả năng trả lời, hệ thống gồm các loại sau: các hệ thống có cơ chế lập luận

đơn giản, các hệ thống có khả năng tổng hợp, các hệ thống có khả năng giao tiếp với người

Phân tích câu hỏi

Trích rút thông tin

Sinh câu trả lời Câu hỏi Câu trả lời

Page 9: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

7 dùng, và các hệ thống có khả năng lập luận tương tự. Cuối cùng, nếu phân loại theo hướng

tiếp cận thì có hai loại: hệ thống hỏi đáp tự động theo hướng tiếp cận nông và hệ thống hỏi

đáp tự động theo hướng tiếp cận sâu.

2.3. Các bài toán trong xây dựng hệ thống hỏi đáp

2.3.1. Bài toán phân tích câu hỏi

Bài toán phân tích câu hỏi là bài toán đầu tiên và quan trọng trong quá trình xây dựng

một hệ thống hỏi đáp tự động. Bài toán có thể được phát biểu như sau:

Đầu vào:câu hỏi tự nhiên của người dùng.

Đầu ra:câu hỏi được nhận diện (phân lớp được câu hỏi, phân tích được từ khóa và

các mối quan hệ…).

Trong luận văn đề cập tới hai phương pháp để giải quyết bài toán phân tích câu hỏi, đó là:

phân tích câu hỏi sử dụng luật và phân tích câu hỏi sử dụng cây trie.

Phân tích câu hỏi dựa trên luật:

Thường sử dụng các luật do người dùng tự định nghĩa để tìm kiếm dạng câu hỏi phù hợp.

Các câu hỏi phù hợp với tập luật sẽ được phân tích, ngược lại sẽ bị bỏ qua. Các biểu thức

được viết dưới dạng biểu thức chính quy.

Phân tích câu hỏi sử dụng cây trie

Một cây Trie, theo Clément và cộng sự, là một cấu trúc dữ liệu được định nghĩa bởi một

luật đệ quy T(S) = <T(S/a1),T(S/a2),…,T(S/ar)>, với S là một tập hợp các xâu alphabet A

= {aj}rj=1 , và S/an là tất cả các chuỗi của S bắt đầu với an.

Với mỗi câu hỏi đầu vào của người dùng, các thành phần sẽ được biểu diễn dưới dạng

cây trie. Sau đó, quá trình phân tích câu hỏi chính là quá trình duyệt cây trie.

Với bảng câu hỏi:

Câu hỏi Khuôn dạng EAT

Where is Chile? Where is !LOC$ LOC

Who is the dean of ICS? Who is the !PO$ of !ORG$ NAME

Who is J.Smith? Who is !NAME$ DESC

Who is J.Smith of ICS? Who is !NAME$ of ORG$ DESC

Page 10: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

8

Câu hỏi Khuôn dạng EAT

How far is Athens? How far is !LOC$ NO

How tall is Sting? How tall is !NAME$ NO

Hình dưới chỉ ra cách dữ liệu được tổ chức và lưu trữ tương ứng với tập chuỗi định

dạng câu hỏi ở bảng trên. Có thể nhận thấy rằng, mỗi nút của trie lưu trữ một hay

nhiều thành phần.

Hình 3.3: Cấu trúc trie xác định thực thể

2.3.2. Bài toán trích rút dữ liệu (retrieve document)

Bài toán trích rút dữ liệu liên quan là bài toán thứ hai trong quá trình xây dựng hệ

thống hỏi đáp tự động. Mục tiêu của bài toán này nhằm thu thập các tài liệu liên quan tới

câu hỏi của người dùng (có thể là trên Internet hoặc dữ liệu được lưu trữ trên máy tính). Bài

toán có thể phát biểu như sau:

Đầu vào: Câu hỏi của người dùng đã được phân tích.

Đầu ra: Tập các tài liệu liên quan tới câu hỏi người dùng.

Quá trình trích rút dữ liệu bao gồm các bước sau:

Lựa chọn đầu tiên dựa vào các từ có ý nghĩa (từ khóa) của câu hỏi tìm kiếm tệp dữ

liệu.

Tiến hành tiếp sự lựa chọn thứ 2 thông qua việc nhận dạng các cụm ngữ nghĩa đồng

nghĩa hay đa nghĩa…

Các câu được lựa chọn nhờ ước lượng độ chênh lệch “khoảng cách” ngữ nghĩa giữa

chúng với cụm từ của câu hỏi và tên thực thể trong dạng trả lời mong đợi.

Page 11: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

9 2.3.3. Bài toán sinh câu trả lời (answer extractioin)

Answer extraction, hay còn gọi là bước xử lý cú pháp, là bước tiếp theo sau việc trích rút dữ liệu để đưa ra được câu trả lời mong muốn. Tại bước này, các câu trả lời tiềm năng được tách ra và đánh giá.

Có hai cách phổ biến để trích ra câu trả lời, đó là:

Phân tích dạng câu trả lời (Answer Type Analysis)

Tiếp cận theo hướng học khuôn dạng câu (Pattern Learning Approach)

Answer type analysis (phân tích dạng câu trả lời):

- Xây dựng tập các dạng câu trả lời.

- Phân loại câu trả lời.

- Các khuôn dạng được gắn với dạng câu trả lời tương ứng.

- Cách này có tính chính xác cao nhưng không trả lời được các câu hỏi ngoài khuôn

dạng (không gán nhãn được).

Pattern learning approach (tiếp cận theo hướng học khuôn dạng câu):

- Dạng câu hỏi có thể được “học” nếu sử dụng cặp câu hỏi-trả lời như một kiểu dữ

liệu liên tục.

- Thuật toán

o Khuôn chứa đối tượng, văn cảnh và câu hỏi được đưa ra bộ tìm kiếm. Ví

dụ: callories, Big Mac, 560.

o Tất cả các tên thực thể được thay thế bằng dạng của chúng.

o Một vài khuôn dạng cùng loại được dùng để “học” về vài dạng sở hữu đặc

trưng.

o Thực hiện tổng quát hoá (theo dạng thực thể và các lựa chọn token khác).

- Sử dụng “độ tin tưởng” để đánh giá câu trả lời. Độ tin tưởng được tính bằng công

thức (Trường hợp đúng/ Trường hợp đúng+sai).

2.4. Hệ thống hỏi đáp tự động miền ứng dụng

2.4.1. Phát biểu bài toán

Bài toán hỏi đáp miền ứng dụng nhà hàng – món ăn được phát biểu như sau:

Đầu vào: Câu hỏi dưới dạng ngôn ngữ tự nhiên của người dùng và CSDL chứa thông

tin về nhà hàng, các món ăn và giá tương ứng.

Đầu ra: Câu trả lời của hệ thống liên quan tới mối quan hệ nhà hàng – món ăn.

Page 12: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

10 Hệ thống có thể sử dụng để trả lời các câu hỏi đơn giản của người dùng liên quan tới món ăn, giá và địa điểm của nhà hàng.

2.4.2. Kiến trúc hệ thống hỏi đáp tiếng Việt hướng miền ứng dụng

Hệ thống hỏi đáp tự động miền ứng dụng nhà hàng – món ăn gồm hai pha chính, đó

là: pha thu thập và phân tích dữ liệu, và pha hỏi đáp. Trong pha thu thập và phân tích dữ

liệu, dữ liệu từ các trang web đặt món ăn trực tuyến sẽ được thu thập và phân tích. Dữ liệu

được trích rút theo mẫu, các thông tin bao gồm: tên nhà hàng, mô tả về nhà hàng, số điện

thoại, địa chỉ, danh sách các món ăn và giá tương ứng. Sau khi trích rút, dữ liệu được lưu

trong CSDL

Hình 4.1: Kiến trúc hệ thống hỏi đáp miền ứng dụng nhà hàng – món ăn

Trong pha hỏi đáp, câu hỏi từ người dùng sẽ được hệ thống phân tích thông qua các

luật được xây dựng trước. Sau khi phân tích, câu hỏi sẽ được nhận dạng, phân tích ngữ pháp

và trích rút các từ khóa. Sau bước này, câu hỏi được chuyển sang câu truy vấn để sinh câu

trả lời.

2.4.3. Tập luật trong hệ thống hỏi đáp tự động miền ứng dụng nhà hàng – món ăn

Qua quá trình khảo sát dữ liệu, tác giả nhận thấy số lượng câu hỏi trong miền ứng

dụng nhà hàng – món ăn không nhiều, các câu hỏi thường tập trung vào một số loại như: hỏi

về địa điểm nhà hàng, hỏi về giá món ăn, hỏi về nhà hàng có món ăn hay không. Do đó,

Page 13: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

11 cách tiếp cận phân tích câu hỏi dựa vào luật được sử dụng trong luận văn phù hợp với hệ

thống hiện tại.

Các luật được xây dựng dưới dạng các biểu thức chính quy, sử dụng thành phần

JAPE trong bộ công cụ GATE. Dưới đây là các luật được sử dụng trong hệ thống.

1. <Món ăn> <nhà hàng> <giá> <từ để hỏi> <hỏi giá>

Đối tượng hỏi địa điểm mục đích từ để hỏi

Ví dụ:

- Món lẩu vịt tại nhà hàng Hương Sen giá bao nhiêu?

- Ăn món gà sốt nấm tại nhà hàng Hương Sen giá bao nhiêu?

2. <Món ăn> <nhà hàng> <rẻ nhất> <từ để hỏi> <giá> <hỏi giá>

Đối tượng hỏi địa điểm min/max từ để hỏi mục đích

Ví dụ:

- Món lẩu vịt ở đâu rẻ nhất?

- Vịt quay rẻ nhất được bán ở đâu?

3. <Món ăn> <rẻ nhất> <nhà hàng> <từ để hỏi> <hỏi giá và địa điểm>

Đối tượng hỏi min/max địa điểm từ để hỏi mục đích

Ví dụ:

- Món thịt bò hầm giá rẻ nhất quận Ba Đình ở đâu?

- Ăn cơm văn phòng tại nhà hàng nào rẻ nhất?

4. <Nhà hàng> <món ăn> <rẻ nhất> <từ để hỏi>

Địa điểm đối tượng hỏi mục đích từ để hỏi

Ví dụ:

- Nhà hàng nào bán món thịt lợn hun khói rẻ nhất?

- Món thịt lợn hun khói được bán rẻ nhất ở đâu?

5. <Nhà hàng> <món ăn> <từ để hỏi> <địa điểm>

Mục đích hỏi thành phần từ để hỏi mục đích hỏi

Ví dụ:

- Nhà hàng Gió Mới bán món vịt Bắc Kinh nằm ở đâu?

- Nhà hàng ABC nằm ở đâu tại quận Hoàn Kiếm?

6. <Nhà hàng> <từ để hỏi> <món ăn> <có/không>

Địa điểm từ để hỏi thành phần mục đích

Ví dụ:

Page 14: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

12 - Nhà hàng Ngon có bán món sinh tố tình yêu không?

- Tại quán Ngon có món sinh tố tình yêu không?

7. <Món ăn> <nhà hàng> <có/không>

Thành phần địa điểm mục đích

Ví dụ:

- Món lẩu Thái có bán tại nhà hàng ABC không?

- Có món lẩu Thái tại nhà hàng ABC không?

8. <Nhà hàng> <từ để hỏi> <món ăn>

Mục đích từ để hỏi thành phần

Ví dụ:

- Nhà hàng nào có món gà sốt nấm?

- Nhà hàng nào có cơm văn phòng?

9. <Nhà hàng> <từ để hỏi> <món ăn> <địa điểm>

Mục đích hỏi từ để hỏi thành phần địa điểm

Ví dụ:

- Nhà hàng nào bán món phở gần nhà hát lớn Hà Nội?

- Những cửa hàng nào bán phở gần nhà hát lớn Hà Nội?

Cấu trúc của từng luật bao gồm phần mô tả các luật, được đặt trong cặp dấu “<>”,

sau đó là mục đích hỏi được đặt trong cặp dấu “<>”, bên dưới mỗi luật mô tả từng thành

phần của luật, cuối cùng mỗi luật có các ví dụ minh họa.

2.5. Kết quả thực nghiệm

2.5.1. Tập dữ liệu kiểm tra

Dữ liệu thử nghiệm trong hệ thống được thu thập từ các trang web đặt món trực

tuyến tại Việt Nam được trình bày trong bảng sau:

Bảng 5.1: Danh sách trang web được dùng để thu thập dữ liệu

STT Tên trang web Địa chỉ

1 Hotmeal http://hotmeal.vn

2 HungryPanda http://www.hungrypanda.vn

3 Hungry http://www.hungry.vn

4 Goimon http://www.goimon.vn

Page 15: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

13

STT Tên trang web Địa chỉ

5 Foody http://www.foody.vn

6 Chonmon http://www.chonmon.vn

Tổng số trang web thu được là 14.504, sau đó luận văn xây dựng chương trình phân

tích dữ liệu để thu được danh sách nhà hàng và danh sách món ăn tương ứng. Tổng số nhà

hàng sau khi tiến hành phân tích xử lý dữ liệu là 215 nhà hàng và 16.144 món ăn tương ứng.

Các thuộc tính của một nhà hàng trong luận văn gồm tên nhà hàng, địa chỉ, số điện thoại

liên hệ và danh sách các món ăn.

2.5.2. Đánh giá quá trình phân tích câu hỏi

Sau khi hệ thống chạy thử nghiệm, luận văn tiến hành đánh giá độ chính xác của các

câu hỏi trong hệ thống. Để đánh giá độ chính xác của hệ thống, luận văn sử dụng hai độ đo,

đó là độ hồi tưởng và độ chính xác. Công thức cụ thể như sau:

Độ chính xác = ்ố ௦ố â௨ ệ ௧ố ௧ả ờ đượ்ố ௦ố â௨ ỏ ườ ௗù đư ௩à

Độ hồi tưởng = ்ố ௦ố â௨ ệ ௧ố ௧ả ờ đú்ố ௦ố â௨ ệ ௧ố ௧ả ờ đượ

Bảng 5.2: Minh họa độ chính xác của các loại mẫu câu hỏi

STT Loại luật Số câu đưa vào Số câu trả lời được Phần trăm (~)

1 Loại số 1 50 48 96%

2 Loại số 2 20 16 80%

3 Loại số 3 25 22 88%

4 Loại số 4 22 18 82%

5 Loại số 5 38 36 95%

6 Loại số 6 15 14 93%

7 Loại số 7 18 16 89%

8 Loại số 8 34 30 88%

9 Loại số 9 14 12 85%

Page 16: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

14

Bảng 5.3: Minh họa độ hồi tưởng của các loại mẫu câu hỏi

STT Loại luật Số câu trả lời được Số câu trả lời đúng Phần trăm (~)

1 Loại số 1 48 43 89%

2 Loại số 2 16 11 69%

3 Loại số 3 22 20 90%

4 Loại số 4 18 13 72%

5 Loại số 5 36 33 91%

6 Loại số 6 14 11 79%

7 Loại số 7 16 13 81%

8 Loại số 8 28 25 89%

9 Loại số 9 12 10 83%

Kết quả thực nghiệm đánh giá độ chính xác trung bình đạt xấp xỉ 88,44% và độ hồi

tưởng trung bình xấp xỉ đạt 81,44%. Các câu hỏi hệ thống không trả lời được xuất phát từ

một số nguyên nhân sau:

- Dữ liệu không có trong hệ thống: Với câu hỏi của người dùng mà dữ liệu không

có trong hệ thống thì hệ thống sẽ không trả về được kết quả cho người dùng.

Ví dụ: Hệ thống sẽ không trả lời được câu hỏi “Nhà hàng nào bán món phở tại

quận Hồ Gươm” do quận Hồ Gươm không có trong cơ sở dữ liệu.

- Câu hỏi không đúng cú pháp: Hệ thống sẽ không trả lời được những câu hỏi

người dùng quá đơn giản hoặc phức tạp, do luận văn tập chung khảo sát một số

mẫu câu hỏi thường gặp. Số luật mà luận văn xây dựng chưa bao phủ hết được

miền câu hỏi theo ngôn ngữ tự nhiên của người dùng.

Ví dụ: Hệ thống sẽ thông báo câu hỏi “Phở” là không hợp lệ do không đủ thành

phần của câu hỏi, hoặc câu hỏi “Tôi muốn ăn món bò bít tết ngon và rẻ!” hệ thống

sẽ thông báo không đúng cấu trúc do chỉ có tên món ăn mà không có hỏi chi tiết

về giá hay địa điểm, mặc dù hàm ý bên trong câu hỏi là hỏi địa điểm và giá cả.

Bên cạnh đó, tiêu chí “ngon” cũng rất khó đánh giá.

- Các luật được xây dựng trên JAPE khá “cứng”: Do các luật được xây dựng dựa

trên công cụ JAPE nên thiếu tính mềm dẻo, rất khó xử lý với các câu hỏi phức tạp

và mang tính ngữ nghĩa từ người dùng. Trong khi đó những câu hỏi dạng này

Page 17: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

15

chiếm khá nhiều trong thực tế. Điều này dẫn đến việc hệ thống không trả lời được

hoặc trả lời sai câu hỏi người dùng.

- Ví dụ: Luật được xây dựng trên JAPE xử lý khá tốt với các câu hỏi đơn giản như

“Ăn Buffe ở nhà hàng nào tại quận Bình Thạnh?” hoặc “Cửa hàng lẩu 39 có sinh

tố mãng cầu hay không?” nhưng lại khó xử lý với các câu hỏi phức tạp như “Nhà

hàng nào bán món cơm văn phòng trong phạm vi bán kính 1km tính từ Học viện

Bưu chính Viễn thông?” hoặc những câu hỏi mang tính ngữ nghĩa như “Nhà

hàng nào bán món ngô chiên ngon và rẻ tại Đà Nẵng?”

2.5.3. Đánh giá quá trình trả lời câu hỏi

Giao diện đặt câu hỏi khi khởi chạy của hệ thống

Hình 5.1: Giao diện đặt câu hỏi cho người dùng

Page 18: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

16 Giao diện khi trả lời câu hỏi của hệ thống

Hình 5.2: Giao diện trả lời câu hỏi

Page 19: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

17

PHẦN III. KẾT LUẬN Luận văn đã tiến hành nghiên cứu về hệ thống hỏi đáp, khảo sát một số bài toán điển

hình trong việc xây dựng hệ thống hỏi đáp tự động. Bên cạnh đó, luận văn cũng tiến hành

xây dựng hệ thống hỏi đáp miền ứng dụng “Nhà hàng – món ăn” dựa trên việc phân tích câu

hỏi với bộ công cụ JAPE.

Các kết quả đạt được:

- Trình bày cơ bản về hệ thống hỏi đáp tự động, phân loại các hệ thống hỏi đáp và

quá trình xây dựng hệ thống hỏi đáp.

- Khảo sát các bài toán cơ bản và các phương pháp giải quyết khi xây dựng hệ

thống hỏi đáp.

- Thu thập và xử lý dữ liệu cho việc xây dựng hệ thống hỏi đáp miền ứng dụng

“Nhà hàng – món ăn”.

- Khảo sát và đưa ra các mẫu câu hỏi thường gặp trong hệ thống hỏi đáp miền ứng

dụng “Nhà hàng – món ăn”, bên cạnh đó sử dụng bộ công cụ JAPE cho việc nhận

biết và phân tích câu hỏi của người dùng với độ chính xác trung bình đạt 88,44%

và độ hồi tưởng trung bình đạt 81,44%.

- Đề xuất mô hình hỏi đáp tiếng Việt miền ứng dụng “Nhà hàng – món ăn” dựa

trên các mẫu câu hỏi được xử lý bằng JAPE.

Những hạn chế:

- Số lượng dữ liệu thu thập và xử lý còn hạn chế, do đó chưa đáp ứng được một số

câu hỏi của người dùng khi câu hỏi của người dùng chứa dữ liệu không có trong

cơ sở dữ liệu.

- Hệ thống xử lý câu hỏi bằng công cụ JAPE, việc này khá đơn giản tuy nhiên

JAPE không xử lý được các câu hỏi phức tạp do cách viết luật của JAPE khá

“cứng”. Bên cạnh đó, tập luật cũng được xây dựng thủ công, do đó chưa bao phủ

được miền câu hỏi của người dùng.

- Chưa trả lời được các câu hỏi phức tạp, mang tính suy luận và ngữ nghĩa.

- Hệ thống được đánh giá trên bộ dữ liệu tự xây dựng, do đó chưa có một tiêu chí

so sánh với các hệ thống khác.

Hướng phát triển:

Page 20: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

18

- Tăng lượng dữ liệu trong cơ sở dữ liệu về nhà hàng và món ăn để đáp ứng được

câu hỏi của người dùng.

- Sử dụng các phương pháp học máy cho bước phân tích câu hỏi, từ đó nâng cao độ

chính xác khả năng phân tích và trả lời câu hỏi.

- Có thể mở rộng miền ứng dụng, do hiện tại hệ thống mới chỉ dừng lại ở miền ứng

dụng đóng (chuyên về một miền).

Page 21: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

19

TÀI LIỆU THAM KHẢO

Tài liệu tiếng Việt

[1] Hồ Tú Bảo, Lương Chi Mai. Về xử lý tiếng Việt trong Công nghệ Thông tin. Viện Công nghệ Thông tin, Viện Khoa học và Công nghệ Tiên tiến Nhật Bản.

[2] Lê Ngọc Đức (2009). Hệ thống trích rút thông tin từ trang VietPhD. Đồ án tốt nghiệp, Đại học Bách khoa Hà Nội.

[3] Đỗ Thái Hà (2009). Hệ thống hỏi đáp tự động QA system. Thực tập chuyên ngành, Đại học Bách khoa Hà Nội.

[4] Phạm Thu Uyên, Nguyễn Đức Vinh, Nguyễn Đạo Thái (2009). Hệ thống hỏi đáp tự động sử dụng trích rút quan hệ ngữ nghĩa trong kho văn bản tiếng Việt. Nghiên cứu khoa học sinh viên cấp trường Đại học Công Nghệ.

[5] Trần Xuân Tứ, Lê Đức Trọng, Nguyễn Tiến Tùng (2011). Hệ thống hỏi đáp thực thể tên người trong tiếng Việt. Nghiên cứu khoa học sinh viên cấp trường Đại học Công Nghệ.

Tài liệu tiếng Anh

[6] Bing Liu (December, 2006), Web Data Mining Exploring Hyperlinks, Contents, and Usage Data, http://www.cs.uic.edu/~liub/WebMiningBook.html.

[7] Brin, Sergrey (1998) (Computer Science Department, Stanford University). Extracting patterns andrelations from the world wide web. WebDB Workshop at 6th International Conference on Extending Database Technology, EDBT ’98. Available: http://citeseerx.ist.psu.edu/ viewdoc/summary?doi=10.1.1.101.3197

[8] Diego Mollá Aliod, Rolf Schwitter, Fabio Rinaldi, James Dowdall, Michael Hess (2003). ExtrAns: Extracting Answers from Technical Texts. IEEE Intelligent Systems (EXPERT) 18(4):12-17.

[9] George A. Miller, Richard Beckwith, Christiane Fellbaum, Derek Gross, and Katherine Miller (1998). Introduction to WordNet: An On-line Lexical Database.

[10] Girju Roxana (June, 2001). Answer Fusion with On-Line Ontology Development. In Proceedings of the North American Chapter of the Association for Computational Linguistics (NAACL) - Student Research Workshop, (NAACL 2001), Pittsburgh, PA..

[11] Ion Muslea, Steve Minton, and Craig Knoblock (1999). A Hierarchical Approach to Wrapper Induction. In Proceeding of the International Conference on Autonomous Agents (AGENTS’99), pp. 190–197. 3rd

[12] Jaeyoung Yang, Heekuck Oh, Kyung-Goo Doh and Joongmin Choi A (2002). “Knowledge Based Information Extraction System for Semi-structured Labeled Documents”, Proceedings of the Third International Conference on Intelligent Data Engineering and Automated Learning.

[13] Jaime Carbonell, Donna Harman, Eduard Hovy, and Steve Maiorano, John Prange and Karen Sparck-Jones (2000). Vision Statement to Guide Research in Question & Answering (Q&A) and Text Summarization. Final version 1.

[14] Julien Clément, Philippe Flajolet, Brigitte Vallée: The Analysis of Hybrid Trie Structures. SODA 1998:531-539.

[15] N.F. Noy and McGuinness (2001), D.L. Ontology Development 101: A Guide to CreatingYour First Ontology SMI. Technical report SMI-2001-0880, Stanford University.

Page 22: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/856/1/Tom tat LV ThS Truong... · Viện công nghệ thông tin và truyền thông - Trường

20 [16] http://www.cs.uic.edu/~liub/WebMiningBook.html ,December, 2006.

Website

[17] http://wikipedia.org

[18] http://en.wikipedia.org/wiki/Named-entity_recognition

Công cụ sử dụng

[19] http://gate.ac.uk

[20] http://jsoup.org