Tải bản đầy đủ (.doc) (87 trang)

XỬ LÝ CÁC CÂU TRUY VẤN VÀ TÌM KIẾM TRÊN KHO TÀI LIỆU CÓ CHÚ THÍCH NGỮ NGHĨA BẰNG TIẾNG ANH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 87 trang )


Đại Học Quốc Gia TP. Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------o0o----------
LUẬN VĂN ĐẠI HỌC
XỬ LÝ CÁC CÂU TRUY VẤN VÀ TÌM KIẾM TRÊN
KHO TÀI LIỆU CÓ CHÚ THÍCH NGỮ NGHĨA BẰNG
TIẾNG ANH
Chuyên ngành: Khoa Học Máy Tính
GVHD : Pgs.Ts. Cao Hoàng Trụ
Sinh viên : Nguyễn Trần Đăng Khoa
(50601130)
Tạ Tất Tài
(50602084)
TP. Hồ Chí Minh, tháng 12 – 2010
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. CAO HOÀNG TRỤ
Cán bộ chấm nhận xét 1 :.................................................................................................
Cán bộ chấm nhận xét 2 :.................................................................................................
Luận văn đại học được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN ĐẠI HỌC
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày . . . . . tháng . . . . năm . . . . .
LỜI CAM ĐOAN
Tôi cam đoan rằng ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận
văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung
nào của luận văn này được nộp để lấy một bằng cấp ở trường đại học nào khác.
Ngày..................Tháng..............Năm............
Ký tên
LỜI CẢM ƠN
Trước hết, chúng tôi xin gởi lời cảm ơn chân thành và sâu sắc đến Pgs.Ts. Cao Hoàng Trụ, và kỹ


sư Châu Kim Cường, những người đã trực tiếp hướng dẫn tôi trong quá trình làm luận văn này. Sự
hướng dẫn chu đáo, tận tình, cùng với những tài liệu và lời khuyên quý giá của thầy và anh trong hơn
3 tháng qua là nhân tố không thể thiếu để chúng tôi có thể hoàn thành nhiệm vụ.
Chúng tôi xin gửi lời cảm ơn đến gia đình và bạn bè, những người luôn sát cánh, động viên, và
tạo mọi điều kiện tốt nhất để chúng tôi có thể học tập và hoàn tất được luận văn tốt nghiệp này.
Chúng tôi chân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô khoa Khoa
học và Kỹ thuật Máy tính trường Đại học Bách khoa.
Luận văn này khó tránh khỏi còn thiếu sót do tầm nhìn của chúng tôi còn hạn hẹp, rất mong nhận
được sự góp ý của quý thầy cô cùng các bạn.
TÓM TẮT
Từ khi ra đời đến nay, World Wide Web đã trở thành một công cụ quan trọng để lưu trữ và chia
sẻ nguồn tri thức khổng lồ. Tuy nhiên, các công cụ phần mềm hiện nay chưa hỗ trợ thật hiểu quả cho
con người trong quá trình khai thác kho tri thức ấy. Với mong muốn làm hiệu quả hơn quá trình đó,
luận văn này xây dựng một công cụ tìm kiếm có thể “hiểu” được nội dung của câu truy vấn bằng
tiếng Anh và trả về kết quả.
Để biên dịch câu truy vấn ngôn ngữ tự nhiên, luận văn này dựa trên nền tảng web ngữ nghĩa, kết
hợp với phương pháp dịch ít phụ thuộc vào cú pháp của nhóm VN-KIM. Để thể hiện nội dung biên
dịch được, luận văn biểu diễn bằng đồ thị ý niệm. Cuối cùng, câu truy vấn SeRQL được dùng để tìm
kiếm kết quả.
Hiệu quả của hệ thống được đánh giá trên tập câu truy vấn mẫu “TREC 2002”.
MỤC LỤC
TỔNG QUAN........................................................................................................................................1
1.1 Giới thiệu .......................................................................................................................................1
1.2 Mục tiêu và phạm vi.......................................................................................................................3
1.3 Kết quả đạt được.............................................................................................................................5
1.4 Cấu trúc luận văn............................................................................................................................6
KIẾN THỨC NỀN TẢNG....................................................................................................................7
2.1 Rút trích quan hệ ............................................................................................................................7
2.2 Đồ thị ý niệm (Conceptual Graph).................................................................................................8
2.2.1 Sơ lược về đồ thị ý niệm..........................................................................................................8

