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

Tìm kiếm theo ngữ nghĩa có khoảng cách

71 11 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 1,45 MB

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

Nội dung

Chúng tôi đề ra một cách tiếp cận mới cho công cụ tìm kiếm có ngữ nghĩa trong đó khai thác các đặc điểm ontology của thực thể có tên trong tìm kiếm theo khoảng cách và sau đó phát triển

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

-o0o -

LÊ VĂN MINH TUẤN

TÌM KIẾM THEO NGỮ NGHĨA CÓ KHOẢNG CÁCH

Chuyên ngành: Khoa học máy tính

Mã số: 604801

LUẬN VĂN THẠC SĨ

Trang 2

Công trình được hoàn thành tại: Trường Đại học Bách Khoa – ĐHQG-HCM

Cán bộ hướng dẫn khoa học : PGS TS Cao Hoàng Trụ

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 : TS Hồ Bảo Quốc

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 : TS Nguyễn Thanh Hiên

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 06 tháng 01 năm 2012

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 .PGS TS Dương Tuấn Anh (Chủ tịch hội đồng)

2 .TS Huỳnh Tường Nguyên (Thư ký hội đồng)

3 .PGS TS Cao Hoàng Trụ (Ủy viên hội đồng)

4 .TS Hồ Bảo Quốc (Phản biện 1)

5 .TS Nguyễn Thanh Hiên (Phản biện 2)

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KH & KT MÁY TÍNH

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

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

Họ tên học viên: LÊ VĂN MINH TUẤN MSHV: 09070965

Ngày, tháng, năm sinh: 08/08/1986 Nơi sinh: Bình Dương

Chuyên ngành: Khoa học máy tính Mã số : 604801

I TÊN ĐỀ TÀI: Tìm kiếm theo ngữ nghĩa có khoảng cách

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

Nghiên cứu đề xuất giải thuật tính toán động khoảng cách giữa các từ khóa và thực thể dùng trong truy hồi tài liệu

Nghiên cứu đề xuất phương pháp lập chỉ mục theo khoảng cách động giữa các từ khóa và thực thể

Mở rộng phần mềm mã nguồn mở Lucene cho việc tìm kiếm theo ngữ nghĩa có khoảng cách

Tiến hành thực nghiệm để đánh giá ý nghĩa của khoảng cách giữa các từ khóa và thực thể trong truy vấn và tài liệu đối với việc xếp hạng các tài liệu được trả về

II NGÀY GIAO NHIỆM VỤ : 04/07/2011

III NGÀY HOÀN THÀNH NHIỆM VỤ: 06/01/2012

IV CÁN BỘ HƯỚNG DẪN: PGS TS CAO HOÀNG TRỤ

Trang 4

Lời cảm ơn

Tôi xin chân thành cảm ơn thầy PGS.TS Cao Hoàng Trụ Thầy đã tận tình hướng dẫn, định hướng tôi từ cách đặt vấn đề, phương pháp nghiên cứu khoa học, đến những công việc cụ thể trong luận án này

Xin chân thành cảm ơn các bạn trong khoa Công Nghệ Thông Tin, những người

đã giúp đỡ và tạo điều kiện cho tôi rất nhiều trong quá trình thực hiện luận án

Con xin cảm ơn cha mẹ, cảm ơn anh chị và em gái, luôn động viên, khuyến khích

và giúp đỡ con trong quá trình học tập cũng như trong cuộc sống

Trang 5

Tóm tắt

Có nhiều công trình nghiên cứu tập trung khai thác khoảng cách giữa các từ khóa nhằm cải thiện độ chính xác truy hồi của những tài liệu trả về đầu tiên Mặc dù các công trình này sử dụng các cách tiếp cận khác nhau nhưng tất cả đều chứng minh rằng hiệu quả truy hồi có thể được cải thiện khi tích hợp các độ đo khoảng cách vào trong một mô hình truy hồi hiện có Trong luận văn này, chúng tôi trình bày một hệ thống mã nguồn

mở phát triển cho truy hồi thông tin dựa trên ontology để trả lời các câu truy vấn có chứa thực thể có tên và các đặc điểm ontology của chúng là tên khác, lớp và định danh Chúng tôi đề ra một cách tiếp cận mới cho công cụ tìm kiếm có ngữ nghĩa trong đó khai thác các đặc điểm ontology của thực thể có tên trong tìm kiếm theo khoảng cách và sau đó phát triển giải thuật để tính toán các khoảng cách động giữa thực thể có tên và từ khóa ở trong truy vấn và trong tài liệu Một cách cụ thể, nó cho phép xử lý các truy vấn cụm từ và truy vấn theo khoảng cách trong đó các độ dài và vị trí dựa trên token của các thực thể có tên được truy vấn trong tài liệu có thể khác nhau Kết quả của luận văn là chúng tôi cung cấp một nền tảng thư viện mở cho phép hiện thực các hệ thống tìm kiếm theo ngữ nghĩa

Trang 6

Abstract

There are many research works that have been looking into the term proximity to improve the retrieval precision of top returned documents Although these researches used different approaches, they showed that retrieval effectiveness could be improved by integrating proximity scores into an existing retrieval model In this thesis, we presents our developed general open source for ontology-based information retrieval to answer queries that involve named entities with their ontological features, namely, aliases, classes, and identifiers We propose a novel approach for semantic search engines that exploit the ontology features of named entities in proximity search and develop an algorithm for computing dynamic distances between named entities and keywords in queries and documents In particular, it deals with phrase and proximity queries for which the token-based lengths and positions of the queried named entities in a document may vary The result provides a platform and library for implementing semantic search engines

Trang 7

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 này hoặc trường khác

Ngày 6 tháng 1 năm 2012

Lê Văn Minh Tuấn

Trang 8

Mục lục

Lời cảm ơn 1

Tóm tắt 2

Abstract 3

Lời cam đoan 4

Mục lục 5

Danh mục hình 7

Danh mục bảng 8

Chương 1: Tổng quan 9

1.1 Phát biểu vấn đề 9

1.2 Các công trình liên quan 12

Chương 2: Cơ sở lý thuyết 15

2.1 Mô hình không gian vectơ dựa trên từ khóa 15

2.2 Mô hình không gian vectơ dựa trên thực thể có tên 17

2.3 Mô hình kết hợp thực thể có tên và từ khóa trên một không gian vectơ chung 19

2.4 Tìm kiếm theo khoảng cách dựa trên từ khóa 20

2.5 Đánh chỉ mục và tìm kiếm theo khoảng cách trong Lucene 24

2.6 Đánh chỉ mục và tìm kiếm theo thực thể có tên 29

Chương 3: Tìm kiếm theo ngữ nghĩa có khoảng cách 34

3.1 Tìm kiếm theo khoảng cách với thực thể có tên và từ khóa 34

3.2 Các giải thuật tính khoảng cách động giữa thực thể có tên và từ khóa 41

3.3 Xếp hạng tài liệu có khoảng cách 47

Chương 4: Hiện thực và các kết quả thực nghiệm 49

4.1 Đánh chỉ mục theo khoảng cách có thực thể có tên 49

4.2 Cú pháp câu truy vấn 50

4.3 Ứng dụng minh họa 52

4.4 Thực nghiệm và đánh giá 53

Trang 9

Chương 5: Tổng kết 62

5.1 Đóng góp của luận án 62

5.2 Hướng phát triển 62

Các công trình của tác giả liên quan đến luận án 63

Tài liệu tham khảo 64

Phụ lục: Bài báo 68

Trang 10

Danh mục hình

Hình 2-1: Dạng đường cong của hàm (Q,D) 23

Hình 2-2: Cấu trúc file chỉ mục của Lucene 26

Hình 2-3: Tìm kiếm đa từ khóa 27

Hình 2-4: Ví dụ một tài liệu HTML 29

Hình 2-5: Các thực thể có tên được nhận diện 30

Hình 2-6: Cấu trúc file chỉ mục của S-Lucene 32

Hình 3-1: Giải thuật để so trùng d với q khi slop = 0 và cập nhật tĩnh vị trí 43

Hình 3-2: Giải thuật để so trùng d với q trong khi slop > 0 và cập nhật tĩnh vị trí 44

Hình 3-3: Giải thuật để so trùng d với q khi slop = 0 và cập nhật động vị trí 45

Hình 3-4: Giải thuật để so trùng d với q khi slop > 0 và cập nhật động vị trí 46

Hình 3-5: Hàm updatePosition 47

Hình 4-1: Cấu trúc file chỉ mục mới của S-Lucene 50

Hình 4-2: Cú pháp câu truy vấn cơ bản 51

Hình 4-3: Giao diện tìm kiếm 52

Hình 4-4: Giao diện kết quả trả về 53

Hình 4-5: Độ đầy đủ và độ chính xác đối với một truy vấn 55

Hình 4-6: Đường cong P-R trung bình của một truy vấn 57

