Đây là tập hợp các module có chức năng cập nhập một tài liệu mới, phân tích tìa
liệu để rút trích ra các khối văn bản mang tin tức chính. Từ những khối văn bản đó, module này sẽ tiến hành nhận dạng các thực thể có tên và chú thích ngữ nghĩa cho các
thực thể đó. Kết quả là từ một tài liệu mà chỉ có người mới hiểu được, ta được một tài
liệu giống hoàn toàn về nội dung nhưng đã ẩn chứa những chú thích ngữ nghĩa giúp
chương trình có thê xử lý được.
3.5.3. _ Xây dựng chức năng hỗ trợ cho chức năng tìm kiếm
Bài toán tìm kiếm là một bài toán quen thuộc và ta có thể sử dụng bộ thư viện
và tìm kiếm theo khóa chứ không theo thực thể có tên. Việc xử lý, tìm kiếm và đánh giá trong truy hồi thông tin theo thực thể có tên có nhiều sự khác biệt với truy hồi thông tin theo từ khóa. Một trong những vấn đề đầu tiên là biến việc đánh chỉ mục theo thực thể thành đánh chỉ mục theo từ khóa sao cho nó có thể hỗ trợ tốt những kiểu tìm kiếm có thể
có trên hệ thống truy hồi thông tin theo thực thê có tên. Vì thế ta cần phải cải tiến Lucene sao cho phù hợp với yêu cầu đánh chỉ mục và tìm kiếm theo thực thể có tên là công việc cần thiết.
s. Ý tướng đánh chỉ mục theo thực thể có tên
Để sửa đổi được thư viện Lucene, công việc đầu tiên của chúng ta là phải xem xét
việc đánh chỉ mục tài liệu có ngữ nghĩa theo thực thể. Sau khi quyết định được nên đánh chỉ mục của thực thể có tên như thế nào, chúng ta mới có thể biến đôi thư viện Lucene để
nó hỗ trợ việc đánh chỉ mục được dễ dàng. Đánh chỉ mục là một công việc quan trọng.
Ngoài việc đáp ứng được mọi nhu cầu tìm kiếm có thể theo thực thể có tên, nó còn phải
giúp việc tìm kiếm được thực hiện hiệu quả với thời gian ngắn.
Ta có thể đề xuất một số phương pháp đánh chỉ mục như:
- Đánh chỉ mục theo 1d
- Đánh chỉ mục theo nhiều thông tin: sử dụng bộ ba thành phần class, name, id của thực thể có tên và tổ hợp nó một cách tốt nhất...
3.5.4. Xây dựng chức năng truy hồi thông tin theo thực thể có tên
Từ khái tưởng quản lý tài liệu có ngữ nghĩa ta xây dựng chức năng thực hiện truy vấn trên cơ sở tri thức trong kho các tài liệu có chú thích ngữ nghĩa của chương trình. Đây là một số đề xuất về các cách thức truy vấn:
+ Dùng ngôn ngữ truy vấn của SŠesđme là SeRQL [Error! Reference source not
found.]. Sesame thực chất giống như một hệ quản trị cơ sở dữ liệu tương tự MySQL hay
Oracle; và SeRQL là một ngôn ngữ truy vấn giống như SQL. Sự khác nhau là ở chỗ, Sesame cho phép ta quản lý cơ sở tri thức dựa trên các thực thể và quan hệ giữa chúng.
+ Dùng các mẫu truy vấn đã được xây dựng sẵn (dùng template). Với cách này, hệ
Y”,... Người dùng sẽ chọn một mẫu phù hợp với yêu cầu, sau đó thay các chỗ trống bằng các thực thể cụ thể.
+ Dùng đồ thị khái niệm. Ý tưởng về đồ thị khái niệm đã được nhiều người đề cập
tới trong lĩnh vực biểu diễn tri thức. Trong chương trình quản lý tài liệu có ngữ nghĩa, đồ
thị khái niệm trở thành một công cụ quan trọng bởi vì nó biễu diễn theo một cách thức mà con người có thể hình dung được. Vì thế, ta sẽ xây dựng chức năng cung cấp một giao
diện cho phép người đùng vẽ một đồ thị khái niệm và tiến hành truy vấn trên đó.
Đồ thị khái niệm là một cách biểu diễn hình thức rất gần với ngôn ngữ tự nhiên.
Tuy nhiên, việc chuyền đôi tự động từ một câu ngôn ngữ tự nhiên thành đồ thị khái niệm
lại không hề đơn giản. Trong khi đó, yêu cầu đặt ra cho việc giải quyết bài toán này là phải xây dựng được một đồ thị khái niệm hợp lệ. Điều kiện hợp lệ này là:
+ Tất cả các khái niệm cũng như quan hệ đều phải tồn tại trong ontology của hệ thống.
+ Tất cả các quan hệ đều phải thỏa mãn các ràng buộc về miền của chủ ¿h (subject) và khách thể (objec). Các ràng buộc này cũng đã được định nghĩa trong
ontology.
Điểu này đặt ra một số giới hạn cho câu truy vấn đầu vào như sau:
+ Chỉ có thể truy vấn các khái niệm có trong ontology. Các câu truy vấn có khái niệm không được định nghĩa sẽ không cho kết quả .
+ Chỉ có thể truy vấn các quan hệ có trong ontology và thỏa mãn các ràng buộc. Trong quá trình xử lý, ở một số bước, đo khả năng xử lý bị hạn chế ở một số điểm, nên câu truy vấn cũng vì vậy mà bị giới hạn theo.
Quá trình biến đổi câu truy vấn thành đồ thị khái niệm thực chất chính là quá trình
tìm kiếm các thực thể trong câu truy vấn và xây dựng các mối quan hệ giữa chúng. Vì
vậy, bài toán có thể được giải quyết theo ba bước sau đây:
+ Bước 1: Nhận diện các thực thể và từ quan hệ có trong câu truy vấn
+ Bước 2: Từ các thực thể và từ quan hệ đã nhận điện được, xây dựng khung sườn cho đồ thị khái niệm, nghĩa là phác họa trước đồ thị khái niệm kết quả sẽ có bao nhiêu
khái niệm, bao nhiêu quan hệ, các khái niệm và quan hệ đó liên kết với nhau như thế nào. Sau bước này, ta sẽ có một đồ thị biễu diễn cấu trúc của câu truy vấn.
+ Bước 3: Từ các thông tin đã xây dựng được, bắt đầu điền các khái niệm và quan hệ vào đồ thị khái niệm đã xây dựng ở bước 2.
3.5.5. Xây dựng chức năng nhận diện thực thể có tên và quan hệ
Việc nhận diện thực thẻ, trên lý thuyết có thể được thực hiện dựa trên việc xây
dựng từ điển ngữ liệu. Ngữ liệu là những từ thường đi trước một đối tượng và cho ta biết đối tượng đó thuộc loại gì. Ví dụ những từ như: ông, bà, bác sĩ, tổng thống, ... cho ta biết đối tượng đi sau thuộc lớp con người (ông Nguyễn Văn A, tổng thống Bush, ...). Như vậy, bằng việc xây dựng từ điển ngữ liệu cho tất cả các lớp trong ontology, ta có thể nhận diện được hầu hết các thực thê trong câu truy vấn.
Trên thực tế, một số thực thể trong câu truy vấn không có ngữ liệu để nhận diện,
một số khác có thể đòi hỏi sự nhận diện ở mức chỉ tiết hơn. Ví dụ câu truy vấn “thủ đô
của Việt Nam”, thực thể Việ/ Nam không có ngữ liệu, hơn nữa vì đây là một thực thể tồn tại trong cơ sở tri thức, ta cần nhận diện được cả định danh của nó.
Trong trường hợp này, giải pháp tốt là phải xây dựng một chức năng trong ứng dụng rút trích thông tin và chú giải ngữ nghĩa để nó có thể nhận diện chính xác các thực thể có tên trong một đoạn văn bản tiếng Việt. Tuy nhiên, ta có thể sử dụng thêm phần mềm GATE đề được kết quả chính xác hơn. Ý tưởng giải quyết trong các quá trình xử lý này như sau:
s Xây dựng chức năng nhận diện thực thể Ta cần phải xây dựng cho chức năng của chương:
+ Có một tập ngữ liệu đủ lớn, có thể nhận diện hầu hết các thực thể có tên + Có thê nhận diện một số thực thê không đi kèm ngữ liệu
+ Có thể cung cấp định đanh cho những thực thể nhận diện được
Ví dụ với một câu như sau :“đường Trần Hưng Đạo ở thành phó Hồ Chí Minh”, ta
đường Trần Hưng Đạo ở
thành phô Hỗ Chí Minh me đường Trần Hưng thành phố Hồ Chí Đạo Minh Lớp: . Lớp: Đường_ phô Thành_ phố. Đường_phô_13
Theo cách phân tích này ta thấy nó đã nhận diện được hai thực thể là “đường Trần
Hưng Đạo” và “thành phố Hồ Chí Minh”. Ngoài ra, chức năng này còn cho biết thực thê thứ nhất thuộc lớp Đường _phó, có hai định danh (tương ứng với đường Trần Hưng Đạo ở thành phố Hồ Chí Minh và ở Hà Nội); thực thể thứ hai thuộc lớp Thành_phố và cũng có định danh tương ứng.
Ví dụ với câu “thủ phủ của Đồng Nai”, ta có thể phân tích như sau.
thủ phủ của Đông Nai
Đông Nai CC tap, Tính —) Lớp: Sõng
ÀA «
Như ta đã thấy, trong câu truy vấn trên có hai thực thể là “hở phủ” và “Đông
Nai”, tuy nhiên ta chỉ nhận diện thực thể thứ hai vì thực thể đầu không có tên. Thực thể
Đồng Nai được nhận diện thuộc hai lớp 7# và Sông. Điều này là hợp lý vì trên thực tế, nếu chỉ nói Đồng Nai, ta không thể xác định được đó là /inh Đông Nai hay sông Đồng Nai.
Trong một số trường hợp khác, ta có thể nhận diện được thực thể và lớp của nó,
nhưng lại không nhận diện được định danh (có thê vì thực thể đó không tổn tại trong cơ sở tri thức).
*. Nhận diện thực thế và từ quan hệ nhờ GATE
Việc nhận diện thực thê dựa vào tập ngữ liệu thực chất chính là quá trình tìm kiếm và so trùng. Để thực hiện việc này một cách hiệu quả, chúng tôi đã nhờ đến module Gazetteer của GATE. Chức năng này cho phép ta định nghĩa một tập những từ hoặc cụm
từ cần được so trùng. Những từ này được tổ chức thành nhiều nhóm, mỗi nhóm có một
kiểu chính (majorType) và kiểu phụ (minorType). Khi Gazetteer xử lý một đoạn văn bản,
những từ nằm trong danh sách sẽ được chú thích kèm theo kiểu của nhóm. Dựa vào điều
này, ta sẽ xây dựng tập ngữ liệu như sau: trong ontology hiện tại có khoảng trên 300 lớp,
ứng với mỗi lớp sẽ có một tập các ngữ liệu dùng để nhận diện lớp đó. Như vậy ta sẽ có
khoảng 300 danh sách, mỗi danh sách là một tập tin. Tiếp theo, ta tạo một tập tin làm điểm bắt đầu (còn gọi là tập tin chỉ mục) cho Gazetteer, tập tin này liệt kê tên của tất cả các tập tin chứa danh sách, kèm theo tên của lớp trong ontology mà danh sách này được
dùng để nhận diện.
3.5.6. Đồ thị khái niệm
Như đã trình bày ở phần trước, thành phần đảm nhận nhiệm vụ tìm kiếm thực thể
và tài liệu của hệ thống là một module đã được xây dựng từ trước. Module này là một thành phần chính của chức năng đã được đề cập tới trong phần trên. Nó hiện đang hỗ trợ ba cách truy vấn: câu SeRQL, đồ thị khái niệm và mẫu câu có sẵn. So với định nghĩa ban
đầu của Sowa, ta có thê phát triển đồ thị khái niệm trong chức năng bổ sung thêm một số thuộc tính như sau:
+ Tất cả các khái niệm và quan hệ đều phải thuộc một miền xác định trước. Miền
xác định này chính là ontology của toàn bộ hệ thống.
+ Mỗi khái niệm được xác định bởi hai yếu tố: lớp và định danh (ideniifier — ID). Mọi khái niệm đều thuộc một lớp nhất định trong ontology, nhưng có thê có hoặc không có định danh. Trong trường hợp này, định danh có thể được mang hai giá trị là “?” hoặc ¬
+ Một đồ thị khái niệm là hợp lệ nếu tất cả các quan hệ đều thỏa mãn các ràng
buộc về miền của chủ thể và khách thể. Các ràng buộc này cũng được định nghĩa trong ontology.
Thủ_đô : Hà Nội Hình 3.3: Minh họa về Đồ thị khái niệm
Hình 3.3 cho thấy một ví dụ minh họa về đồ thị khái niệm .Đồ thị khái niệm trên
có hai khái niệm và một quan hệ. Các liên kết được đánh số 1 chỉ mối liên hệ với chủ thể, còn các liên kết được đánh số 2 chỉ mối liên hệ với khách thể. Trong ví dụ này, khách thể có nhãn là “Thủ đô : Hà Nội”. Nhãn này cho biết, khái niệm này thuộc lớp “7 đô” và có một định danh. Do định đanh thường dài và không gợi nhớ nên hệ thống đã chọn tên
của đối tượng ứng với định danh đó làm nhãn cho khái niệm này. Trong trường hợp trên, tên được chọn làm nhãn là “Hà Nội”. Còn khái niệm làm chủ thê trong quan hệ trên có nhãn là “Huyện : ?”. Khái niệm này thuộc lớp “Huyệ» ” nhưng không có định danh. Dấu chấm hỏi cho biết đây là khái niệm được truy vấn. Trong trường hợp ta không quan tâm
đến kết quả truy vấn của đối tượng đó, dấu “?” sẽ được thay bằng dấu “*”. Ở ví dụ trên,
câu truy vấn có thể được hiểu là “tìm tất cả những huyện được định vị ở thủ đô Hà Nội”.
Trường_ đại học : ? 1 ? Thành_phố_cấp _một : *
^
Z ⁄
⁄⁄
7“ Quốc _gia : Viết Nam
Hình 3.4: Minh họa về Đồ thị khái niệm
Câu truy vấn trên được hiểu là “tìm tất cả các trường đại học tại một thành phố cấp một của nước Việt Nam”. Khái niệm thành phố cấp một trong câu truy vấn trên được
đánh đấu “*”, vì vậy đanh sách những thành phố thỏa mãn điều kiện sẽ không được hệ thống trả về sau khi truy vấn.
3.5.6.1. Đề xuất giải pháp xây dựng khung sườn cho đồ thị khái niệm
Khi ta đã có một số thực thể và từ quan hệ, vấn đề đặt ra là làm sao phác họa được
khung sườn cho đồ thị ý niệm, tức là xác định được thực thể nào quan hệ với thực thể nào bằng từ quan hệ gì. Lấy ví dụ hai câu truy vấn sau:
“thành phố ở Việt Nam có sân bay” “thủ đô của một quốc gia ở châu Á”
Với hai câu truy vấn này, đồ thị ý niệm kết quả mà ta mong muốn sẽ có dạng như trong hình 3.5.
Như ta đã thấy, trong hai câu truy vấn trên, hai từ quan hệ “cớ” (câu thứ nhất) và “ở” (câu thứ hai) có vị trí tương đồng nhau, thế nhưng một cái lại liên kết với thực thể ở đầu câu, cái còn lại liên kết với thực thê thứ hai. Vì thế vấn đề đặt ra là xác định chính xác các liên kết trong câu truy vấn.
Để giải quyết vấn đề này, chúng ta cần xây dựng một bộ văn phạm hoàn chỉnh cho
tiếng Việt. Hiện nay, một bộ văn phạm hoàn chỉnh như mong muốn là chưa xây đựng được. Tuy nhiên, xét trong giới hạn ứng dụng của hệ thống chỉ là những mẫu câu (phần lớn là cụm đanh từ), chúng tôi đã áp dụng một số thủ thuật giúp xây dựng bộ phân tích cú
được thay thế bằng một bộ phân tích cú pháp hoàn chỉnh một khi văn phạm đầy đủ đã được xây dựng xong.
Thành _phố : ?
Quốc _gia : Việt Nam
La “ _— _—*“ Vùng _đĩa_lý_lớn : châu Á
Hình 3.5: Kết quả đồ thị ý niệm mong muốn
Để xây đựng được khung sườn cho đồ thị khái niệm ta phải xây dựng thêm các
chức năng : xây dựng văn phạm, xác định loại của thực thể.
3.5.6.2. Xây dựng đồ thị khái niệm hoàn chỉnh dựa trên tập luật
Sau khi đã xây dựng được khung sườn cho đồ thị ý niệm kết quả ở bước thứ hai, ta
đã có được một số đồ thị ý niệm chưa đầy đủ biểu diễn cho câu truy vấn. Tại bước này, ta
sẽ điền những thông tin còn thiếu vào những đồ thị ý niệm đó, đồng thời có thể điều chỉnh lại khung sườn nếu cần thiết.
Những thông tin mà ta có được trên những đồ thị ý niệm chưa đầy đủ này là:
+ Tắt cả các thực thể đều thuộc một lớp trong ontology
+ Một số thực thể có định danh
+ Những thực thể không có định danh cần truy vấn được mang dấu “?”, những