Pha sinh các mẫu

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phương pháp học bán giám sát cho bài toán trích chọn thông tin và ứng dụng trích chọn thực thể tên máy ảnh số (Trang 42 - 47)

CHƢƠNG 2 HỆ THỐNG TRÍCH CHỌN THÔNG TIN

3.3. Mô hình hệ thống

3.3.2. Pha sinh các mẫu

Hình 11: Mô hình thuật toán sinh mẫu từ một bộ quan hệ

a. Bước1: Sinh các mẫu

Dựa vào các quan hệ trong tập hạt giống ban đầu, tìm tất cả các thể hiện chứa các quan hệ hạt giống đó, trích chọn ra các mẫu. Giả sử với một cặp quan hệ hạt giống <C, P> nào đó, ta lấy toàn bộ ngữ cảnh giữa PC đƣa vào vectơ

mc. Tuy nhiên ta giới hạn chỉ giữ lại những vectơ mc có độ dài không quá 5 từ. Mẫu <producer> mc <camera> nếu P đứng trƣớc C trong câu, hoặc <camera>

mc<producer> nếu P đứng sau C trong câu, đƣợc sinh ra.

Bộ quan hệ Thể hiện

<Fujifilm, finepix Z35> Fujifilm release finepix Z35 digital compact <Casio, EX-Z1000> Casio release EX-Z1000 firmware update

<producer> release <camera>

b. Bước 2: Làm giàu tập mẫu

Tuy nhiên, để việc sinh ra các bộ quan hệ mới có hiệu quả, tập các mẫu càng nhiều càng tốt. Trong bƣớc này luận văn đề xuất sử dụng WordNet [1, 6].

WordNet là dự án từ điển đơn ngữ (tiếng Anh) thiên về ngữ nghĩa, do Princeton University phát triển. WordNet đã tạo ra một tập hợp từ vựng khá lớn, theo đó các từ đƣợc sắp xếp trong dãy của những tập hợp đồng nghĩa (synonym set viết tắt là synset), giúp cho việc xác định nghĩa của từ và để phân biệt đƣợc nghĩa đang xét với các nghĩa khác. Nguyên lí tổ chức chung của WordNet là mạng lƣới quan hệ ngữ nghĩa. [Phụ lục]

WordNet phân biệt giữa danh từ, động từ, tính từ, trạng từ bởi chúng theo các quy tắc ngữ pháp khác nhau. Mọi synset (tập các từ đồng nghĩa) đều chứa một nhóm các từ đồng nghĩa; ý nghĩa khác nhau của một từ đƣợc đặt vào các

Tập các mẫu <camera, producer> WordNet B2: Làm giàu tập mẫu B1: Sinh các mẫu Google B3: Thẩm định các mẫu

synset khác nhau. Nghĩa của một từ đƣợc trình bày bởi một danh sách các dạng thức của từ đó có thể đƣợc sử dụng để biểu thị nó.

Chẳng hạn, thông tin tập đồng nghĩa của từ “introduce” đƣợc miêu tả trong WordNet nhƣ sau:

The verb introduce has 10 senses (first 8 from tagged texts)

1. (22) introduce, present, acquaint -- (cause to come to know personally; "permit me to acquaint you with my son"; "introduce the new neighbors to the community")

2. (11) introduce, innovate -- (bring something new to an environment; "A new word processor was introduced")

3. (9) insert, enclose, inclose, stick in, put in, introduce -- (introduce; "Insert your ticket here")

4. (7) bring in, introduce -- (bring in a new person or object into a familiar environment; "He brought in a new judge"; "The new secretary introduced a nasty rumor")

5. (1) introduce -- (bring in or establish in a new place or environment; "introduce a rule"; "introduce exotic fruits")

6. (1) insert, infix, enter, introduce -- (put or introduce into something; "insert a picture into the text")

7. (1) introduce, bring out -- (bring before the public for the first time, as of an actor, song, etc.)

8. (1) introduce -- (put before (a body); "introduce legislation")

9. precede, preface, premise, introduce -- (furnish with a preface or introduction; "She always precedes her lectures with a joke"; "He prefaced his lecture with a critical remark about the institution")

10. inaugurate, usher in, introduce -- (be a precursor of; "The fall of the Berlin Wall ushered in the post-Cold War period")

Trong đó mỗi một mục là một nghĩa (sense) của từ “introduce”. Nhƣ vậy chúng ta có thể khai thác để sử dụng WordNet vào làm giàu tập mẫu.

Giả sử ta có mẫu <producer> announce <cameara>, sử dụng Wordnet, tìm tất cả các từ đồng nghĩa với “announce”, giả sử là {present, declare, post, introduce, communicate, launch, inform...}. Khi đó ta có các mẫu mới:

