Luận văn 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ố

Việc sử dụng huấn luyện để trích chọn ra tập các mẫu, với số lượng các tài liệu lớn hơn, các mẫu trích chọn được sẽ nhiều hơn và có tính chuyên biệt hơn, do đó kết quả sẽ tốt hơn vớiviệc không sử dụng tập 1200(thu được nhiều bộ quan hệchính xác hơn). Tuy nhiên số lượng các bộ quan hệ trích chọn ra được tăng không đáng kể, là do dữ liệu trên tập 1200 và 5000 đềulấy từ 2 địa chỉ website, các bài viết trên mỗi địa chỉ thường có định dạng giống nhau nhau, những mẫu chất lượng sinh ra bởi tập 5000 cũng được sinh ra ở tập 1200, những mẫu còn lại trong tập 5000 cótính khả dụng kém hơn nên khi áp dụng các mẫu này cho tập 1200, số lượng bộ quan hệ sinhra không đáng kể.

pdf65 trang | Chia sẻ: lylyngoc | Lượt xem: 2639 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Luận văn 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ố, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ể kiểm tra xem chúng có thể trích chọn ra được các hạt giống mới nào không; nếu cặp chưa có trong tập quan hệ đích thì thêm cặp hạt giống mới này vào tập quan hệ đích R, coi đây là quan hệ hạt giống sử dụng cho các vòng lặp tiếp theo.  Bước 4: Quay lại bước 2 để tìm ra những hạt giống và mẫu mới cho tới khi số lượng tập quan hệ R gần như không thay đổi, hay số lượng các cặp quan hệ mới phát hiện ra thêm là rất ít. Bài toán mà luận văn đề cập đến là trích chọn cặp quan hệ tên máy ảnh – nhà sản xuất, với mỗi loại máy ảnh sẽ có một hãng sản xuất ra nó. Do vậy cách biểu diễn nó trên tài liệu sẽ có một quy luật nào đó. Nhận thấy rằng, ngữ cảnh ở giữa cặp thực thể tên máy ảnh số và nhà sản xuất thường ở một dạng nhất định, quy luật có thể lặp lại nhiều lần ở các tài liệu khác nhau. Ví dụ như: “Sony has announced the SLT A35, the latest addition to its innovative range of fixed-mirror DSLRs”, “Panasonic has announced the DMC-G3 Micro Four Thirds mirrorless interchangeable lens camera”. Cấu trúc “has announced the” có xu hướng xuất hiện nhiều lần trong các bài báo giới thiệu về các loại máy ảnh. Do đó mẫu này có khả năng dẫn đến các trích dẫn khác như: “Pentax has announced the Optio RS1500 compact camera with interchangeable, user designable covers” hay “Samsung has announced the ST93 compact camera”… Từ các cặp quan hệ mới này, ta có thể sử dụng để sinh ra các mẫu trích chọn mới. Và có một đặc điểm thuận lợi nữa để giải quyết bài toán đã đề xuất là tên các loại máy ảnh thường ở dạng kí tự in hoa, có thể bao gồm cả chữ và số; tập các hãng sản xuất máy ảnh là hữu hạn, ta có thể liệt kê một cách dễ dàng. Trong bài toán trích chọn tên máy ảnh số:  Bộ quan hệ: cặp  Một mẫu là bộ - 4: (order, tag1, middle, tag2); trong đó tag1 và tag2 là thực thể và . Order là thứ tự xuất hiện của tag1và tag2 trong câu. Middle là ngữ cảnh ở giữa giới hạn bởi tag1và tag2.  Một bộ quan hệ sẽ được trích chọn vào bảng quan hệ đích nếu có một thể hiện trong văn bản phù hợp với một trong hai biểu thức: camera middle producer hoặc producer middle camera 35 3.3. Mô hình hệ thống Hình 9: Mô hình hệ thống trích chọn tên máy ảnh số Xuất phát từ tập tài liệu HTML, sau pha tiền xử lí, ta sẽ thu được tập các câu chứa tên các hãng sản xuất máy ảnh, việc trích chọn sẽ sử dụng tập các câu này. Dựa vào 5 quan hệ hạt giống ban đầu, hệ thống sẽ tiến hành tìm kiếm các câu chứa đồng thời tên hãng sản xuất và tên máy ảnh trong bộ quan hệ hạt giống, phân tích ngữ cảnh xung quanh các bộ quan hệ, sinh ra các mẫu, dựa vào các mẫu này, hệ thống sẽ sinh ra được các bộ quan hệ mới, đưa vào bảng quan hệ đích. Bảng quan hệ đích này lại trở thành bảng quan hệ hạt giống mới, và quá trình trích chọn lại bắt đầu ở vòng lặp mới. Mỗi vòng lặp luôn có sự đánh giá các mẫu được sinh ra để việc trích chọn ra các bộ quan hệ mới càng nhiều cáng tốt và phải bảo đảm sự chính xác cao. Quá trình trích chọn sẽ dừng lại khi không có một bộ quan hệ mới nào được sinh ra. Chi tiết mô hình hệ thống được mô tả trong hình 9. Tuy nhiên, để việc trích chọn hiệu quả, hệ thống sẽ được tích hợp thêm tập các tri thức của con người, bao gồm 2 bộ từ điển: - Tập tên các hãng sản xuất máy ảnh: P ={Canon, Casio, Concord, Contax, Cool-icam, Creative, Fujifilm, GE, Gateway, HP, Kodak, Konica, Kyocera, Minolta, Mustek, Nikon, Olympus, Panasonic, Pentax, Polaroid, Ricoh, Samsung, Sanyo, Sealife, Sharp, Sigma, Sony, Toshiba} - Tập các thuộc tính liên quan đến tên các nhà sản xuất máy ảnh: {PowerShot, EOS, Exilim, Optio, Lumix, Finepix, FineCam, DC-Cam, CoolPix, Tài liệu html Các câu chứa tên các hãng sản xuất máy ảnh Pha sinh các bộ quan hệ mới Tập các thuộc tính đi kèm với tên máy ảnh Pha tiền xử lí Tìm các sự kiện liên quan Pha sinh các mẫu Bảng quan hệ đích <camera, Tập hãng sản xuất máy ảnh 36 Digimax, DSC, Cyber-Shot, DMC, EasyShare, SD, GXR, Alpha, Tough, Stylus, IXUS, DSLR, Mju} 3.3.1. Pha tiền xử lí Hình 10: Mô hình của pha tiền xử lí Trong pha này, nhận đầu vào một tập các trang web trên một miền ứng dụng quan tâm là máy ảnh kĩ thuật số, sau quá trình xử lý hệ thống thu được một tập các câu tiềm năng có thể chứa các quan hệ cần trích chọn, chứa tên các hãng sản xuất máy ảnh đang xem xét. Công việc trích chọn sau này chỉ thực hiện trên tập các câu tiềm năng thu được sau pha này. a. Bước 1: Loại bỏ các thẻ html Trong một trang web, không chỉ chứa nội dung trang web, còn chứa các thông tin khác như dòng quảng cáo, các đường liên kết đến hình ảnh, đến các trang web khác… Tất cả các thông tin đó không phải đều có lợi cho hệ thống trích chọn. Các thông tin này thường được đánh dấu trong các thẻ html. Việc cần làm là loại bỏ các thẻ hmtl, chỉ giữa lại nội dung của các trang web. Nội dung trong các trang web thường được đánh dấu trong cặp thẻ và . Tuy nhiên tiêu đề của các bài báo thường cũng ẩn chứa những thông tin có giá trị, cụ thể trong tiêu đề của các bài báo nói về máy ảnh, thường trong đó chứa cặp quan hệ tên máy ảnh và hãng sản xuất, do đó ngoài việc giữ lại nội dung của trang web, ta cần giữ lại cả tiêu đề của các trang web đó. Đọc từng file có trong tập các trang web, với mỗi file, từng dòng được đọc, nếu dòng đó chứa thẻ bắt đầu bằng thẻ và kết thúc là thẻ hoặc nếu trong dòng văn bản đó chứa thì ghi lại nội dung chứa trong cặp thẻ đó vào file văn bản sau khi đã loại bỏ các dấu \t, chuyển các kí tự html về dạng chuẩn. Giải thuật: Đầu vào: tập các tài liệu HTML Đầu ra: tập tài liệu ở dạng trơn (plain text) B1: Loại bỏ thẻ html B2: Tách câu B3: Loại bỏ các câu không liên quan 37 void StripHTML() for each file_html in corpus_html for each line in file_html if line Contain () { RemoveTag(line); Write(file_text, line); } if (line Contain ()) or (line Contain ()) { RemoveTag(line); Write(file_text, line); } return file_text; b. Bước 2: Tách câu Việc trích chọn các loại tên máy ảnh kĩ thuật số giới hạn trong một câu, có nghĩa nếu tên hãng sản xuất và tên máy ảnh xuất hiện trong cùng một câu thì ta sẽ đưa chúng vào bảng quan hệ đích, và thông thường mỗi câu ta chỉ trích chọn một bộ quan hệ mà thôi. Do đó, khi có một tập các tài liệu, công việc đầu tiên hệ thống cần phải làm là tách các câu trong một đoạn thành các câu đơn lẻ, và việc trích chọn chỉ thực hiện trên từng câu đơn lẻ. Thông thường, trong một đoạn văn bản, các câu thường được ngăn cách bởi một trong các dấu ngắt ‘.’, ‘!’, ‘?’. Nếu chúng ta có một đoạn văn bản đưa vào một biến xâu input, cách đơn giản để cắt chúng thành các câu là ta sẽ sử dụng input.Split(‘.’, ’!’, ’?’), cách này rất hiệu quả với các tài liệu văn bản tiếng Việt. Tuy nhiên với tiếng Anh các dấu ngắt đó có thể đánh dấu kết thúc một câu nhưng cũng có thể xuất hiện giữa câu ví dụ như dấu “.” trong văn bản thường để ngăn cách hàng thập phân trong số thực, ngăn cách địa chỉ IP,... trong khi hệ thống trích chọn đang thực hiện trên tập tài liệu tiếng Anh, do đó việc sử dụng các dấu ngắt và phương thức Split để tách câu không đem lại hiệu quả thực sự. Chẳng hạn như câu: “The Coolpix P80 comes with a 10.1 MP sensor. The camera features an electronic viewfinder to allow accurate composition throughout the zoom range and also includes a large 2.7 inch monitor with anti-reflection coating and a wide viewing angle.” Nếu sử dụng phương thức Split thì kết quả trả về gồm 4 thành phần: 1. The Coolpix P80 comes with a 10 2. 1 MP sensor 38 3. The camera features an electronic viewfinder to allow accurate composition throughout the zoom range and also includes a large 2 4. 7 inch monitor with anti-reflection coating and a wide viewing angle trong khi ta cần đầu ra chỉ gồm có 2 câu: 5. The Coolpix P80 comes with a 10.1 MP sensor 6. The camera features an electronic viewfinder to allow accurate composition throughout the zoom range and also includes a large 2.7 inch monitor with anti- reflection coating and a wide viewing angle Để thực hiện việc này, hệ thống sẽ quét trên toàn bộ đoạn văn bản đầu vào, mỗi khi gặp các kí tự ngắt câu, ta cần quyết định xem liệu chúng có phải đánh dấu điểm kết thúc của câu hay không. Một đặc điểm dễ nhận ra đó là nếu một trong các dấu ‘.’, ‘!’, ‘?’ đánh dấu kết thúc câu thì liền sau chúng là một dấu cách và kí tự tiếp theo phải là một trong các kí tự in hoa. Ta sẽ sử dụng biểu thức quy tắc để tách các câu. "(?<=[A-Za-z0-9][\.\!\?])\s+(?=[A-Z])" Biểu thức này được diễn giải là: bắt bằng một nhóm các kí tự chữ hoa, chữ thường và số, tiếp theo các là kí tự dấu ngắt ‘.’, ‘!’, ‘?’, kết thúc là một dấu cách; nhóm thứ 2 bắt đầu là các kí tự viết hoa từ A đến Z. Biểu thức so khớp tất cả các chuỗi con nào có chứa các dấu ‘.’, ‘!’, ‘?’ và sau nó là một kí tự chữ hoa, nếu so khớp là đúng, kết quả trả về là một chuỗi con từ vị trí đầu câu đến trước dấu. ! hoặc ?. Giải thuật tách câu: Đầu vào: Đoạn văn bản Đầu ra: Danh sách các câu đơn trong đoạn văn bản void SplitSentences(sSourceText) sTemp = sSource Text ; if sTemp Start_with {‘A’..’Z’} and sTemp Contain {‘.’, ‘?’, ‘!’} and Next_Char in {‘A’..’Z’} splitSentences = sTemp.Split(); for each single_sentence in splitSentences { RemoveSpace(single_sentence); return single_sentence; } Để tiết kiệm không gian lưu trữ và thời gian tìm kiếm, hệ thống loại bỏ các từ dừng - những từ xuất hiện thường xuyên trong văn bản mà sự xuất hiện của nó không có ý nghĩa gì trong việc tìm kiếm và trích chọn thông tin. 39 Sau khi tách các câu, hệ thống tiến hành tách các từ trong mỗi câu, với mỗi từ vừa tách, kiểm tra xem từ đó có phải là từ dừng không, nếu đúng loại bỏ từ đó ra khỏi văn bản. Mỗi bài báo thường có những định dạng khác nhau, bài này có từ viết hoa nhưng bài kia thì không, có động từ ở dạng nguyên thể, nhưng cũng động từ đó ở bài báo khác lại ở thì bị động, chẳng hạn như “announces”, “announed”… Đặc biệt liên quan đến tên các hãng sản xuất, tên các thuộc tính kèm theo, ví dụ cặp từ “Panasonics” và “Panasonic”, hoặc “PowerShot” và “powershot” thực chất ý nghĩa của chúng đều giống nhau, nhưng cách viết khác nhau, điều này sẽ gây nhiễu cho quá trình tìm kiếm và kết quả trích chọn thường không chính xác. Hệ thống tiến hành chuyển hóa tất cả các từ trong văn bản thành các kí tự chữ thường, chuyển tất cả các thể hiện về tên máy ảnh, tên thuộc tính kèm theo về một dạng thống nhất chung, chuyển tất cả các động từ ở các thời khác nhau về dạng nguyên thể của nó. Giải thuật chuyển các từ về dạng gốc của nó: Các động từ thường có các dạng: nguyên thể, V_ed, V_ing, V_s - Nếu động từ có dạng V_s: Nếu động từ kết thúc bằng: + “sses”  “ss” caresses  caress + “ies”  “i” nếu trước nó có nhiều hơn 1 kí tự, còn lại ies  ie ties  tie skies  ski + “s”: xóa bỏ “s” nếu kí tự trước nó là một phụ âm rồi kế trước là một nguyên âm caress  caress cats  cat + “ss”, “us”: giữ nguyên - Nếu động từ có dạng V_ed hoặc V_ing: Nếu động từ kết thúc bằng: + “eed”  “ee” agreed  agree + Xóa “ed” hoặc “ing”, và sau khi xóa từ còn lại: +) kết thúc bằng: “at”, “bl”, “iz” thì thêm “e” luxuriaitng  luxuriate +) kết thúc bằng một kí tự kép khác ‘l’, ‘s’, ;z’ thì xóa một kí tự cuối hopping  hop +) là âm tiết ngắn thì thêm “e” hoped  hope 40 Giải thuật chuẩn hóa các từ về dạng gốc: Đầu vào: Một từ Đầu ra: Từ gốc của nó void Stemmer(verb) 1. k = Length(verb); if (verb[k] = ‘s’) { if (verb End_With “sses” ) k = k - 2; else if (verb End_With “ies” ) and (Length(verb) > 4) k = k - 2; else k = k - 1; else if (verb[k-1] != ‘s’) k = k - 1; } 2. if (verb End_With “eed”) k = k - 1; 3. if (verd End_With “ed”) or (verb End_With “ing”) { Remove(verb, “ed”, “ing”); k = Length(verb); if (verb End_With {at”, “bl”, “iz”}) Add(verb, “e”); else if (verb End_With double(k)) { k = k – 1; ch = verb[k]; if (ch in {“l”, “s”, “z”}) k = k + 1; } else if Is_short_word(verb) add(verb, “e”); } 3. return verb; Tuy nhiên dựa vào đặc điểm của một tên máy ảnh, ví dụ có dạng DMC- FX500, thường có dạng một chuỗi kí tự gồm các kí tự chữ cái được viết hoa, kèm theo là các kí tự số. Do đó ta dễ dàng kiểm tra được một xâu có phải là một tên máy ảnh xác định hay không, loại bỏ những trường hợp không thỏa mãn để kết quả trích chọn sẽ chính xác hơn. Nếu ta chuyển toàn bộ các kí tự về dạng chữ thường thì việc kiểm tra một chuỗi có phải là tên máy ảnh hay không sẽ khó khăn hơn, nên việc chuẩn hóa các từ về dạng chữ thường không áp dụng với tên của hãng máy ảnh, tên máy ảnh và tên các thuộc tính kèm theo máy ảnh. 41 Giải thuật loại bỏ từ dừng, chuẩn hóa các từ trong câu: Đầu vào: Một câu văn bản Đầu ra: Một câu mới loại bỏ các từ dừng, các động từ ở dạng gốc. void Token(sentence) 1. filter = ; tokens =  tokens = sentence.Split(); for each token in tokens { if (not Is_Stop_Word(token)) filter = filter  {token}; } 2. s = “”; for each token in filter { for each attribute in set_attributes { if (Lower(token) = Lower(attribute)) token = attribute; } for each producer in set_producers { if (Lower(token) contain Lower(producer)) token = producer; } if (not Check_Camera(token) and not Check_Producer(token) and not Check_Attribute(token)) Stemmer(Lower(token); s = s + token; } 3. return s; c. B3: Loại bỏ các câu không liên quan Công việc tiếp theo là tìm các câu tiềm năng, những câu có khả năng chứa các cặp quan hệ cần trích chọn. Vì số lượng tập tài liệu là khá lớn, số lượng câu sau khi tách cũng rất nhiều, trong các câu có những câu không giúp ích gì trong quá trình trích chọn. Việc trích chọn ra được bộ quan hệ đích chỉ thực hiện khi tên hãng sản xuất và tên máy ảnh đứng gần nhau trong cùng một câu, do đó ta chỉ quan tâm đến những câu nào chứa một trong các tên hãng sản xuất máy ảnh, 42 các câu còn lại ta sẽ loại bỏ khỏi CSDL, tránh mất thời gian trong việc tìm kiếm và trích chọn. Hệ thống tiến hành quét trên tất cả các câu, nếu chúng chứa một trong các tên các hãng máy ảnh có trong tập P, giữ lại các câu đó, loại bỏ các câu không thỏa mãn. Chẳng hạn ta có đoạn bài báo: “Samsung has released the TL110 and TL105 ultra compact cameras. The 14.2 megapixel TL110 (ST70 in Europe) and 12 megapixel TL105 (ST60) offer 2.7 inch LCDs, wide angle zoom lenses starting at 27mm equivalent and offer 720p HD video recording using H.264 compression. Both include scene modes such as Fisheye, Lomo and a DeFog Clear/Fog Lifting mode that claims to cut through haze to take clearer images.“, sau pha tiền xử lí, kết quả thu được là câu “Samsung release TL110 TL105 ultra compact cameras”. Giải thuật: Đầu vào: Tập các tài liệu dạng text Đầu ra: Các câu chứa tên các hãng sản xuất máy ảnh void ExploreDirectory( ) 1. set_sentences = ; paragraph = “”; 2. for each file_text in corpus_text { read_to_end(file_text, paragraph); for each single_sentence in SplitSentences(paragraph) { s = token(single_sentence); for each pro in producers if (s Contain pro) set_sentences = set_sentences  {s}; } } return set_sentences; 43 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 nào đó, ta lấy toàn bộ ngữ cảnh giữa P và C đư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 mc nếu P đứng trước C trong câu, hoặc mc nếu P đứng sau C trong câu, được sinh ra. Bộ quan hệ Thể hiện Fujifilm release finepix Z35 digital compact Casio release EX-Z1000 firmware update  release 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 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 44 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 announce , 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: present declare post introduce communicate launch … Ở đâ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. 45 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. 46 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 announce , 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 announce đượ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 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. 47 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ệ 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 , tập các câu trong CSDL Đầu ra: tập các mẫu sinh bởi void Generate_Pattern_One_Tuple(pro, cam) 1. list_pattern = ; 2. for each sentence in set_sentences if (sentence Contain ) 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() 1. for each in set_tuples 48 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; 3.3.3. Pha sinh các bộ quan hệ mới Quét tất cả các câu có chứa tên các hãng sản xuất máy ảnh, nếu câu có chứa mẫu pattern, hệ thống phân tích ngữ cảnh phía trước before, ngữ cảnh phía sau after của pattern trong câu:  Nếu before phù hợp với tên nhà sản xuất và after phù hợp với tên máy ảnh (tương ứng với thể hiện middle ) thì ta thêm cặp vào trong bảng kết quả.  Hoặc nếu before phù hợp với tên máy ảnh và after phù hợp với tên nhà sản xuất (tương ứng với thể hiện middle ) thì ta thêm cặp vào bảng kết quả đích. Thuật toán được trình bày như sau: Đầu vào: Một mẫu nào đó trong tập các mẫu đã được sinh ra ở pha trước Đầu ra: Các bộ quan hệ mới void Generate_Tuple(pattern) for each s in set_sentences if (s Contain pattern) before  copy_before(s, pattern); after  copy_after(s, pattern); 1. if Check_Camera(after) and Check_Producer(before) and after  set_tuples) set_tuples = set_tuples  {}; 2. if Check_Camera(before) and Check_Producer(after) and before  set_tuples) set_tuples = set_tuples  {}; 3. return set_tuples; Chẳng hạn với câu “Fujifilm announce introduction Finepix S1000fd” và mẫu “announce introduction” thì quan hệ ta có thể trích chọn được là <Finepix S1000fd, Fujifilm>. Hoặc với câu “Panasonic release DMC-FS25 digtal camera” và mẫu “release” thì hệ thống phải trích chọn ra được bộ quan hệ <DMC-FS25, Panasonic>. 49 Trong tập văn bản, có những thể hiện tên máy ảnh đi liền với tên hãng sản xuất, ví dụ ta có câu “Canons 40D update version 1” thì ta trích chọn được bộ quan hệ . Những thể hiện dạng này, ngữ cảnh giữa tên máy ảnh và tên hãng sản xuất là rỗng, do đó ta sẽ có thủ tục để trích chọn ra các bộ quan hệ có thể hiện hoặc thể hiện . Để thực hiện việc này, hệ thống sẽ kiểm tra tất cả các câu thu được sau pha tiền xử lí, với mỗi tên hãng sản xuất producer máy ảnh:  Lấy ngữ cảnh bên phải after của nó (tương ứng với thể hiện )  Hoặc lấy ngữ cảnh bên trái before của nó (tương ứng với thể hiện ) Sau đó kiểm tra liệu after hoặc before có khả năng là tên một loại máy ảnh hay không, nếu đúng, đưa cặp hoặc vào tập quan hệ đích. Giải thuật: Đầu vào: Tập các câu tiền năng chứa tên các hãng máy ảnh Đầu ra: Các bộ quan hệ sinh bởi mẫu void Generate_Empty_Tuple(); for each s in set_sentences for each producer in set_producers after  copy_after(s, producer); 1. If (Check_Camera(after) and after  set_tuples) set_tuples = set_tuples  {}; 2. else If (Check_Camera(before) and before  set_tuples) set_tuples = set_tuples  {}; 3. return set_tuples; 50 CHƯƠNG 4. THỰC NGHIỆM 4.1. Môi trường thực nghiệm Thực nghiệm được tiến hành trên máy PC có cấu hình phần cứng như bảng 7. Công cụ phát triển là ngôn ngữ C#, cụ thể được liệt kê trong bảng . Ngoài ra còn sử dụng một số thư viện chẳng hạn như thư viện truy cập WordNet bằng giao diện C#, công cụ truy vấn Google như liệt kê trong bảng 9. Thành phần Chỉ số Bộ xử lí Intel(T) Core™2 Dual T5870 @ 2.00GHz Bộ nhớ trong 2GB Ổ cứng 80GB Hệ điều hành Microsoft Windows XP2 Bảng 7: Cấu hình của máy PC dùng trong thực nghiệm STT Tên phần mềm Tác giả Nguồn 1 Visual studio 2008 Microsoft Corporation 2 WordNet 2.1 Princeton University Bảng 8: Các công cụ sử dụng trong thực nghiệm STT Tên thư viện Tác giả Nguồn 1 WordNet.Net Troy Simpson, Malcolm Crowe 2 Google Search API for.NET 0.4 alpha for-dotnet/ #Google_Search_API_for _.NET_0.4_alpha Bảng 9: Các thư viện sử dụng trong thực nghiệm 4.2. Dữ liệu thực nghiệm Dữ liệu dùng trong thực nghiệm được lấy từ hai địa chỉ, nơi chứa nhiều thông tin liên quan đến máy ảnh kĩ thuật số, đó là: 1. 2. Dữ liệu thực nghiệm được chia thành 2 tập:  Tập 1200 (tập kiểm thử) bao gồm 1263 trang web, chuyển các trang này thành các tài liệu, sau đó tiến hành gán nhãn bằng tay. Tập dữ liệu này được dùng để đánh giá chất lượng giải thuật.  Tập 5000 bao gồm 4934 trang web, cũng tiến hành chuyển các trang này thành các tài liệu dạng thô. Tập này dùng để sinh ra tập 51 các mẫu trích chọn, sau đó áp dụng tập mẫu này vào tập 1200 để sinh ra các bộ quan hệ trong tập 1200. Thông tin chi tiết về hai tập dữ liệu này được liệt kê ở trong bảng 10. Dữ liệu Nguồn Số lượng 587 Tập 1200 676 2016 Tập 5000 2918 Bảng 10: Dữ liệu kiểm thử và dữ liệu huấn luyện 4.3. Đánh giá hệ thống Hệ thống được đánh giá chất lượng qua các độ đo: Precision (độ chính xác) và Recall (độ hồi tưởng) và F1 được tính theo công thức dưới đây: oducedPr_Answers Answers_CorrectPrecision  Correct_Possible_Total Answers_CorrectcallRe  callReecisionPr callRe*ecisionPr*F   2 1 Để thẩm định các cặp quan hệ được tạo ra, luận văn tạo ra một file kết quả, chứa tất cả các cặp quan hệ có thể được tạo ra trong tập dữ liệu kiểm thử - tập 1200, từ đó so sánh với các cặp quan hệ do hệ thống trích chọn, tính toán được giá trị Precision, Recall và F1 qua các vòng lặp. 4.4. Thực nghiệm FinePix A345 Fujifilm NX10 Samsung PowerShot S3IS Canon PowerShot SD780 Canon DSC-T30 Sony Bảng 11: Tập các quan hệ hạt giống ban đầu Thực nghiệm 1 Thực nghiệm thứ nhất chúng tôi tiến hành trên tập dữ liệu kiểm thử (Tập 1200). Bắt đầu với 5 quan hệ ở bảng 11, hệ thống tạo ra được 10 mẫu. Trong 10 mẫu này chúng tôi chỉ giữ lại các mẫu được hỗ trợ bởi ít nhất 2 cặp quan hệ hạt giống, và dùng các mẫu này để trích chọn các cặp quan hệ mới. Các mẫu rút trích được trong lần lặp đầu tiên là: post firmware update release firmware update 52 Tại vòng lặp đầu tiên sử dụng các mẫu vừa được tạo cùng với mẫu và , hệ thống sinh ra được 457 cặp quan hệ mới, trong đó có 415 cặp quan hệ chính xác trên tổng số 746 cặp quan hệ có thể lấy ra được từ tập CSDL ban đầu. Một số cặp quan hệ được trích chọn ở vòng lặp đầu tiên được liệt kê trong bảng 12. Tên hãng sản xuất Tên máy ảnh Nikon CoolPix S230 Fujifilm FinePix JZ500 Pentax Optio RS1000 Nikon CoolPix L110 Olympus FE-5010 Panasonic Lumix ZS1 Olympus C8080 Olympus SP-800UZ Kodak DC215 Canon EOS 500D Canon 430EX Sony TRV30 Kodak DVC325 Nikon CoolPix S8100 Canon S600 Kodak EasyShare CX6230 Nikon CoolPix S630 Nikon CoolPix 900 Bảng 12: Một số cặp ở lần lặp đầu tiên Từ vòng lặp thứ 4, số lượng cặp quan hệ được tạo ra không thay đổi. Giá trị của Precision và Recall, F1 qua mỗi vòng lặp được chỉ ra ở bảng 13. Số lần lặp Precision Recall F1 1 90.81 55.93 69.22 2 87.32 81.67 84.40 3 85.87 86.79 86.33 4 85.36 87.20 86.27 Bảng 13: Giá trị Precision, Recall và F1 sau các vòng lặp Hướng tiếp cận của hệ thống xuất phát từ các mẫu có độ hồi tưởng thấp, độ chính xác cao, kết hợp các tri thức để lọc kết quả. Ở vòng lặp đầu tiên, tuy rằng số lượng các cặp quan hệ trích chọn được còn ít (457 trên tổng số 746 bộ quan hệ), nhưng độ chính xác của các bộ quan hệ đó lại khá cao (khoảng 90%), 53 do đó kết quả nhận được có giá trị độ hồi tưởng thấp. Tại các vòng lặp tiếp theo, số lượng các bộ quan hệ trích chọn được tăng dần, tuy nhiên độ chính xác lại có xu hướng giảm dần. Từ vòng lặp số 4, số lượng các bộ quan hệ mà hệ thống trích ra được không thay đổi, lúc này giá trị độ hồi tưởng đã vượt quá 87%, còn giá trị độ chính xác dao động quanh khoảng 85%. Biểu đồ mô tả độ chính xác và độ hồi tưởng được trình bày ở hình 12. 50 55 60 65 70 75 80 85 90 95 1 2 3 4 Số lần lặp % Precision Recall F1 Hình 12: Giá trị của Precision, Recall, F1 thực nghiệm trên tập 1200 Hệ thống trích chọn còn sử dụng một tham số là sup để đánh giá độ chất lượng của các mẫu được sinh ra, hệ thống chỉ sử dụng các mẫu được sinh bởi từ sup bộ quan hệ hạt giống trở lên. Bảng 14 phía dưới thể hiện số lượng các bộ quan hệ mà hệ thống trích chọn được, số lượng các bộ quan hệ chính xác tùy thuộc vào các giá trị khác nhau của sup. Từ kết quả chúng tôi nhận thấy rằng, nếu giá trị sup càng lớn, số lượng các bộ quan hệ trích chọn được lại giảm. Là do giá trị sup càng tăng, số lượng các mẫu trích chọn được và được sử dụng cho vòng lặp tiếp theo càng ít, chỉ những mẫu được sinh bởi càng nhiều bộ quan hệ mới được dùng để trích chọn các bộ quan hệ mới, những mẫu ít chất lượng hơn sẽ bị loại bỏ, do đó những bộ quan hệ được sinh bởi những mẫu kém chất lượng hơn sẽ không được hệ thống 54 trích chọn và đưa vào bảng quan hệ đích. Do đó, độ chính xác có xu hướng tăng, còn độ hồi tưởng có xu hướng giảm dần. Số lượng các bộ quan hệ trích chọn được Giá trị các độ đo sup Tổng số Chính xác Precision Recall F1 1 802 662 82.54 89.22 85.75 2 758 647 85.36 87.20 86.27 3 703 612 87.06 82.48 84.71 4 639 569 89.05 76.68 82.40 5 637 567 89.01 76.42 82.24 Bảng 14: Giá trị Precision, Recall, F1 của hệ thống theo giá trị sup Biểu đồ thể hiện sự tương quan giữa các giá trị Precision, Recall, F1 phụ thuộc vào giá trị của sup được trình bày ở hình 13. 70 75 80 85 90 95 100 1 2 3 4 5 tsup % Precision Recall F1 Hình 13: Giá trị Precision, Recall, F1 của hệ thống theo giá trị sup Thực nghiệm 2 Thực nghiệm tiếp theo chúng tôi cho hệ thống chạy thử trên Tập 5000 để thu các tập mẫu được sinh ra. Sau đó chúng tôi dùng tập mẫu này để trích chọn các cặp quan hệ trong Tập 1200. 55 Kết quả cho thấy, khi thực nghiệm với Tập 5000, số lượng mẫu thu được khá lớn là 435 mẫu (so với 100 mẫu khi thực nghiệm trên Tập 1200), tuy nhiên số lượng các bộ quan hệ sinh ra lại tăng không đáng kể. Kết quả cụ thể của thực nghiệm được liệt kê ở bảng 15 và 16. Số lần lặp Precision Recall F1 1 83.18 88.01 85.53 2 82.98 90.03 86.36 3 81.86 90.03 85.75 4 81.86 90.03 85.75 Bảng 15: Giá trị của Precision, Recall, F1 thực nghiệm trên tập 5000 Số lượng các bộ quan hệ trích chọn được Giá trị các độ đo Thực nghiệm Tổng số Chính xác Precision Recall F1 Thực nghiệm 1 758 647 85.36 87.20 86.27 Thực nghiệm 2 816 668 81.86 90.03 85.75 Bảng 16: Kết quả so sánh giữa thực nghiệm 1 và 2 So sánh kết quả của thực nghiệm này với thực nghiệm thứ nhất chúng tôi thấy chất lượng không chênh lệch nhau là mấy. Việc sử dụng huấn luyện để trích chọn ra tập các mẫu, với số lượng các tài liệu lớn hơn, các mẫu trích chọn được sẽ nhiều hơn và có tính chuyên biệt hơn, do đó kết quả sẽ tốt hơn với việc không sử dụng tập 1200 (thu được nhiều bộ quan hệ chính xác hơn). Tuy nhiên số lượng các bộ quan hệ trích chọn ra được tăng không đáng kể, là do dữ liệu trên tập 1200 và 5000 đều lấy từ 2 địa chỉ website, các bài viết trên mỗi địa chỉ thường có định dạng giống nhau nhau, những mẫu chất lượng sinh ra bởi tập 5000 cũng được sinh ra ở tập 1200, những mẫu còn lại trong tập 5000 có tính khả dụng kém hơn nên khi áp dụng các mẫu này cho tập 1200, số lượng bộ quan hệ sinh ra không đáng kể. Thậm chí, số lượng mẫu tăng, bộ quan hệ sinh ra có tăng, kèm theo đó là độ chính xác của các bộ sinh ra thấp, làm cho giá trị Precision cuối cùng thấp hơn, giá trị F1 vì thế thấp hơn so với thực nghiệm 1. Để đánh giá tính hiệu quả của giải mà luận văn đã đề xuất, chúng tôi cũng cài đặt giải thuật DIPRE. Thực nghiệm 3 Chúng tôi cho giải thuật DIPRE thực hiện trên tập 1200. Ở vòng lặp đầu tiên, số lượng bộ quan hệ trích chọn được là vô cùng nhỏ - 14 bộ quan hệ, trong đó chỉ có 11 bộ quan hệ là chính xác. Ở các vòng lặp tiếp theo, số lượng bộ quan hệ trích chọn được có tăng, nhưng với số lượng thấp. Cụ thể, kết quả thực nghiệm được chỉ ra ở bảng 17. 56 Số lần lặp Precision Recall F1 1 71.43 1.28 2.51 2 50.00 4.85 8.84 3 47.62 8.93 15.04 4 42.54 14.54 21.67 7 41.16 18.11 25.15 Bảng 17: Kết quả trích chọn khi áp dụng giải thuật DIPRE trên Tập 1200 Thực nghiệm 4 Chúng tôi cũng tiến hành thực nghiệm đối với giải thuật DIPRE thực hiện trên tập 5000, thu thập các mẫu, sau đó sử dụng tập mẫu này để trích chọn các bộ quan hệ trên tập 1200. Kết quả khả quan hơn thực nghiệm 3, kết quả cụ thể được trình bày trong bảng 18. Số lần lặp Precision Recall F-score 1 36.10 34.44 35.25 2 33.67 38.52 35.93 3 31.88 39.16 35.15 4 31.15 39.41 34.80 Bảng 18: Kết quả trích chọn khi áp dụng giải thuật DIPRE trên Tập 5000 Kết quả thực nghiệm với DIPRE thống kê trên số lượng các bộ quan hệ trích chọn được trình bày trong bảng 19. Số lượng các bộ quan hệ trích chọn được Thực nghiệm Tổng số Chính xác Thực nghiệm 3 345 142 Thực nghiệm 4 992 309 Bảng 19: Bảng thống kê kết quả trích chọn khi áp dụng giải thuật DIPRE cho bài toán trích chọn tên máy ảnh số Dựa vào kết quả thực nghiệm 3 và 4 đối với giải thuật DIPRE, nhận thấy giải thuật do luận văn đề xuất hiệu quả hơn rất nhiều so với giải thuật DIPRE áp dụng cho bài toán trích chọn tên máy ảnh số. Biểu đồ so sánh kết quả trích chọn của giải thuật DIPRE và giải thuật do luận văn đề xuất được chỉ ra ở hình 14. 57 0 10 20 30 40 50 60 70 80 90 100 1 2 3 4 Số lần lặp % Luận văn DIPRE (a) 0 10 20 30 40 50 60 70 80 90 100 1 2 3 4 Số lần lặp % Luận văn DIPRE (b) Hình 14: Kết quả thực nghiệm 3 (a) và thực nghiệm 4 (b) đối với giá trị F1 Thực nghiệm 5 Chúng tôi tiến hành thực nghiệm trích chọn các cặp trên Tập 1200; giá trị sup = 2; độ dài lớn nhất của mỗi mẫu = 10. 58 Kết quả thực nghiệm được thống kê trong bảng 20. Tổng số cặp hệ thống trích chọn được Tổng số cặp trong CSDL Chính xác Không chính xác Tổng 746 648 111 758 Bảng 20: Kết quả thực nghiệm 5 với số lượng các cặp tìm được Trong thực nghiệm này, chúng tôi tiến hành thống kê những mẫu có chất lượng nhất, có khả năng trích chọn ra được nhiều tên máy ảnh nhất. Danh sách các mẫu này cùng với một số bộ quan hệ được sinh bởi chúng được trình bày trong bảng 21, trong đó mẫu chất lượng nhất là mẫu . Mẫu Ví dụ Nikon D3 Samsung NX10 update firmware Canon EOS 7D Ricoh CX3 unveil Toshiba PDR-M3 Panasonic Lumix DMC-ZS7 introduce Canon PowerShot SX210 Fujifilm FinePix S3 launch Panasonic Lumix DMC-TS2 Fujifilm FinePix XP10 release Canon PowerShot S1 Panasonic Lumix DMC-FX66 announce firmware update Canon EOS 5D Panasonic DMC-G1 release firmware update Panasonic DMC-LX3 Nikon CoolPix P90 post firmware update Olympus E-P1 Pentax K-7 announce price Panasonic DMC-GH1 Nikon D100 Bảng 21: Kết quả thực nghiệm 5 - Một số mẫu có độ chính xác cao và xuất hiện nhiều Chúng tôi cũng tiến hành thống kê tên các loại máy ảnh có xuất hiện nhiều nhất trong tập dữ liệu mà hệ thống trích chọn ra được. Đứng đầu danh sách là máy ảnh Nikon D3 với 68 lần xuất hiện, tiếp theo là Samsung NX100, Nikon D70…, cho thấy mức độ quan tâm của người dùng về các loại máy ảnh này là khá cao. Kết quả được thể hiện trong bảng 22. 59 Trong kết quả thực nghiệm, hãng sản xuất có số lượng máy ảnh nhiều nhất trích chọn ra được là Canon với 103 loại máy ảnh khác nhau, tiếp theo là Panasonic với 93 máy ảnh, thứ ba là hãng Nikon với 91 loại máy ảnh... Kết quả cụ thể được thể hiện trong bảng 23. Tên hãng sản xuất Tên máy ảnh Số lần xuất hiện Nikon D3 68 Samsung NX10 50 Nikon D70 46 Olympus E-PL1 37 Panasonic G1 33 Canon 5D 28 Sigma SD1 28 Nikon D3S 27 Nikon D700 26 Olympus E-5 24 Sony NEX-3 24 Sony NEX-5 24 Fujifilm S1 23 Canon 1D 22 Canon 50D 22 Nikon 950 21 Sony A55 19 Nikon CoolPix 950 19 Nikon D7000 19 Olympus E-3 19 Nikon D1 18 Sigma DP2 18 Olympus E-P2 18 Panasonic F3 17 Canon 7D 16 Nikon D300 16 Samsung NX100 16 Pentax 645D 15 Ricoh CX3 15 Olympus E-P1 15 Bảng 22: Kết quả thực nghiệm 5 - Thống kê các loại máy ảnh phổ biến nhất 60 Tên nhà sản xuất Số lượng máy ảnh Canon 103 Panasonic 93 Nikon 91 Fujifilm 78 Sony 72 Pentax 51 Casio 36 Olympus 35 Kodak 32 Samsung 24 Sanyo 20 Ricoh 17 Bảng 23: Kết quả thực nghiệm 5 - Thống kê số lượng máy ảnh theo hãng sản xuất 61 Kết luận và hướng phát triển tương lai Từ việc nghiên cứu bài toán trích chọn quan hệ, luận văn đã đưa ra mô hình trích chọn tên máy ảnh kĩ thuật số từ tập văn bản. Qua thực nghiệm cho thấy mô hình là khả thi và có thể áp dụng được. Về mặt nội dung, khóa luận đã đạt những kết quả sau: - Giới thiệu bài toán trích chọn quan hệ và các khái niệm liên quan. - Tìm hiểu và phân tích các phương pháp trích chọn quan hệ điển hình, trong đó tập trung vào phương pháp học bán giám sát để trích chọn thực thể tên. - Áp dụng mô hình học bán giám sát để xây dựng mô hình trích chọn tên máy ảnh kĩ thuật số và đạt được một số kết quả khả quan. Bên cạnh đó, do hạn chế về thời gian và kiến thức, luận văn còn một số hạn chế sau: - Khóa luận mới dừng lại ở việc trích chọn tên máy ảnh mà chưa trích chọn được các thuộc tính liên quan đến máy ảnh như độ phân giải, độ zoom,… Trong một câu thường chỉ trích chọn ra được một cặp , các câu có dạng … … thì chỉ trích chọn được cặp . Kết quả thực nghiệm còn nhiều trường hợp chưa đạt được độ chính xác như mong muốn. Về định hướng nghiên cứu, việc giải quyết bài toán theo tiếp cận bán giám sát là bước khởi đầu tốt. Trong thời gian tới, luận văn sẽ được phát triển theo các hướng sau: - Mở rộng hệ thống, không dừng lại ở việc trích chọn tên máy ảnh mà còn trích chọn các đặc trưng (thuộc tính, tham số kỹ thuật) của máy ảnh. Tiếp đến là có thể phát triển các thuật toán trích chọn các ý kiến đánh giá chất lượng của các loại máy ảnh hay so sánh các thuộc tính của người dùng từ đó có thể đưa ra các thông tin hữu ích giúp người dùng trước khi mua máy ảnh có thể tham khảo. - Cải tiến chương trình để đạt được các kết quả chính xác hơn. 62 Tài liệu tham khảo [1] George A.Miller, Richard Beckwith, Christiane Fellbaum, Derek Gross and Katherine Miller (1993), Introduction to WordNet: An On-line Lexical database, International Journal of Lexicography, pp. 235-312. [2] Eugene Agichtein and Luis Gravano (2000), Snowball: Extracting Relations from Large Plain text Collections, Proceedings of the 5th ACM International Conference on Digital Libraries, pp. 185-194. [3] Sergey Brin (1998), Extraction Patterns and Relation from the World Wide Web, Proceedings of the 6th International Conference on Extending Database Technology, pp. 172-183. [4] Mary E. Calif and Raymond J. Mooney (1998), Relational learning of Pattern – Match Rules for Information Extraction, Proceedings of AAAI Spring Symposium on Applying Machine Learning, pp 328-334. [5] Douglas E.Appelt, David J.Israel (1999), Introduction to Information Extraction, A Tutorial Prepared for IJCAI-99. [6] Christiane Fellbaum (1998), WordNet: An Electronic Lexical Database and Some of Its Applications, MIT Press, [7] Claudio Giuliano, Albert Olavelli and Lorenza Romano (2007), Relation Extraction and the Influence of Automatic Named-Entity Recognition, ACM Trans. Speech Lang. Process. 5, pp. 9-15. [8] Ralph Grishman and Beth Sundheim (1996), Message Understanding Conference - 6: A Brief History, Proceedings of the 16th International Conference on Computational Linguistics (COLING), pp. 466-471. [9] Ralph Grishman (1997), Information extraction: Techniques and challenges, In Information Extraction (International Summer School SCIE-97), pp. 10- 27. [10] Ralph Grishman, Silja Huttunen and Roman Yangarber (2002), Information Extraction for Enhanced Access to Disease Outbreak Reports , Journal of Biomedical Informatics, pp. 462-477. [11] M. Hassel (2003), Exploitation of Named Entities in Automatic Text Summarization for Swedish, In Proceedings of NODALIDA 03 - 14 th Nordic Conference on Computational Linguistics. [12] U. Hermjakob, K. Knight, and H. Daume (2008), Name Translation in Statistical Machine Translation: Learning When to Transliterate, Proc. ACL, pp. 389-397. [13] GuXu, Shuang-HongYang and HangLi (2009), Named Entity Mining from Click-Through Data Using Weakly Supervised Latent Dirichlet Allocation, 63 Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 1365-1374. [14] Nozomi Kobayashi, Kentaro Inui and Yuji Matsumoto (2007), Opinion Mining from Web documents: Extraction and Structurization, Journal of Japanese Society for Artificial Intelligence, pp. 326-335. [15] Giridhar Kumaran and James Allan (2004), Text Classification and Named Entities for New Event Detection, Proceedings of the 27PthP Annual International ACM SIGIR Conference, pp. 297-304. [16] Diego Molla, Mennovan Zaanen and Daniel Smith (2006), Named Entity Recognition for Question Answering, Proceedings ALTW, pp. 51-58. [17] Marius Pasca (2004), Acquisition of Categorized Named Entities for Web Search, ACM Press, pp. 137-145. [18] Ellen Riloff (1996), Automatically Generating Extraction Patterns from Untagged text, In Proceedings of the Thirteenth National Conference on Artificial Intelligence, pp. 1044-1049. [19] Google AJAX Search API 64 Phụ lục. Mối quan hệ ngữ nghĩa trong WordNet WordNet là một hệ cơ sở tri thức cho từ vựng tiếng anh. Các từ vựng trong WordNet được phân loại và tổ chức thành các tập đồng nghĩa synset. Mỗi tập synset biểu diễn một nghĩa. WordNet tổ chức 25 cấu trúc cây phân cấp riêng biệt tương ứng với các lĩnh vực có ngữ nghĩa khác nhau cho synset. Quan hệ ngữ nghĩa trong WordNet được trình bày trong bảng 24. Thông thường, người ta thường hay sử dụng WordNet cho việc tìm kiếm các mối quan hệ ngữ nghĩa. Đồng thời, dựa vào các mối quan hệ này, một từ trong WordNet có thể tìm được các mối liên hệ với các khái niệm khác. Bảng 24: Các quan hệ ngữ nghĩa trong WordNet * Quan hệ đồng nghĩa (synonymy) Các tập đồng nghĩa được gọi là có quan hệ đồng nghĩa với nhau khi chúng có thể thay thế cho nhau trong một số ngữ cảnh nào đó. Vì thế WordNet đã được chia thành nhóm danh từ (noun), động từ (verb), tính từ (adjective), và trạng từ (adverb). Và những mối quan hệ đồng nghĩa chỉ tồn tại giữa các tập đồng nghĩa ở cùng dạng từ loại. Điều này cũng thật dễ hiểu, bởi vì các danh từ sẽ diễn tả những khái niệm thuộc về danh từ, động từ thì diễn tả những khái 65 niệm chỉ hành động, còn tính từ và trạng từ thì giúp ta có thể diễn tả mức độ của những khái niệm trên. * Quan hệ trái nghĩa (antonymy) Một từ trái nghĩa của từ x thông thường sẽ là not-x, nhưng không phải lúc nào cũng đúng như vậy. Chẳng hạn, ta có từ rich (giàu) và poor (nghèo) là hai từ trái nghĩa, nhưng ta không thể nói rằng một người không giàu là một người nghèo. Quan hệ trái nghĩa là một quan hệ giữa các từ với nhau chứ không phải là quan hệ giữa các nghĩa của từ với nhau. * Quan hệ cấp bậc (hyponymy/ hypernymy) Ngược với quan hệ đồng nghĩa và trái nghĩa là các quan hệ giữa các từ với nhau, quan hệ cấp bậc (hạ danh/ thượng danh) là quan hệ giữa các nghĩa của từ. Ví dụ: tree (cây) là một hyponym của plant (thực vật). * Quan hệ bộ phận/ toàn thể (meronymy/ holonym) Một loại quan hệ ngữ nghĩa khác được định nghĩa trong WordNet đó là quan hệ bộ phận và toàn thể (part-whole relation) còn gọi là meronym/ holonym. Một ý niệm tương ứng với synset {x, x, ...} được gọi là một meronym của ý niệm tương ứng với synset {y, y, ...} khi chúng ta có thể nói “một y có một x” (a y has an x) hoặc “một x là một phần của y” (an x is a part of a y). * Quan hệ kéo theo đối với động từ (entailment): Quan hệ kéo theo có phần nào giống quan hệ bộ phân nhưng không thích hợp cho ý nghĩa V1 là bộ phận V2 giống như bên danh từ. Ngoài ra quan hệ giữa 2 động từ còn phụ thuộc vào thời gian thực hiện, xảy ra hành động, biến cố (bên danh từ: quan hệ bộ phận không phụ thuộc vào thời gain). Một hành động hay biến cố được gọi là một bộ phận của một hành động hay biến cố khác chỉ khi nó là một phần, một giai đoạn trong quá trình thực hiện của hành động kia. * Quan hệ cách thức đặc biệt của động từ (troponymy) Ví dụ “limp” (đi khập khiễng) có quan hệ cách thức đặc biệt với “walk” (đi bộ) vì “đi khập khiễng mà một cách thức đi bộ đặc biệt”. Trong quan hệ cách thức đặc biệt bao giờ cũng có quan hệ kéo theo, ví dụ như khi diễn ra hành động “đi khập khiễng” thì hiển nhiên lúc đó phải diễn ra hành động “đi bộ”. Một quan hệ kéo theo mà trong đó thời gian diễn ra 2 hành động của 2 động từ trùng nhau thì ta có quan hệ cách thức đặc biệt, ví dụ giữa “buy/ pay” hay “snore/ sleep” chỉ là quan hệ kéo theo thôi chứ không có quan hệ cách thức đặc biệt vì thời gian diễn ra của 2 hành động không trùng nhau.

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- 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Ố.pdf