Hình 4-7: Đường P-R trung bình của các mô hình 60

Hình 4-8: Đường F-R trung bình của các mô hình 60

Trang 11

Danh mục bảng

Bảng 2-1: Trường ne+kw 31

Bảng 3-1: Ví dụ về vị trí dựa trên token 35

Bảng 3-2: Cập nhật tĩnh vị trí 37

Bảng 3-3: Tài liệu ví dụ cho cập nhật động vị trí 39

Bảng 3-4: Cập nhật động vị trí ứng với câu truy vấn q 40

Bảng 4-1: Các trường dữ liệu được đánh chỉ mục 49

Bảng 4-2: Độ chính xác trung bình ở 11 điểm truy hồi chuẩn 59

Bảng 4-3: Độ F trung bình ở 11 điểm truy hồi chuẩn 59

Bảng 4-4: Độ MAP 60

Bảng 4-5: Kiểm tra ý nghĩa thống kê 61

Bảng 4-6: Thời gian chạy 61

Trang 12

Tìm kiếm theo khoảng cách là cách tìm kiếm tài liệu có chứa hai hay nhiều term xuất hiện trong một khoảng cách được cho trước trong đó khoảng cách được định nghĩa

là số lượng từ (word) hay kí tự nằm giữa các term và trong một vài trường hợp có thể yêu cầu thêm thứ tự của các term được thỏa mãn (Wikipedia1) Ví dụ, trailer NEAR3 boys có nghĩa là người dùng yêu cầu không có hơn ba từ nằm giữa trailer và boys và chúng có thể

có bất kỳ thứ tự nào

Để làm tăng độ hiệu quả truy hồi tài liệu, ngoài những nghiên cứu tập trung vào

độ đo khoảng cách giữa các term còn có những nghiên cứu khác trong lĩnh vực tìm kiếm ngữ nghĩa cụ thể là các nghiên cứu xem xét khai thác các đặc tính ontology của các thực thể có tên ([4][5][6]) Thực thể có tên (Named Entity – NE) là những thực thể được đề cập đến bằng tên ví dụ như con người, tổ chức, nơi chốn và có thể được mô tả trong

1 http://en.wikipedia.org/wiki/Proximity_search_(text)

Trang 13

ontology ([20]) Ontology định nghĩa các lớp thực thể, cây phân cấp của các lớp thực thể, các thuộc tính của các lớp thực thể, và các quan hệ giữa các lớp thực thể Ngoài Ontology, việc xử lý các thực thể có tên này còn cần thêm các tri thức cụ thể về thế giới đang xét Các tri thức này được chứa trong cơ sở tri thức Cơ sở tri thức sẽ chứa đựng thông tin về các thực thể có tên cụ thể thuộc về các lớp thực thể đã được định nghĩa trong Ontology Tuy nhiên, theo hiểu biết của chúng tôi, chưa có một công trình nào ở tìm kiếm theo ngữ nghĩa xem xét tới các câu truy vấn khoảng cách có chứa thực thể có tên và từ khóa

Thực tế khoảng cách giữa thực thể có tên và từ khóa đã được xem xét tới trong ([18]) Nó được thực hiện trong lĩnh vực tìm kiếm chuyên gia (expert search), tức là việc tìm kiếm những người có kĩ năng và kinh nghiệm trong một chủ đề cho trước Tuy nhiên,

nó không phải dành cho truy hồi văn bản

Các mô hình tính độ đo khoảng cách được đề cập ở trên tính khoảng cách giữa các term dựa trên token Khi được đánh chỉ mục, một tài liệu được phân tích thành các token (hay còn gọi là term) Mỗi token sẽ được gán cho một ví trí và khoảng cách giữa chúng sẽ được tính dựa trên vị trí này Xét tài liệu sau:

D: “Cultural exhibitions on Ho Chi Minh City development and integration opened in Lam Son park”

Khi đánh chỉ mục, tài liệu D được phân tích thành 15 token “cultural”,

“exhibitions”, “on”, “ho”, “chi”, “minh”, “city”, “development”, “and”, “integration”,

“opened”, “in”, “lam”, “son”, “park” có vị trí lần lượt từ 0 đến 14 Khoảng cách giữa các token có thể được tính dễ dàng dựa trên các vị trí này Ví dụ, khoảng cách giữa “on” và

“development” là 4 vì có 4 token “ho”, “chi”, “minh”, “city” nằm giữa chúng

Tuy nhiên, khi tính đến NE, khoảng cách term được tính dựa trên token không còn áp dụng được nữa Mỗi NE xuất hiện trong tài liệu thường bao phủ nhiều hơn một

token Ví dụ, trong tài liệu D ở trên, có một NE gọi là “Ho Chi Minh City” và nó bao phủ

4 token Chúng tôi gọi số token bao phủ bởi một NE là chiều dài của NE đó Một NE có thể có nhiều tên khác (alias) với nhiều chiều dài khác nhau, vì vậy nó có thể có nhiều chiều dài khác nhau trong tài liệu Ngoài ra, những NE thuộc về cùng một lớp thực thể cũng có chiều dài khác nhau trong tài liệu Hãy xem xét các câu truy vấn cụm từ sau để

có thể thấy chiều dài khác nhau của NE làm cho khoảng cách term dựa trên token không còn áp dụng được:

Trang 14

Q1 : “Cultural exhibitions on Saigon City development”

Q2 : “Cultural exhibitions on city development”

Ở truy vấn Q1, các tài liệu trả về phải chứa các term “Cultural”, “exhibitions”,

“on”, “Saigon”, “City”, “development” đứng ngay sát cạnh nhau Ở Q1, “Saigon City” là

một NE có ID là city_123 và nó bao phủ 2 token Ở đây câu truy vấn yêu cầu phải có

term “on” xuất hiện ngay phía trước và term “development” xuất hiện ngay phía sau thực

thể city_123 trong tài liệu Ở tài liệu D, có một cụm từ “Cultural exhibitions on Ho Chi

Minh City development” Bởi vì “Ho Chi Minh City” là một tên khác của “Saigon City”,

cho nên một cách trực quan thì tài liệu D có thể so trùng được với Q1 Tuy nhiên, theo

khoảng cách term dựa trên token ở trên, tài liệu D không được trả về vì nó không thỏa điều kiện về khoảng cách Một cách cụ thể, thực thể city_123 có chiều dài là 2 trong truy vấn Q1 vì vậy khoảng cách giữa term “development” và “on” được yêu cầu là 2 Nhưng

trong tài liệu D, thực thể city_123 có chiều dài là 4, vì vậy khoảng cách giữa term

“development” và “on” là 4, chính sự khác biệt này làm D không thể so trùng được với

Q1 Chúng ta có thể thấy rằng lỗi này là do bởi vì cùng một NE nhưng nó có thể xuất hiện với nhiều tên khác nhau và nhiều chiều dài khác nhau trong truy vấn và tài liệu Mặc dù

NE trong truy vấn và tài liệu có thể so trùng được với nhau (như city_123 ở trên) nhưng

chiều dài của chúng có thể khác nhau và điều này làm cho khoảng cách dựa trên token bị sai lệch

Một ví dụ khác là truy vấn Q2 tìm kiếm tài liệu chứa tất cả các term “Cultural”,

“exhibitions”, “on”, “city”, “development” đứng sát nhau Ở đây “city” là một lớp thực

thể gọi là City Ở Q2, câu truy vấn không đề cập đến một thành phố cụ thể nào nhưng đề cập đến tất cả thực thể có tên thuộc về lớp City Bởi vì “Ho Chi Minh City” là một thực

thể thuộc lớp City cho nên một cách trực quan thì D có thể so trùng với câu truy vấn Q2

Thế nhưng ở Q2 khoảng cách giữa term “development” và “on” là 1 nhưng trong tài liệu

D khoảng cách giữa chúng lại là 4 Vì vậy, nếu theo cách tính khoảng cách dựa trên

token, tài liệu D không thể so trùng được với Q2 Ngoài Thành phố Hồ Chí Minh, còn có rất nhiều thực thể thành phố khác thuộc lớp City và mỗi thành phố trong số chúng có thể

có chiều dài khác nhau Những chiều dài khác nhau của chúng làm cho khoảng cách giữa các term nằm trước và sau chúng cũng khác nhau Vì vậy việc so trùng term không còn

Trang 15

dễ dàng như trong trường hợp so trùng từ khóa thuần Nó phải đối mặt với các khoảng cách động và biến đổi gây ra bởi những thực thể có tên có chiều dài khác nhau

Hai ví dụ trên cho thấy rằng khoảng cách được tính dựa trên token không thể áp dụng cho các câu truy vấn và tài liệu có chứa NE Trong luận án này, chúng tôi không đề xuất một mô hình xếp hạng mới có sử dụng khoảng cách giữa các term nhưng chúng tôi xem xét các khoảng cách động giữa các từ khóa và các thực thể có tên trong truy vấn và tài liệu như đã phân tích ở các ví dụ trên Cho đến nay, theo hiểu biết của chúng tôi, chưa

