Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức

Trích chọn thông tin là lĩnh vực quan trọng trong khai phá dữliệu, trong đó trích chọn thực thểlà một bài toán con, cơbản nhưng đóng vai trò hết sức quan trọng. Nó có thể được sửdụng đểhỗtrợcho phương pháp tìm kiếm mới – tìm kiếm hướng thực thể, và góp phần quan trọng cho việc xây dựng web ngữnghĩa. Có nhiều phương pháp tiếp cận khác nhau cho bài toán trích chọn thực thểnhư phương pháp học máy HMM, Trong khóa luận này em trình bày một phương pháp đểtrích chọn thực thểtên tổchức tiếng Việttrong văn bản tiếng Việt trên môi trường Web. Phương pháp này dựa trên ý tưởng của Sergey Brin mà cụthểhơn là thuật toán DIPRE trong việc trích chọn cặp quan hệ tên sách và tác giảcủa những cuốn sách tiếng Anh trên môi trường Web. Ưu điểm của phương pháp này là cần ít sựcan thiệp của con người, không cần sựhỗtrợcủa các ứng dụng phụnhưxác định từloại (POS – tag). Kết quảthực nghiệm trên các văn bản tiếng Việt cho thấy phương pháp này tương đối khảquan.

pdf45 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2097 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Quốc Đạt PHƯƠNG PHÁP HỌC GẦN KHÔNG GIÁM SÁT ĐỂ TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Quốc Đạt PHƯƠNG PHÁP HỌC GẦN KHÔNG GIÁM SÁT ĐỂ TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Nguyễn Trí Thành HÀ NỘI – 2009 Lời cảm ơn Trước tiên em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, TS. Nguyễn Trí Thành, người đã giúp em chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng dẫn giúp em hoàn thành luận văn tốt nghiệp. Em xin chân thành cảm ơn các thầy cô giáo trong khoa CNTT- Trường Đại học Công Nghệ - ĐHQG Hà Nội đã truyền đạt kiến thức cho em trong suốt thời gian học tập tại trường. Trong suốt thời gian làm khóa luận, em đã nhận được nhiều sự giúp đỡ, động viên từ gia đình, thầy cô và bạn bè. Em xin gửi lời cảm ơn tới những người bạn của em, luôn bên cạnh em để chia sẽ những kiến thức, kinh nghiệm học tập cũng như trong cuộc sống. Cuối cùng, em xin gửi lời cảm ơn sâu sắc nhất tới gia đình của mình, nguồn động viên và cổ vũ lớn lao, và là động lực giúp em thành công trong công việc và trong cuộc sống. Sinh viên Vũ Quốc Đạt Tóm tắt nội dung Trích chọn thông tin là lĩnh vực quan trọng trong khai phá dữ liệu, trong đó trích chọn thực thể là một bài toán con, cơ bản nhưng đóng vai trò hết sức quan trọng. Nó có thể được sử dụng để hỗ trợ cho phương pháp tìm kiếm mới – tìm kiếm hướng thực thể, và góp phần quan trọng cho việc xây dựng web ngữ nghĩa. Có nhiều phương pháp tiếp cận khác nhau cho bài toán trích chọn thực thể như phương pháp học máy HMM, … Trong khóa luận này em trình bày một phương pháp để trích chọn thực thể tên tổ chức tiếng Việt trong văn bản tiếng Việt trên môi trường Web. Phương pháp này dựa trên ý tưởng của Sergey Brin mà cụ thể hơn là thuật toán DIPRE trong việc trích chọn cặp quan hệ tên sách và tác giả của những cuốn sách tiếng Anh trên môi trường Web. Ưu điểm của phương pháp này là cần ít sự can thiệp của con người, không cần sự hỗ trợ của các ứng dụng phụ như xác định từ loại (POS – tag). Kết quả thực nghiệm trên các văn bản tiếng Việt cho thấy phương pháp này tương đối khả quan. Mục lục Lời cảm ơn............................................................................................................................3 Tóm tắt nội dung...................................................................................................................4 Bảng từ viết tắt .....................................................................................................................0 Mở đầu..................................................................................................................................1 CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC....3 1.1. Tổng quan về trích chọn thông tin ..........................................................................3 1.2. Bài toán rút trích thực thể tên tổ chức.....................................................................4 1.3. Ý nghĩa của bài toán rút trích thực thể tên tổ chức.................................................5 CHƯƠNG 2. HƯỚNG TIẾP CẬN BÀI TOÁN TRÍCH CHỌN THỰC THỂ ...............6 2.1. Rút trích cặp quan hệ (title, author) của cuốn sách trong tài liệu web ...................6 2.1.1. Occurrences của sách .......................................................................................6 2.1.2. Patterns của sách ..............................................................................................7 2.1.3. Quy trình rút trích.............................................................................................7 2.1.4. Thuật toán sinh Patterns ...................................................................................8 2.2. Thu thập tên và miền tương ứng từ tập tài liệu web ...............................................9 2.3. Hệ thống Snowball................................................................................................13 2.3.1. Sinh patterns...................................................................................................13 2.3.2. Sinh cặp quan hệ ............................................................................................15 2.4. Tổng kết chương ...................................................................................................16 CHƯƠNG 3........................................................................................................................17 3.1. Mô hình tổng quát .................................................................................................17 3.2. Mô hình chi tiết .....................................................................................................19 3.2.1. Find_IndexsOfPrefixPattern ..........................................................................20 3.2.2. Extract_CandidateStrings...............................................................................21 3.2.3. Trim................................................................................................................22 3.2.4. Filter_Entities .................................................................................................22 3.2.5. Find_PrefixStrings .........................................................................................23 3.2.6. Generate_NewPrefixPattern...........................................................................23 3.3. Biểu diễn PrefixString và quy tắc cho PrefixPattern ............................................24 3.3.1. Biểu diễn PrefixString....................................................................................24 3.3.2. Thuật toán sinh PrefixPattern.........................................................................25 3.4. Quy tắc cắt tỉa .......................................................................................................27 3.4.1. Extract_By_Capitalize_Rule..........................................................................29 3.4.2. Extract_By_Left_Rule ...................................................................................29 3.4.3. Extract_Standard_Name ................................................................................30 3.4.4. Compare_Discard_Name ...............................................................................30 3.4.5. Các trường hợp cắt tỉa khác ...........................................................................30 CHƯƠNG 4. THỰC NGHIỆM..........................................................................................31 4.1. Chuẩn bị đầu vào ..................................................................................................31 4.1.1. Thu thập dữ liệu.................................................................................................31 4.1.2. Xây dựng PrefixPattern (Initial).....................................................................31 4.1.3. Xây dựng các Luật (Rule) ..............................................................................32 4.2. Môi trường thực nghiệm .......................................................................................32 4.2.1. Phần cứng.......................................................................................................32 4.2.2. Phần mềm.......................................................................................................33 4.3. Kết quả thực nghiệm............................................................................................33 4.4. Nhận xét ................................................................................................................35 Kết Luận .............................................................................................................................35 Tài liệu tham khảo: .............................................................................................................38 Bảng từ viết tắt Từ hoặc cụm từ Viết tắt Dual Iterative Pattern Relation Expansion DIPRE Mô hình Markov ẩn HMM 1 Mở đầu Trích chọn thực thể là bài toán đơn giản nhất trong các bài toán trích chọn thông tin. Tuy cơ bản nhưng lại đóng vai trò khá quan trọng, như hỗ trợ các hệ thống tóm tắt văn bản tự động, ứng dụng cho máy tìm kiếm hướng thực thể … Bài toán trích chọn thực thể tên tiếng Việt đã được nghiên cứu vài năm gần đây, có nhiều phương pháp giải quyết được đưa ra với những kết quả thu được tương đối khả quan. Trong khóa luận này, em đưa ra một phương pháp mới “học gần không giám sát” để áp dụng cho bài toán trên. Tuy nhiên, trong phạm vi của khóa luận này em chỉ thực hiện rút trích một loại thực thể đó là thực thể tên tổ chức. Luận văn được chia thành 4 chương: ¾ Chương 1 Giới thiệu qua về trích chọn thông tin và bài toán trích chọn thực thể tên tổ chức cũng như ý nghĩa của nó. ¾ Chương 2 trình bày hướng tiếp cận để giải quyết bài toán. Chương đưa ra 3 bài toán rút trích các cặp quan hệ hệ khác nhau trên tập tài liệu (quan hệ <author, title>, , ). Ý tưởng chính của các bài toàn này là dựa vào thông tin ngữ cảnh của đối tượng cần rút trích để biểu diễn chúng dưới dạng mẫu (pattern), từ mẫu này rút trích ra đối tượng. Bài toán cơ bản nhất là của Brin – rút trích cặp quan hệ . Kỹ thuật quay vòng được áp dụng để rút trích thực thể, dựa vào thuật toán DIPRE. Vòng lặp sau sử dụng kết quả của vòng lặp trước làm đầu vào. Các thực thể lần lượt được rút trích ở mỗi vòng, kết thúc vòng lặp khi thỏa mãn điều kiện dừng đã cho. Mỗi bài toán đưa ra đều có cách biểu diễn mẫu riêng, phù hợp với ngữ cảnh của từng quan hệ cần rút trích.Từ bài toán của Pasca nãy ra ý nghĩ về một phương pháp học gần không giám sát để áp dụng cho bài toán trong khóa luận này. Hệ thống Snowball độc đáo với cách biểu diễn pattern và phương thức đánh giá chất lượng của thực thể thu được. ¾ Chương 3 trình bày mô hình tổng quát và các bước chi tiết của bài toán rút trích thực thể tên tổ chức. Mô hình tổng quát dựa trên bài toán của Brin về rút trích cặp quan hệ , đặc biệt là kỹ thuật DIPRE. Tuy nhiên, điểm xuất phát ban đầu giống với bài toán của Pasca – xuất phát là patterns. Với cách xuất phát này thì có thể giảm được số vòng lặp thực hiện. Chi tiết các bước thực hiện là: Ban đầu cho một mẫu (pattern) để đoán nhận tiền tố tên tổ chức; ước lượng một xâu (được 2 kỳ vọng là có chứa tên thực thể) ngay sau tiền tố đó; cắt tỉa xâu trên thu được tên thực thể; chọn lọc những thực thể đại diện từ tập thực thể thu được; ánh xạ ngược thực thể đại diện vào dữ liệu để tìm xâu tiền tố; sinh ra các pattern mới từ tập xâu tiền tố đó; tiếp tục vòng lặp mới… Chương cũng trình bày thuật toán sinh pattern từ cho tiền tố của thực thể; cuối cùng là đưa một số nhập nhằng trong cách biểu diễn tên, từ đó xây dựng chiến lược cắt tỉa để thu được tên hợp lý. ¾ Chương 4 là phần thực nghiệm. Dữ liệu chuẩn bị, môi trường thực nghiệm và kết quả thực nghiệm. Chỉ đưa ra một số kết quả thực nghiệm đại diện để thể hiện tính chất của bài toán. 3 CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC 1.1. Tổng quan về trích chọn thông tin Với sự bùng nổ của Internet và các phương tiện lưu trữ đã tạo ra một lượng thông tin khổng lồ. Bên cạnh đó nhu cầu về tốc độ xử lý thông tin, cũng như tính chính xác ngày càng tăng. Do đó bài toán đặt ra đối với các nhà nghiên cứu là tìm ra những phương pháp mới, hiệu quả cho việc xử lý thông tin đáp ứng nhu cầu sử dụng. Hiện nay, các máy tìm kiếm (search engine) thực hiện việc tìm những trang web phù hợp với yêu cầu câu hỏi người dùng. Tuy nhiên bởi vì đối tượng tác động của nó là trang Web trong hệ thống tài liệu, nên miền tri thức nó thu được đôi khi không đủ để đáp ứng yêu cầu tìm kiếm của người dùng. Vẫn còn tiềm ẩn những giá trị trong các câu, bộ phận của trang Web. Do đó khai thác được những tri thức đó sẽ mang lại nhiều thông tin bổ ích. Đó là lĩnh vực mà “trích chọn thông tin” nghiên cứu. Trích chọn thông tin là một lĩnh vực quan trọng trong khai phá dữ liệu, thực hiện việc rút trích ra thông tin có cấu trúc từ tập tài liệu thô – không có cấu trúc. Không giống như hiểu toàn bộ văn bản, các hệ thống trích chọn thông tin chỉ cố gắng nhận biết một số thông tin đáng quan tâm ở một lĩnh vực nào đó. Hay nói một cách khác, cho một mẫu (template) bao gồm các trường thực thể, quan hệ thực thể …., hệ thống trích chọn thông tin có nhiệm vụ phân tích tài liệu thô để tìm ra thông tin thích hợp điền vào các trường tương ứng trong mẫu đó. Ví dụ về hệ thống trích chọn thông tin : 4 Hình 1 : Hệ thống trích chọn thông tin Hệ thống trên thực hiện rút trích ra bộ ba quan hệ <NAME, TITLE, ORGANIZATION> từ tập tài liệu web và bổ sung các bản ghi 3 trường đó vào cơ sở dữ liệu. 1.2. Bài toán rút trích thực thể tên tổ chức Tổ chức là một trong những đối tượng cơ bản xuất hiện trong văn bản, đặc biệt là trong các website về kinh tế, xã hội, thế giới… Cùng với sự phát triển của thương mại điện tử, sự toàn cầu hóa …nên nhu cầu tìm hiểu về các tổ chức Việt Nam cũng như thế giới là vấn đề đáng được quan tâm. Rút trích tên tổ chức là liệt kê ra danh sách tên các tổ chức xuất hiện trong văn bản. Bài toán rút trích tên thực thể (mà cụ thể ở khóa luận này là bài toán trích chọn thực thể tên các tổ chức) là bài toán cơ bản trong các bài toán trích chọn thông tin. Bởi vì trước khi khai phá được các tri thức về thuộc tính, tính chất của các thực thể, thì đầu tiên chúng ta phải rút trích ra được chính xác tên của thực thể đó. Tuy nó là bài toán cơ bản, nhưng tồn tại rất nhiều vấn đề nhập nhằng làm cho việc rút trích gặp khó khăn. Đặc biệt với 5 ngôn ngữ tiếng Việt, đa dạng trong cách viết, đôi khi nhập nhằng về ngữ pháp, và chưa có một chuẩn nào cụ thể về chữ hoa, chữ thường cho tên tiếng Việt cũng như xuất hiện nhiều từ “thừa” chỉ mang tính chất liệt kê, bổ nghĩa ... Có nhiều phương pháp được áp dụng cho bài toán rút trích tên thực thể như phương pháp học máy HMM [4] … Trong khóa luận này, em sử dụng phương pháp “học gần không giám sát“ dựa trên thuật toán DIPRE và ý tưởng rút trích cặp quan hệ (author, title) của Brin [7], kết hợp các luật hỗ trợ để rút trích thực thể tên tổ chức. Tuy nhiên, có một hạn chế là thuật toán DIPRE thường áp dụng cho bài toán rút trích cặp quan hệ như (tên sách, tên tác giả), (tổ chức, trụ sở chính của tổ chức) …., còn nội dung khóa luận này chỉ là trích chọn thực thể đơn – tên tổ chức. Nhưng lợi thế của DIPRE là tính tự động (automatic), cần ít thao tác thủ công của con người, có thể áp dụng trong miền dữ liệu lớn. Hơn thế nữa tên các tổ chức thường có “quan hệ” nào đó với các “tiền tố” đứng liền nó. Đấy là những tiền đề để áp dụng kỹ thuật DIPRE vào bài toán trong khóa luận này. Các chương tiếp theo sẽ đề cập chi tiết hơn. 1.3. Ý nghĩa của bài toán rút trích thực thể tên tổ chức Một hệ thống rút trích các loại thực thể hiểu quả có thể có nhiều ứng dụng trong thực tế: - Hỗ trợ xây dưng Web ngữ nghĩa. - Xây dựng các máy tìm kiếm hướng thực thể. Ví dụ với từ khóa “Washington“ có thể trả về những trang web nói về vị tổng thống đầu tiên nước Mỹ, hoặc về thành Phố Washington – thủ đô nước Mỹ, hoặc về một công ty nào đó… Do đó thời gian tiềm kiếm sẽ giảm đi khi có sự trợ giúp của hệ thống trích chọn thực thể. - Hỗ trợ hệ thống tóm tắt văn bản tự động. ….. Bài toán rút trích thực thể tên tổ chức trong khóa luận này đưa ra chỉ là bài toán cơ bản, chưa có ứng nhiều trong thực tế. Mới chỉ dừng lại ở mức là làm giàu thông tin cho dữ liệu. Tuy nhiên nó là cơ sở để phát triển bài toán phức tạp hơn, hữu ích hơn. 6 CHƯƠNG 2. HƯỚNG TIẾP CẬN BÀI TOÁN TRÍCH CHỌN THỰC THỂ Học máy là hướng tiếp cận phổ biến nhất cho bài toán trích chọn thực thể. Bài toán trong khóa luận sẽ tiếp cận theo một cách khác. Chương này sẽ giới thiệu một số bài toán điển hình đã được thực nghiệm để rút trích cặp quan hệ, từ đó có thể rút ra ý tưởng áp dụng cho bài toán rút trích thực thể tên tổ chức. 2.1. Rút trích cặp quan hệ (title, author) của cuốn sách trong tài liệu web Nhận thấy rằng thông tin trên WWW không phải chỉ ở dạng thô, mà chúng còn tiềm ẩn những quan hệ, cấu trúc nào đó. Nếu khai phá được những đặc tính đó thì sẽ rất hữu ích cho việc xử lý thông tin. Segrey Brin đã đưa ra một ý tưởng là rút trích ra các cặp “title, ” và “author” của cuốn sách. Đặc điểm của cặp được rút trích này là chúng có quan hệ với nhau – tên sách và tên tác giả viết cuốn sách. Điểm nổi bật trong nghiên cứu này là thuật toán DIPRE sẽ được trình bày dưới đây. Đầu tiên giới thiệu một số khái niệm có trong bài toán, sau đó sẽ đưa ra quy trình rút trích tổng quát và chi tiết các thuật toán sử dụng trong bài. 2.1.1. Occurrences của sách Occurrences của cuốn sách được hiểu là thông tin về sự “xuất hiện” của cuốn sách (gồm title và author) trên tập dữ liệu. Để thuận tiện cho việc xử lý, Brin biểu diễn occurrences của cuốn sách là một bộ gồm 7 trường: (author,title,order,url,prefix,middle,suffix) order : Thứ tự xuất hiện của author và title. url : Địa chỉ trang web mà nội dung có chứa author, title . prefix : Xâu ký tự đứng trước author hay title (tùy theo thứ tự của author, title) middle : Xâu nằm giữa author và title. suffix : Xâu đứng sau author hay title. 7 2.1.2. Patterns của sách Patterns sẽ được “ánh xạ” ngược vào tập tài liệu để rút trích ra tập quan hệ mới (ở đây là “title” và “author”). Patterns được “sinh ra” từ tập các Occurrences ở trên theo một tiêu chí, quy tắc nào đó (sẽ được trình bày ở dưới). Patterns có ý nghĩa quan trọng trong việc rút trích. Patterns tốt sẽ tăng số lượng cũng như chất lượng tìm kiếm, rút trích. Patterns cho những cuốn sách sách là một bộ gồm 5 trường (order,urlprefix,prefix,middle,suffix) order : Giống ở Occurrences Một cặp (author, title) được rút trích nếu có một URL trên web hợp (matchs) với urlprefix* và nội dung của nó có chứa đoạn hợp với biểu thức chính quy “*prefix, author, middle, title, suffix*” , đồng thời khi đó biến order = true. Biểu thức chinh quy cho author và title lần lượt là: [A-Z][A-Za-z .,&]5;30[A-Za-z.] [A-Z0-9][A-Za-z0-9 .,:'#!?;&]4;45[A-Za-z0-9?!] 2.1.3. Quy trình rút trích Quy trình rút trích dựa theo thuật toán DIPRE. Ý tưởng là: 1) Bắt đầu bằng mẫu nhỏ R’ – tập 5 cuốn sách và tên tác giả tương ứng. Mẫu này được thao tác trực tiếp bằng tay. 2) OÅFindOccurrences(R’;D) Tìm tất cả “sự xuất hiện của các bộ (author, title) của R’ trong D. Ứng với mỗi bộ tìm thấy, ghi nhớ lại url và text xung quanh (ở giữa, 2 bên) “author” và “title”. 3) PÅGenPatterns(O) Dựa vào tập xuất hiện của cặp (author,title) để sinh ra mẫu (pattern). Mẫu sinh ra phải không được quá riêng biệt, hay quá chung chung thì mới là mẫu tốt. 4) R’ÅMD(P) Từ những pattern xây dựng được, tìm kiếm trên CSDL những bộ (tuples) mà hợp với mẫu đó. 8 5) Nếu R’ đủ lớn thì kết thúc. Ngược lại nhảy về bước 2 Kỹ thuật trên có thể được mô tả như hình dưới đây : Hình 2: Quy trình rút trích 2.1.4. Thuật toán sinh Patterns Như đã trình bày trong mục trên, thủ tục GenPatterns có nhiệm vụ sinh ra các patterns dựa vào các occurrences. Nó là một quy trình quan trọng trong DIPRE. Giả sử chúng ta có một bộ occurrences , và sẽ “thử” dựng nên một pattern từ bộ đó. Khi đã có thủ tục sinh ra 1 pattern, thì thủ tục sinh tất cả các patterns có thể cũng sẽ tương tự, như được trình bày dưới đây : 2.1.4.1. Sinh một Pattern Các bước cho thủ tục GenOnePattern(O) – sinh 1 pattern như sau: 1) Cần phải chắc chắn rằng order và middle của tất cả sự xuất hiện (occurrences) phải gi