Tải bản đầy đủ

Nghiên cứu và xây dựng hệ thống hỏi đáp hướng miền ứng dụ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










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
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:
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.






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
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ị KDD
1
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/
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 W3C
2
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ư

2
http://www.w3.org/DOM/
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:
TBODYTRTDAeolian.
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
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/a
1
),T(S/a
2
),…,T(S/a
r
)>, với S là một tập hợp các xâu alphabet A
= {a
j
}
r
j=1
, và S/a
n
là tất cả các chuỗi của S bắt đầu với a
n
.
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
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.
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.
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 đó,
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ụ:
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
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%


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
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

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


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:
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).

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 6
th
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.
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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×