Mô hình không gian vector nhiều chiều cho việc xử lý thông tin dựa trên thực thể
có tên (NE) thích nghi với VSM truyền thống dựa trên keyword thông quan không gian
NE. Mỗi tài liệu (query) được đại diện bởi 4 thành phần vector qua 4 không gian của tên
(name), loại (type), cặp tên-loại (name-type) và định danh (identifier) cho phép tìm kiếm
và gom nhóm tài liệu theo những đặc điểm khác nhau của NE. Trọng số của mỗi phần tử
trong vector được tính toán theo công thức tf.idf. Độ tương tự giữa 2 tài liệu được định
nghĩa là khoảng cách giữa 2 vector đại diện. So sánh với những mô hình NE khác, sự cần
thiết của mô hình được giới thiệu là sự khác nhau của những đặc điểm trong thực thể có
tên, sự gộp lại giữa loại và tên là những thứ được tính đến.
43 trang |
Chia sẻ: lylyngoc | Lượt xem: 2768 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tiểu luận Phương pháp luận sáng tạo khoa học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
o cửa lò hình
oval (tăng tính bất đối xứng). Vì hình oval có 2 trục không bằng nhau nên người ta chỉ
cần xoay cạnh nhỏ và đưa qua cửa lò vào bên trong.
Ngoài ra, còn rất nhiều ví dụ thực tế minh họa cho sự vận dụng quy tắc này. Theo
lối suy nghĩ thông thường, người ta thường thích những cấu trúc có bậc đối xứng cao vì
trông có vẻ hài hòa hơn.
Phần 2
PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ - BÀI TOÁN TRONG
TIN HỌC
2.1. Phương pháp trực tiếp
Đặc điểm của cách giải quyết vấn đề này là đều xác định trực tiếp được lời giải
qua một thủ tục tính toán (công thức, hệ thức, định luật,…) hoặc qua các bước căn bản để
có được lời giải. Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ là
thao tác lập trình hay là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang các ngôn ngữ
được sử dụng trong máy tính. Tìm hiểu về phương pháp này chính là tìm hiểu về kỹ thuật
lập trình trên máy tính.
Các nguyên lý áp dụng trong phương pháp trực tiếp :
Nguyên lý 1: Chuyển đổi dữ liệu bài toán thành dữ liệu của chương trình, có
nghĩa là “Dữ liệu của bài tóan sẽ được biểu diễn lại dưới dạng các biến của chương trình
thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”
Nguyên lý 2: Chuyển đổi quá trình tính toán của bài toán thành các cấu trúc
của chương trình, có nghĩa là “Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa
trên ba cấu trúc cơ bản : Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp”.
Nguyên lý 3: Biểu diễn các tính toán chính xác, có nghĩa là “Chương trình tính
toán theo các biểu thức chính xác không đồng nhất với quá trình tính toán chính xác về
mặt hình thức”.
Nguyên lý 4: Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa là
“Mọi quá trình tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác định”.
Nguyên lý 5: Phân chi bài toán ban đầu thành những bài toán nhỏ hơn, có
nghĩa là “Mọi vấn đề-bài toán đều có thể giải quyết bằng cách phân chia thành những
vấn đề - bài toán nhỏ hơn”.
Nguyên lý 6: Biểu diễn các tính toán không tường minh bằng đệ quy, có nghĩa
là “Quá trình đệ quy trong máy tính không đơn giản như các biểu thức quy nạp trong
toán học”.
2.2. Phương pháp gián tiếp
Phương pháp này được sử dụng khi chưa tìm ra lời giải chính xác của vần đề. Đây
cũng chính là cách tiếp cận chủ yếu của loài người từ xưa đến nay. Điểm khác ở đây là
chúng ta đưa ra những giải pháp mang đặc trưng của máy tính, dựa vào sức mạnh tính
toán của máy tính. Tất nhiên, một lời giải trực tiếp bao giờ cũng tốt hơn, nhưng không
phải lúc nào cũng có.
2.2.1. Phương pháp thử sai
Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường dựa
vào 3 nguyên lý sau :
Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê tất cả các trường
hợp có thể xảy ra.
Nguyên lý ngẫu nhiên: Dựa vào việc thử một số khả năng được chọn một cách
ngẫu nhiên. Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào chiến lược chọn ngẫu
nhiên.
Nguyên lý mê cung: Nguyên lý này được áp dụng khi chúng ta không thể biết
được chính xác “hình dạng” lời giải mà phải xây dựng dần lời giải qua từng bước một
giống như tìm đường đi trong mê cung.
Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý sau
Nguyên lý vét cạn toàn bộ: Muốn tìm được cây kim trong đống rơm, hãy lần
lượt rút ra từng cọng rơm cho đến khi rút được cây kim.
Nguyên lý mắt lưới: Lưới bắt cá chỉ bắt được những con cá có kích thước lớn
hơn kích thước mắt lưới.
Nguyên lý giảm độ phức tạp của thử và sai: Thu hẹp trường hợp trước và
trong khi duyệt, đồng thời đơn giản hóa tối đa điều kiện chấp nhận một trường hợp.
Nguyên lý thu gọn không gian tìm kiếm: Loại bỏ những trường hợp hoặc nhóm
trường hợp chắc chắn không dẫn đến lời giải.
Nguyên lý đánh giá nhánh cận: Nhánh có chứa quả phải nặng hơn trọng lượng
của quả.
2.2.2. Phương pháp Heuristic
Phương pháp Heuristic có đặc điểm là đơn giản và gần gủi với cách suy nghĩ của
con người, cho ra được những lời giải đúng trong đa số các trường hợp áp dụng. Các
thuật giải Heuristic được xây dựng dựa trên một số nguyên lý rất đơn giản như: vét cạn
thông minh, tối ưu cục bộ (Greedy), Hướng đích, sắp thứ tự …Để thực hiện tốt phương
pháp Heuristic, chúng ta nên áp dụng các nguyên lý sau:
Nguyên lý leo núi: Muốn leo lên đến đỉnh thì bước sau phải “cao hơn” bước
trước.
Nguyên lý chung : Chọn hướng đi triển vọng nhất trong số những hướng đi đã
biết.
2.2.3. Phương pháp trí tuệ nhân tạo
Phương pháp trí tuệ nhân tạo dựa trên trí thông minh của máy tính. Phương pháp
này, người ta sẽ đưa vào máy trí thông minh nhân tạo giúp máy tính bắt chước một phần
khả năng suy luận như con người, máy tính dựa trên những điều đã được “học“ để tự đưa
ra phương án giải quyết vấn đề.
Sơ đồ mạng tính toán để giải bài toán tam giác
Trong lĩnh vực “máy học” , các hình thức học có thể phân chia như sau :
- Học vẹt
- Học bằng cách chỉ dẫn
- Học bằng qui nạp
- Học bằng tương tự
- Học dựa trên giải thích
- Học dựa trên tình huống
- Khám phá hay học không giám sát
Các kỹ thuật thường được áp dụng trong “máy học” là: khai khoáng dữ liệu, mạng
nơ ron, thuật giải di truyền…
Phần 3
GIẢI PHÁP TỔ CHỨC VÀ XỬ LÝ TÀI LIỆU VĂN BẢN
TIẾNG VIỆT CÓ NGỮ NGHĨA
3.1. Giới thiệu
Như chúng ta đã thấy, đối với người thường xuyên sử dụng máy tính nói chung và
với các nhà nghiên cứu khoa học nói riêng thì việc lưu trữ các tài liệu văn bản dùng cho
mục đích riêng của từng người là rất quan trọng. Sự tăng nhanh về số lượng tài liệu trong
kho lưu trữ đã đặt ra một vấn đề lớn: làm sao quản lý hiệu quả kho tài liệu để hỗ trợ tốt
cho người dùng máy tính trong việc tổ chức và tìm kiếm thông tin văn bản. Nếu việc làm
này được thực hiện bởi người sử dụng, quả thật là khó khăn cho họ vì quản lý lượng dữ
liệu rất lớn cả về số lượng và nội dung không phải là dễ. Điều chúng ta mong muốn ở đây
là làm sao để máy tính có thể xử lý tự động được chúng. Muốn vậy, trước hết máy tính
phải hiểu được thông tin trên các tài liệu văn bản, trong khi các tài liệu của chúng ta là
các văn bản thô mà chỉ con người mới đọc hiểu được
Bài tiểu luận này trình bày ý tưởng về việc nghiên cứu kĩ thuật tổ chức và tìm
kiếm thông tin văn bản có ngữ nghĩa với hi vọng có thể xây dựng một chương trình máy
tính hỗ trợ tốt cho người dùng trong việc quản lý và tìm kiếm thông tin văn bản. Mục 2,
3, 4 trình bày các khái niệm về Conceptual Graph, Ontology, Named-Entity. Mục 5 trình
bày các đề xuất, tìm hiểu về các phương pháp kĩ thuật để xây dựng chương trình dựa trên
các khái niệm trên. Bài toán này được giải quyết dựa trên phương pháp luận “phương
pháp trí tuệ nhân tạo” và các nguyên tắc sáng tạo cơ bản trong nghiên cứu - sáng tọa
khoa học.
3.2. Đồ thị khái niệm (conceptual graph)
Đồ thị khái niệm (conceptual graph) là một dạng biểu diễn tri thức do John
F.Sowa (1984) phát triển là một ngôn ngữ biểu diễn tri thức dựa trên mạng ngữ nghĩa và
đồ thị tồn tại. Khác với nhiều ngôn ngữ dựa trên đồ thị, đồ thị khái niệm có một nền tảng
logic chặt chẽ. Mặt khác, so với nhiều ngôn ngữ hình thức khác, đồ thị khái niệm gần với
ngôn ngữ tự nhiên hơn, tức có thể ánh xạ tương đối thẳng giữa một đồ thị khái niệm và
một câu tiếng Anh chẳng hạn.
Đồ thị khái 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à khái 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 quan hệ khái niệm (conceptual relations). Một đồ thị khái
niệm có thể chứa duy nhất một khái niệm, nhưng nó không thể có những quan hệ khái
niệm không được liên kết. Mỗi khái niệm được vẽ bằng một hình chữ nhật trong đó có
kiểu khái niệm và tham chiếu khái niệm, biểu diễn một thực thể có kiểu và tham chiếu đó.
Mỗi quan hệ được vẽ bằng một hình bầu dục trong đó có kiểu quan hệ, biểu diễn một
quan hệ giữa các thực thể xác định bởi các khái niệm nối với quan hệ đó. Các khái niệm
nối trực tiếp với một quan hệ được gọi là các khái niệm láng giềng của quan hệ đó. Mỗi
cạnh đò thị được gán một con số để định vị khái niệm láng giềng tương ứng, và có thể
được định hướng cho dễ đọc.
Đồ thị khái niệm có khả năng diễn đạt ngữ nghĩa một cách chính xác, dễ hiểu đối
với con người và khả xử lý đối với máy tính. Chính vì vậy, nó thường được dùng như là
một ngôn ngữ trung gian để chuyển đổi giữa ngôn ngữ tự nhiên và những mô hình xử lý
hướng máy tính. Hình 3.1 là ví dụ về đồ thị khái niệm
Hình 3.1: Đồ thị khái niệm
Ví dụ, đồ thị khái niệm ở Hình 3.1 nói rằng “Vân là một sinh viên. Có một môn
học. Khoa học Máy tính là một ngành. Môn học này thuộc ngành Khoa học Máy tính.
Vân học môn này”, hay nói ngắn gọn là “Vân học một môn thuộc ngành Khoa học Máy
tính”. Ở dạng văn bản, các khái niệm và quan hệ có thể được viết trong các dấu ngoặc
vuông và tròn.
Trong ví dụ này, [SINH_VIÊN: Vân], [MÔN_HỌC: *], [NGÀNH: KhMt] là các
khái niệm, còn (HỌC) và (THUỘC) là các quan hệ với HỌC và THUỘC là các kiểu quan
hệ. Các tham chiếu Vân và KhMt của các khái niệm [SINH_VIÊN: Vân] và [NGÀNH:
KhMt] là cac tham chiếu cá thể. Tham chiếu * của khái niệm [MÔN_HỌC: *] là tham
chiếu chung chỉ đến một thực thể không xác định.
Để biểu thị hai khái niệm với tham chiếu chung chỉ đến cùng một thực thể không
xác định, một liên kết đồng tham chiếu được vẽ bằng các nét đứt đoạn nối hai khái niệm.
Ví dụ, đồ thị khái niệm trong Hình 3.2 thêm vào đồ thị trong Hình 3.1 một sự kiện là “Có
một người học cùng môn học như Vân”. Trong ví dụ này, đồ thị khái niệm có thể được vẽ
lại một cách tương ứng về ngữ nghĩa mà không dùng liên kết đồng tham chiếu, bằng cách
gộp hai khái niệm [MÔN_HOC: *] thành một nút. Tuy nhiên, trong trường hợp các khái
SINH_VIÊN: Vân MÔN_HỌC: * NGÀNH: Khoa học Máy tính HỌC THUỘC
1 2 1 2
niệm đồng tham chiếu nằm ở các ngữ cảnh khác nhau, như phủ định chẳng hạn, thì không
thể gộp như vậy. Ngoài ra, ở dạng văn bản, một đồ thị khái niệm có thể được phân rã
thành các đồ thị con chỉ gồm một quan hệ, bằng cách sử dụng các tên biến chung cho các
khái niệm đồng tham chiếu, Ví dụ cho đồ thị khái niệm ở Hình 3.1 là:
[SINH_VIÊN: Vân] → (HỌC) → [MÔN_HỌC: *x]
[MÔN_HỌC: *x] → (THUỘC) → [NGÀNH: KhMt]
Hình 3.2 Một đồ thị khái niệm với liên kết đồng tham chiếu
Giữa các kiểu khái niệm có một quan hệ bán phần là kiểu cha con, như trong cây
phân cấp lớp của các ngôn ngữ hướng đối tượng. Ví dụ, SINH_VIÊN là kiểu con
NGƯỜI. Tương tự, các kiểu quan hệ cũng tạo nên một cây phân cấp. Ví dụ, HỌC là kiểu
con của kiểu quan hệ HÀNH_ĐỘNG. Ngoài ra, mỗi kiểu quan hệ có qui định bậc, tức số
lượng khái niệm láng giềng, và kiểu tương ứng cho từng khái niệm láng giềng, và kiểu
tương ứng cho từng khái niệm láng giềng. Ví dụ, kiểu HỌC có thể qui định bậc là 2, và
khái niệm thứ nhất có kiểu NGƯỜI và khái niệm thứ hai có kiểu MÔN_HỌC. Trong một
đồ thị khái niệm hợp lệ, kiểu của một khái niệm láng giềng với một quan hệ phải là kiểu
con của kiểu khái niệm tương ứng, hoặc là chính nó, đã được qui định cho kiểu của quan
hệ đó.
Như vậy, ngôn ngữ đồ thị khái niệm dựa trên nền tảng là một cây phân cấp các
kiểu khái niệm, một cây phân cấp các kiểu quan hệ, và các ràng buộc về các kiểu khái
niệm có thể tham gia và một kiểu quan hệ. Chúng được gọi chung là bản thểi (ontology)
của ngôn ngữ. Thực chất, mỗi ontology qui định cái gì tồn tại trong thế giới đang xét, đó
là các kiểu khái niệm và kiểu quan hệ được giả sử tồn tại cùng với quan hệ kiểu cha –
kiểu con giữa chúng, và các kiểu quan hệ được phép giữa các kiểu khái niệm. Ví dụ, một
ontology có thể cấm phát biểu “Có một người ăn một cái bàn”, nếu ontology giả sử rằng
quan hệ “ăn” chỉ có giữa động vật và đồ ăn được.
SINH_VIÊN: Vân MÔN_HỌC: * NGÀNH: Khoa học Máy tính HỌC THUỘC
NGƯỜI: * HỌC MÔN_HỌC: *
3.3. Ontology
Trong vài năm gần đây, xuất hiện một lĩnh vực nghiên cứu mới là ontology. Có
một số nguyên nhân đã thôi thúc việc nghiên cứu về ontology: vấn đề biểu diễn tri thức
của trí tuệ nhân tạo (đặc biệt là biểu diễn quan hệ ngữ nghĩa), vấn đề sắp xếp và tìm kiếm
các tài liệu tương tự nhau (đặc biệt là bài toán tìm kiếm trên mạng), vấn đề tìm hình thức
biểu diễn mới cho cơ sở dữ liệu (sự ra đời của cơ sở dữ liệu lai giữa quan hệ và hướng
đối tượng)…Tất cả những vấn đề trên đã dẫn đến việc ra đời lĩnh vực ontology mà mục
tiêu trọng tâm là: phân loại các phạm trù, các khái niệm của tri thức, và biểu diễn mối
liên hệ giữa các phạm trù đó với nhau
3.3.1. Xây dựng ontology
Theo cách dùng thông dụng trong AI, ontology hàm chỉ một quá trình xây dựng,
và tạo thành bởi một tập các từ vựng, và dùng để mô tả một thực tế nào đó; cộng với
những giả định tường minh về nghĩa hàm chỉ của các từ trong tập từ vựng. Tập các giả
định này thường là một dạng lý thuyết logic bậc nhất (first-order logic), còn tập từ vựng
thường là các vị từ (predicate) một ngôi hay hai ngôi; và chúng được gọi tên tương ứng
là: khái niệm và quan hệ.
Trong trường hợp đơn giản nhất, ontology được mô tả như một cấu trúc phân cấp
các khái niệm liên hệ với nhau bởi các quan hệ; trong trường hợp phức tạp hơn, các tiên
đề thích hợp được thêm vào để diễn tả quan hệ giữa các khái niệm cũng như ràng buộc
các diễn dịch có thể có.
3.3.2. Các tiêu chuẩn thiết kế một ontology
Gruber (1995) đưa ra các tiêu chuẩn thiết kế một ontology:
- Tính rõ ràng: ontology phải hiệu quả trong các tiến trình giao tiếp, nghĩa là ngữ
nghĩa của các khái niệm phải rõ ràng và mang tính khách quan. Khi có thể, nên đưa ra
một định nghĩa hoàn chỉnh (một mệnh đề với các điều kiện cần và đủ) hơn là đưa ra một
định nghĩa một phần (chỉ đưa ra các điều kiện cần).
- Tính mạch lạc: ontology phải mạch lạc nghĩa là phải thừa nhận các suy luận
đúng từ các định nghĩa. Nếu một câu được suy luận từ các tiên đề mâu thuẩn với một
định nghĩa thì ontology đó là không mạch lạc (nhất quán).
- Tính có thể mở rộng: cung cấp khả năng định nghĩa các thuật ngữ mới từ tập từ
vựng có sẵn mà không phải xem lại định nghĩa của các từ vựng đã có.
- Tối thiểu hóa các mã hóa: để cho phép chọn lựa nhiều tùy chọn mã hóa khác
nhau.
- Tối thiểu hóa các “cam kết” (commitement): ontology cần khẳng định về thế
giới thực nó mô hình càng ít càng tốt, để cho những người sử dụng ontology quyền tự do
được chuyên biệt hóa ontology.
Trong một số ứng dụng, ontology được dùng như là nguồn tri thức duy nhất (như
là trong ứng dụng dịch máy sử dụng cơ sở tri thức), ontology được sử dụng như là:
- Nguồn hỗ trợ ngôn ngữ giải thích các nghĩa của các từ vựng được ghi nhận trong
bộ từ vựng của một ngôn ngữ nào đó.
- Kết cấu mang nghĩa cho một ngôn ngữ biểu diễn ngữ nghĩa.
- Cung cấp các tri thức dạng heuristic cho các tài nguyên tri thức động như: bộ
phân tích hay sản sinh ngữ nghĩa.
Công việc xây dựng ontology thực tế trông đợi nhiều vào các hỗ trợ từ các khía
cạnh hình thức và triết học của ontology. Trong phần này, chúng ta sẽ đúc kết một danh
sách các mục mà khi thực hành, chúng ta cần được hỗ trợ giải quyết:
Vị thế của ontology so với các dạng tài nguyên khác trong một hệ thống, hay trong
một ứng dụng.
Sự lựa chọn các khái niệm cần biểu diễn
Sự lựa chọn các nội dung cần được gán cho mỗi khái niệm
Sự đánh giá chất lượng ontology sử dụng cả hai mô hình hộp trắng và hộp đen.
Trong một số ứng dụng, ontology được dùng như là nguồn tri thức duy nhất (như
là trong ứng dụng dịch máy sử dụng cơ sở tri thức), ontology được sử dụng như là:
Nguồn hỗ trợ ngôn ngữ giải thích các nghĩa của các từ vựng được ghi nhận trong
bộ nhận trong bộ từ vựng của một ngôn ngữ nào đó.
Kết cấu mang nghĩa cho một ngôn ngữ biểu diễn ngữ nghĩa.
Cung cấp các tri thức dạng heuristic cho các tài nguyên tri thức động như: bộ
phân như: bộ phân tích hay sản sinh ngữ nghĩa.
Điều mà người xây dựng ontology cần lưu tâm là việc chọn những khái niệm và
việc biểu diễn chúng. Một ontology tốt sẽ có độ bao quát cần thiết cũng như độ đồng chất
hợp lý. Độ bao quát phụ thuộc vào lĩnh vực và ứng dụng cụ thể trong lĩnh vực đó, và việc
mà ontology hình thức có thể làm là giúp xác định cách tổ chức cấu trúc phân cấp kinh tế
nhất, hay là cách xác định các nút nào không phải là lá? Onotology hình thức không
những cần đặt ra các tính chất mà một ontology cần phải có mà còn phải đặt ra các tiêu
chuẩn trong quá trình thiết kế và các tiêu chí về độ sâu và độ rộng của ontology..
3.4. Mô hình Named-Entity (thực thể có tên)
3.4.1. Định nghĩa Named-Entity
Named-Entity (NE) đại diện một thực thể riêng lẻ mà liên quan tới tên như người,
tổ chức và vị trí...
Ví dụ:
Đoạn văn sau giới thiệu địa lý của Shenyang:
“Shenyang is located in the first of three Northeast China provinces, in the center
of Liaoning province. It is situated in the inland area of the Liaodong peninsula.
Shenyang is north of the Bohai Sea and southwest of the Changbai mountains.”
Ở đây, Shenyang, Northeast China, Liaoning, Liaodong, Bohai và Changbai là
những thực thể có tên.
Chú ý: sông không phải là 1 thực thể có tên, thành phố không phải là 1 thực thể có
tên. Mà sông Thu Bồn là 1 thực thể có tên, thành phố Nha Trang là 1 thực thể có tên.
3.4.2. Kết cấu của Named-Entity
+ Mỗi NE được nhận dạng và chú giải với “tên, loại” và nếu tồn tại trong cơ sở tri
thức (KB) thì có “định danh”.
Ví dụ:
Với đoạn văn về Shenyang trên, một chú giải đầy đủ của Liaoning có thể là 1 bộ
ba (“Liaoning”, Province, #Province_123) với Province là loại thực thể và
#Province_123 là định danh.
+ Vì sự phức tạp của nội dung và phương pháp nhận dạng, một thực thể có tên đôi
lúc có chú giải không đầy đủ hoặc có nhiều chú giải.
Ví dụ:
Changbai là một ngọn núi trong ngữ cảnh này, tuy nhiên không tồn tại trong KB
nên không có định danh. Trong khi đó, Shenyang được nhận dạng không rõ ràng, có thể
là thành phố hoặc trường đại học.
Tóm lại, một chú giải NE có thể là 1 trong các dạng sau:
- Chỉ có tên: khi loại không được nhận dạng
- Chỉ có tên hoặc loại: khi định danh không được nhận dạng (không có trong KB)
- Có tên, loại và định danh.
Chú ý rằng tên và loại của 1 thực thể được suy ra từ định danh. Dựa vào ontology
và KB, có thêm 1 chú giải cho thực thể có tên, đó là tên–loại
3.4.3. Sự thay đổi mô hình không gian vector truyền thống
Trong mô hình không gian vector (VSM) dựa trên keyword, mỗi tài liệu được đại
diện bởi 1 vector. Thông thường trọng số tương thích tương ứng với từng term trong
vector là một hàm tần số xác suất của term trong tài liệu, gọi là tf và tần số xác suất đảo
ngược của term thông qua tất cả các tài liệu hiện có gọi là idf. Độ tương tự giữa 2 tài liệu
có thể được định nghĩa là khoảng cách giữa 2 vector.
Với term là keyword, VSM truyền thống không thỏa trong tài liệu ngữ nghĩa dùng
thực thể có tên.
Ví dụ: (1) tài liệu bàn về cities; (2) tài liệu bàn về People’s Republic of China; (3)
tài liệu bàn về Shenyang University, (4) tài liệu bàn về Shenyang Red River. Trường hợp
1, tài liệu đích không cần thiết chứa keyword “city” mà chỉ cần một số thực thể có tên có
loại là City. Trường hợp 2, tài liệu đích có lẽ đề cập về People’s Republic of China nhưng
chứa 1 tên khác như “China”; trái lại những tài liệu chứa những thực thể có tên là
“China” nhưng không có ý nghĩa là People’s Republic of China mà có ý nghĩa khác như
China town thì không phải là tài liệu đích. Trường hợp 3, những tài liệu có keyword là
Shenyang nhưng không phải là tài liệu đích mà nó có ý nghĩa khác như Shenyang city
hoặc Shenyang hotel. Trong khi đó, trường hợp 4 tài liệu đích là một định danh chính xác
của thực thể có tên, đó là Red river in Shenyang, không phải ở HaNoi VietNam…
Thay đổi VSM truyền thống cho thực thể có tên (tên, loại, tên-loại, định
danh)
Giả thiết 1: Cho 1 bộ 3 (N, T, I) với N, T và I là tập tương ứng tên, loại, định danh
của thực thể có tên. Lúc đó:
1. Mỗi tài liệu (hoặc query) d được mô hình như là tập con của (N ∪{nil})×
(T∪{nil})×(I∪{nil}), với nil kí hiệu 1 “tên” không xác định, “loại” không xác định,
“định danh” không xác định của thực thể có tên d và
2. d được đại diện bởi bộ 4 (dN, dT, dNT, dI), với dN, dT, dNT, và dI tương ứng là
những vector N, T, N×T và I.
Mỗi vector 4 thành phần ở trên cho 1 tài liệu có thể được định nghĩa như là 1
vector trong mô hình truyền thống tf.idf chỉ với sự khác biệt trong ý nghĩa 1 term. Một
term lúc này chứa 1 tên, 1 loại, 1 cặp tên-loại, 1 định danh của thực thể có tên, thay vì
keyword.
Cho 1 đối tượng vector là dk = (w1d, w2d,…, wmd) với K và m tương ứng đến N,
T, N x T, hoặc I. Trọng số term được suy ra như sau:
Cho N là tổng số tài liệu trong hệ thống, ni là số tài liệu mà term ki xảy ra, và freqid
là tần số thô ki’s (số lần ki xảy ra trong d). Tần số chuẩn hóa của ki trong d được định
nghĩa như sau:
tfid = freqid / maxj {freqjd}
Với maximum được tính toán là tất cả term xảy ra trong d. Nếu ki không xảy ra
trong d, thì tfid = 0.
Phụ thuộc K là N, T, N x T hoặc I, ki xảy ra trong d khi và chỉ khi:
1. K = N, ki là tên và d chứa 1 thực thể có tên mà tên hay kí danh của nó là ki hoặc
2. K = T, ki là loại và d chứa 1 thực thể có tên mà loại là giống nhau hoặc là 1
trường hợp loại con của ki hoặc
3. K = N x T, ki=(n,t) và d chứa 1 thực thể có tên mà tên hay kí danh của nó là n và
loại của nó là giống nhau hoặc là 1 trường hợp loại con của t hoặc
4. K = I, ki là định danh và d chứa 1 thực thể có tên mà định danh của nó là ki.
Trong trường hợp dựa trên keyword, tần số nghịch đảo của tài liệu là ki thì:
idfi = log(N/ ni)
Trong khi tfid là số lượng xuất hiện của ki trong tài liệu cụ thể d, idfi đo độ quan
trọng xuất hiện của ki trong mỗi tài liệu, nếu càng nhiều số lượng tài liệu mà ki xuất hiện
thì mức độ quan trọng của ki càng ít hơn. Vì thế trọng số của ki trong d được tính như sau:
Wid = tfid x idfi
3.5. Đề xuất các giải pháp kĩ thuật
3.5.1. Ontology và cơ sở tri thức
Để có thể xây dựng bộ tài liệu có ngữ nghĩa phục vụ cho quá trình đánh chỉ mục
và truy vấn thì trước hết, tài liệu cần được chú thích ngữ nghĩa. Để biểu diễn một chú
thích ngữ nghĩa cho thực thể trong tài liệu, chúng ta cần phải :
- Một Ontology định nghĩa các lớp thực thể.
- Cơ sở tri thức chứa các thông tin chi tiết về thực thể.
3.5.1.1. Ontology
Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa
cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin. Nó như là khoa
học nghiên cứu những điều tồn tại, và không tồn tại trong thế giới đang xét. Thông
thường Ontology được cấu thành từ các thành phần cơ bản:
Lớp: tập hợp các thực thể có đặc điểm chung trong miền đang xét.
Quan hệ: mối liên hệ giữa các lớp.
Thuộc tính: đặc tính của các lớp thực thể.
Ta có thể xây dựng Ontology theo hướng kết hợp với Ontology của KIM (KIMO),
lấy Ontology của KIM làm cơ sở. Để thực hiện điều này, ta cần phải ánh xạ hợp lý các
khái niệm tiếng Anh với các khái niệm tiếng Việt. Ngoài ra cần bổ sung thêm các thuộc
tính và quan hệ của các thực thể một cách đầy đủ để cho phép các ứng dụng có thể khai
thác hiệu quả cơ sở tri thức.
Ontology bao gồm các lớp thực thể có tên phổ biến như Con_người, Tổ_chức,
Tỉnh, Thành_phố, Huyện, Thị_xã, Tội_phạm, Khoa_học, Xã_hội... (phụ thuộc vào loai
tài liệu mà ta cần quản lý: quản lý hành chính, quản lý tài liệu học tập…), các quan hệ
giữa các lớp thực thể, và các thuộc tính của mỗi lớp thực thể.
Ta cũng phải chú khái đến quan hệ cha con, quan hệ bao phủ của các lớp trong
Ontology để phục vụ cho quá trình đánh chỉ mục và tìm kiếm ngữ nghĩa. Ví dụ khi người
dùng muốn truy vấn tài liệu chứa thực thể thuộc lớp Con_người thì các tài liệu chứa lớp
con của lớp Con_người như lớp Nam, Nữ cũng phải được trả về, điều đó thể hiện đúng
việc tìm kiếm tài liệu theo ngữ nghĩa, đây cũng là một trong những sự khác biệt so với
việc tìm kiếm theo từ khóa.
3.5.1.2. Cơ sơ trí thức
Cơ sở tri thức (Knowledge Base – KB) là những thông tin, tri thức hình thức về
thực thể. Nó là tập hợp thông tin về các sự vật hiện tượng trên thế giới.
Việc xây dựng cơ sở tri thức ta tạo một tập hợp các thực thể có tên phổ biến ở Việt
Nam và trên thế giới (phù hợp với nội dung của tài liệu cần quản lý). Các thực thể này
được phân vào các lớp thực thể, giữa các lớp thực thể có quan hệ với nhau theo mối quan
hệ cha/con, tạo thành một cây phân lớp. Các thực thể này chủ yếu thuộc vào các miền
sau:
+ Con người (các nhà lãnh đạo quốc gia, các giám đốc công ty, các văn nghệ sỹ...)
+ Tổ chức, công ty (các tổ chức xã hội, tổ chức giáo dục, các công ty...)
+ Đơn vị hành chính (các tỉnh, thành phố, quận, huyện, phường, xã ở Việt Nam và
các thành phố lớn trên thế giới)
+ Sông, núi (các sông, núi lớn ở Việt Nam và trên thế giới)
+ Đường (các đường ở TPHCM, Hà Nội, các tỉnh lộ, quốc lộ)
+ Điểm đặc biệt (các di tích lịch sử, danh lam thắng cảnh, khu vui chơi giải trí nổi
tiếng...)
Ta cũng nên xây dựng cơ sở tri thức cho từ hoặc cụm từ bổ nghĩa cho các tên thực
thể xuất hiện trong tài liệu. Có thể xem đây như là các thực thể thuộc lớp Ngữ_liệu, dùng
trong các mẫu nhận dạng thực thể thuộc các lớp khác trong Ontology. Ví dụ, trong “thành
phố Hồ Chí Minh” hay “Chủ tịch tỉnh Vũ Hoàng Hà”, “thành phố” và “Chủ tịch tỉnh” là
ngữ liệu. Ngữ liệu cung cấp cho thành phần rút trích thông tin một số dấu hiệu để nhận
dạng thực thể. Các dấu hiệu này bao gồm các tiền tố, hậu tố và một số thành phần cấu
thành nên tên các thực thể thuộc một lớp nhất định trong cơ sở tri thức. Vì vậy, các đặc
điểm và cách thức viết tên thực thể của từng lớp được nghiên cứu để rút ra các cấu trúc
biểu diễn tên cho lớp thực thể đó.
Cơ sở tri thức cũng cần phải ghi nhớ các bí danh để có thể nhận diện đúng các tên
của thực thể. Các bí danh này có thể chia thành hai nhóm:
+ Nhóm thứ nhất là những biến thể khác nhau của cùng một tên thực thể. Ví dụ
như “Bệnh viện Từ Vũ” hay “Bệnh viện phụ sản Từ Vũ”.
+ Nhóm thứ hai bao gồm tên khác nhau hoàn toàn của cùng một thực thể. Ví dụ
như “Sài Gòn” và “TP. Hồ Chí Minh”.
Chúng ta cần chú khái tới các bí danh này bởi vì trong việc tìm kiếm theo ngữ
nghĩa, khi tìm kiếm tài liệu chứa thực thể có nhiều bí danh thì tất cả các tài liệu chứa các
bí danh này đều phải được trả về. Ví dụ việc tìm kiếm các tài liệu có chứa Thành phố Sài
Gòn thì những tài liệu nào có chứa Thành phố Hồ Chí Minh cũng phải được trả về.
3.5.2. Xây dựng chức năng rút trích thông tin và chú giải ngữ nghĩa
Đâ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
Lucene để hổ trợ trong chức năng này. Tuy nhiên, Lucene chỉ hỗ trợ việc đánh chỉ mục
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.
Ý 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 id
- Đá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 Sesame 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ệ
thống sẽ cung cấp một số mẫu truy vấn thông dụng nhất, ví dụ như “tác giả X ở quốc gia
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 dù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ủ thể
(subject) và khách thể (object). 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, do 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 diệ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 chi tiết hơn. Ví dụ câu truy vấn “thủ đô
của Việt Nam”, thực thể Việt 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:
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 danh 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
có thể phân tích câu để nhận diện thực thể như sau.
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.
Như ta đã thấy, trong câu truy vấn trên có hai thực thể là “thủ 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 Tỉnh 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à tỉnh Đồ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 (identifier – 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.
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 “Thủ_đô” và
có một định danh. Do định danh 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ện” 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”.
Hình dưới đây cho thấy một ví dụ khác:
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 dấu “*”, vì vậy danh 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 dự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 danh 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ú
pháp được gần chính xác nhất. Mặc dù vậy, hướng giải quyết vẫn là tổng quát và có thể
đượ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.
Hình 3.5: Kết quả đồ thị ý niệm mong muốn
Để xây dự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
thực thể không có định danh còn lại mang dấu “*”
+ Tất cả các mối quan hệ đều mới ở dạng từ quan hệ, chưa tương ứng với một
quan hệ nào trong ontology
+ Giá trị chuỗi ban đầu trong câu truy vấn ứng với mỗi thực thể (chính là chuỗi ký
tự trong câu truy vấn đã được chương trình chú giải)
Hình 3.6: Đồ thị ý niệm chưa đầy đủ của câu truy vấn “thủ đô của Việt Nam”
Hình 3.6 cho ta thấy một đồ thị ý niệm chưa đầy đủ biểu diễn cho câu truy vấn
“thủ đô của Việt Nam”. Giá trị chuỗi ban đầu của mỗi thực thể được thể hiện trong cặp
dấu ngoặc đơn. Trong ví dụ trên, giá trị chuỗi ban đầu của thực thể thứ nhất là “thủ đô”,
của thực thể thứ hai là “Việt Nam”. Thông tin duy nhất còn thiếu trên đồ thị ý niệm này
là mối quan hệ thực sự giữa các thực thể. Do đó, mục tiêu của giai đoạn này là biến
những từ quan hệ (trong ví dụ trên là từ “của”) thành các quan hệ cụ thể trong ontology.
3.5.7. Chức năng xây dựng vá phát triển tri thức
Sesame có thể giúp ta quản lý và truy vấn cơ sở tri thức nhưng lại không thích hợp
cho việc xây dựng và phát triển cơ sở tri thức. Hiện nay một phần mềm được dùng phổ
biến cho việc này là Protégé. Tuy nhiên việc sử dụng Protégé có những điểm chưa phù
hợp với hệ thống, ví dụ như: Protégé không kết nối trực tiếp với Sesame nên mọi thao tác
sửa đổi cơ sở tri thức được thực hiện trên Protégé phải được xuất ra tập tin trước khi nạp
lại vào Sesame; Protégé không cho phép truy xuất từng phần của một cơ sở tri thức, nên
không quản lý được các cơ sở tri thức quá lớn. Để khắc phục những nhược điểm trên, ta
sẽ xây dựng một chức năng cho phép người dùng tải về từng phần của cơ sở tri thức để
sửa đổi, sau đó cập nhật lại vào cơ sở tri thức trên Sesame. Điều này cho phép việc chỉnh
sửa cơ sở tri thức có thể được thực hiện cùng lúc bởi nhiều người, đồng thời khắc phục
tình trạng cơ sở tri thức quá lớn không quản lý được.
3.5.8. Phương pháp ghom cụm tài liệu theo thực thể có tên
Gom cụm các tài liệu là quá trình nhóm các tài liệu có sự tương tự với nhau lại
thành cụm. Kết quả của quá trình gom cụm là các phân cụm chứa các tài liệu liên quan
sao cho độ tương tự giữa hai tài liệu bất kỳ trong cùng phân cụm lớn hơn độ tương tự
giữa hai tài liệu ở hai phân cụm khác nhau. Hiện nay, hầu hết các giải thuật gom cụm tài
liệu sử dụng mô hình không gian vector để biểu diễn cho mỗi đối tượng tài liệu. Tập hợp
các thuật ngữ (term) sẽ hình thành một không gian vector thuật ngữ; mỗi tài liệu được
biểu diễn bằng một vector d trong không gian vector này. Tập các vector đại diện cho tập
các tài liệu tạo thành một ma trận thuật ngữ - tài liệu, trong đó mỗi vector là một hàng
của ma trận, mỗi cột của ma trận ứng với một thuật ngữ.
Gom cụm tài liệu là sự phân chia và sắp xếp các tài liệu trong một tập tài liệu ban
đầu vào các nhóm tài liệu nhỏ hơn. Tiêu chí của sự sắp xếp này là: trong mỗi nhóm, các
cặp tài liệu có sự tương quan với nhau ở một mức độ nào đó, ví dụ như độ tương tự giữa
hai tài liệu trong nhóm phải lớn hơn (hoặc khoảng cách nhỏ hơn) một hệ số quy định;
hoặc một tài liệu được xếp vào một nhóm khi khoảng cách của tài liệu đến nhóm đó nhỏ
hơn khoảng cách của tài liệu đến tất cả các nhóm khác (hoặc độ tương tự lớn hơn). Tiêu
chí để xếp các tài liệu vào các nhóm sẽ thay đổi tùy theo giải thuật được sử dụng.
Có hai phương pháp ghom cụ tài liệu phổ biến như: giải thuật K-means cơ bản
(Basic K-means), giải thuật Fuzzy C-means (FCM)
Gom cụm dựa trên cấu trúc cây ontology
Chúng ta tiếp cận theo một hướng khác cho bài toán gom cụm. Thay vì sắp xếp
các tài liệu vào các nhóm trước rồi mới đi tìm hiểu xem các tài liệu trong nhóm đó nói về
cái gì để tạo nhãn cho phân nhóm, thì trong phương pháp này, chúng ta sẽ tìm hiểu xem
tài liệu nói về các gì trước, rồi mới phân bổ các tài liệu này vào các nhóm sau. Các bước
xử lý tài liệu ban đầu gần tương tự như đối với phương pháp không gian vector, đó là
công việc tập hợp các thực thể xuất hiện trong tài liệu.
Theo như đã phân tích ở phần thực tập tốt nghiệp, phương pháp này gom cụm
phân cấp dựa trên lớp thực thể và định danh của thực thể. Tiêu chí chính của phương
pháp gom cụm này là theo thực thể trội, tức là các thực thể xuất hiện nhiều hơn so với các
thực thể khác được chọn làm tiêu chí để sắp xếp tài liệu vào phân nhóm. Như vậy, những
tài liệu có các thực thể trội giống nhau sẽ được xem như là tương tự với nhau, và được
xếp vào chung một nhóm. Việc gom cụm được thực hiện qua hai bước. Bước thứ nhất
gom cụm dựa trên lớp thực thể, và bước thứ hai gom cụm dựa trên định danh của thực
thể.
Phần 4
TỔNG KẾT
Mô hình không gian vector nhiều chiều cho việc xử lý thông tin dựa trên thực thể
có tên (NE) thích nghi với VSM truyền thống dựa trên keyword thông quan không gian
NE. Mỗi tài liệu (query) được đại diện bởi 4 thành phần vector qua 4 không gian của tên
(name), loại (type), cặp tên-loại (name-type) và định danh (identifier) cho phép tìm kiếm
và gom nhóm tài liệu theo những đặc điểm khác nhau của NE. Trọng số của mỗi phần tử
trong vector được tính toán theo công thức tf.idf. Độ tương tự giữa 2 tài liệu được định
nghĩa là khoảng cách giữa 2 vector đại diện. So sánh với những mô hình NE khác, sự cần
thiết của mô hình được giới thiệu là sự khác nhau của những đặc điểm trong thực thể có
tên, sự gộp lại giữa loại và tên là những thứ được tính đến.
Áp dụng mô hình này để gom cụm tài liệu với những thực thể có tên có trong mỗi
tài liệu. Thí nghiệm cho thấy gom cụm dựa trên NE là sự bổ sung cho keyword, đem lại
những gom cụm ý nghĩa và chính xác cho người dùng tùy thuộc vào từng đặc điểm khác
nhau của thực thể có tên. Nó có thể hữu ích cho việc học trên các tài liệu văn bản, nơi có
nhiều chủ đề, khái niệm mà chính là những thực thể có tên.
Việc xây dựng một bộ phân tích tiếng Việt hoàn chỉnh có lẽ là hướng phát triển
tiềm năng nhất của bài toán này. Để làm được việc đó, ngoài việc phát triển một bộ phân
tích cú pháp đầy đủ, ta cũng cần có một phương pháp đủ mạnh để nhận diện chính xác
hơn các thực thể và loại của chúng. Về giải pháp biến đổi đồ thị ý niệm dùng hệ thống
luật, có hai hướng phát triển chính cho vấn đề này: hoặc tiếp tục làm giàu thêm tập luật
để có thể xử lý nhiều hơn; hoặc nghiên cứu một giải pháp khác.
Một vấn đề quan trọng của bài toán gom cụm là tốc độ xử lý trên một số lượng lớn
các tài liệu. Do đó một hướng phát triển của bài toán này là cải thiện hiệu suất của giải
thuật. Ta cũng cần cải tiến giải pháp tạo nhãn cho phân cụm nhằm thể hiện rõ vai trò của
thực thể có tên khi hiển thị các tài liệu. Mô hình không gian vector cần quan tâm nhiều
hơn đến mối quan hệ cha con giữa các thực thể, đặc biệt là thông tin về lớp của thực thể.
Ngoài ra, ta cũng cần nghiên cứu thêm các giải thuật gom cụm khác.
Phân loại tài liệu theo thực thể có tên là một phương pháp hữu ích trong việc tìm
kiếm và quản lý tài liệu, đặc biệt là giải quyết vấn đề tài liệu ngữ nghĩa. Nó cho phép
quản lý tài tốt nguyên học tập trên web đối với những đối tượng liên quan. Tuy nhiên,
trong một số trường hợp tìm kiếm theo keyword vẫn tỏ ra rất hữu ích. Đơn cử một trường
hợp tìm kiếm trên những tài liệu mà số lượng thực thể có tên là rất ít, nội dung của tài
liệu phụ thuộc chủ yếu vào những keyword. Khi đó, phương pháp tìm kiếm phân loại dựa
vào thực thể có tên tỏ ra không hiệu quả. Một phương pháp cải tiến được đề xuất là sử
dụng mô hình vector 5 thành phần với thành phần thứ 5 là keyword. Theo mô hình này,
một term được xem như một vector gồm 5 thành phần: tên, loại, cặp tên – loại, định danh
của thực thể có tên, và keyword. Mô hình này đảm bảo quá trình phân loại tài liệu được
thực hiện dựa trên cả hai tiêu chí là thực thể có tên và keyword. Điều chỉnh tỉ lệ giữa hai
tiêu chí sao cho thích hợp với tập tài liệu sẽ cho ta một kết quả phân loại và tìm kiếm tốt.
Như ta đã thấy bài toán tổ chức lưu trữ và xử lý tài liệu văn bản tiếng việt được
giải quyết bằng phương pháp gián tiếp – phương pháp trí tuệ nhân tạo và sử dụng một số
nguyên tắc sáng tạo như:nguyên tắc kết hợp (thay đổi VSM truyền thống bằng việc kết
hợp thêm thành phần thực thể có tên (tên, loại, tên-loại, định danh)), nguyên tắc phân
nhỏ, nguyên tắc thứ tự…Bài toán không thể giải quyết bằng việc cài đặt các thủ tục, thuật
toán thông thường; những bài toán như thế này có tính khát quát chung cho nhiều trường
hợp và việc cài đặt cho từng trường hợp cụ thể là không thể được. Vì vậy cần nắm bắt
được mô hình, ý tưởng chung của bài toán thông qua các phương pháp giải quyết vấn đề
- bài toán trong tin học và có thể cải tiến chúng phù hợp với mục tiêu cần giải quyết.
Nắm vững phương pháp luận nghiên cứu khoa học là nắm vững lý thuyết về con đường
sáng tạo, giúp người nghiên cứu có cách tiếp cận đúng trong việc thiết kế và thi công
công trình nghiên cứu khoa học, tìm chọn phương pháp nghiên cứu hợp lý để thực hiện
nhiệm vụ nghiên cứu và đạt được mục đích nghiên cứu.
TÀI LIỆU THAM KHẢO
[1]Phan Dũng. Các thủ thuật (nguyên tắc) sáng tạo cơ bản: Phần 1. NXB Đại học Quốc gia
TPHCM, 2007.
[2] PGS.TS Lưu Xuân Mới. Phương pháp luận nghiên cứu khoa học.
[3] Bạch Hưng Khang và Hoàng Kiếm. Giáo trình Trí tuệ nhân tạo, các phương pháp và
ứng dụng. NXB Khoa học kỹ thuật, 1989
[4] Hoàng Kiếm. Giải một bài toán trên máy tính như thế nào, tập 1. Nhà Xuất Bản Giáo
dục, 2000.
[5] Hoàng Kiếm. Giáo trình Công nghệ Tri thức và Ứng dụng. Đại học Quốc gia TPHCM –
Chương trình đào tạo Thạc sĩ CNTTQM, 2004.
[6] Cao Hoàng Trụ. Giáo trình Trí tuệ nhân tạo = Thông minh + Giải thuật. NXB Đại học
Quốc gia TPHCM, 2008.
[7] GS.TSKH. Hoàng Kiếm. Slide: phương pháp nghiên cứu khoa học trong tin học
(Research Methodology in Computer Science).
[8] Hồng Trung Dũng và Trần Hoàng Thao. Luận văn đại học: Tìm kiếm ghom cụm tài liệu
theo thực thể có tên.
[9] Hoàng Minh Sơn và Phạm Thế Nghĩa. Luận văn đại học: Hiện thực hệ thống quản lý và
xử lý các trang web tiếng việt có ngữ nghĩa.
Các file đính kèm theo tài liệu này:
- bia_tieu_luan_3145.pdf