Tiểu luận Phương pháp luận sáng tạo khoa học

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.

pdf43 trang | Chia sẻ: lylyngoc | Lượt xem: 2768 | Lượt tải: 1download
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:

  • pdfbia_tieu_luan_3145.pdf