có hệ thống truy hồi nào có hỗ trợ các câu truy vấn về khoảng cách giữa các từ khóa và các thực thể có tên

Mục tiêu của luận án này là khai thác các đặc tính ontology của thực thể có tên trong tìm kiếm theo khoảng cách, xem xét và phân tích các khoảng cách động giữa các từ khóa và các thực thể có tên, và sau đó phát triển một giải thuật để tính toán các khoảng cách động này Sau khi các khoảng cách được tính ra, bất cứ mô hình xếp hạng nào được

đề cập ở trên đều có thể được áp dụng để xếp hạng các tài liệu được truy hồi Trong [12], chúng tôi đã đề xuất tìm kiếm theo khoảng cách có thực thể có tên trong đó vị trí của các term được cập nhật tĩnh lúc đánh chỉ mục nhưng chưa tiến hành thực nghiệm để đánh giá hiệu quả Trong luận án này, ngoài cách tiếp cận được đề xuất trong [12], chúng tôi còn

đề xuất thêm tìm kiếm theo khoảng cách có thực thể có tên trong đó vị trí của các term được cập nhật động và tiến hành thực nghiệm để đánh giá hiệu quả của các phương pháp này trong việc cải thiện hiệu suất truy hồi dựa trên các độ đo độ chính xác, độ đầy đủ và

độ hài hòa F Dựa trên các nghiên cứu đó, chúng tôi biến đổi thư viện S-Lucene

([4][15][16]) để hiện thực các phương pháp tìm kiếm theo khoảng cách có thực thể có tên của chúng tôi Chi tiết của các phương pháp này sẽ được trình bày chi tiết trong Chương

3 và phần thực nghiệm đánh giá sẽ được chúng tôi trình bày trong Chương 4

1.2 Các công trình liên quan

Trong các mô hình truy hồi hiện tại, các tài liệu được xếp hạng chủ yếu dựa trên nhiều loại đại lượng thống kê như tần số xuất hiện của term trong tài liệu (within-

document term frequency – tf), tần số tài liệu nghịch đảo (inverse document frequency –

idf) và chiều dài của tài liệu Bên cạnh đó, một cách trực quan khoảng cách giữa các term

trong tài liệu cũng có thể được khai thác để làm tăng hiệu quả xếp hạng các tài liệu Tài

Trang 16

liệu nào chứa các term được truy vấn càng gần nhau, tài liệu đó càng có khả năng được xếp hạng cao hơn Nhiều mô hình xếp hạng đã được đề ra kết hợp nội dung của tài liệu và khoảng cách để xếp hạng tài liệu Các mô hình này khác nhau ở cách chúng đo lường khoảng cách và cách chúng kết hợp độ đo khoảng cách vào trong mô hình truy hồi hiện

Nghiên cứu của Keen ([10]) là một trong những cố gắng đầu tiên nghiên cứu về hiệu quả của khoảng cách trong các hệ thống truy hồi, trong đó, một toán tử NEAR được giới thiệu để lượng hóa khoảng cách giữa các term truy vấn Công trình này được phát triển dựa trên mô hình truy hồi Boolean được xem là không hiệu quả bằng các mô hình truy hồi khác như mô hình truy hồi không gian vectơ (Vector Space Model – VSM)

Một vài nghiên cứu khác khai thác khoảng cách đặc biệt dựa trên mô hình truy hồi BM25 ([2][3][19][23][25]) Nghiên cứu ở ([25]) sử dụng cách tiếp cận dựa trên khoảng văn bản (span-based) tức là cách dựa trên chiều dài của một đoạn văn bản (text) chứa tất cả các term trong câu truy vấn để đo lường khoảng cách Ngoài ra, các nghiên cứu trong ([2][3][19][25]) sử dụng cách tiếp cận kết hợp khoảng cách (distance aggregation approach) để đo lường khoảng cách bằng cách kết hợp các khoảng cách của từng cặp term (pair-wise) trong truy vấn Gần đây, Ruihua Song và các đồng nghiệp đã

mở rộng cách tiếp cận dựa trên khoảng văn bản trong đó khái niệm khoảng văn bản (span)

bây giờ không còn cần thiết chứa tất cả các term trong truy vấn và họ gọi nó là khoảng

văn bản mở rộng (expanded span) ([23]) Để kết hợp độ đo khoảng cách vào trong các

mô hình xếp hạng tài liệu hiện có, cách thông thường là kết hợp tuyến tính của độ đo

khoảng cách và độ đo nội dung (ví dụ: tf, idf) ([2][3][19][25]) Một cách tiếp cận khác đề

ra bởi Ruihua Song và các đồng nghiệp là độ đo khoảng cách được gắn thẳng vào trong hàm xếp hạng một cách tự nhiên bằng cách chỉnh sửa hàm xếp hạng đã có ([23])

Một vài nghiên cứu trong lĩnh vực tìm kiếm ngữ nghĩa xem xét khai thác các đặc tính ontology của các thực thể có tên ([4][5][6]) trong truy hồi văn bản Trong [5], các tác giả hiệu chỉnh mô hình không gian vectơ truyền thống với các vectơ trên không gian các định danh của thực thể có tên của cơ sở tri thức được khảo sát Đối với mỗi tài liệu hay mỗi câu truy vấn, các tác giả áp dụng kết hợp tuyến tính của vectơ dựa trên các định danh

NE và vectơ dựa trên từ khóa với hệ số là 0.5 Trong [6], mô hình LRD (Latent Relation Discovery) được đề xuất sử dụng cả từ khóa và thực thể có tên như là các term trong một

Trang 17

không gian vectơ đơn Nội dung chủ yếu của mô hình là nó làm giàu nội dung mô tả của tài liệu bởi các term không có tồn tại nhưng có liên quan đến các term có tồn tại trong tài liệu

[6] chỉ sử dụng tên của thực thể và không khai thác hết các đặc điểm ontology của thực thể có tên Trong [4], các tác giả đã khảo sát sự kết hợp giữa tất cả các đặc tính ontology của thực thể có tên và từ khóa và sự kết hợp này có thể biểu diễn một dạng ngữ nghĩa ở mức cao của tài liệu và truy vấn Ví dụ, với câu truy vấn: tìm kiếm tài liệu về vấn

đề ô nhiễm ở thành phố, những tài liệu trả về không nhất thiết phải chứa từ khóa “city” nhưng có thể chứa một vài thực thể có tên thuộc lớp City ví dụ như thành phố Sài Gòn hay thành phố Đà Nẵng Một ví dụ khác là câu truy vấn tìm kiếm tài liệu về vấn đề ô nhiễm ở thành phố Hồ Chí Minh Ở câu truy vấn này hệ thống của họ có thể trả về tài liệu

về vấn đề ô nhiễm ở thành phố Sài Gòn bởi vì thành phố Sài Gòn là một tên khác của thành phố Hồ Chí Minh Ở hai ví dụ truy vấn này, các hệ thống truy hồi dựa trên từ khóa truyền thống không thể trả lời chính xác bởi vì chúng dựa trên tìm kiếm và so trùng từ khóa đơn giản

Các công trình đã đề cập ở trên chỉ mới xét đến khoảng cách giữa các từ khóa với nhau và chưa xét đến khoảng cách giữa các thực thể có tên và từ khóa Trong thực tế đã

có công trình trong lĩnh vực tìm kiếm chuyên gia (expert search) xem xét đến khoảng cách giữa thực thể và từ khóa ([18]) nhưng mục đích của việc xem xét thêm khoảng cách

là nhằm để xếp hạng chính xác hơn các thực thể được trả về Trong khi đó, trong lĩnh vực truy hồi tài liệu, chính tài liệu là các đối tượng được xếp hạng Cho nên có thể nói nghiên cứu về khoảng cách trong ([18]) không dành cho truy hồi tài liệu

Trang 18

Chương 2: Cơ sở lý thuyết

2.1 Mô hình không gian vectơ dựa trên từ khóa

Trong truy hồi thông tin theo từ khóa, tài liệu dưới góc nhìn luận lý được thể hiện thông qua một tập các từ khóa được trích ra từ nội dung của tài liệu Trong một tập các từ khóa của một tài liệu, các từ khóa có mức độ mô tả tài liệu khác nhau Xem xét một tập với hàng trăm ngàn tài liệu thì việc một từ khóa xuất hiện trong hầu hết các tài liệu này rõ ràng là không thích hợp trong việc dùng nó để mô tả một tài liệu cụ thể nào; một từ khóa như vậy không giúp xác định tài liệu nào mà người dùng thật sự mong muốn Ngược lại một từ khóa chỉ xuất hiện trong năm tài liệu thì khá thích hợp bởi vì nó thu hẹp đáng kể không gian các tài liệu cần được xác định Để định lượng, các từ khóa trong tài liệu được gán một trọng số Lấy k i là một từ khóa, d j là một tài liệu, w,jlà trọng số gán cho cặp )

