Tóm tắt Ngày nay, việc tìm kiếm thông tin phục vụ cho công việc, học tập là rất cần thiết, đặc biệt là trong lĩnh vực giáo dục. Một sinh viên đi du học muốn tìm kiếm thông tin về những người Việt Nam làm tiến sĩ ở nước đó, hay muốn tìm kiếm thông tin về những người có cùng hướng nghiên cứu với mình… Chúng ta có thể sử dụng những công cụ tìm kiếm như Google, Yahoo search, hoặc qua những mối quan hệ, nhưng đều cho những kết quả với độ chính xác không cao và chưa đầy đủ thông tin. Vì vậy việc đưa ra một công cụ tìm kiếm thông tin về những người Việt Nam làm tiến sĩ ở nước ngoài là rất hữu ích. Có rất nhiều cách tiếp cận khác nhau để giải quyết bài toán, trong báo cáo đồ án thực tập tốt nghiệp này sẽ đề cập đến việc xây dựng một Ontology – Cơ sở tri thức về những người Việt Nam làm tiến sĩ ở nước ngoài, sau đó biểu diễn cơ sở tri thức này như một mạng xã hội . Cách tiếp cận này không ngoài mục đích tìm kiếm và chia sẽ thông tin một cách dễ dàng mà còn hướng tới một công nghệ Web của tương lai đó là Web 3.0 hay còn gọi là Web ngữ nghĩa.
Lời cảm ơn Trước tiên em xin cảm ơn Tiến sĩ Lê Thanh Hương đã tận tình hướng dẫn em trong quá trình làm đồ án thực tập tốt nghiệp này. Em cũng xin cảm ơn các thầy cô giáo trong bộ môn đã tạo điều kiện cho em được thực tập tại phòng lab. Cảm ơn các bạn đã làm cùng trong đợt thực tập tốt nghiệp đã đóng góp ý kiến để tôi hoàn thành đồ án tốt hơn.
1
Mục lục 1. Giới thiệu bài toán.................................................................................3 2. Tiếp cận để giải quyết bài toán.............................................................3 3. Kiến trúc hệ thống.................................................................................5 3.1 Kiến trúc Module tạo Ontology từ tập các tài liệu Web................................7 3.1.1 Phase 1: Trích rút term...........................................................................7 3.1.2 Phase 2: Dịch ngữ nghĩa........................................................................8 3.1.3 Phase 3: Tích hợp Ontology.................................................................13 3.2 Thiết kế hệ thống cho phép truy cập dữ liệu từ Ontology đã xây dựng.....13
4. Các kĩ thuật và công nghệ sử dụng...................................................13 4.1 Giới thiệu về Ontology................................................................................13 4.1.1 Cơ sở tri thức và cơ sở dữ liệu............................................................14 4.1.2 Ngôn ngữ xây dựng và triển khai Ontology.........................................14 4.2 Mạng xã hội.................................................................................................16 4.3 Ontology và mạng xã hội............................................................................17 4.4 Ontology Learning từ các loại văn bản.......................................................17 4.4.1 Định nghĩa Ontology Learning .............................................................17 4.4.2 Ontology Learning ‘Layer Cake’...........................................................18
5. Tổng kết và hướng làm việc trong tương lai....................................31 6. Tham khảo............................................................................................31
2
1. Giới thiệu bài toán. Bài toán đặt ra là tìm kiếm thông tin về những người Việt Nam làm tiến sĩ ở nước ngoài. Ta sẽ chia ra thành các modun ứng với đề tài thực tập của nhóm. Modun thứ nhất: Từ những trang web tìm thấy được nhờ việc tìm kiếm trên google hay yahoosearch, chúng ta phải giải quyết vấn đề là làm sao để biết đó là đúng là những trang web để ta trích rút ra những thông tin. Sau khi giải quyết bài toán này xong chúng ta sẽ có được một tập các trang web liên quan đến những người cần lấy thông tin. Modun thứ hai: Bài toán đặt ra tiếp theo là khi có được một tập những trang web đó làm thế nào để trích rút được đúng và đủ những thông tin về một người. Sau khi giải quyết xong bài toán này ta lại có được một tập những thông tin về những người làm tiến sĩ. Nhưng đến đây vẫn chưa đủ, thông tin của mỗi người viết theo một cách khác nhau, sẽ xảy ra trường hợp là hai người cùng đề cập đến một vấn đề nhưng cách viết lại khác nhau làm sao để chúng ta có thể gộp được những thông tin này làm một. Đây chính là vấn đề ngữ nghĩa của những thông tin thu thập được. Giải quyết được vấn đề này chúng ta sẽ có được một cơ sở tri thức( bao gồm cơ sở dữ liệu của những người và mối quan hệ của những người đó). Modun thứ ba: Vấn đề tiếp theo là biều diễn thông tin phục vụ cho việc truy vấn được dễ dàng hơn. Có nhiều cách biểu diễn thông tin như: biểu diễn nó thành một mạng xã hội của những người Việt Nam làm tiến sĩ ở nước ngoài, hay làm ứng dụng xử lí câu truy vấn là ngôn ngữ tự nhiên, hay tạo ra được web ngữ nghĩa.
2. Tiếp cận để giải quyết bài toán. Với Modun thứ nhất ta sẽ dùng các kĩ thuật như Textmining modun này Tuấn Anh sẽ trình bày rõ hơn trong báo cáo. Bài toán thứ hai chính là bài toán trích rút thông tin, với đầu vào là một tập trang web chứa thông tin về những người làm tiến sĩ. Có khá nhiều cách tiếp cận để giải quyết bài toán này như dùng cách so mẫu trong những câu viết trong các trang web tức là việc phân tích cú pháp của một câu nếu giống với mẫu câu đã có thì sẽ phân tích được các thành phần trong câu đó để đưa ra thông tin. Cách tiếp cận nữa là cách tiếp cận xác suất. Để giải quyết bài toán này, báo cáo sẽ đưa ra các kĩ thuật để trích rút thông tin, ứng với mỗi loại thông tin chúng ta sẽ áp dụng những phương pháp khác nhau. Kĩ thuật sử dụng là Text To Ontology, báo cáo cũng đưa ra mô hình kiến trúc của ứng dụng sẽ xây dựng. Việc sử dụng Ontology ở đây là rất phù hợp cho bài toán này vì Ontology cho phép mô hình hóa các đối tượng và định nghĩa được các ràng buộc giữa các đối tượng. Mặt khác Ontology cũng như một cây phân cấp các đối tượng, điều này rất tiện lợi 3
cho việc gom nhóm các đối tượng phục vụ cho việc truy vấn. Một điều thuận lợi nữa khi sử dụng Ontology sẽ được nói đến khi giải quyết bài toán thứ ba sau. Bài toán thứ ba, biểu diễn thông tin phục vụ cho việc truy vấn cơ sở tri thức dễ dàng hơn. Vì khi xây dựng nên một Ontology cùng với dữ liệu là ta đã có được một cơ sở tri thức về một miền lĩnh vực, bao gồm các thực thể, mối quan hệ giữa các thực thể đó, còn mạng xã hội tập chung vào việc khai thác các mối quan hệ, ở đây chủ yếu là các mối quan hệ xã hội đây chính là một lợi điểm nữa khi xây dựng ứng dụng Ontology.
4
3. Kiến trúc hệ thống. Trích rút term Trích rút các Term Corpus .html, . htm, .txt
Xử lí ngôn ngữ tự nhiên Lọc các Term
Dịch ngữ nghĩa Dịch ngữ nghĩa các Term Máy học quy nạp
WordNet Xác định quan hệ phân cấp và tương tự Nguồn từ vựng khác Xác định mối quan hệ khác
Rừng khái niệm
Tích hợp Ontology Tích hợp và cập nhật Ontology
Ontology
Hình 1: Kiến trúc Module tạo Ontology từ tập các tài liệu Web.
5
Database
Ontologies
RD
RDQL Queries Convert to RDF
RD
Convert to Text
User Query Interface
Hình 2: Thiết kế hệ thống cho phép truy cập dữ liệu từ Ontology đã xây dựng
6
Mô tả kiến trúc hệ thống.
3.1 Kiến trúc Module tạo Ontology từ tập các tài liệu Web. Hình 1 là kiến trúc của Module tạo Ontology từ tập các tài liệu web(OntoLearn). Có ba phases chính: Đầu tiên những term trong lĩnh vực được trích rút từ những tài liệu, có thể là những trang web, có thể là từ những tài liệu liên quan. Những term đó được lọc sử dụng xử lí ngôn ngữ tự nhiên và kĩ thuật xác suất. Phase thứ hai: các terms sau khi lọc được dịch nghĩa và sắp xếp theo thứ tự vào cây phân cấp, từ đó tạo nên cây khái niệm về lĩnh vực. Phase thứ ba: Cây phân cấp khái niệm dùng để cập nhật Ontology đã xây dựng.
3.1.1 Phase 1: Trích rút term Term là tập các từ hay các cụm từ diễn đạt một nghĩa đơn trong một lĩnh vực. Những term được trích rút nhờ xử lí ngôn ngữ tự nhiên, phân tích cú pháp của cụm danh từ một cách hợp lí, ví dụ trong tiếng anh thì thường sẽ có cấu trúc: từ ghép (Credit Cart), tính từ- cụm danh từ (Local Information Office), giới từ- cụm danh từ (Board of Director). Tiếp theo là lọc những term đúng sử dụng các phương thức thống kê. Đó là liên quan lĩnh vực (Domain Relevance) và sự tương ứng trong lĩnh vực (Domain Consensus) sẽ được mô tả kĩ hơn sau đây. Tần suất xuất hiện của term trong các văn bản là điều dễ nhận thấy nhất khi phân tích. Đo lường tính cụ thể của những term trong lĩnh vực đích thông qua việc phân tích so sánh qua những lĩnh vực khác. Chính xác hơn, ta có n lĩnh vực {D1, D2. … Dn} và tập các tài liệu liên quan, mối liên quan lĩnh vực của term t trong lớp Dk được tính bằng:
Trong đó xác suất điều kiện P(t|Dk) được tính:
Với f –t, k là tần suất của term t trong lĩnh vực Dk. Chúng ta cũng cần đánh giá độ phân tán sử dụng của những term, có những term có tần suất xuất hiện cao ở một tài liệu những lại hoàn thoàn không xuất hiện ở những tài liệu khác. Chỉ số DC sẽ đánh giá việc sử dụng phân tán của từ trong một lĩnh vực. Sự phân tán của term t trong tài liệu d thuộc lĩnh vực Dk. Entropy nó được thể hiện trong bậc tương ứng của t trong Dk với công thức:
7
Trong đó:
Những term được lọc nhờ sử dụng cả hai chỉ số. Với mỗi term thì trọng số của nó sẽ được đánh giá bằng chỉ số TW.
Chỉ số α và β được cho trong khoảng (0, 1). Thường thì lấy α = 0.9 và β khoảng 0.25 đến 0.35 nếu số tài liệu thu thập được là lớn.
3.1.2 Phase 2: Dịch ngữ nghĩa Một tập các terrms được chấp nhận sau phase 1 sẽ được đưa vào một cây gọi là cây từ vựng. Giống như:
Nếu không có việc phân tích ngữ nghĩa thì Transport Sevice sẽ không có liên quan gì đến Pubic Trasport Service. Dịch ngữ nghĩa là việc xử lí xác định khái niệm đúng cho mỗi thành phần của những term phức tạp. Sau đó xác định mối quan hệ ngữ nghĩa của chúng để tạo nên nghĩa của term phức tạp. Ví dụ như Bus Service là sự kết hợp của hai khái niệm Bus và Servie, hai khái niệm này đã được định nghĩa duy nhất (sử dụng Wordnet ). Khi đó mối quan hệ ngữ nghĩa của hai khái niệm xác định rằng: Có một dịch vụ có kiểu công việc(service) thực hiện thông qua (thiết bị) đó là bus cái mà có cùng kiểu với public transport. Từ đó sẽ có mối quan hệ giữa bus service và pubilc transport service. 8
Phương thức dịch nghĩa này có thể thực hiện được nếu như nghĩa của các khái niệm được thông qua nghĩa của các thành phần con trong nó. Nhưng thực sự điều này là không thể, hơn nữa một vài thành phần khái niệm có thể không nằm trong Ontology ban đầu. Trong trường hợp này thì phải thực hiện bằng cách khác. Thuật toán đó gọi là: structural semantic interconnection được sử dụng để học luật và gán nhán cho những cặp khái niệm có mối quan hệ ngữ nghĩa.
3.1.2.1 Structural semantic interconnection OntoLearn là một công cụ để mở rộng cũng như cắt bớt Ontology sử dụng chung. WordNet sẽ được sử dụng như một bảng kê các term và các khái niệm. Để thêm được một khái niệm mới dưới một hyperonym trong Ontology đã tồn tại thì phải hiểu cấu trúc của nó. Đưa cho term là một đa từ có nghĩa trong cây từ vựng T. w1 là cú pháp đầu của t. Quá trình suy diễn cấu trúc kết hợp với những từ đơn nghĩa wk của WordNet . Nghĩa của t sẽ được cấu tạo :
Với Synsets(wk) là tập những nghĩa được cung cấp bởi WordNet cho từ wk. Ví dụ:
Quan hệ cấu trúc ngữ nghĩa là một kiểu nhận dạng mẫu cấu trúc. Có hai cách biểu diễn cấu trúc đó là dùng Vector hoặc dùng đồ thị ví dụ biểu diễn coach theo nghĩa thứ 5 trong WordNet là “a vehicle carrying many passengers; used for public transport”
Đồ thị này gọi là đồ thì ngữ nghĩa (Semantic Graph) được xây dựng nhờ WordNet. Thuật toán SSI. Thuật toán SSI là cách tiếp cận lặp lại cơ sở tri thức để ghép các từ thành một nghĩa. Các vấn đề được chia ra như sau: • t là một term • T( ngữ cảnh của t) tập những term chứa t • I là biểu diễn cấu trúc của T (the semantic context). •
cụ thể cấu trúc của những nghĩa có thể của t
9
(semantic graphs). • G is a văn phạm mô tả quan hệ cấu trúc (semantic interconnections) giữa những đối tượng được phân tích. • Xác định tốt nhất cấu trúc của I giống với một trong những S nào nhất •
trong sử dụng G. Chọn kết quả tốt nhất.
10
Thuật toán:
11
3.1.2.2 Tạo cây phân cấp trong lĩnh vực. Khi dùng thuật toán SSI có thể tất cả các term trong cây từ vựng đều được ghép nghĩa. Sau đó chúng ta phải làm như sau: Phân cụm khái niệm: Mõi khái niệm được chia vào một cụm khái niệm duy nhất dựa trên cơ sở sự giống nhau, sự đồng nghĩa … (ví dụ., manor house and manorial house, expert guide and skilled guide, bus service and coach service); chú ý là tìm mối quan hệ giữa các khái niệm chứ không phải là các từ. Ví dụ, bus#1 và coach#5 là đồng nghĩa, nhưng mối quan hệ này không được gắn cho từ bus và từ coach. Cấu trúc phân cấp: Phân cấp thông tin trong WordNet là để thay thế mối quan hệ ngữ nghĩa kind-of. Ví dụ: e.g., ferry service kind-of boat service) Cụ thể hơn về các phương pháp tạo cây phân cấp sẽ nói rõ hơn ở phần lí thuyết về các kĩ thuật sử dụng.
3.1.2.3 Thêm mối quan hệ giữa các khái niệm Để thêm được mối quan hệ giữa các khái niệm ta phải giải quyết: Lựa chọn bảng tóm tắt các mối quan hệ thích hợp. Học kiểu mẫu mô hình quan hệ, cái mà giữ mối quan hệ giữa cặp các khái niệm. Áp dụng mô hình cho liên quan ngữ nghĩa này cho các thành phần của khái niệm phức tạp. Vì mục đích của chúng ta là tạo nên được cây phân cấp khái niệm nên sẽ không tập chung vào phần này.
3.1.3 Phase 3: Tích hợp Ontology Cập nhật vào những Ontology đã tồn tại như WordNet hay các nguồn từ vựng mà chúng ta đã sử dụng. Phần này cũng chưa cần thiết và cho giai đoạn này nên không tập chung nghiên cứu.
3.2 Thiết kế hệ thống cho phép truy cập dữ liệu từ Ontology đã xây dựng. Ở giai đoạn thực tập này chỉ nghiên cứu cách tạo ra Ontology – Kết quả của Module thứ hai để giải quyết bài toán đặt ra ban đầu. Để phát triển thêm ta sẽ nghiên cứu thêm để hệ thống cho phép tự động chuyển đồi dữ liệu từ Database – Kết quả của việc giải quyết bài toán của Lương Ngọc Đức, đó là bài toán Trích rút thông tin nhưng dùng những công cụ phức tạp hơn và trích rút được nhiều thông tin hơn. Việc tích hợp này sẽ làm cho hệ thống linh động hơn và dữ liệu sẽ được lọc kĩ hơn. Còn phần truy vấn cơ sở tri thức có thể đưa ra các hướng khác nhau để khai thác cơ sở tri thức. Có thể viết ứng dụng xử lí câu truy vấn tự nhiên hoặc có thể mô hình hóa thành mạng xã hội. Câu truy vấn vào các file Owl hoặc RDF dựa trên các ngôn ngữ nhưng điển hình nhất là Ngôn ngữ truy vấn SPARQL: SELECT ?terrorists WHERE (?terrorists,
,) USING rdf for , rdfs for , events for , people for , locations for , organisations for , owl for http://www.w3.org/2002/07/owl#
4. Các kĩ thuật và công nghệ sử dụng. 4.1 Giới thiệu về Ontology Các cách tiếp cận xử lí thông tin – Cách tiếp cận thống kê – Cách tiếp cận mô tả tri thức Cách tiếp cận thống kê: Dựa vào sự lặp đi lặp lại của dữ liệu để đưa ra những luật hay những quy tắc. Khi có một dữ liệu mới thì sẽ áp dụng những luật đã có để suy ra kết quả. •
13
Cách tiếp cận mô tả tri thức: Mô tả cấu trúc của những thông tin sẽ được xử lí. Dữ liệu trông sẽ như thế nào. Khi có một dữ liệu mới thì sẽ so sánh cấu trúc dữ liệu của nó rồi đưa ra kết luận • Ưu và nhược điểm của hai cách tiếp cận – Cách tiếp cận thống kê: Học được nhiều hơn, nhưng mức độ chính xác của việc xử lí dữ liệu sẽ thấp hơn. Dư thừa thông tin, sự nhập nhằng, cần sự lặp lại của thông tin nhiều lần mới phát hiện ra luật. – Cách tiếp cận mô tả tri thức: Việc đưa ra được một kết luận hay việc xử lí cho dữ liệu sẽ chính xác hơn. Khái niệm: Ontology là một đặc tả khái niệm, ở đó bao gồm một tập các đối tượng, khái niệm và các thực thể tồn tại trong một vài miền ứng dụng và có mối quan hệ với nhau. Mục đích: Cung cấp chia sẽ những hiểu biết về một lĩnh vực cho cả máy tính và con người. Các thành phần: bao gồm những thành phần logic của cơ sở tri thức đó là các luật và những mô tả hình thức về một lĩnh vực. Các thành phần được suy ra từ: – Cơ sở dữ liệu – Suy ra từ máy – Từ các trang web hay các tài liệu liên quan đến lĩnh vực đó. Ví dụ: thành phần ontology tri thức cơ sở gia đình có thể nói rằng: mẹ là một người, người mà có ít nhất 2 con. Dữ liệu thật được lấy từ trong Database có chứa thông tin rằng: Âu cơ có 100 con. Dựa trên cơ sở thực tế và định nghĩa hình thức về mẹ. Cơ sở tri thức sẽ suy ra rằng Âu cơ là một người mẹ. 4.1.1 Cơ sở tri thức và cơ sở dữ liệu Sự khác nhau căn bản giữa cơ sở tri thức và cơ sở dữ liệu là: Cơ sở tri thức có những cơ chế suy diễn. Do đó cơ sở tri thức có thể suy ra những dữ liệu mới từ những dữ liệu đã có nhờ những luật. Quan niệm về một thế giới mở: Thông tin nếu không tồn tại trong cơ sở tri thức thì không có nghĩa không tồn tại. Còn đối với CSDL thì nếu không thấy nghĩa là không có. 4.1.2 Ngôn ngữ xây dựng và triển khai Ontology Ontology là giả định hình thức về một miền cụ thể -> cần một ngôn ngữ logic hình thức để mô tả nó. – Logic vị từ trình tự đầu tiên(first-order predicate logic (FOL)) – XML- RDF ví dụ như RDFS( RDF Schemas) hoặc OWL (Ontology Web Language).
14
Ở đây ta sẽ dùng mô hình dữ liệu RDF là một đồ thị bao gồm các nút và các cạnh. Nút tương ứng với một đối tượng và cạnh tương ứng với thuộc tính. Nhãn trên mỗi nút hay cạnh là 1 URI(Uniform Resource Identifiers) a) Các cách biểu diễn thông tin “The author of a document is Paul” “Paul is the author of a document” “A document is authored by Paul” “The author of a document is Paul” Trong XML sẽ biểu diễn: <document href = http://doc_url author = “Paul”/> http://doc_url Paul <document> Paul http://doc_url b) Mô hình dữ liệu RDF Có 3 thành phần chính cấu tạo nên : • Resource: chứa URI chỉ định danh tới một đối tượng duy nhất • Property: mối quan hệ hay là các thuộc tính • Statement: tài nguyên + tính chất+ giá trị
15
Sẽ được biểu diễn như sau trong RDF : Pinar’s Ontology Presentation Pinar Oezden [email protected] Mặc dù RDF có thể tích hợp được khối lượng rất lớn dữ liệu nhưng bị thiếu đi các luật, cái cho phép chúng ta suy ra được kết luận từ những dữ liệu này. Do đó OWL – Ontology Web Language đã được phát triển để cung cấp cho tầng logic. Nó cho phép viết thêm các luật và định nghĩa các thuộc tính ngược nhau(Disjoin)
4.2 Mạng xã hội Social Network: là một mô hình trong đó có các node là con người, tổ chức, thực thể… và mối quan hệ giữa chúng với nhau.
16
Social Network Analysis(SNA) : Sắp xếp và đánh giá mối quan hệ giữa người, tổ chức, các thông tin, các thực thể. Mối quan hệ trong mạng xã hội có thể là: – Người với người: là mẹ của, là vợ của, là xếp của, … – Người với tổ chức: người sáng lập của, kiểm sóat … Mối quan hệ giữa các thực thể, sự kiện,.. Trong mạng xã hội là không rõ ràng nếu nhìn vào mạng xã hội. Việc phân tích sẽ khám phá được những mối quan hệ ẩn. Tại sao phải mô hình hóa mạng xã hội? Giữa những thực thể, sự kiện, và nơi diễn ra có mối quan hệ với nhau nhưng nếu không mô hình hóa thì ngay khi nhìn vào ta khó mà phát hiện ra được những mối quan hệ đó. Ví dụ: Ngọc Đức roommateOf Minh Tú Minh Tú isMemberOf UniGroup Minh Tú meetingAt Café Xanh Ngọc Hương traveledTo Café Xanh Bởi việc mô hình hóa mạng xã hội sẽ cho ta thấy được các quan hệ mà ngay khi nhìn vào ta không thấy được đó là Ngọc Đức isRelatedTo UniGroup, UniGroup isRelatedTo Café Xanh.
4.3 Ontology và mạng xã hội Mô hình hóa mạng xã hội bằng ontology vì những lí do: Ontology được phát triển để cụ thể hóa và giải thích những khái niệm hay những mối quan hệ liên quan đến một lĩnh vực. Mạng xã hội có cùng mục đích nhưng tập chung vào quan hệ xã hội và thực thể Ontology với cơ chế suy diễn cho phép thu được thông tin qua việc triển khai luật để đưa ra những tri thức. Cơ chế suy diễn sẽ rất tiện lợi thông qua mạng xã hội dựa trên Ontology để đưa ra đươc những mối quan hệ mới hay những khái niệm vượt ra khỏi những thứ đã tồn tại trong mạng.
4.4 Ontology Learning từ các loại văn bản 4.4.1 Định nghĩa Ontology Learning Ontology Learning: Là ứng dụng bao gồm một tập các phương thức và các kĩ thuật để xây dựng nên Ontology từ những trang hỗn tạp.
17
Sử dụng những nguồn thông tin và tri thức phân tán và hỗn tạp. Cho phép giảm thời gian và công sức khi phát triển Ontology. Có thể học Ontology từ: Nguồn không có cấu trúc: Bao gồm các kĩ thuật xử lí ngôn ngữ tự nhiên, phân tích cú pháp và hình thái… Nguồn bán cấu trúc: suy ra một ontology từ nguồn có cấu trúc được định nghĩa từ trước ví dụ XML Schema Dữ liệu có cấu trúc: Trích rút khái niệm và mối quan hệ từ tri thức chứa trong dữ liệu có cấu trúc như Database. 4.4.2 Ontology Learning ‘Layer Cake’
Ontology Learning ‘Layer Cake’ Axioms & Rules
∀x, y (sufferFrom(x, y) → ill(x))
Relations
cure (domain:Doctor, range:Disease) is_a (Doctor, Person) Disease:=
Taxonomy (Concept hierarchies) Concepts
{disease, illness}
Synonyms
disease, illness, hospital
Terms
4.4.2.1 Trích rút các Term Term là nền tảng cho xử lí việc học để tạo nên Ontology. Trích rút term bao gồm: Xử lí ngôn ngữ ◊ gán nhãn từ loại, những phân tích hình thái, vv... Xử lí thống kê ◊ so sánh độ phân tán của những thuật ngữ có trong tập những văn bản. Gán nhãn từ loại trên những tài liệu trong lĩnh vực.
18
Xác định những Term có thể bởi việc xây dựng nên những mẫu ví dụ: Tính từ- Danh từ, danh từ - danh từ, tính từ - danh từ - danh từ… Xác định duy nhất những từ liên quan đến Term bời việc áp dụng ma trận xác suất các thuật ngữ. Huge Selection of Top Brand Computer Terminals Available for Immediate Delivery. Because Vecmar carries such a large inventory of high-quality computer terminals, including: ADDS terminals, Boundless terminals, DEC terminals, HP terminals, IBM terminals, LINK terminals, NCR terminals and Wyse terminals, your order can often ship same day. Every computer terminal shipped to you is protected with careful packing, including thick boxes. All of our shipping options - including international are available through major carriers.
– Những từ hay cụm từ được trích rút: computer terminal computer terminal ? high-quality computer terminal ? top brand computer terminal ? HP terminal, DEC terminal, … Các phương pháp trích rút các cụm thuật ngữ: 1. Phương pháp ngôn ngữ: Xây dựng nên những luật dựa trên phân tích ngôn ngữ Phân tích ngôn ngữ - gán nhãn từ loại, phân tích hình thái… Dùng các mẫu: Tính từ - Danh từ, Danh từ - Danh từ, Tính từ - Danh từ - Danh từ Những tên được lờ đi: DEC, HP … 2. Phương pháp thống kê: Phân tích sự đồng xuất hiện của một từ trong một cụm văn bản. So sánh tần suất giữa lĩnh vực và những tài liệu chung. Ví dụ: Computer Terminal chắc chắn trong lĩnh vực Computer, còn Rice sẽ ít xuất hiện hơn trong lĩnh vực Computer. 3. Sự kết hợp của hai phương pháp: Những luật ngôn ngữ để tìm ra những thuật ngữ Dùng thống kê để sắp xếp cũng như lọc những thuật ngữ
19
Ví dụ về phân tích ngôn ngữ [[He SUBJ] [booked PRED] [[this] [table HEAD]NP:DOBJ:X1]…]… [[It SUBJ:X1] [was PRED] still available…] [[He SUBJ] [booked PRED] [[this] [table HEAD] NP:DOBJ]S] [[the SPEC] [large MOD] [table HEAD] NP] [[the] [large] [table] NP] [[in] [the] [corner] PP] [work~ing V] [table N:ARTIFACT] [table N:furniture] [table] [2005-06-01] [John Smith]
Discourse Analysis Dependency Structure (S) Dependency Structure (Phrases) Phrase Recognition
Morphological Analysis (stemming) Part of Speech & Semantic Tagging Tokenization (incl. Named-Entity Rec.)
Phân tích xác suất: có các chỉ số sau: MI (Mutual Information) – phân tích sự đồng xuất hiện TFIDF – trọng số thuật ngữ
tf(w): tần suất thuật ngữ, là số từ xuất hiện trong một tài liệu. Chỉ số này càng cao thì từ đó càng quan trọng. df(w): Số tài liệu chứa thuật ngữ, chỉ số này càng bé thì từ đó càng quan trọng. N: Tổng số tài liệu sử dụng. tfIdf(w): Liên quan đến mức độ quan trọng của từ trong tài liệu. χ2 (Chi-square) – phân tích sự đồng xuất hiện và trọng số của thuật ngữ
20
4.4.2.2 Phát hiện từ đồng nghĩa Bước tiếp theo của Ontology learning là xác định những thuật ngữ có cùng ngữ nghĩa, hoặc cùng chỉ tới một khái niệm. Đồng nghĩa trong một ngôn ngữ: o terminal – video display – input device o graphics terminal - video display unit – screen Đồng nghĩa trong các ngôn ngữ khác nhau: o input device (English) – Eingabegerät (German) o Back to English: input device, input unit, signal conditioning device o video display unit (English) – Videosichtgerät (German) Đối với những từ đồng nghĩa trong một ngôn ngữ ta sử dụng các kỹ thuật: Phân loại: Phân loại các từ vào trong các lớp xác định, có thể kế thừa từ WordNet. Gom nhóm: Gom nhóm theo sự sắp xếp giống nhau giữa các từ bởi việc đánh giá sự đồng xuất hiện của các từ. Đối với những ngôn ngữ khác nhau; Sử dụng các cặp đôi tài liệu đi song song với nhau, 4.4.2.3 Concepts: Intension, Extension, Lexicon Bộ ba kí hiệu:
Dựa trên nghiên cứu cấu trúc ngôn ngữ:
21
Một thuật ngữ có thể biểu diễn khái niệm nếu ta định nghĩa nó. Intension: định nghĩa hình thức về một tập các đối tượng mà khái niệm đó mô tả. Một bệnh là một sự sút kém về sức khỏe hoặc dối loạn chức năng. Extension: Tập các thể hiện cái mà khái niệm này mô tả. Cúm, ung thư phổi, đau tim… Lexical Realizations: Bản thân sự đồng nghĩa của từ đó trong một ngôn ngữ và các ngôn ngữ khác nhau. disease, illness, Krankheit, maladie, … Concepts: Intension Trích rút khái niệm từ văn bản. – Định nghĩa không trang trọng: • Chú thích các khái niệm được sử dụng trong WordNet. ‘Integration Strategy’ : “strategy for the integration of …” – Định nghĩa trang trọng: • Cấu trúc logíc xác định tất cả ràng buộc trên lớp thành viên. Concepts: Extension Trích rút thể hiện của khái niệm từ văn bản: – Thường trỏ tới một mẫu Ontology. – Liên quan tới đánh dấu tri thức (Semantic Metadata) – Sử dụng Named-Entity Recognition và Information Extraction – Một thể hiện có thể là: : • Tên của đối tượng ví dụ: Person, Organization, Country, City, … • Thể hiện của một sự kiện (Với thể hiện của những người tham gia và thuộc tính), ví dụ: Football Match (with Teams, Players, Officials, ...) Disease (with Patient-Name, Symptoms, Date, …) Concepts: Lexicon Trích rút từ đồng nghĩa và thông dịch cho một khái niệm từ văn bản.
22
4.4.2.4 Taxonomy Taxonomy tập các bảng từ vựng, thuật ngữ được tổ chức trong một cây phân cấp. 1. Các phương pháp cở bản:
Sử dụng WordNet Mẫu ngôn ngữ Từ điển máy Phân tích sự đồng xuất hiện Tiếp cận ngôn ngữ Sử dụng WordNet Đưa hai thuật ngữ t1 và t2, kiểm tra xem hai từ đó có liên quan đến nhau trong Wordnet không. Senses(t) số nghĩa của t
- Có 4 từ liên kết từ những từ đồng nghĩa của ‘country’ và ‘region’ - ‘country’ có 5 senses Giá trị isa (country, region) = 0.8
23
Lexico-syntactic patterns – Hearst Mục đích: thu được mối quan hệ hyponym từ văn bản
Sử dụng tập các mẫu được định nghĩa trước: • Tần suất xảy ra trong nhiều loại văn bản • Xác định các mối quan hệ • Hầu như không nhận ra được nếu không có trong những mẫu đã định nghĩa. Độ chính xác đối với Wordnet: 55,45% NPo such as {NP1, NP2,…, (and | or)} NPn Vehicles such as cars, trucks and bikes….’ is-a truc k
vehicle is-a
is-a car
bike
such NP as {NP,} * { (or | and) } NP ‘Such fruits as oranges, nectarines or apples…’ is-a orang e
fruit is-a
is-a apple
nectarin
NP {, NP} * { , } { or | and } other NP Swimming, running, or/and other activities…’ is-a runnin
activit
swim
NP { , } including {NP, } * { or | and } NP 24
‘Injuries, including broken bones, wounds and bruises…’ injury
is-a
is-a
broken bone
wound
is-a bruise
NP { , } especially {NP, } * { or | and } NP ‘Publications, especially papers and books…’ publication is-a p aper
is-a book
Từ điển máy có thể đọc Dùng phổ biến từ thập kỉ 80. Ý tưởng chính: Khai thác những mục từ trong từ điển để tìm những
từ đồng nghĩa phù hợp cho những từ đã định nghĩa. Ví dụ:
spring “the season between winter and summer and in which
leaves and flow
is_a (spring, season)
Phân tích sự đồng xuất hiện Term x xếp gộp Term y nếu P(x | y)≥ 1, trong đó
n(x,y) ◊ số tài liệu x và y cùng xuất hiện n(y) ◊ Số tài liệu chứa y Tốt nhất nên đưa ra một cách kết hợp giữa các phương pháp trên: 25
2. Cách tiếp cận khác để tạo ra cây phân cấp:
Xây dựng cây phân cấp tự động hoặc bán tự động cho những thuật ngữ đã có. Nút trung gian có thể được tạo hoặc không tùy theo phương thức học để tạo cây.
Có nhiều nghiên cứu về học cây phân cấp, đưa ra một vài cách như sau: Phương pháp Đầu vào và những đặc trưng Mẫu cú pháp Mẫu cú pháp từ vựng từ vựng cho những tài liệu Mẫu cú pháp từ vựng để định nghĩa Phân tích Head matching thành phần heuristic các từ Sự quan hệ trong Ontology (WordNet)
Tham khảo Hearst 92
Nút trung gian O
Richardson et al. O 98 Many references X … Moldovan et al.00 X
Xếp gộp quan Đánh giá sự xuất hiện Sanderson & X hệ giữa 2 ngữ của 1 từ trong tài liệu Croft 99 cảnh Verb-argument Cimiano et al.05 O (Distributional relation hypothesis) Quan hệ giữa Tính từ-Yamamoto et X Thuật ngữ al.05
26
Những đặc trưng nêu ra là cơ bản nhất và được sử dụng để học cây phân cấp. Câu hỏi đặt ra là làm thế nào để kết hợp những đặc trưng trên thành một phương pháp tối ưu cho việc học cây phân cấp. Vì vậy sẽ chia bài toán ra thành những bài toán nhỏ và mỗi bài toán thì sử dụng các phương pháp với những đặc trưng khác nhau.
Đơn giản vấn đề tạo cây phân cấp nhưng là đồ thị thuật ngữ trong trục tọa độ xy. Trong trường hợp này, vấn đề là làm cách nào xác định được tọa của term. Tọa độ Y có thể được ánh xạ tới một lĩnh vực cụ thể của Term, và tọa độ X có thể ánh xạ tới sự giống nhau giữa các term. Sự tương tự của Term: nhau được biết đến như là nhiệm vụ của xử lí ngôn ngữ tự nhiên và nhiều nghiên cứu về từ Ước lượng sự chồng chéo ngữ nghĩa của các Term Sim(t1,t2 |D) ≥ 0 Từ đó kiểm tra chỉ số này để tạo nên cây. Ví dụ trong lĩnh vực tài chính: • Sim(“current asset”, “cache”) > Sim(“fixed asset”, “cache”)
27
Với năm thuật ngữ trên Ta sẽ tính toán độ chi tiết và độ tương tự của các term. Những term càng cụ thể thì càng được đặt xuống cấp sâu hơn và những term chung chung thì đặt ở trên. Những term được gom nhóm dựa vào độ giống nhau của chúng. Hai term t1 và t2 giống nhau khi độ chi tiết term 1 lớn hơn term 2 và độ tương tự của hai term lớn hơn một giới hạn xác định. Đặt liên tiếp các term trong cây phân cấp.
Thừa nhận không có đồng nghĩa Terms được sắp xếp tăng theo sự tăng của độ chi tiết. Thêm một term mới giữa 2 term.
Thêm mới term vào cây Bước 1: Chọn những term giống với tnew mới nhất trong cây phân cấp hiện tại Step 2: Chọn con cho tnew từ tập những term đã chọn ở bước 1. Tính spect của 2 term đó, nếu lớn hơn ngưỡng thì kết nạp.
28
4.4.2.5 Relations (non-taxonomic) Trích rút quan hệ và thuộc tính. Quan hệ cụ thể o Part-of o Qualia (Formal, Constitutive, Telic, Agentive) 29
Quan hệ chung chung o Khai thác cấu trúc ngôn ngữ Thuộc tính 1. Phát hiện thuộc tính Attributes ◊ Liên quan đến kiểu dữ liệu. Sử dụng giới từ of, động từ have hay cấu trúc sở hữu, ví dụ. ‘the color of the car’, ‘the car’s color’, ‘every car has a color’ Giá trị của thuộc tính được mô tả sử dụng cấu trúc hệ từ , tính từ, hay mô tả cụ thể cho một thuộc tính. • ‘the car is red’ (copula + value) • ‘the red car’ (adjective) • ‘the baby weights 3 kgr’ (specific expressions) Phân lọai thuộc tính
Một cách tiếp cận để phát hiện Thuộc tính Thẻ bài hoặc gán nhãn từ loại. Sử dụng mẫu để trích rút cặp tính từ- danh từ (\w+{DET})? (\w+{NN}) + is{VBZ} \w + {JJ} (\w+{DET})? \w + {JJ} (\w+{NN}) + Cặp này được đánh trọng số sử dụng xác suất điều kiện.
Với mỗi từ ta tìm một tính từ tương ứng trong Wordnet JJ: adjective DET: determiner NN: noun VBZ: verb, 3rd person singular present 30
5. Tổng kết và hướng làm việc trong tương lai. Đồ án thực tập tốt nghiệp đã đạt được những kết quả sau: Đưa ra được kiến trúc hệ thống để giải quyết từng bài toán một, thứ nhất là bài toán làm sao để tạo được một cơ sở tri thức từ những trang tài liệu web, bài toán thứ hai là truy vấn vào cơ sở tri thức đã xây dựng đó. Đồ án cũng nêu ra được một vài cách tiếp cận để giải quyết những bài toán đó, và nêu ra những kĩ thuật tương ứng với cách tiếp cận đó. Khó khăn khi làm đồ án này là lĩnh vực này còn mới mẻ ở Việt Nam, thực ra là đã có những nghiên cứu nhưng vẫn chưa đưa ra được một ứng dụng cụ thể nào. Ở nước ngoài thì lĩnh vực này đang được nhiều tổ chức như W3C phát triển và đưa ra những chuẩn ví dụ như RDF, OWL, SPARQL. Nhưng những ứng dụng thật sự cũng vẫn còn ít. Vì vậy khi làm đồ án, tài liệu tìm kiếm được thì rất nhiều nhưng mỗi tài liệu nói theo một cách khác nhau và giải quyết những vấn đề khác nhau. Một khó khăn nữa là chưa liên lạc được với ai là chuyên ra trong lĩnh vực này, do đó không biết ở các nước đã nghiên cứu được những gì, đã có những gì được đưa thành chuẩn, những kiến trúc được đề nghị sử dụng trong quá trình xây dựng hệ thống. Hướng làm việc trong tương lai là xây dựng được cơ sở tri thức lớn về những người làm PhD, không chỉ là người Việt Nam, việc này đem lại lợi ích rất lớn cho lĩnh vực giáo dục. Tiếp theo là xây dựng nên được trang Semantic Web để tiện lợi cho việc truy vấn vào cơ sở tri thức. Lúc đó việc tìm kiếm sẽ chính xác hơn, dễ dàng hơn, và tri thức được chia sẻ nhiều hơn.
6. Tham khảo. 1. Learning Domain Ontologies from Document Warehouses and
Dedicated Web Sites - Roberto Navigli ∗ Paola Velardi Universit ` a di Roma “La Sapienza” Universit ` a di Roma “La Sapienza” 2. Ontology Based Knowledge Discovery in Social Networks Taxonomy Learning using Term Specificity and Similarity- Pum-Mo Ryu, Key-Sun Choi - Computer Science Division, KAIST Korea 3. Ontology Learning from Text - Paul Buitelaar, Philipp Cimiano, Marko Grobelnik, Michael Sintek 4. Ontology Learning and Its Application to Automated Terminology Translation
31