<producer> present <camera> <producer> declare <camera> <producer> post <camera>

<producer> introduce <camera> <producer> communicate <camera> <producer> launch <camera>…

Ở đây, hệ thống chỉ làm giàu các mẫu trong trƣờng hợp mẫu này có độ dài bằng 1, nghĩa là mẫu chỉ là một động từ, còn các trƣờng hợp còn lại, ta bỏ qua giai đoạn làm giàu.

Giả sử ta đƣa vào trong WordNet một từ text nào đó, ta cần xác định tập từ đồng nghĩa của text. Trƣớc tiên, WordNet kiểm tra xem từ đó có trong cơ sở dữ liệu WordNet không, nếu có sẽ tiến hành xác định từ loại của text.

WnLexicon.WordInfo wordinfo = WnLexicon.Lexicon.FindWordInfo(text, true); Một mảng xâu chứa các từ đồng nghĩa của text sẽ đƣợc trả về dựa vào thông tin về loại từ đã xác định.

string[] synonyms = WnLexicon.Lexicon.FindSynonyms(text, wordinfo.partOfSpeech, true);

Việc tìm các từ đồng nghĩa có thể đƣợc thực hiện thông qua một số giao diện lập trình đƣợc WordNet cung cấp nhƣ trong bảng 6.

Tên hàm Tham số Thông tin trả về

findtheinfo findtheinfo_ds word syntantic category search type sense number Các kết quả tìm kiếm đã đƣợc định dạng trong bộ đệm hoặc cấu trúc dữ liệu.

is_defined word pos

Tìm từ word có trong từ điển với kiểu từ loại pos.

morphstr morphword

word pos

Dạng thức cơ bản của từ word hoặc null nếu không tìm thấy bất kì sự phù hợp nào trong CSDL.

bin_search word

streamreader

Tìm kiếm từ trong file index, trả về chỉ mục của bản ghi chứa từ đó. search() word

morph pos

searchtype sn

Thực hiện việc tìm kiếm từ word theo loại từ pos, kiểu tìm kiếm searchtype, sử dụng MorphStr nếu morph nhận giá trị true. Trả về tất cả các ý nghĩa của từ nếu sn có giá trị bằng 0.

Bảng 6: Một số lớp thƣờng dùng trong WordNet

Tuy nhiên việc xây dựng tập đồng nghĩa cho động từ gặp nhiều khó khăn do khó xác định từ đồng nghĩa. Ta thấy trong tiếng Anh, có một số động từ đồng nghĩa nhƣ begin – commence, end – terminate, buy – purchase, hide – conceal… nhƣng thực chất việc dùng lẫn lộn các động từ đồng nghĩa này không phải lúc nào cũng đúng.

Do đó việc thay thế một động từ nào đó bằng từ đồng nghĩa của nó không phải luôn đúng trong mọi ngữ cảnh trong văn bản. Ở đây hệ thống cần phải thẩm định xem tập mẫu vừa làm giàu liệu có khả năng sinh ra bộ quan hệ nào hay không.

c. Bước 3: Thẩm định các mẫu

Các mẫu tiềm năng sẽ góp phần sinh ra các quan hệ đúng, chính xác. Tuy nhiên, sau thao tác làm giàu tập mẫu, sẽ có những mẫu có xu hƣớng tạo ra các quan hệ không chính xác, gây nhiễu cho quá trình trích chọn. Do đó, với mỗi mẫu vừa sinh ra, ta cần đánh giá độ tin cậy của mẫu đó. Các mẫu có xu hƣớng đƣợc sử dụng nhiều sẽ tiềm ẩn khả năng tạo ra nhiều quan hệ tiềm năng. Vì tập dữ liệu đƣợc lấy từ các trang web, nên ta sẽ sử dụng công cụ tìm kiếm Google để thẩm định các mẫu.

Ví dụ với câu Pentax announce Optio E90 budget camera … tƣơng ứng với mẫu <producer> announce <camera>, ta tra cứu cụm Pentax * Optio E90, nếu cụm từ “Pentax announce Optio E90” xuất hiện ít nhất 1 lần trong 10 kết quả tìm kiếm đầu tiên  mẫu <producer> announce <camera> đƣợc đánh giá là có tiềm năng  đƣa mẫu đó vào tập các mẫu để sinh ra các cặp <camera, producer> mới.

Để lấy đƣợc các kết quả tìm kiếm khi nhập vào một khóa trong Google, hệ thống sử dụng Google Search API for.NET 0.4 alpha dựa trên Google Ajax Search API.[19]