,

(k i d j Trọng số này định lượng mức độ quan trọng của từ khóa trong việc mô tả nội dung ngữ nghĩa của tài liệu được định nghĩa như sau trong [1]:

Định nghĩa 2.1: Lấy t là tổng số từ khóa trong hệ thống và k là từ khóa K={ i k1 , …, k ) t

là tập tất cả các từ khóa Một trọng số weight w,j > 0 được gán cho mỗi từ khóa k của i

tài liệu d Với một từ khóa không xuất hiện trong tài liệu thì j w,j= 0 Tài liệu d được j

Trang 19

vấn q = ( w 1,q , …, w t q, ) và vectơ tài liệu d = ( j w 1, j , …, w t j, ), với t là tổng số từ khóa

trong bộ lưu trữ

Độ tương tự ngữ nghĩa giữa tài liệu d j và truy vấn q được tính bằng cosin của góc

tạo bởi hai vectơ:

2 2 , ,

1 1

t

i j i q i

Trong đó tf là là hàm theo tần số xuất hiện của từ khóa trong tài liệu và idf

(inverse term frequency) là hàm theo tần số nghịch đảo của tần số xuất hiện của từ khóa trong tất cả các tài liệu được tính theo định nghĩa 2.3

Định nghĩa 2.3: Lấy N là tổng số tài liệu trong hệ thống và n là số tài liệu trong đó từ i

khóa k xuất hiện Lấy i freq,jlà tần số xuất hiện thô của từ khóa k trong tài liệu i d j

(nghĩa là số lần xuất hiện của từ khóa k trong tài liệu i d j ) Giá trị tf được tính như sau:

tf i,j = ,

,max

i j

l l j

freq freq

Nếu từ khóa k không xuất hiện trong tài liệu i d j thì tf i,j = 0

Giá trị idf được tính như sau : idf i = log

i

N n

Đối với trọng số cho từ khóa trong truy vấn, Salton và Buckley đề nghị cách tính như sau:

Trang 20

Ưu điểm chính của mô hình không gian vector là: (1) đơn giản, hiệu suất truy hồi

tốt; (2) việc sử dụng phương pháp tf.idf làm tăng hiệu suất truy hồi; (3) Cho phép xấp xỉ

các điều kiện truy vấn; (4) Phương pháp tính độ tương tự theo cosin cho phép xếp hạng tài liệu theo các mức độ liên quan Về mặt lý thuyết mô hình không gian vector có nhược điểm là đã xem các từ khóa là độc lập với nhau, trọng số của từ khóa này không phụ thuộc vào trọng số của các từ khóa khác

Trong mô hình không gian vectơ, với một truy vấn cho trước, quá trình truy hồi bao gồm hai bước chính là lọc tài liệu và xếp hạng tài liệu Mục đích của bước lọc tài liệu

là giới hạn tập tài liệu cần xếp hạng bằng cách chọn những tài liệu thỏa mãn biểu thức

boolean trong câu truy vấn Ví dụ, với truy vấn k1k2 , D1 và D2 lần lượt là hai tập tài liệu

chứa k1 và k2, ta có D1D2 là tập tài liệu cần tìm Tập tài liệu này được xếp hạng theo độ tương tự với truy vấn theo các công thức trên trước khi trả về cho người dùng

2.2 Mô hình không gian vectơ dựa trên thực thể có tên

Mô hình không gian vectơ dựa trên thực thể có tên (NE VSM) đã được khảo sát trong ([13]) trong đó đưa ra định nghĩa mô hình truy hồi thông tin theo thực thể có tên như định nghĩa 2.4

Định nghĩa 2.4: Cho một bộ ba ( N , C , I ) trong đó N, C và I lần lượt là các tập của

tên, lớp và danh hiệu của thực thể có tên trong bộ lưu trữ

(1) Tài liệu dlà một tập con của (N{*})(C{*})( I {*}), trong đó „*‟ đại diện cho một tên, lớp hay danh hiệu chưa biết của một NE trong tài liệu

d

(2) d được miêu tả bởi bộ bốn vectơ (d , N d , C d NC, d ) trong đó I d , N d , C

NC

d , d lần lượt là các vectơ của tài liệu I d trên N, C, N C và I

Mỗi một vectơ trong bốn vectơ được giới thiệu trên được xem như một vectơ

trong mô hình không gian vectơ truyền thống, trong đó không gian từ khóa được thay

bằng không gian tên, lớp, tên-lớp và danh hiệu của NE

Ta gọi d , K q là một trong các vectơ tài liệu và truy vấn trên Độ tương tự ngữ K

nghĩa cho cặp vectơ d , K q là cosin giữa hai vectơ: K

Trang 21

Để tính trọng số cho các thành phần của vectơ tài liệu và truy vấn trên không gian

K, ta vẫn áp dụng phương pháp tf.idf trong mô hình vectơ cổ điển, trong đó từ khóa được

thay thế bởi tên, lớp, tên-lớp và danh hiệu của các thực thể có tên Tuy nhiên, với các đặc trưng về ngữ nghĩa của NE, có hai yếu tố khác biệt quan trọng trong việc tính toán tần số xuất hiện Đó là các vấn đề về bao phủ lớp (class subsumption) và tên khác:

1 Tần số của tên NE được tính khi xuất hiện cả các tên khác của nó Nghĩa là,

nếu tài liệu chứa NE với một tên khác, ta cũng xem như tên NE xuất hiện

trong tài liệu Ví dụ, nếu tài liệu có NE thành phố Hồ Chí Minh, thì mỗi lần xuất hiện của nó cũng được tính là một lần xuất hiện của thành phố Sài

Gòn, vì Hồ Chí Minh là một tên khác của Sài Gòn, cùng đề cập đến một

NE duy nhất đó là thành phố Sài Gòn ở Việt Nam

2 Tần số của lớp NE được tính khi xuất hiện lớp con của nó Nghĩa là, nếu

tài liệu chứa một NE có lớp là lớp con của một lớp cần tìm thì ta cũng xem

như lớp cần tìm xuất hiện trong tài liệu Ví dụ, nếu tài liệu có NE thành

phố Sài Gòn, thì mỗi xuất hiện của nó cũng được tính như một lần xuất

hiện của lớp Nơi chốn (Location), bởi vì Thành phố là lớp con của lớp Nơi

chốn

Độ tương tự giữa tài liệu d và câu truy vấn q sẽ được định nghĩa như sau:

sim( d , q) = w Nsim ( d , N q ) + w N Csim ( d , C q ) + C

w NCsim ( d NC , q NC )+ w Isim ( d , I q ) I

trong đó, w N + w C + w NC + w I = 1, w K = 0 nếu không tồn tại q trong truy vấn q, với K K

lần lượt là N, C, N C và I Các trọng số w K chưa được gán giá trị xác định Tùy

thuộc vào ứng dụng cụ thể, người sử dụng lựa chọn các giá trị thích hợp nhằm nhấn mạnh vào một đặc trưng cụ thể của NE Ngoài ra, cũng lưu ý rằng việc kết hợp hai vectơ d và N

Trang 22

d không thể thay thế được d NCvì vectơ d NC đề cập đến thực thể có tên với cặp tên-lớp

xác định Đồng thời việc kết hợp giữa I với NC là không cần thiết vì tên và lớp của một NE được dẫn xuất từ một NE cụ thể xác định bởi danh hiệu của nó

Tóm lại, mô hình truy hồi thông tin theo thực thể có tên đã dựa trên mô hình không gian vectơ truyền thống, thay thế từ khóa bởi các đặc trưng của NE, lần lượt là tên, lớp, tên-lớp và danh hiệu; và sử dụng bốn vectơ trên các không gian này để đặc tả một tài liệu hay truy vấn cho quá trình truy hồi thông tin

2.3 Mô hình kết hợp thực thể có tên và từ khóa trên một không gian vectơ chung

Mô hình NE VSM truy hồi thông tin như đã đề cập ở trên chỉ khai thác các đặc trưng của NE mà bỏ qua từ khóa Tuy nhiên ngữ nghĩa của văn bản hay truy vấn không thể được thể hiện trọn vẹn chỉ thông qua NE Với câu truy vấn “ô nhiễm ở thành phố Hồ Chí Minh” thì việc bỏ qua từ khóa “ô nhiễm” mà chỉ truy vấn trên thực thể có tên “thành phố Hồ Chí Minh” đã làm mất đi thông tin quan trọng của từ khóa “ô nhiễm” Hơn nữa, câu truy vấn có thể không chứa một thực thể có tên nào [4] đã đề ra mô hình truy hồi thông tin kết hợp giữa NE và từ khóa trên một không gian vectơ chung (NE+KW) nhằm tận dụng được sức mạnh của từng mô hình riêng rẽ đồng thời bổ trợ các khiếm khuyết của nhau Trong mô hình này, [4] xem từ khóa và NE có vai trò như nhau và là một thành

phần tổng quát trong một không gian vector chung Một tài liệu d được thể hiện bởi một

vectơ trong một không gian tổng quát, trong đó các thành phần vectơ là từ khóa hoặc NE

Đối với truy vấn q, cách tiếp cận cũng hoàn toàn tương tự Độ tương tự giữa tài liệu d và truy vấn q được tính toán theo mô hình không gian vectơ truyền thống Định nghĩa 2.5 là

định nghĩa chính thức của mô hình NE+KW

Định nghĩa 2.5: Gọi t là từ khóa hoặc NE, i w i d, và w i q, lần lượt là trọng số được gán cho cặp (t , i d) và cặp (t , q ) Ta có, vectơ truy vấn i q= (w 1,q , …, w t q, ) và vectơ tài liệu d =

(w 1,d , …, w t d, ), với t là tổng số từ khóa và NE trong bộ lưu trữ

Độ tương tự ngữ nghĩa giữa tài liệu d và truy vấn q được tính bằng cosin của góc

tạo bởi hai vectơ:

Trang 23

2 2 , ,

1 1

t

i d i q i

Để tính trọng số cho các thành phần của vectơ tài liệu và truy vấn, ta vẫn áp dụng

phương pháp tf.idf theo mô hình vectơ cổ điển, trong đó từ khóa và NE có vai trò như

nhau Với NE, mô hình KW+NE cũng áp dụng tên khác và bao phủ lớp như trong mô hình NE VSM trong việc tính toán tần số xuất hiện

Tổng quát, mô hình KW+NE tương tự mô hình không gian vectơ theo từ khóa

truyền thống, từ cách tính độ tương tự theo cosin góc giữa hai vectơ, đến cách tính trọng

số theo tf.idf Một điểm khác ở đây là nó đã mở rộng mô hình cho NE, trong đó NE được đại diện bởi bộ ba đặc trưng <tên, lớp, danh hiệu> Với các đặc trưng này, cách tính tf.idf

có những điều chỉnh phù hợp cho NE

2.4 Tìm kiếm theo khoảng cách dựa trên từ khóa

Tìm kiếm theo khoảng cách tìm kiếm tài liệu có chứa hai hay nhiều term xuất hiện trong một khoảng cách được cho trước trong đó khoảng cách được định nghĩa là số lượng từ (word) hay kí tự nằm giữa các term Ngoài yếu tố khoảng cách, có một vài biến thể yêu cầu thỏa mãn thêm thứ tự của term, trong đó thứ tự của term xuất hiện trong tài liệu phải giống với thứ tự của chúng trong câu truy vấn (Wikipedia2)

Để khai thác khoảng cách trong truy hồi thì việc đầu tiên là cần tính toán được khoảng cách của các term truy vấn xuất hiện trong tài liệu Khi một tài liệu so trùng được với hai term trong câu truy vấn thì khoảng cách chỉ đơn giản là khoảng cách giữa hai term đó Tuy nhiên, trong trường hợp tổng quát, câu truy vấn có thể có nhiều hơn hai term và tài liệu có thể so trùng được với nhiều hơn hai term trong câu truy vấn Bên cạnh

đó, mỗi term truy vấn lại có thể xuất hiện nhiều lần trong tài liệu Vì vậy, một thách thức đặt ra là tạo được một đại lượng đo lường khoảng cách tổng quát có tính đến số lượng biến thiên của term truy vấn có chứa trong tài liệu

Để tính khoảng cách giữa các term, [25] đề ra hai loại tiếp cận Loại thứ nhất là các cách tiếp cận dựa trên khoảng văn bản (span-based) tức là cách dựa trên chiều dài của

2 http://en.wikipedia.org/wiki/Proximity_search_(text)

Trang 24

một đoạn văn bản chứa tất cả các term trong câu truy vấn để đo lường khoảng cách Loại thứ hai là các cách tiếp cận dựa trên tổng hợp khoảng cách (distance aggregation approaches) tức là cách tính khoảng cách bằng cách tổng hợp từng cặp khoảng cách giữa từng hai term một (pair-wise distance) Có thể thấy rằng, loại đầu tiên có tính “toàn cục” hơn vì nó phải tính đến tất cả các term trong câu truy vấn Ngược lại, loại thứ hai có tính

“cục bộ” hơn vì nó có tính đến khoảng cách của từng cặp term một và còn phụ thuộc vào cách tổng hợp khoảng cách lại như thế nào

Phần sau sẽ trình bày một số độ đo khoảng cách theo hai loại tiếp cận trên Tài

liệu d sau đây sẽ được dùng để giải thích các định nghĩa trong phần 2.4 Các định nghĩa

này được tham khảo trong [25]

d = t1 , t2, t1, t3, t5, t4, t2, t3, t4

Một vài độ đo khoảng cách dựa trên khoảng văn bản

Định nghĩa 2.6 (Span): Span ([8]) được định nghĩa là chiều dài của một phân đoạn ngắn

nhất (segment) của tài liệu bao phủ tất cả các term truy vấn xuất hiện trong tài liệu, bao gồm cả các xuất hiện lặp lại

Ví dụ, trong tài liệu d, ta có giá trị span bằng 7 đối với câu truy vấn {t1; t2}

Định nghĩa 2.7 (Min coverage): Min coverage được định nghĩa là chiều dài của phân

đoạn ngắn nhất của tài liệu bao phủ mỗi term truy vấn ít nhất một lần trong tài liệu

Ví dụ, nếu câu truy vấn là {t1, t2}, giá trị Min coverage của nó bằng 2, nhưng nếu câu truy

vấn là {t1, t2, t4}, giá trị Min coverage của nó sẽ là 5 (chiều dài của phân đoạn từ vị trí thứ

2 cho đến vị trí thứ 6)

Một vài độ đo dựa trên tổng hợp khoảng cách

Đầu tiên các cặp term truy vấn có xuất hiện trong tài liệu sẽ được xác định và khoảng cách gần nhất của chúng trong tài liệu cũng được xác định Ví dụ, khi một truy

vấn có ba term khác nhau {t1, t2, t3} và có một tài liệu có chứa cả ba term đó, ta sẽ có

được ba cặp term truy vấn khác nhau đó là: {t1, t2}, {t1, t3}, and {t2, t3} Trong tài liệu ví

dụ d, khoảng cách gần nhất của ba cặp term này đều là 1 bởi vì chúng đều xuất hiện đứng cạnh nhau ở đâu đó trong tài liệu Đặt Dis(t1; t2; D) là khoảng cách gần nhất giữa các vị

Trang 25

trí xuất hiện của term t1 và term t2 trong tài liệu D, ta có định nghĩa các độ đo dựa trên

tổng hợp khoảng cách như sau:

Định nghĩa 2.8 (Minimum pair distance (MinDist)): Minimum pair distance được định

nghĩa là giá trị khoảng cách nhỏ nhất của tất cả các cặp term duy nhất xuất hiện trong tài liệu Một cách hình thức,

MinDist = minq1,q2QD,q1q2{Dis(q1,q2;D)}

Ví dụ, giá trị MinDist của tài liệu ví dụ d đối với câu truy vấn Q = {t1, t2, t3} là 1

Định nghĩa 2.9 (Average pair distance (AveDist)): Average pair distance được định nghĩa

là giá trị khoảng cách trung bình của tất cả các cặp term duy nhất xuất hiện trong tài liệu Một cách hình thức,

AveDist =  1 , 2   , 1  2 ( 1, 2; )

)1(

2

q q D Q q

n n

trong đó n là số lượng term duy nhất có xuất hiện trong tài liệu và trong công thức tính tổng, Dis(q1, q2, D) và Dis(q2, q1; D) chỉ được tính một lần

Ví dụ, giá trị AveDist của tài liệu ví dụ d đối với câu truy vấn Q = {t1, t4, t5} là (1 + 2 + 3)/3 = 2

Định nghĩa 2.10 (Maximum pair distance (MaxDist)): Maximum pair distance được định

nghĩa là giá trị khoảng cách lớn nhất của tất cả cặp term duy nhất xuất hiện trong tài liệu Một cách hình thức,

MaxDist = maxq1,q2QD,q1q2{Dis(q1,q2;D)}

Mô hình truy hồi dựa trên khoảng cách

Cho một hàm đo khoảng cách (Q,D) được định nghĩa trên tài liệu D và truy vấn Q, hàm này có thể là một trong các độ đo đã trình bày ở trên, giá trị truy hồi (retrieval score) dùng để xếp hạng (kí hiệu bởi (Q,D)) được tính dựa trên (Q,D), nghĩa là,

Trang 26

càng gần nhau trong tài liệu càng làm tăng khả năng liên quan của tài liệu đó với truy vấn Giả sử heuristic này được cụ thể hình thức như sau:

Ràng buộc (proximity heuristic): Lấy Q là một truy vấn và D là một tài liệu trong tập tài

liệu Lấy D‟ là một tài liệu tạo ra bởi việc đảo các vị trí của hai term trong D Nếu

mẽ về ngữ nghĩa giữa chúng, vì vậy (Q,D) cần đánh giá cao các trường hợp các term đứng thực sự gần nhau; tuy nhiên, khi khoảng cách lớn, các term được cho là có một sự liên hệ rất yếu về ngữ nghĩa, vì vậy hàm (Q,D) không nên quá nhạy với sự khác biệt

về khoảng cách khi khoảng cách là lớn Giả sử heuristic này được hình thức hóa như sau:

Ràng buộc (Convex curve): Lấy Q là một truy vấn và D1, D2, và D3 là ba tài liệu chỉ khác nhau về thứ tự các term và các phần còn lại đều giống nhau Có nghĩa là, chúng có cùng các term, nhưng thứ tự của các term thì khác nhau trong mỗi tài liệu Nếu (Q,D1) =

 = log(exp((Q,D)))

Hình 2-1: Dạng đường cong của hàm (Q,D)

Trang 27

Tất nhiên sẽ có rất nhiều hàm thỏa mãn các ràng buộc ở trên Vì vậy các nghiên cứu về khoảng cách chủ yếu khác nhau ở độ đo khoảng cách (Q,D) và hàm chuyển đổi sang giá trị truy hồi (Q,D) Sau khi đã xác định (Q,D) ta có thể dùng kết hợp tuyến tính nó với một mô hình truy hồi hiện có Ví dụ như ta có thể kết hợp với mô hình Okapi BM25 model như sau:

R(Q,D) = BM25(Q,D) + (Q,D)

2.5 Đánh chỉ mục và tìm kiếm theo khoảng cách trong Lucene

Lucene3 là một thư viện mã nguồn mở để lưu trữ, đánh chỉ mục, và tìm kiếm tài liệu ([7]) Thực sự, Lucene sử dụng mô hình không gian vectơ (Vector Space Model – VSM) với một sự chỉnh sửa nhỏ trong công thức cosine tính độ tương tự giữa truy vấn và tài liệu Trong Lucene, một term là một chuỗi các kí tự và tần số xuất hiện term được tính dựa trên việc so trùng chính xác chuỗi Phần sau sẽ lần lượt trình bày đánh chỉ mục và

tìm kiếm theo khoảng cách trong Lucene

Đánh chỉ mục trong Lucene

Đánh chỉ mục tài liệu trong Lucene bao gồm ba bước chính Bước đầu tiên, tài liệu sẽ được rút trích text Ở bước thứ hai, văn bản sẽ được phân tích thành các term là những token được phân cách bởi khoảng trắng hay bởi dấu phân cách được định nghĩa bởi người dùng Sau đó, những từ không có ý nghĩa (stop words) được loại bỏ và các từ

sẽ được chuẩn hóa thông qua tác vụ viết thường (lowercase) và đưa về từ gốc (stemming) Bước thứ ba, văn bản sẽ được đánh chỉ mục và ghi xuống tập tin lưu trữ

Ở Lucene, một tài liệu được cấu trúc thành một tập các trường (field) Mỗi trường thể hiện một phần nội dung của tài liệu hay siêu dữ liệu của nó ví dụ như tên tác giả, tựa

đề, chủ đề, và ngày chỉnh sửa Các trường được phân biệt dựa trên tên của chúng Thông thường các trường nội dung của một tài liệu chứa những token của tài liệu đó và là các trường dùng để đánh chỉ mục và tìm kiếm Các trường siêu dữ liệu thường được lưu trữ cùng với các tài liệu nhằm mục đích cung cấp thêm các thông tin về các tài liệu được trả

về Lucene cung cấp bốn kiểu trường khác nhau :

3 http://lucene.apache.org

Trang 28

Keyword: không được phân tích, nhưng được đánh chỉ mục và lưu

trong kho chỉ mục theo đúng nguyên văn Kiểu này thích hợp cho những trường mà giá trị nguyên thủy của nó cần được giữ nguyên hoàn toàn như URL, đường dẫn của file, tên người

UnIndexed: không được phân tích lẫn đánh chỉ mục, nhưng giá trị của

nó vẫn được lưu trong kho chỉ mục Kiểu này thích hợp cho những trường cần được biểu diễn với kết quả tìm kiếm (chẳng hạn như URL), nhưng giá trị của nó không được tìm kiếm một cách trực tiếp

Unstored: Ngược với UnIndexed, trường này được phân tích và đánh

chỉ mục nhưng không được lưu trong kho chỉ mục Kiểu này thích hợp cho việc đánh chỉ mục một khối lượng lớn văn bản mà không cần được truy xuất theo nguyên văn ban đầu, như phần thân của một trang Web

Text: được phân tích và đánh chỉ mục.Việc lưu trường này hay không

phụ thuộc vào nguồn của dữ liệu đầu vào Đây là trường thường được

sử dụng nhất

Để đánh chỉ mục một tập các tài liệu, Lucene sử dụng cấu trúc chỉ mục đảo Cấu trúc chỉ mục đảo bao gồm một danh sách các từ khóa (từ vựng) được sắp xếp theo thứ tự bảng chữ cái (alphabetical order) Mỗi từ khóa được liên kết với một danh sách các tài liệu (posting list) có chứa từ khóa đó Lucene lưu trữ vị trí xuất hiện của mỗi từ khóa trong tài liệu vào một bảng vị trí Việc lưu trữ các vị trí của từ khóa là nhằm để thực thi các câu truy vấn về khoảng cách

Hình 2-2 mô tả cấu trúc file chỉ mục của Lucene Trường có tên là “contents” có

một danh sách các từ khóa (hay term) được sắp xếp theo dạng thứ tự bảng chữ cái tương ứng với trường đó, ví dụ [“barack”, “obama”, ] Ở đây, trong tập tài liệu có hai tài liệu

có chứa term “obama” và IDs của hai tài liệu này lần lượt là 3 và 4 và số lần xuất hiện (raw frequencies) của term “obama” lần lượt là 10 và 2 Mỗi sự xuất hiện của một term

trong tài liệu được liên kết với vị trí xuất hiện của chúng trong một bảng vị trí như được thể hiện trong Hình 2-2

Với cách tổ chức như vậy, việc tìm kiếm các tài liệu có chứa một câu truy vấn cụm từ cụ thể sẽ được thực hiện bằng cách tìm kiếm các tài liệu có chứa tất cả term trong câu truy vấn, sau đó tham khảo đến bảng vị trí để xem xem các vị trí xuất hiện của chúng

Trang 29

có liên tục với nhau hay không Số lần xuất hiện của một term trong mỗi tài liệu và số tài

liệu có chứa term đó được sử dụng để tính các độ đo dựa trên tf và idf trong vectơ thể

hiện tài liệu trong mô hình VSM để xếp hạng các tài liệu được truy hồi

Hình 2-2: Cấu trúc file chỉ mục của Lucene Tìm kiếm theo khoảng cách trong Lucene

Với cấu trúc chỉ mục như trên, Lucene hỗ trợ hiệu quả nhiều dạng tìm kiếm khác nhau như tìm kiếm đơn và đa từ khóa và tìm kiếm theo khoảng cách Lucene sử dụng mô hình Boolean và mô hình VSM trong quá trình tìm kiếm Mô hình Boolean được sử dụng

để lọc lấy ra các tài liệu là câu trả lời của một truy vấn Sau khi lọc ra các tài liệu, để xếp hạng các tài liệu này, Lucene sử dụng mô hình VSM để đo độ tương tự giữa một truy vấn

và một tài liệu Một câu truy vấn đơn từ khóa sẽ được thực thi rất nhanh bởi cấu trúc chỉ mục đảo Lucene định vị từ khóa được truy vấn trong danh sách các từ khóa được xếp theo thứ tự bảng chữ cái, sau đó lấy ra danh sách các tài liệu có chứa từ khóa đó Đối với một câu truy vấn đa từ khóa, Lucene lấy ra danh sách các tài liệu cho mỗi từ khóa được truy vấn và tiến hành trộn các danh sách này lại với nhau dựa trên các toán tử Boolean trong truy vấn Ví dụ, xem xét một câu truy vấn tìm kiếm tất cả tài liệu có chứa từ khóa

“River” và “Mountain” Lucene sẽ lấy giao danh sách tài liệu chứa từ khóa “River” và

Trang 30

danh sách tài liệu chứa từ khóa “Mountain” Quá trình lấy giao sẽ diễn ra rất nhanh bởi vì các danh sách này được sắp xếp theo ID của các tài liệu (xem Hình 2-3) Lucene sử dụng

một danh sách nhảy (skipping list) để tăng tốc việc lấy giao

Hình 2-3: Tìm kiếm đa từ khóa

Lucene cũng có hỗ trợ tìm kiếm theo khoảng cách dựa trên khoảng cách term Tìm kiếm theo khoảng cách với khoảng cách bằng 0 được gọi là tìm kiếm chính xác cụm

từ Khi khoảng cách lớn hơn 0, bên cạnh sự ràng buộc về khoảng cách, tìm kiếm theo khoảng cách có thể còn yêu cầu thỏa mãn thứ tự của các term dựa trên vị trí của chúng trong truy vấn Lucene hỗ trợ tìm kiếm chính xác cụm từ và tìm kiếm với khoảng cách lớn hơn 0 nhưng không yêu cầu thỏa mãn thứ tự của các term Các câu truy vấn của hai dạng tìm kiếm này được Lucene lần lượt gọi là PhraseQuery và SloppyPhraseQuery (sử

dụng thuật ngữ slop để nói về khoảng cách) Trong Lucene, khoảng cách giữa term A và term B trong tài liệu là số bước cần thiết để di chuyển A (hay B) đến đúng vị trí của nó

như cách nó xuất hiện trong câu truy vấn

Ví dụ, cho câu truy vấn q = “A B”, có nghĩa là, B nằm ngay bên phải phía sau A

Giả sử ta có những tài liệu sau trong đó “_” thể hiện một biến ẩn có thể là bất kỳ term nào:

Trang 31

Ở trên, trong tài liệu, A được giữ cố định và B được di chuyển Một cách khác, B

có thể được giữ cố định trong khi A được di chuyển như sau:

d1: “A _ _ _ B _” (tốn 3 bước di chuyển)

d2: “ B _ A _” (tốn 3 bước di chuyển)

Một cách tổng quát, cho một câu truy vấn có n terms {t1,…,t n}, trong một tài liệu,

bất kỳ term t{t1,…,t n} nào đều có thể được giữ cố định và các term còn lại được di chuyển đến đúng vị trí của chúng như cách chúng xuất hiện trong câu truy vấn Khoảng

cách di chuyển của một term t i ứng với term cố định t0 được tính theo công thức sau:

step i = (pd i - pq i ) - (pd0 - pq0) (2.1) trong đó:

pd i : vị trí của term t i trong tài liệu,

pq i : vị trí của term t i trong truy vấn,

pd0 : vị trí của term t0 trong tài liệu,

pq0 : vị trí của term t0 trong truy vấn

Ta có thể thấy rằng:

step i > 0: t i sẽ được di chuyển về phía trái,

step i < 0: t i sẽ được di chuyển về phía phải,

step i = 0: t i sẽ không được di chuyển

Với cách tính khoảng cách di chuyển như vậy, các điều kiện của Lucene để so trùng một

tài liệu d và một truy vấn khoảng cách q như sau:

slop = 0: d so trùng được với q nếu i: step i = 0

slop > 0: d so trùng được với q nếu maxstep ≤ slop,

trong đó maxstep = max 1 ≤ i ≤ n (step i)

Bởi vì có nhiều hơn một cách lựa chọn một term cố định nên giá trị maxstep có

thể khác nhau Đặt ∆i = pd i - pq i là hiệu số giữa các vị trí của term t i trong tài liệu và trong

truy vấn Lucene chọn bất kỳ term t i nào thỏa mãn ∆i = ∆0 = min(∆ i ), trong đó 1 ≤ i ≤ n để làm term cố định để tính giá trị maxstep Sau đó, giá trị step i = ∆i - ∆0 sẽ luôn luôn lớn

hơn hay bằng 0 đối với mỗi term t i , có nghĩa là nếu term t i được di chuyển, nó sẽ được di chuyển về phía trái

Trang 32

Một cách tổng quát, trong Lucene, cho một câu truy vấn khoảng cách q có n terms {t1,…,t n } và slop = s, một tài liệu d so trùng được với q phải chứa ít nhất một tập {t1,…,t n}

và thỏa mãn điều kiện là tồn tại một term t i cố định sao cho bất kỳ term t k (k ≠ i) nào đều được di chuyển về phía trái step k bước để đến đúng vị trí của nó và max(step k ) ≤ s

2.6 Đánh chỉ mục và tìm kiếm theo thực thể có tên

Như đã trình bày ở trên, Lucene hỗ trợ hiệu quả việc đánh chỉ mục và tìm kiếm dựa trên từ khóa Tuy nhiên, đánh chỉ mục và tìm kiếm theo ngữ nghĩa, cụ thể là theo thực thể có tên, đòi hỏi phải mở rộng Lucene Phần này trình bày cách mà các thực thể có tên được đánh chỉ mục cùng với từ khóa để thực hiện tìm kiếm theo thực thể có tên Lucene được mở rộng được gọi là S-Lucene ([4][15][16])

Nhận diện thực thể có tên

<HTML>

<HEAD><TITLE>vn-kim-demo</TITLE></HEAD>

<BODY>Cultural exhibitions on Ho Chi Minh City development and integration

opened in Lam Son park</BODY>

<URL name=“http://vn-kim.hcmut.edu.vn/demo.html”></URL>

<DIR name=“/VNKIM/demo.html”></DIR>

</HTML>

Hình 2-4: Ví dụ một tài liệu HTML

Để tìm kiếm tài liệu dựa trên thực thể có tên, một tài liệu cần phải được chú giải

để nhận diện các thực thể có tên xuất hiện trong tài liệu ([17]) Ở bước này, một hệ thống chú giải được sử dụng để xác định tất cả các thực thể có tên xuất hiện trong tài liệu cùng với các bí danh (alias), lớp (class) và các lớp cha (super-class) của chúng Ở đây chúng tôi sử dụng KIM để làm hệ thống chú giải KIM (Knowledge & Information Management)4 là hệ thống quản lý thông tin và tri thức được phát triển bởi Ontotext Lab Trong hệ thống KIM, ontology chứa các định nghĩa của lớp thực thể, các thuộc tính và các mối quan hệ Thực thể có tên và các mối quan hệ của chúng được lưu trữ trong cơ sở tri thức

4 http://www.ontotext.com/kim

Trang 33

KIM cho phép chú thích ngữ nghĩa của tài liệu, rút trích thông tin, hỗ trợ đánh chỉ mục và truy hồi Thực thể trong KIM được xác định bởi một URI duy nhất, được xem là danh hiệu của nó KIM IE được phát triển dựa trên nền mã nguồn mở GATE (General Architecture for Text Engineering)5, trong đó trung tâm là module nhận diện NE Nhận diện NE trong KIM cũng đạt được thành tựu nhất định, với độ chính xác và độ đầy đủ trung bình lần lượt là 90% và 86%6 Đối với truy hồi thông tin, KIM cung cấp cơ chế đánh chỉ mục và truy hồi theo danh hiệu của thực thể có tên, và được xây dựng trên nền

mã nguồn mở Lucene

<?xml version='1.0' encoding='utf-8'?>

<named-entities url=http://vn-kim.hcmut.edu.vn/demo.html

dir=vnkimAnno/VNKIM/demo.txt description=vn-kim-demo>

<named-entity startOffset=“24” endOffset=“39”>

<name>Ho Chi Minh City</name>

Hình 2-5: Các thực thể có tên được nhận diện

Trong Hình 2-4, tài liệu HTML đơn giản chứa nội dung “Cultural exhibitions on

Ho Chi Minh City development and integration opened in Lam Son park” với các thông

tin về TITLE, URL và đường dẫn của file cache Hình 2-5 trình bày kết quả của việc chú

5 http://gate.ac.uk/

6 http://www.ontotext.com/kim/performance.html

Trang 34

giải tài liệu ví dụ, trong đó Ho Chi Minh City được nhận diện là một thực thể có tên thuộc lớp City, với ID tương ứng là city_123 Các kết quả còn bao gồm sự mở rộng tài liệu với

các bí danh của Ho Chi Minh City, và super-class Location từ cơ sở tri thức và ontology

Đánh chỉ mục dựa trên thực thể có tên và từ khóa

Các đặc tính ontology của thực thể có tên bao gồm tên, lớp cụ thể nhất, và định danh của nó nếu có tồn tại trong cơ sở tri thức được khảo sát Người dùng có thể tìm kiếm các tài liệu dựa trên một hay sự kết hợp của các đặc tính này Để tìm kiếm theo các đặc tính này, các NE term được giới thiệu ngoài các term từ khóa thông thường Cấu trúc

của mỗi NE term là bộ ba (name/class/identifier) Tên, lớp, hay định danh nếu không

được đặc tả sẽ được kí hiệu là “*”

Bảng 2-1: Trường ne+kw

ne+kw “Cultural”, “exhibitions”, “on”, “Ho”,

“Chi”, “Minh”, “City”, “development”,

“and”, “integration”, “opened”, “in”,

“Lam”, “Son”, “park”

“ho chi minh city/*/*”, “*/city/*”,

“ho chi minh city/city/*”,

chỉ mục của tài liệu không chỉ chứa các term từ khóa được phân tích từ tài liệu gốc mà còn chứa thêm các bộ ba NE Một trường gọi là ne+kw sẽ được tạo ra để chứa các term

từ khóa và các bộ ba NE Việc lưu trữ các term này vào trong trường ne+kw bao gồm hai bước Bước đầu tiên, tất cả các term keyword được thêm vào trường Ở bước thứ hai, tất

cả các bộ ba NE được thêm vào Ví dụ, ở tài liệu html được đề cập ở trên (Hình 2-3),

trường ne+kw đầu tiên được thêm vào các term từ khóa “Cultural”, “exhibitions”, “on”,

“Ho”, “Chi”, “Minh”, “City”, “development”, “and”, “integration”, “opened”, “in”,

Trang 35

“Lam”, “Son”, “park” có vị trí lần lượt từ 0 đến 14 Sau đó, nó được thêm vào các bộ ba

NE của Ho Chi Minh City bao gồm “ho chi minh city/*/*”, “*/city/*”, “ho chi minh

city/city/*”, “*/*/city_123”, “saigon/*/*”, “saigon/city/*”, “*/location/*”, “ho chi minh city/location/*”, “saigon/location/*” (xem Bảng 2-1)

Hình 2-6 mô tả cấu trúc file chỉ mục của S-Lucene cho tài liệu html ví dụ ở trên

Trong hình, chỉ có hai trường là kw và ne+kw được thể hiện và tất cả các trường siêu dữ liệu đã bị ẩn đi kw là một trường thuần từ khóa chứa nội dung của tài liệu kw chỉ chứa các term từ khóa ne+kw là một trường dựa trên cả từ khóa và các thực thể có tên Nó

chứa đồng thời cả term từ khóa và term thực thể có tên được sắp xếp theo thứ tự bảng

chữ cái kw được sử dụng cho tìm kiếm thuần từ khóa khi tất cả thực thể có tên được đối

xử như từ khóa thuần

Hình 2-6: Cấu trúc file chỉ mục của S-Lucene

Ngày đăng: 28/01/2021, 15:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Büttcher, S., Clarke, C. L. A. Efficiency vs. Effectiveness in Terabyte-Scale Information Retrieval. In Proceedings of the 14th Text REtrieval Conference (TREC- 2005), 2005 Sách, tạp chí
Tiêu đề: Efficiency vs. Effectiveness in Terabyte-Scale Information Retrieval
[3] Büttcher, S., Clarke, C. L. A., Lushman, B. Term proximity scoring for ad-hoc retrieval on very large text collections. In Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 621–622, 2006 Sách, tạp chí
Tiêu đề: Term proximity scoring for ad-hoc retrieval on very large text collections
[4] Cao, T. H., Le, C. K., Ngo, V. M. Exploring Combinations of Ontological Features and Keywords for Text Retrieval. In Proceedings of the 10th Pacific Rim International Conference on Artificial Intelligence, LNCS, Springer, pp. 603-613, 2008 Sách, tạp chí
Tiêu đề: Exploring Combinations of Ontological Features and Keywords for Text Retrieval
[5] Castells, P., Vallet, D., Fernández, M. An Adaptation of the Vector Space Model for Ontology-Based Information Retrieval. IEEE Transactions of Knowledge and Data Engineering, pp. 261-272, 2006 Sách, tạp chí
Tiêu đề: An Adaptation of the Vector Space Model for Ontology-Based Information Retrieval
[6] Gonỗalves, A., Zhu, J., Song, D., Uren, V., Pacheco, R. LRD: Latent Relation Discovery for Vector Space Expansion and Information Retrieval. In Proceedings of the 7th International Conference on Web-Age Information Management, 2006 Sách, tạp chí
Tiêu đề: LRD: Latent Relation Discovery for Vector Space Expansion and Information Retrieval
[7] Gospodnetic, O., Hatcher, E. foreword by Cutting, D. Lucene In Action. A guide to the Java searrch engine, 2004 Sách, tạp chí
Tiêu đề: Lucene In Action
[8] Hawking, D., Thistlewaite P. Proximity operators - so near and yet so far. In Proceedings of the Fourth Text REtrieval Conference (TREC-4), pp. 131-143, 1995 Sách, tạp chí
Tiêu đề: Proximity operators - so near and yet so far
[9] Hull, D. Using Statistical Testing in the Evaluation of Retrieval Experiments. In Proceedings of the 16th annual international ACM SIGIR conference on Research and development in information retrieval (SIGIR-2003), pp. 329-338, 1993 Sách, tạp chí
Tiêu đề: Using Statistical Testing in the Evaluation of Retrieval Experiments
[10] Keen E. M. Some aspects of proximity searching in text retrieval systems. In Journal of Information Science, pp. 89-98, 1992 Sách, tạp chí
Tiêu đề: Some aspects of proximity searching in text retrieval systems
[11] Le, C. K. Information Retrieval by Named Entity and KeyWord, Master thesis, HCM University of Technology, 2008 Sách, tạp chí
Tiêu đề: Information Retrieval by Named Entity and KeyWord
[12] Le, T.M.V., Cao, T.H., Hoang, S.M., Cho, J. 2011, Ontology-based proximity search. In Proceedings of the 13th International Conference on Information Integration and Web-based Applications &amp; Services (iiWAS 2011, December 5-7, Ho Chi Minh City, Vietnam), pp. 288–291, 2011 Sách, tạp chí
Tiêu đề: Ontology-based proximity search
[13] Ngo, V. M. Information Retrieval by Named Entity, Master thesis, HCM University of Technology, 2006 Sách, tạp chí
Tiêu đề: Information Retrieval by Named Entity
[14] Ngo, V. M., Cao, T. H. Ontology-Based Query Expansion with Latently Related Named Entities for Semantic Text Search. In Advances in Intelligent Information and Database Systems, pp. 41-52, 2010 Sách, tạp chí
Tiêu đề: Ontology-Based Query Expansion with Latently Related Named Entities for Semantic Text Search
[15] Ngo, V.M., Cao, T.H., Le, T.M.V. WordNet-Based Information Retrieval Using Common Hypernyms and Combined Features. In Proceedings of the Fifth International Conference on Intelligent Computing and Information Systems (ICICIS 2011, 30 June - 3 July, Cairo, Egypt), 2011 Sách, tạp chí
Tiêu đề: WordNet-Based Information Retrieval Using Common Hypernyms and Combined Features
[16] Ngo, V.M. &amp; Cao, T.H. &amp; Le, T.M.V. Combining Named Entities with WordNet and Using Query-Oriented Spreading Activation for Semantic Text Search. In Proceedings of the IEEE International Conference on Computing and Communication Sách, tạp chí
Tiêu đề: Combining Named Entities with WordNet and Using Query-Oriented Spreading Activation for Semantic Text Search
[17] Nguyen, V. T. T., Cao, T. H. VN-KIM IE: Automatic extraction of Vietnamese entities on the Web, New Generation Computing Journal, Vol. 25, No. 3, pp. 277-292, 2007 Sách, tạp chí
Tiêu đề: VN-KIM IE: Automatic extraction of Vietnamese entities on the Web
[18] Petkova, D., Croft, W. B. Proximity-based document representation for named entity retrieval. In Proceedings of the Sixteenth ACM Conference on Information and Knowledge Management, pp. 731-740, 2007 Sách, tạp chí
Tiêu đề: Proximity-based document representation for named entity retrieval
[19] Rasolofo, Y., Savoy, J. Term proximity scoring for keyword-based retrieval systems. In Proceedings of the 25th European Conference on Information Retrieval Research (ECIR-2003). LNCS, Springer, vol. 2633, pp. 207–218, 2003 Sách, tạp chí
Tiêu đề: Term proximity scoring for keyword-based retrieval systems
[21] Silverstein, C., Henzinger, M., Marais, H. And Moricz, M.: Analysis of a very large Web search engine query log. ACM SIGIR Forum, Vol. 33, No. 1, pp. 6-12, 1999 Sách, tạp chí
Tiêu đề: Analysis of a very large Web search engine query log
[22] Smucker, M.D., Allan, J., Carterette, B. A comparison of statistical significance tests for information retrieval evaluation Export. In Proceedings of the sixteenth ACM conference on Conference on information and knowledge management (CIKM- 2007), pp. 623-632, 2007 Sách, tạp chí
Tiêu đề: A comparison of statistical significance tests for information retrieval evaluation Export

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

TÀI LIỆU LIÊN QUAN

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

w