Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
545,38 KB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trương Tài Ba
NGHIÊN CỨUVÀXÂYDỰNG
HỆ THỐNGHỎIĐÁPHƯỚNGMIỀNỨNGDỤ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ứngdụ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âydự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âydựng một hệthốnghỏ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âydựnghệthốnghỏ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ốnghỏiđáp tự động, các
bài toán cũng như kỹ thuật trong việc xâydựng một hệthốnghỏ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 dungvà 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 ứngdụ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âydự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:
TBODYTRTDAeolian.
2.2. Cơ bản về hệthốnghỏiđápHệthốnghỏ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ốnghỏ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ốnghỏ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ốnghỏiđáp khác nhau. Nếu dựa vào miềnứngdụng thì
có hai loại đó là: hệthốnghỏiđápmiền đóng (chỉ hỏiđáp cho một miềnứngdụng cụ thể)
và hệthốnghỏiđápmiền mở (hỏi đáp cho nhiều miềnứngdụ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ốnghỏiđáp tự động theo hướng tiếp cận nông vàhệthốnghỏi
đáp tự động theo hướng tiếp cận sâu.
2.3. Các bài toán trong xâydựnghệthốnghỏ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âydựng
một hệthốnghỏ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âydựnghệ
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ỏivà tên thực thể trong dạng trả lời mong đợi.
[...]... xây dựnghệthốnghỏiđáp tự động Bên cạnh đó, luận văn cũng tiến hành xây dựnghệthốnghỏiđáp miền ứngdụ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ốnghỏiđáp tự động, phân loại các hệthốnghỏiđápvà quá trình xây dựnghệthốnghỏ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âydựnghệ thống. .. nhiên của người dùngvà 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ốnghỏiđáp tiếng Việt hướngmiềnứngdụng Hệ thốnghỏiđáp tự động miềnứngdụng nhà hàng – món... thốnghỏiđáp - Thu thập và xử lý dữ liệu cho việc xây dựnghệthốnghỏiđáp miền ứngdụ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ốnghỏiđápmiềnứngdụ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. .. 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âydự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ốnghỏiđáp tự động miềnứngdụ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. .. “cứng” Bên cạnh đó, tập luật cũng được xâydự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. .. 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êncứu về hệthốnghỏi đáp, khảo sát... để “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ốnghỏiđáp tự động miềnứngdụng 2.4.1 Phát biểu bài toán Bài toán hỏiđápmiềnứngdụ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... thấy số lượng câu hỏi trong miềnứngdụ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âydựng dưới dạng các biểu thức chính quy, sử dụng thành phần JAPE trong... - 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ứngdụ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... 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ốnghỏiđápmiềnứngdụng . ứ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. 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à