The Google Web search API cho phép chúng ta đặt kết quả tìm kiếm Google vào các trang web của mình, ta có nhúng một hộp tìm kiếm động đơn giản và hiển thị kết quả tìm kiếm bao gồm các đoạn trích dẫn và các url vào trong các trang web hoặc sử dụng các kết quả một cách sáng tạo theo nhu cầu mục đích của từng cá nhân.

Hỗ trợ 8 dịch vụ tìm kiếm là:

1. Tìm kiếm web 3. Tìm kiếm video 2. Tìm kiếm tin tức 5. Tìm kiếm địa phƣơng 4. Tìm kiếm blog 6. Các bản đồ Google

Google AJAX Search API đƣợc tạo bởi nhiều lớp đối tƣợng:

- GSearchControl - Lớp này cung cấp giao diện ngƣời sử dụng và phối hợp với một số đối tƣợng tìm kiếm, trong đó mỗi đối tƣợng tìm kiếm đƣợc thiết kế để thực hiện các công việc tìm kiếm và trả về một lớp cụ thể của kết quả (Web Search, Local Search vv.)

- GSearch - Lớp cơ sở này là lớp mà từ đó tất cả đối tƣợng tìm kiếm kế thừa. Nó định nghĩa các giao diện mà tất cả các dịch vụ tìm kiếm phải thực hiện.

- GResult - Lớp cơ sở đóng gói các kết quả tìm kiếm đƣợc tạo ra bởi các đối tƣợng tìm kiếm.

- GsearchOptions - Lớp này thiết lập hành vi của các đối tƣợng tìm kiếm khi thêm vào một điều khiển tìm kiếm.

Hệ thống sử dụng dịch vụ tìm kiếm web, giới hạn 10 kết quả tìm kiếm đầu tiên, việc tìm kiếm trên các trang web tiếng Anh. Kết quả trả về gồm CacheUrl Content; Title; Url; VisibleUrl., tuy nhiên ta chỉ quan tâm đến các kết quả trích dẫn, do đó hệ thống chỉ giữ lại phần Content trong kết quả tìm kiếm để thẩm định các mẫu.

Giải thuật sinh ra các mẫu từ bộ quan hệ <cam, pro> nào đó trong tập các bộ quan hệ hạt giống.

Đầu vào: các bộ quan hệ hạt giống <cam, pro>, tập các câu trong CSDL Đầu ra: tập các mẫu sinh bởi <cam, pro>

void Generate_Pattern_One_Tuple(pro, cam)

1. list_pattern = ;

2. for each sentence in set_sentences

if (sentence Contain <pro, cam>)

pattern = Cut_Middle(s, pro, cam);

3. synonym = generate_synonym(pattern); for each syn in synonym

string = pro + " " + syn + " " + cam;

for each result in Search_google(pro + " * " + cam) if (result Contain string)

list_pattern = list_pattern  {syn};

4. return list_pattern;

Tuy nhiên không phải bất kì mẫu nào đƣợc sinh ra hệ thống đều đƣa vào tập mẫu của mình, chỉ có những mẫu có tiềm năng tạo ra nhiều bộ quan hệ thì mới đƣợc giữ lại.

Với mỗi mẫu đƣợc sinh ra, tạm thời ta lƣu vào một danh sách, đánh dấu số lƣợng các bộ quan hệ hỗ trợ để sinh ra mẫu đó. Kết thúc, ta sẽ kiểm tra, nếu số lƣợng bộ quan hệ hỗ trợ vƣợt qua ngƣỡng sup nào đó, ta sẽ thêm mẫu đó vào tập mẫu trích chọn. Trong thực nghiệm sup có giá trị bằng 2.

Do đó hệ thống loại bỏ tất cả các mẫu đƣợc hỗ trợ bởi ít hơn 2 bộ quan hệ hạt giống.

Thuật toán sinh ra tất cả các mẫu dựa vào các bộ quan hệ hạt giống, chỉ giữ lại các mẫu đƣợc hỗ trợ bởi ít nhất sup bộ quan hệ.

Đầu vào: Tập các bộ quan hệ hạt giống Đầu ra: Tập các mẫu tiền năng

set_patterns = ;

Void Generate_Pattern()

list_pattern = generate_pattern_one_tuple(cam, pro); 2. for each pattern in list_pattern

If (Count_Appear(pattern, list_pattern) >= sup) and (not set_patterns

Contain pattern)

set_patterns = set_patterns  {pattern};

3. return set_pattern;

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Phương pháp học bán giám sát cho bài toán trích chọn thông tin và ứng dụng trích chọn thực thể tên máy ảnh số (Trang 42 - 47)

Tải bản đầy đủ (PDF)

(64 trang)