2.2.2 Đồ thị ý niệm mở rộng...........................................................................................................10
2.3 Tìm thực thể vài tài liệu................................................................................................................11
2.3.1 Câu truy vấn SeRQL [tham khảo
/>2.3.2 Semantic Lucene.....................................................................................................................12
PHÂN TÍCH VẤN ĐỀ VÀ PHƯƠNG PHÁP GIẢI QUYẾT...........................................................14
3.1 Chuyển đổi câu truy vấn với từ để hỏi “How many”..................................................................14
3.2 Chuyển đổi câu truy vấn có tính từ .............................................................................................16
3.3 Chuyển đổi câu truy vấn có tính từ so sánh nhất.........................................................................18
3.4 Chuyển đổi câu truy vấn có tính từ..............................................................................................19
3.5 Chuyển đổi câu truy vấn có tính từ so sánh nhất.........................................................................21
3.5.1 Trường hợp tính từ định tính..................................................................................................21
3.5.2 Trường hợp tính từ định lượng [tham khảo HA]...................................................................21
3.6 Chuyển đổi câu truy vấn có tính từ định lượng so sánh hơn.......................................................22
THIẾT KẾ 24
4.1 Các bước của giải thuật................................................................................................................24
4.1.1 Phân tách câu truy vấn............................................................................................................26
4.1.2 Nhận biết thực thể có tên........................................................................................................26
4.1.3 Nhận biết thực thể không tên.................................................................................................26
4.1.4 Nhận biết tính từ.....................................................................................................................27
4.1.5 Nhận biết từ quan hệ...............................................................................................................27
4.1.6 Xác định lớp của thực thể.......................................................................................................27
4.1.7 Gom các thực thể....................................................................................................................28
4.1.8 Xác định quan hệ ẩn...............................................................................................................29
4.1.9 Xác định loại quan hệ giữa các thực thể................................................................................29
4.1.10 Xoá bỏ quan hệ không phù hợp............................................................................................32
4.1.11 Xác định quan hệ giữa tính từ và thực thể...........................................................................33
4.1.12 Xây dựng đồ thị ý niệm........................................................................................................36
4.2 Tập luật.........................................................................................................................................36
4.2.1 Cấu trúc của hệ thống luật......................................................................................................37
4.2.2 Cấu trúc thành phần điều kiện của luật..................................................................................38

4.2.3 Cấu trúc thành phần hành động của luật................................................................................38
4.2.4 Xây dựng một số luật đặc biệt................................................................................................39
4.2.5 Xây dựng từ điển luật.............................................................................................................39
4.3 Kết quả thí nghiệm........................................................................................................................41
HIỆN THỰC HỆ THỐNG..................................................................................................................50
5.1 Các khối xử lý và giao diện các lớp quan trọng...........................................................................50
5.1.1 Ứng dụng web phía Client......................................................................................................50
5.1.2 Hệ thống xử lý trên server......................................................................................................50
5.2 Hệ thống luật [tham khảo CDT]...................................................................................................54
5.2.1 Cấu trúc của hệ thống luật......................................................................................................55
5.2.2 Cấu trúc thành phần điều kiện của luật..................................................................................56
5.2.3 Cấu trúc thành phần hành động của luật................................................................................57
5.2.4 Xây dựng một số luật đặc biệt................................................................................................58
5.3 Lưu trữ đồ thị và hiển thị đồ thị [tham khảo HA]........................................................................58
5.4 Xây dựng câu truy vấn SeRQL.....................................................................................................60
KẾT LUẬN..........................................................................................................................................65
TÀI LIỆU THAM KHẢO...................................................................................................................67
PHỤ LỤC A: TẬP CÂU MẪU TREC 2002......................................................................................71
PHỤ LỤC C: ĐỒ THỊ Ý NIỆM SINH ĐÚNG TỪ TREC 2002 TRƯỚC KHI LÀM GIÀU
ONTOLOGY 76
PHỤ LỤC D: ĐỒ THỊ Ý NIỆM SINH ĐÚNG TỪ TREC 2002 SAU KHI LÀM GIÀU
ONTOLOGY 77
DANH MỤC HÌNH
Hình 3.0.1: Ví dụ về biểu diễn câu truy vấn "How many".....................................................................15
Hình 3.0.2: Ví dụ về biểu diễn câu truy vấn "How many" ở dạng rút gọn............................................15
Hình 3.0.3: Ví dụ về biểu diễn tổng quát cho câu truy vấn "How many"..............................................15
Hình 4.0.4: Mô tả các bước dùng để xây dựng đồ thị ý niệm cho câu truy vấn....................................25
Hình 4.0.5: Xác định loại quan hệ giữa hai thực thể ei và ej..................................................................30
Hình 4.0.6: Lược đồ ánh xạ kiểu quan hệ của bộ ba truy vấn................................................................31
Hình 4.0.7: Xác định loại quan hệ giữa tính từ adj và thực thể..............................................................34

Hình 4.0.8: Lược đồ ánh xạ kiểu quan hệ giữa tính từ và thực thể........................................................35
Hình 4.0.9: Cấu trúc tập thành phần TransformRules và rule................................................................37
Hình 4.0.10: Cấu trúc của thành phần điều kiện luật..............................................................................39
Hình 4.0.11: Ví dụ về thành phần premise..............................................................................................39
Hình 4.0.12: Cấu trúc của thành phần hành động...................................................................................40
Hình 4.0.13: Cấu trúc từ điển quan hệ....................................................................................................40
Hình 4.0.14: Ví dụ một luật hoàn chỉnh..................................................................................................41
Hình 4.0.15: Ví dụ một số thành phần trong từ điển..............................................................................41
Hình 4.0.16: Ví dụ về biểu diễn câu truy vấn “Queried relation”..........................................................45
Hình 4.0.17: Ví dụ về biểu diễn câu truy vấn “Advert / Temporal”.....................................................45
DANH MỤC BẢNG
Bảng 4.1: Bảng thuộc tính thành phần premise......................................................................................38
Bảng 4.2: Mô tả các thuộc tính của thành phần entry.............................................................................41
Bảng 4.3: Kết quả thực nghiệm trên TREC 2002 khi chưa áp dụng phương pháp đề nghị..................43
Bảng 4.4: Kết quả thực nghiệm trên TREC 2002 sau khi áp dụng phương pháp đề nghị....................43
Bảng 4.5: Kết quả thực nghiệm trên TREC 2002 sau khi làm giàu Ontology.......................................44
Bảng 4.6: Bảng tổng kết kết quả cuối cùng đạt được trên tập TREC 2002...........................................46
Bảng 4.7: Kết quả thực nghiệm trên TREC 2007 khi chưa áp dụng phương pháp đề nghị..................47
Bảng 4.8: Kết quả thực nghiệm trên TREC 2007 sau khi áp dụng phương pháp đề nghị.....................47
Bảng 4.9: Kết quả thực nghiệm trên TREC 2007 sau khi làm giàu Ontology.......................................48
Bảng 4.10: Bảng tổng kết kết quả cuối cùng đạt được trên tập TREC 2007.........................................49
23
CHƯƠNG 1.....................................................................
TỔNG QUAN
1.1 Giới thiệu
Kể từ khi ra đời đến nay, World Wide Web (WWW) đã làm thay đổi rất nhiều cách con người
trao đổi và tiếp cận với thông tin, tri thức. Và đối với nền kinh tế tri thức hiện nay, tầm quan trọng của
WWW càng lớn hơn. Điều đó đặt ra yêu cầu là: phải làm sao để quá trình khai thác tri thức từ WWW
đạt được hiệu suất tối ưu. Muốn vậy, một giải pháp là phải tự động hóa được quá trình đó; nói cách
khác, máy móc phải có khả năng khai thác thông tin trên WWW với một độ chính xác cao.

Hiện nay, đã có những công cụ phần mềm nhắm đến mục tiêu đó. Nổi bật nhất có lẽ là các động
cơ tìm kiếm dựa trên từ khóa (keyword – based search engine), như động cơ tìm kiếm của Google,
Yahoo,... Tuy đã đạt được những thành công nhất định, nhưng các hệ thống này còn có những khuyết
điểm làm cho người sử dụng chưa được hài lòng. Có thể nêu ra như:
− Kết quả trả về cho một truy vấn là nhiều, nhưng độ chính xác lại thấp. Người dùng phải tốn
nhiều thời gian với những kết quả không thích hợp.
− Kết quả trả về hoàn toàn phụ thuộc vào từ khóa được cung cấp. Trong khi, theo mong muốn
của con người, thì các truy vấn tương tự nhau về mặt ngữ nghĩa phải dẫn đến những kết quả
như nhau.
Do công cụ tìm kiếm chủ yếu chỉ so trùng, mà chưa “hiểu” được nội dung của thông tin chứa trên
WWW và nội dung của câu truy vấn, nên dẫn đến những hạn chế trên.
Như vậy, để làm tăng hiệu quả của quá trình tìm kiếm tự động, một hướng tiếp cận là làm cho
máy tính “hiểu” được nội dung của thông tin: thông tin được lưu trữ trên WWW và thông tin trong
câu truy vấn của người dùng.
23
Đề tài này quan tâm đến khía cạnh giúp cho máy tính hiểu được nội dung của câu truy vấn dùng
ngôn ngữ tự nhiên là tiếng Anh. Nhìn chung, việc hướng dẫn cho máy tính xử lý 1 câu truy vấn bằng
ngôn ngữ tự nhiên (bất kỳ) nhằm hiểu được ý nghĩa là khá phức tạp, có thể liệt kê ra một số khó khăn:
− Ngữ pháp của ngôn ngữ tự nhiên rất đa dạng, cách sử dụng rất linh hoạt. Và một câu có thể có
nhiều ngữ pháp phù hợp (mặc dù đối với con người sẽ không có nghĩa). Dẫn đến không thể
chỉ dựa vào cấu trúc của câu để xác định ngữ nghĩa.
− Cùng một từ nhưng có thể ứng với nhiều từ loại (danh từ, động từ, ...). Muốn hiểu đúng phải
xác định đúng loại từ. Lấy ví dụ: “Time flies like an arrow”. “Time” và “flies” có ít nhất 2
cách hiểu có ý nghĩa: “Time” làm danh từ và “flies” làm động từ, hay “Time” làm động từ và
“flies” làm danh từ.
− Phải giải quyết sự đa hình của từ (morphology) nếu muốn nhận biết đầy đủ các thành phần
của câu. Ví dụ như động từ “fly” có thể có dạng “flies”, “flying”, “flew”.
− Việc xác định quan hệ ngữ nghĩa giữa các đối tượng trong câu đòi hỏi phải có tri thức về các
mối quan hệ phù hợp giữa các đối tượng. Và phải xem xét ngữ cảnh của câu để chọn ra quan
hệ phù hợp nhất.

− Câu có thể hàm chứa những mối quan hệ ngầm giữa các đối tượng, mà không được biểu hiện
ra bằng các từ ngữ biểu diễn quan hệ, vì các mối liên hệ này được con người ngầm thỏa thuận
trên một nền tảng kiến thức chung.
− Một cách thường xuyên, câu truy vấn bằng ngôn ngữ tự nhiên không chặt về ngữ pháp, mà
thường được dùng ở dạng thông dụng không “chuẩn” ngữ pháp.
Tuy có nhiều khó khăn như đã kể trên, nhưng hiện nay các nhóm nghiên cứu về lĩnh vực web ngữ
nghĩa đã đạt được những tiến bộ đáng kể. Và việc xây dựng một động cơ tìm kiếm theo ngữ nghĩa là
khả thi, có thể thành công với những câu truy vấn không quá phức tạp. Vì vậy, đề tài này sẽ ứng dụng
các thành tựu đó để xây dựng một động cơ tìm kiếm cho phép người dùng truy vấn bằng ngôn ngữ tự
nhiên, và trả về tài liệu chứa nội dung cần tìm.
23
1.2 Mục tiêu và phạm vi
Liên quan đến mục tiêu tạo ra một công cụ tìm kiếm dựa trên nền tảng Web ngữ nghĩa, đã có
nhiều nghiên cứu được biết đến. Các nghiên cứu này sử dụng nhiều hình thức khác nhau cho câu truy
vấn đầu vào[tham khảo CDT], như:
− Hình thức đồ thị: người sử dụng thao tác trực tiếp trên đồ thị để thực hiện truy vấn.
− Hình thức mẫu câu được dựng sẵn: người sử dụng sẽ lựa chọn trong số những mẫu câu truy
vấn được xây dựng sẵn, lưu trong hệ thống, để thực hiện truy vấn.
− Từ khóa bằng ngôn ngữ tự nhiên.
− Hình thức câu đầy đủ: người sử dụng đưa và một câu ngôn ngữ tự nhiên bất kỳ để thực hiện
truy vấn.
Các hình thức biễu diễn này, nếu càng gần với ngôn ngữ tự nhiên thì lại càng khó xử lý đối với
máy tính. Tuy nhiên, nếu càng gần với ngôn ngữ tự nhiên thì càng dễ tiếp cận đối với người sử dụng.
Hiển nhiên, người sử dụng mong muốn nhất là cho phép nhập vào một câu truy vấn dùng ngôn ngữ tự
nhiên.
Về phương pháp biên dịch câu truy vấn ngôn ngữ tự nhiên, toát lên từ các nghiên cứu là 2 hướng
tiếp cận:
− Phân tích cú pháp: cách này dựa vào việc phân tích cú pháp của câu truy vấn để dịch ra ngôn
ngữ khác mà máy tính hiểu được. Vì vậy phụ thuộc rất chặt vào cú pháp, bất kỳ lỗi cú pháp
nào cũng dẫn đến biên dịch thất bại. Ngoài ra, sẽ khó khăn khi chuyển đổi, sử dụng ngôn ngữ

đầu vào khác [tham khảo CDT].
− Dịch theo cách ít phụ thuộc vào cú pháp: linh động hơn khi có lỗi cú pháp hoặc khi phải
chuyển đổi ngôn ngữ đầu vào. Ngoài ra, rút ngắn được thời gian xử lý [tham khảo CDT].

23
Từ cái nhìn trên, hệ thống tìm kiếm mà đề tài này xây dựng sẽ nhận dữ liệu đầu vào là một câu
truy vấn bằng tiếng Anh, là ngôn ngữ sử dụng bởi quốc tế. Hệ thống, sau khi xử lý bằng phương pháp
ít phụ thuộc vào cú pháp, sẽ trả về tài liệu chứa thông tin được tìm kiếm hoặc trả về số liệu được yêu
cầu (lúc này không sử dụng chức năng tìm kiếm mà chỉ đưa ra số liệu trả lời). Đồng thời, để giúp
người dùng kiểm tra liệu cách “hiểu” câu truy vấn của hệ thống có đúng hay không, hệ thống cũng vẽ
ra đồ thị ý niệm tương ứng với câu truy vấn đã nhận vào.
Một hệ thống như vậy nếu xây dựng mới hoàn toàn sẽ đòi hỏi rất nhiều thời gian và công sức. Vì
vậy, đề tài sẽ dựa trên hệ thống tìm kiếm ngữ nghĩa cho tiếng Việt (VN-KIM Search) có sẵn [tham
khảo anh Dũng], tái sử dụng nhiều mô-đun không phụ thuộc vào ngôn ngữ, như mô-đun chú giả, đánh
chỉ mục, gom cụm, truy xuất tài liệu, chỉ tập trung làm mới mô-đun xử lý câu truy vấn.
Hệ thống sẽ bảo đảm được khả năng xử lý những câu truy vấn tiếng Anh đơn giản, chỉ bao gồm
danh từ, động từ, từ để hỏi và giới từ. Ví dụ như câu truy vấn: “What actress starred in “The Lion in
Winter” ?”. Đây là khả năng mà hiện nay VN-KIM Search đã làm được cho tiếng Việt.
Luận văn không chỉ dừng lại ở những câu truy vấn đơn giản như ví dụ trên, mà còn nhắm đến
mục tiêu trả lời được những câu truy vấn phức tạp hơn. Đó là câu truy vấn có liên từ luận lý, tính từ
định tính, tính từ định lượng, tính từ so sánh nhất, và lượng từ. Lấy ví dụ như các câu truy vấn sau:
“Who was biographer and Samuel Johnsons's friend?” chứa liên từ luận lý.
“What famous model was married to Billy Joel?” chứa tính từ định tính.
“What is the oldest university in the US?” chứa tính từ định lượng.
“What is the highest dam in the U.S.?” và “What is the most common kind of skin cancer in
the U.S.?” chứa tính từ so sánh nhất.
“How many films did Ingmar Bergman make?” chứa lượng từ.
Hiện đã có nghiên cứu của nhóm VN-KIM để biên dịch những câu truy vấn dạng này từ ngôn ngữ
tự nhiên sang đồ thị ý niệm. Luận văn này sẽ ứng dụng thành quả nghiên cứu đó.
23

Hiện nay, mô-đun nhận biết thực thể của VN-KIM Search không thể dùng cho tiếng Anh. Nên, ở
bước nhận biết thực thể, đề tài sẽ sử dụng công cụ sẵn có, và giả sử là quá trình này hoàn toàn chính
xác. Đề tài cũng không giải quyết vấn đề về quan hệ 3 ngôi trong [HA], vì việc đó liên quan tới việc
mở rộng, “làm mịn” Ontology, là một bài toán khác.
1.3 Kết quả đạt được
Đề tài đã xây dựng được 1 hệ thống tìm kiếm dựa trên ngữ nghĩa cho tiếng Anh, với các dạng câu
truy vấn như đã trình bày ở trên.
Đồng thời, mở rộng thêm một số khả năng khi xử lý những câu truy vấn dạng phức tạp. Đầu tiên
là khả năng đề xuất đồ thị ý niệm khả áp dụng ngay cả khi quan hệ với tính từ trong câu truy vấn
không có trong cơ sơ tri thức. Mục đích là làm ta có thể đánh giá tính chính xác của quá trình “hiểu”
câu truy vấn của hệ thống mà không bị quá lệ thuộc vào cơ sơ tri thức. Ví dụ như sau:
“What is the longest dam in the U.S.?” Mặc dù quan hệ giữ “dam” và “long” không có trong
cơ sơ tri thức, nhưng ta vẫn có thể cung cấp đồ thị ý niệm cho người dùng (với quan hệ “ảo” được vẽ
màu xanh lá).
Hình 1.1 Đồ thị có đề xuất quan hệ không tồn tại trong cơ sở tri thức
Ngoài ra, để truy xuất được tài liệu, thì chỉ ngừng lại ở đồ thị là chưa đủ, cần phải chuyển đồ thị
đó sang ngôn ngữ SeRQL, là ngôn ngữ dùng để truy xuất cơ sở tri thức ngữ nghĩa. Luận văn này đã
đề xuất và hiện thực cách thức chuyển từ đồ thị ý niệm của những câu truy vấn dạng này sang truy
vấn SeRQL để lấy về thực thể (entity) cần tìm.
23
Luận văn cũng đề xuất và hiện thực cách xử lý câu truy vấn có chứa dạng so sánh hơn của tính từ
định lượng. Các câu truy vấn có so sánh hơn với một hằng số, hoặc so sánh hơn với một thực thể, như
“What dam in the U.S. is higher than 1200 meters?”, “What dam is higher than Dworshak in the
U.S.?” cũng đã được chuyển sang đồ thị ý niệm, rồi chuyển sang câu truy vấn SeRQL tương ứng.
1.4 Cấu trúc luận văn
Chương 1 đã trình bày khái quát động cơ, mục đích, ý tưởng thực hiện đề tài. Tiếp theo sau
Chương 1 là phần trình bày chi tiết về ý tưởng và phương pháp của chúng tôi để đạt được mục đích
đã đề ra.
Chương 2 trình bày những nghiêu cứu và hệ thống liên quan đến việc chuyển đổi câu truy vấn
tiếng Anh sang đồ thị ý niệm. Mục 2.1 trình bày phương pháp rút trích quan hệ trong câu truy vấn. Sơ

lược giới thiệu về đồ thị ý niệm được trình bày ở Mục 2.2.
Chương 3 trình bày cách tiếp cận vấn đề với việc giải quyết câu truy vấn hỏi về số lượng được
trình bày tại Mục 3.1, giải quyết cho câu truy vấn có chứa tính từ được trình bày tại Mục 3.2, giải
quyết cho câu truy vấn có chứa tính từ so sánh nhất được trình bày tại Mục 3.3 và giải quyết cho câu
truy vấn có chứa liên từ luận lý sẽ được trình bày tại Mục 3.4.
Chương 4 trình bày phương pháp biên dịch câu truy vấn tiếng Anh sang đồ thị ý niệm. Mục 4.1 sẽ
mô tả các bước trong giải thuật xây dựng đồ thị ý niệm cho câu truy vấn. Mục 4.2 trình bày chi tiết về
tập luật ánh xạ. Những kết quả đạt được của đề tài sẽ được tổng kết tại Mục 4.3.
Chương 5 trình bày chi tiết phương pháp lưu trữ và hiển thị đồ thị ý niệm.
Chương 6 đưa ra kết luận và đề nghị hướng phát triển cho tương lai. Phần phụ lục giới thiệu tập
câu hỏi mẫu TREC 2002, TREC 2007 cùng các đồ thị ý niệm đã được sinh đúng cho những câu truy
vấn rút ra từ hai tập câu hỏi mẫu này.
23
CHƯƠNG 2
KIẾN THỨC NỀN TẢNG
2.1 Rút trích quan hệ
Rút trích quan hệ là xác định mối quan hệ ngữ nghĩa giữa cặp các thành phần không có cấu trúc
hay bán cấu trúc trong văn bản ngôn ngữ tự nhiên. Rút trích quan hệ dựa vào Ontology liên quan tới
hai công việc chính: xác định mối quan hệ giữa hai thành phần đã biết chủ yếu dựa trên miền
Ontology và khám phá các mối quan hệ mới giữa hai ý niệm không có trên miền Ontology. Ví dụ
trong câu “Bill Gates is chairman and chief software architect of Microsoft Corporation”, tồn tại quan
hệ theo kiểu của ACE (Automatic Content Extraction) là EMPLOYMENT.exec giữa hai thực thể có
tên là “Bill Gates” thuộc lớp PERSON.Name và “Mircrosoft Corporation” thuộc lớp
ORGANIZATION.Commercial. Có nhiều kỹ thuật rút trích quan hệ, dựa trên luật (rule-based), dựa
trên đặc điểm (feature-based) và phương pháp kernel (kernel-based) dưới đây trình bày một số nghiên
cứu về rút trích quan hệ:
• Các phương pháp dựa trên luật sử dụng các luật của ngôn ngữ để nắm bắt các mẫu quan
hệ khác nhau. Hệ thống [8] rút trích quan hệ từ một quá trình phân tích cú pháp, do đó kết quả
của nó phụ thuộc hoàn toàn vào cây cú pháp.
• Các phương pháp rút trích dựa trên đặc điểm [21] sử dụng các đặc điểm của ngôn ngữ như

đặc điểm từ vựng, đặc điểm cú pháp và đặc điểm ngữ nghĩa. Những phương pháp này rất hiệu
quả cho việc rút trích quan hệ. Tuy nhiên, vấn đề gặp phải là các đặc điểm phải được mô tả thủ
công và cấu trúc thông tin trong cây cú pháp không được bảo toàn trong cây đặc điểm (Là cây
biểu diễn các đường nối không kết thúc giữa hai thực thể trong cây cú pháp).
• Các phương pháp dựa trên kernel chú trọng vào việc sử dụng các cây kernel riêng lẻ để
khai thác đặc điểm cấu trúc. Hệ thống [19] xây dựng một quan hệ kernel trên cây cú pháp cho
23
việc rút trích quan hệ. Kernel so trùng các node từ gốc cho tới lá một cách đệ quy theo từng lớp
từ trên xuống.
Tuy nhiên các nghiên cứu trên chỉ chú trọng vào rút trích quan hệ giữa các thực thể có tên đã biết.
Để xây dựng được đồ thị ý niệm, ngoài việc rút trích quan hệ giữa các thực thể có tên còn phải rút
trích quan hệ giữa các thực thể không tên với nhau, hay các quan hệ giữa các thực thể có tên với thực
thể không tên.
2.2 Đồ thị ý niệm (Conceptual Graph)
2.2.1 Sơ lược về đồ thị ý niệm
Đồ thị ý niệm là một hình thức biểu diễn logic (logical formalism) vừa có tính trực quan, vừa có
sự chính xác. Về hình thức, đây là một đồ thị tạo ra bởi các đỉnh và các cạnh (có thể có hướng hoặc
không có hướng). Nhờ sử dụng cách biểu diễn đồ họa trực quan đó, đồ thị cho phép con người nhanh
chóng có được một cái nhìn tổng quan, dễ nắm bắt ý nghĩa. Về nội dung, đồ thị ý niệm có thể được
ánh xạ trực tiếp sang logic vị từ (predicate logic). Nhờ đó, có thể biểu diễn ngữ nghĩa một cách chính
xác, giữ được tính chính xác về mặt logic. Với những đặc điểm đó, đồ thị ý niệm vừa dễ tiếp cận đối
với con người, vừa khả xử lý đối với máy tính.
Và đồ thị ý niệm đã được dùng như là một hình thức biểu diễn tri thức, là một ngôn ngữ trung
gian cho việc chuyển đổi qua lại giữa hình thức biểu diễn hướng máy tính và ngôn ngữ tự nhiên. “Tim
Berners Lee, người phát minh của WWW, kết luận rằng các CG có thể dễ dàng tích hợp với Semantic
Web. Nó cũng được chỉ ra là có một ánh xạ chặt với ngôn ngữ RDF.” Nó cũng được chỉ ra trong là có
một ánh xạ chặt giữa CG và ngôn ngữ RDF (ko hiểu đoạn này >.<).” [tham khao HA].
“Trong bài báo đầu tiên công bố liên quan tới đồ thị ý niệm, Sowa đã định nghĩa đồ thị ý niệm
như sau: Chỗ này ta nghĩ chỉ cần nói: Sowa đã định nghĩa dtyn trong 1 bài báo của mình:… rồi trích
dẫn đoạn định nghĩa thôi. Ghi như vầy thì ghi là tk HA được, còn ghi như T thì phải ghi là tk bài báo

nào đó mà mình ko đọc, nên thôi cứ ghi vầy đi, ý nghĩa như là HA bảo cho mình biết Sowa nó vậy
23
Đồ thị ý niệm là một đồ thị hữu hạn, liên thông, không có hướng, lưỡng phân với những nút thuộc
một loại được gọi là ý niệm (hoặc khái niệm – concepts) và những nút thuộc loại còn lại được gọi là
quan hệ khái niệm (conceptual relations).” [tham khao HA]
Như vậy, đồ thị ý niệm thuộc loại đồ thị phân đôi, và bao gồm 2 loại đỉnh: các đỉnh khái niệm và
các đỉnh quan hệ. Trong đó, các đỉnh khái niệm chỉ liên kết với các đỉnh quan hệ bởi các cạnh và
ngược lại.
Đỉnh khái niệm được biểu diễn bằng hình chữ nhật có nhãn là kiểu khái niệm kết hợp với tham
chiếu. Đỉnh quan hệ có hình oval với nhãn chính là kiểu quan hệ của nó. Mỗi đỉnh quan hệ có thể liên
kết với nhiều đỉnh khái niệm bằng các cạnh có hướng. Để ngắn gọn, chúng ta sẽ gọi đỉnh quan hệ,
đỉnh khái niệm lần lượt là quan hệ, khái niệm.
[hình tham khảo CDT]
Hình trên là đồ thị ý niệm cho câu “John is a student. There is a subject. CS is a field of study.
The subject is in CS. John studies the subject”. Hoặc ngắn gọn hơn là “John studies a subject in CS”.
(Đoạn này nếu có thể ta nghĩ mình nên tìm một ví dụ khác tương tự, vì ngay cả ví dụ mà cũng phải
tham khảo có thể tạo cho người đọc cảm giác mình chưa hiểu kỹ về nó) nếu còn tgian sẽ sáng tạo
Trong định dạng văn bản, các khái niệm và các quan hệ có thể được biết trong dấu ngoặc vuông
và ngoặc tròn như sau:
[STUDENT: John]→(STUDY)→[SUBJECT: *]→(IN)→[FIELD: CS]
Trong ví dụ này, [STUDENT: John], [SUBJECT:*], [FIELD: CS] là các khái niệm với
STUDENT, SUBJECT và FIELD trở thành kiểu khái niệm, trong khi đó (STUDY) và (IN) là các
quan hệ với STUDY và IN là các kiểu quan hệ. Các tham khảo John và CS là các tham chiếu xác
định. Tham chiếu “*” là tham chiếu tổng quát ám chỉ tới một thực thể không xác định.
STUDENT: John
STUDY
SUBJECT: *
IN
FIELD: CS
23

Đồ thị ý niệm được sử dụng để kiểm tra tính chính xác của quá trình dịch câu truy vấn trong đề
tài, bên cạnh các tham chiếu xác định và tham chiếu tổng quát, được bổ sung thêm tham chiếu nghi
vấn. Tham chiếu nghi vấn biểu diễn cho thực thể được truy vấn trong câu. Một đồ thị ý niệm truy vấn
là một đồ thị ý niệm mà các tham chiếu có thể là tham chiếu xác định, tham chiếu tổng quát hoặc là
tham chiếu nghi vấn được biểu diễn bằng dấu “?”.
2.2.2 Đồ thị ý niệm mở rộng
Đồ thị ý niệm mở rộng [tham khảo HA] là đồ thị ý niệm có sử dụng thêm một khái niệm đặc biệt,
gọi là đỉnh truy vấn con. Đó là một đỉnh khái niệm, nhưng có kiểu khái niệm riêng, và tham chiếu đến
thực thể của nó là một đồ thị ý niệm khác. Tức là, bên trong đỉnh truy vấn con là nội dung một đồ thị
ý niệm truy vấn tri thức. Đỉnh truy vấn con sẽ được biểu diễn bằng hình chữ nhật vát góc. Đỉnh truy
vấn con được biểu diễn bằng hình chữ nhật tròn góc (Ta nghĩ chỗ này mình nên nói: trong tài liệu
(hay luận văn) này, đỉnh truy vấn con được biểu diễn bằng hình chữ nhật vát góc, vì các ví dụ sau này
đâu phải tròn góc). Ta xét một ví dụ minh họa: ta có câu truy vấn lồng nhau như sau: “Tìm tên của
những giảng viên có tên trùng với tên của những giảng viên tại trường Đại học Bách Khoa”. Câu truy
vấn này sẽ được biểu diễn như sau:
[hình tham khảo HA]
Trong đề tài [tham khảo HA], đỉnh truy vấn con này được sử dụng phần lớn trong các phương
pháp đề xuất sẽ được bàn đến ở những phần tiếp theo.
23
2.3 Tìm thực thể vài tài liệu
Đề tài này biến đổi từ đồ thị ý niệm sang ngôn ngữ truy vấn SeRQL để truy vấn thực thể trong cơ
sở tri thức. Thực thể tìm được sẽ dùng để tìm tài liệu trên Semantic Lucene.
2.3.1 Câu truy vấn SeRQL [tham khảo
/>n-numerical-comparisons]
SeRQL (Sesame RDF Query Language) là một ngôn ngữ truy vấn cơ sở tri thức. Tương tự như
SQL được sử dụng làm ngôn ngữ truy vấn trên các cơ sở dữ liệu quan hệ, SeRQL được sử dụng trên
các cơ sở dữ liệu viết bằng ngôn ngữ RDF.
Trong SeRQL, có 2 loại câu truy vấn: một loại sẽ trả về một bảng các giá trị (một tập các ràng
buộc (binding) giữa biến với giá trị, tương tự như khi truy vấn với SQL), loại còn lại sẽ trả về một đồ
thị RDF (RDF graph). Trong đề tài này chỉ sử dụng loại thứ nhất, gọi là select queries (phiên bản

2.3.2), sẽ được trình bày sau đây.
Đối với 1 câu truy vấn thuộc loại select queries , sẽ có 8 mệnh đề có thể được sử dụng, đó là:
SELECT, FROM, FROM CONTEXT, WHERE, ORDER BY, LIMIT, OFFSET và USING
NAMESPACE. Chỉ có mệnh đề SELECT là bắt buộc, các mệnh đề còn lại có thể không có mặt trong
câu truy vấn. Các mệnh đề SELECT, FROM, WHERE và ORDER BY là những mệnh đề sẽ được sử
dụng để truy vấn trong đề tài này.
Mệnh đề SELECT ở SeRQL cũng tương tự như trong SQL, sẽ chỉ ra các biến mà ta cần trả về giá
trị. Nếu truy vấn thành công, tập kết quả trả về sẽ là các giá trị được ràng buộc với các biến liệt kê
trong mệnh đề SELECT. Ví dụ [tham khảo

SELECT O, S
FROM {S} rdfs:label {O}
Mệnh đề FROM ở SeRQL cũng tương tự như trong SQL, nhưng, thay vì chỉ ra các bảng (table) có
chứa dữ liệu, người sẽ phải chỉ ra các biểu thức đường đi (path expression) có chứa dữ liệu trong cơ
sở tri thức RDF. Trong ví dụ trên, biểu thức đường đi là “{S} rdfs:label {O}” .
23
Mệnh đề WHERE, cũng tương tư như SQL, là nơi để người dùng đặc tả các ràng buộc mà các
biến phải thỏa mãn. Nếu có nhiều ràng buộc, chúng có thể được liên kết bằng các từ khóa AND, OR,
NOT, là các toán tử của đại số Bool.Trong mệnh đề WHERE, ta cũng có thể sử dụng câu truy vấn
lòng nhau (nested query) và sử dụng từ khóa ALL để biểu diễn ràng buộc đối với một tập giá trị. Ví
dụ [tham khảo />comparisons]:
SELECT highestValue
FROM {node} ex:value {highestValue}
WHERE highestValue >= ALL ( SELECT value
FROM {} ex:value {value}
)
Để sắp xếp kết quả trả về theo một thứ tự nhất định, người dùng có thể sử dụng mệnh đề ORDER
BY, kết hợp các từ khóa DESC (giảm dần) và ASC (tăng dần – mặc định). Có thể kết hợp sắp xếp
trên nhiều biến trả về, cách nhau bởi dấu “,”. Ví dụ [tham khảo
/>SELECT Countr, Population

FROM {Country} ex:population {Population}
ORDER BY Population DESC
Ngoài ra, SeRQL cũng hỗ trợ 3 toán tử UNION, INTERSECT và MINUS để thực hiện kết hợp,
giao và loại trừ các tập kết quả. Ví dụ [tham khảo
/>SELECT title
FROM {book} dc10:title {title}
UNION
SELECT title
FROM {book} dc11:title {title}
Đề tài sẽ sử dụng các toán tử tập hợp này vào việc giải quyết các câu truy vấn có liên từ luận lý.
2.3.2 Semantic Lucene
Lucene: là một thư viện mã nguồn mở viết bằng Java, dùng để phân tích, hỗ trợ đánh chỉ mục và
tìm kiếm thông tin với hiệu suất cao. Lucene được phát triển đầu tiên bởi Doug Cutting, và ra mắt vào
23
tháng 3/2000. Hiện tại Lucene đang được Apache phát triển và duy trì. Lucene không phải một ứng
dụng, mà chỉ là một công cụ đặc tả API cần thiết cho một search engine. Ngoài phiên bản ban đầu
bằng Java, hiện nay còn có Lucene cho các ngôn ngữ khác: .NET, C++, Perl…
VN-KIM Semantic Lucene (S-Lucene): là hiện thực mở rộng của Lucene cho tìm kiếm ngữ nghĩa.
VN-KIM S-Lucene là một thư viện phần mềm trong hệ thống VN-KIM, có vai trò quan trọng trong
việc quản lý, truy hồi các thực thể hay các tài liệu đã được chú giải.
Khác biệt chủ yếu giữa Lucene và S-Lucene đó là Lucene đánh chỉ mục và tìm kiếm trên từ khóa,
trong khi đó S-Lucene mở rộng cho đánh chỉ mục và tìm kiếm theo thực thể.
Đầu vào của S-Lucene là các bộ ba (name/class/ID) nhận được từ quá trình tìm kiếm thực thể. S-
Lucene trả về các tài liệu tương ứng với các bộ ba đó.
23
CHƯƠNG 3
PHÂN TÍCH VẤN ĐỀ VÀ PHƯƠNG PHÁP
GIẢI QUYẾT
3.1 Chuyển đổi câu truy vấn với từ để hỏi “How many”
Về cơ bản, chúng tôi thấy rằng việc biểu diễn các câu truy vấn hỏi về số lượng (Có từ hỏi là

“How many”) bằng đồ thị ý niệm đòi hỏi phải giải quyết được hai vấn đề sau:
• Thứ nhất, ta phải biểu diễn được phạm vi mà câu truy vấn muốn đề cập.
• Thứ hai, ta phải biểu diễn được đối tượng hay thuộc tính mà câu truy vấn muốn đề cập.
Thật vậy, lấy trường hợp của ví dụ trong Hình 2.2, nếu như PERSON có thêm thuộc tính về
salary, thì với biểu diễn như vậy ta không thể biết được câu truy vấn muốn hỏi độ trung bình về
tuổi, hay độ trung bình về lương.
Trong giải pháp đề nghị này, chúng tôi sẽ sử dụng đồ thị lồng nhau (nested CG), cụ thể là ở đây
chúng tôi sẽ sử dụng đỉnh truy vấn con để giải quyết vấn đề về biểu diễn phạm vi mà câu truy vấn
muốn bao phủ, và sử dụng liên kết đồng tham chiếu để biểu diễn đối tượng mà câu truy vấn muốn đề
cập.
Với giải pháp đề nghị, câu truy vấn “How many students are there in Computer Science
Department?” sẽ được biểu diễn như Hình 3.1.
23
Hình 3.0.1: Ví dụ về biểu diễn câu truy vấn "How many".
Để ngắn gọn, chúng tôi sẽ định nghĩa một đường liên kết mới thay thế đường liên kết đồng tham
chiếu cho việc biểu diễn đối tượng mà câu truy vấn muốn đề cập. Trong tài liệu này chúng tôi đề xuất
biểu diễn bằng đường liên kết nét đôi. Biểu diễn dạng ngắn gọn cho ví dụ trên như sau:
Hình 3.0.2: Ví dụ về biểu diễn câu truy vấn "How many" ở dạng rút gọn.
Sau đây là giải pháp đề xuất cho việc giải quyết mẫu câu truy vấn có từ để hỏi là “How many”.
Mẫu câu truy vấn này sẽ có dạng sau, với RW là từ quan hệ, S là chủ thể, O là khách thể:
How many S RW O
Đầu tiên, chúng ta sẽ xây dựng đỉnh truy vấn con để biểu diễn câu S RW O. Sau đó, chúng ta định
nghĩa quan hệ COUNT gắn với đỉnh truy vấn con vừa tạo. Một đường liên kết nét đôi sẽ được nối từ
quan hệ COUNT tới đỉnh khái niệm S trong đỉnh truy vấn con. Biểu diễn tổng quát cho mẫu truy vấn
“How many” như Hình 3.3
Hình 3.0.3: Ví dụ về biểu diễn tổng quát cho câu truy vấn "How many".
23
3.2 Chuyển đổi câu truy vấn có tính từ
Trong [16] đã đưa ra giải pháp sau để giải quyết vấn đề biểu diễn tính từ của thực thể. Ví dụ, để
trả lời câu truy vấn “What famous model was married to Billy Joel?” yêu cầu Ontology phải có khả

năng thể hiện thuộc tính famous của các người mẫu.
• Giải pháp 1: Định nghĩa lớp FAMOUSMODEL, ví dụ, đối với những người mẫu mà nổi
tiếng. Nó sẽ tạo ra nhiều lớp con của các người mẫu cho những độ khác nhau của thang đo độ
nổi tiếng.
• Giải pháp 2: Định nghĩa kiểu quan hệ FAMEPROPERTY có miền lớp là MODEL và
range lớp là STRING. Cách này gây ra vấn đề của việc so trùng các giá trị String sau đó.
Ở giải pháp thứ nhất nêu trên, ta thấy giải pháp này sẽ dẫn đến bùng nổ số lượng lớp mới phải
định nghĩa. Đặc biệt một vấn đề nảy sinh là việc đưa ra các thang đo để có thể định lượng được các
tính từ. Điều này chỉ có thể giải quyết được trong một số trường hợp đối với các tính từ như “tall”,
“high”… Ví dụ, ta có thể quy ước một ngôi nhà được gọi là cao khi kích thước chiều cao lớn hơn
100m. Tuy nhiên có những tính từ mà con người khó có thể định lượng được như là “good”,
“famous”… thì việc định nghĩa một thang đo cho những tính từ như vậy sẽ gặp nhiều khó khăn.
Ngoài ra, các tác giả trong [10], [11] đã nêu ra rằng các ý nghĩa của các tính từ còn phụ thuộc vào
ngữ cảnh. Ví dụ khi nói: “Peter is tall for a gymnast” thì ý nghĩa ở đây là Peter chỉ được xem là cao
trong ngữ cảnh so sánh với các vận động viên thể dục, còn đối với việc so sánh với người bình
thường thì điều này chưa hẳn đã đúng. Từ nhận xét này, các tác giả trong [10], [11] đã đề xuất giải
pháp khái niệm hóa các tính từ bằng phương pháp động. Các tác giả đề nghị xây dựng các lớp so sánh
để biểu diễn cho ngữ cảnh và sinh ra các quan hệ để biểu diễn độ tương quan về tính chất so với lớp
so sánh này.
Giải pháp thứ hai cho ta một cách mềm dẻo hơn khi biểu diễn các tính từ cho thuộc tính. Vấn đề
nảy sinh của cách thứ hai là việc so trùng giá trị String có thể được giải quyết bằng một từ điển các từ
đồng nghĩa, ví dụ như là WordNet. Tuy nhiên, với giải pháp này, ý nghĩa của các tính từ chỉ có thể
hiểu bởi con người, còn máy tính không thể suy luận được từ việc biểu diễn này. Ví dụ với cách biểu

×