Báo cáo hệ chuyên gia Rút trích văn bản . Chương trình trích chọn tên công ty, địa chỉ và doanh thu dựa trên nguồn thông tin từ các trang báo mạng. Hệ thống được xây dựng trên nền visual và ngôn ngữ C
MỤC LỤC 1 DANH MỤC HÌNH ẢNH 2 LỜI MỞ ĐẦU Trích chọn thông tin là một khâu cơ bản trong bài toán khai phá dữ liệu. Ngày nay cùng với sự phát triển của công nghệ thông tin, tin học đã dần được ứng dụng rộng rãi trong nhiều lĩnh vực: kinh tế, thương mại, y tế, ngân hàng … và mang lại nhiều lợi ích to lớn. Trong nhiều thập kỷ qua, các nhà khoa học quan tâm đến lĩnh vữ xử lý ngôn ngữ tự nhiên đã nghiên cứu và đề xuất được nhiều phương pháp mô hình xử lý ngôn ngữ với hiệu quả cao. Nổi bật trong phướng pháp đó là trích rút thông tin bán giám sát. Từ đó em chọn đề tài “ Trích chọn tên công ty, địa chỉ , doanh thu trên nền web. 3 CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHỌN THỰC THỂ TÊN CÔNG TY, ĐỊA CHỈ VÀ DOANH THU. 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. 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. Mặc dù chất lượng của các máy tìm kiếm đã được cải thiện nhưng kết quả trả về chỉ là những tài liệu có liên quan, chúng không dễ dàng gì rút ra được các mối quan hệ tiềm ẩn và tạo được các câu trả lời cho các truy vấn phức tạp, chẳng hạn như “danh sách các công ty liên doanh” hoặc “danh sách các nhà lãnh đạo quốc tế trên toàn thế giới”. Người ta phân loại câu trả lời các truy vấn ở dạng: có phân tích các tài liệu liên quan để tập hợp những thông tin cần thiết. Nếu nhiều mối quan hệ như “Công ty A liên doanh với công ty B” được lưu trong các tài liệu thì nó tự động tổng hợp và cấu trúc hóa, điều này rất tốt không chỉ cho các hệ thống truy vấn thông tin mà còn cho các hệ thống hỏi đáp tự động và tóm tắt văn bản. 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 (Information Extraction -IE) là công việc trích ra các thông tin có cấu trúc từ các văn bản không có cấu trúc. Nói cách khác, một hệ thống trích chọn thông tin rút ra những thông tin đã được định nghĩa trước về các thực thể và mối quan hệ giữa các thực thể từ một văn bản dưới dạng ngôn ngữ tự nhiên và điền những thông tin này vào một văn bản ghi dữ liệu có cấu trúc hoặc một dạng mẫu được định nghĩa 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 đó. Ví dụ hệ thống trích chọn các bộ quan hệ <tên máy ảnh, hãng sản xuất> từ các tài liệu web, bổ sung chúng vào cơ sở dữ liệu. 1.2. Bài toán rút trích thực thể tên công ty, địa chỉ và doanh thu. 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. 4 Bài toán rút trích tên thực thể (mà cụ thể ở báo cáo 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 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 … Trong báo cáo 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, 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 báo cáo 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 báo cáo 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 công ty, địa chỉ và doanh thu. 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ể. 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 báo cáo 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. 5 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 trích chọn thực thể. Bài toán đưa ra trong báo cáo sẽ tiếp cận một cách khác. Chương này, chúng em sẽ giới thiệu một số bài toán điển hình đã được thực hiện để rút trích cặp quan hệ, từ đó rút ra ý tưởng áp dụng cho bài toán rút trích thực thể tên công ty, địa chỉ và doanh thu. 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. Đ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, prefic, sufix) 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 nằm giữa author và title. Sufix: Xâu đứng sau author hay title. 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ố 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 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, 6 middle, title, suffix”, đồng thời khi đó biến order = true. Biểu thức chính 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à: Bước 1. Bắt đầu bằng mẫu nhỏ R’ – tập 5 cuốn sách và tên tác giả tuơng ứng. Mẫu này được thao tác trực tiếp bằng tay. Bước 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”. Bước 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. Bước 4. R’←M D (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 đó. Bước 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: 7 Bộ dữ liệu ban đầu Xuất hiện của dữ liệu Tạo bộ dữ liệu mới Tạo ra các mô hình khai thác Hình 2.1: 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 GrePatterns có nhiệm vụ sinh ra các patterns dựa vào các Occurrenes. Nó là một quy trình quan trọng trong DIPRE. Giả sử chúng ra 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 patterns có thể cũng sẽ tương tự, như được trình bày dưới đây: Sinh một Pattern Các bước cho thủ tục GenOnePattern(O) – sinh 1 pattern như sau: • 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ống nhau. Nếu không thì không thể sinh ra được pattern để match với tất cả occurrences. Đặt outpattern.order và outpattern.middle tương ứng với order và middle. 8 • Tìm đoạn prefix dài nhất của các url mà chúng giống nhau. Đặt outpattern,urlprefix = prefix • Đặt outpattern.prefix là xâu dài nhất của các prefix mà chúng giống nhau tính từ cuối (suffix) của các tiền tố (prefix) đó. • Đặt outpattern.suffix là sau dài nhất của các suffix mà chúng giống nhau tính từ đầu (prefix)của các hậu tố (sufixs) đó. Kết quả thu được một pattern. Sinh tập patterns Thuật toán cho GenPatterns (O) dựa vào thuật toán GrenOnePatern(O) đã được giới thiệu ở trên: • Nhóm tất cả sự xuất hiện (occurrences) o trong O theo order và middle. Được các nhóm O 1 , …, O k . • Với mỗi O i , p ← GenOnePattern(O i ). Nếu p thỏa mán điều kiện về độ “riêng biệt” thì nhận p đưa ra ngoài. Nếu không: - Nếu tất cả occurrences o trong O i có chung url thì bỏ O i . - Ngược lại: Tách các occurrences o trong O i thành những nhóm con dựa vào đặc điểm urls của chúng – qua p.urlprefix. Lặp lại thủ tục ở bước 2 cho những nhóm con này. Ý tưởng của thủ tục sinh patterns như trên là chia nhỏ urls khi patterns sinh ra không đủ “riêng biệt”. Như thế thì cũng có thể sử dụng kỹ thuật chia nhỏ theo prefix hay suffix. Tất cả trên chỉ là những giải pháp cơ bản, để có được 1 kỹ thuật tốt hơn thì cần phải nghiên cứu thêm. Tuy nhiên kết quả mà kỹ thuật vừa đưa ra cũng có một kết quả thực nghiệm chấp nhận được. 2.2. Thu thập tên và miền tương ứng từ tập tài liệu web. Con người, thời gian, địa điểm…là những thực thể cơ bản trong văn bản dù ở bất cứ ngôn ngữ nào. Nhưng với từng “chuyên ngành” hay lĩnh vực riêng thì vẫn tồn tại rất nhiều thực thể và miền của thực thể đó. Nếu rút trích được các cặp tên miền và thực thể (C, N) rồi tích hợp vào các hệ thống như WordNet thì sẽ tạo ra cơ sở tri thức hữu ích. Dựa trên DIPRE, Marius Pasca đưa ra một mô hình để thu được cặp (C,N) từ tài tập liệu web. C và N tương ứng viết tắt cho Category và named Entity ( miền và tên thực thể). Pattern được sử dụng có dạng : [StartOfSent] X [such as|including] N [and|,|.] 9 Ở đây X là một “categorical fact” tạm hiểu nó là một xâu mà được coi là có chứa miền C. N là “potential instance name” tạm hiểu là thực thể cần tìm thuộc miền C. Một đặc điểm để nhận dạng N đó là nó là một danh từ riêng nên thường được viết hoa. Để tăng số lượng cặp (C, N) rút trích được, mô hình đưa ra phương thức để “tự động” sinh ra những patterns mới. Bằng cách “ánh xạ” những cặp (C, N) đã được rút trích ở vòng lặp trước vào dữ liệu. Ý tưởng được mô tả như trong hình dưới : Hình 2.2: Rút trích Patterns mới. 2.3. Hệ thống Snowball. Cũng dựa trên tư tưởng của DIPRE, Eugene Agichtein và Luis Gravano đã xây dựng hệ thống Snowball [3] để rút trích cặp quan hệ (organization, location) – tổ chức và địa điểm. Biểu diễn mối quan hệ một tổ chức organization có trục sở đặt tại địa điểm location. Snowball đã đưa ra một kỹ thuật mới để sinh patterns và rút trích cặp quan hệ từ tài liệu. Snowball cũng có thêm chiến lược đánh giá chất lượng của mỗi patterns và cặp quan hệ, nếu cái nào đủ tin cậy thì mới được sử dụng cho các vòng lặp tiếp theo. Tuy nhiên Snowball cần đến sự hỗ trợ của NER (Named Entity Recognition). Mô hình của Snowball được biểu diễn như dưới : 10 [...]... nghiệm Giao diện lấy các nguồn tin Hình 3.1 Giao diện lấy nguồn tin 14 Giao diện lấy thông tin chi tiết bài viết Hình 3.2 Giao diện lấy thông tin chi tiết bài viết Trích rút thực thể Hình 3.3 Phần trích rút thực thể 15 KẾT LUẬN Báo cáo đã khái quát hóa một số vấn đề lý thuyết về trích chọn thông tin, bài toán trích chọn thực thể tên tổ chức, đồng thời đưa ra các bài toán nền tảng để áp dụng vào cho báo cáo. .. Ngoài ra những kỹ thuật rút trích thực thể từ tập các patterns của hệ thống Snowball hay kỹ thuật rút trích tên thực thể, tên miền mà Pasca đưa ra cũng là ý tưởng quan trọng để em áp dụng vào báo cáo của mình 16 TÀI LIỆU THAM KHẢO [1] 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 của Vũ Quốc Đạt – Đại học Quốc Gia Hà Nội – Trường Đại học Công Nghệ [2] Trích chọn thực thể tên... tiêu biểu để thể hiện đặc điểm, bản chất của bài toán Tuy nhiên kết quả của thực nghiệm mới chỉ ở mức tạm chấp nhận được Khái quát lại nội dung mà luận văn đã đưa ra Chương 2 trình bày các bài toán liên quan, nó là cơ sở để áp dụng cho bài toán trong báo cáo này Vấn đề mấu chốt nhất trong chương là kỹ thuật DIPRE Đó là một kỹ thuật chính sử dụng cho bài toán trong báo cáo, với một đặc điểm nổi bật là... thu được tốt nhất Tuy nhiên chỉ “học “ được ở Snowball chiến lược đánh giá pattern và cặp thực thể thu được để áp dụng vào báo cáo, còn để biểu diễn được pattern thì cần sự hỗ trợ của NER – trong khi bài toán trong báo cáo này bản chất chính là xây dựng NER 12 CHƯƠNG 3 CHƯƠNG TRÌNH TRÍCH CHỌN TÊN CÔNG TY, ĐỊA CHỈ VÀ DOANH THU 3.1 Chuẩn bị đầu vào 3.1.1 Thu thập dữ liệu Dữ liệu cho phần thực nghiệm gồm... dụng hai thông số này để quyết định cặp “ứng cử viên” nào là thích hợp 2.4 Tổng kết chương Rút trích cặp quan hệ (title, author) là bài toán cơ bản nhất, kỹ thuật biểu diễn pattern và occurrence đơn giản, thuật toán để sinh pattern từ occurrence cũng không phức tạp Độc đáo nhất ở bài toán là thuật toán DIPRE Hệ thống Snowball độc đáo với cách biểu diễn pattern mềm dẻo , cộng với sự hỗ trợ của thẻ tên... http://vnexpress.net/; 3.1.2 Xây dựng mô hình đầu vào Trong phần trích rút tên công ty, địa chỉ, doanh thu ta có 3 mô hình đầu vào - - Công ty: Hầu như trong văn bản Tiếng Việt tên công ty thường có các cụm từ đứng trước mỗi công ty: Công ty, Công ty TNHH, Công ty cổ phần, Doanh nghiệp tư nhân,… Từ đó em xây dựng tập dữ liệu đầu vào gồm các cụm từ trên Địa chỉ: Để trích chọn được thực thể địa chỉ ta cũng có một tập... hoa chữ cái đầu, nhưng trong nhiều văn phạm thì có các cách viết phong phú nên việc trích chọn vẫn còn gặp nhiều khó khăn và sai sót Để trích chọn được tên công ty: - Tìm kiếm sự xuất hiện của các từ trong tập dữ liệu đầu vào của thực thể công ty - Lấy giá trị xuất hiện đầu tiên sau cụm từ mẫu và trích chọn thực thể nếu gặp một ký tự thường, hoặc các dấu “ , ; ( /” thì trích chọn dừng lại - Kiểm tra nếu... tồn tại trong bảng thực thể hay chưa Nếu chưa thì thực hiện lưu thực thể vừa tìm được vào cơ sở dữ liệu • Đối với thực thể Địa chỉ thì rất khó xác định được bởi vì cách viết rất đa dạng của tiếng việt Vì vậy ở đây ta xác định việc trích chọn dừng khi gặp các dấu hiệu “ : ; (“ • Đối với thực thể Doanh thu rất khó tìm thấy thực thể trên các trang tin tức Vì vậy cần phải tìm nguồn tốt Việc trích chọn được... để trích chọn thực thể tên tổ chức của Vũ Quốc Đạt – Đại học Quốc Gia Hà Nội – Trường Đại học Công Nghệ [2] Trích chọn thực thể tên người trong Tiếng Việt của Lê Thu Thùy – Đại học Quốc Gia – Trường Đại học Công Nghệ 17 ... tự trống, weights – trọng số biểu thị độ quan trọng của terms) Mỗi vector các terms có trọng số weights nằm trong khoảng từ 0 đến 1 Trọng số càng lớn thì độ ưu tiên của term đó càng cao Sinh cặp quan hệ Trước hết định nghĩa độ phù hợp của hai bộ tP = < lP , t1, mP , t2, rP > (t1, t2 là các thẻ) tS = (t’1, t’2 là các thẻ) theo công thức : Sau khi sinh được các patterns, Snowball . , ; ( “ 13 3.2. Kết quả thực nghiệm. Giao diện lấy các nguồn tin Hình 3.1. Giao diện lấy nguồn tin. 14 Giao diện lấy thông tin chi tiết bài viết. Hình 3.2. Giao diện lấy thông tin chi tiết bài. càng cao. Sinh cặp quan hệ Trước hết định nghĩa độ phù hợp của hai bộ tP = < lP , t1, mP , t2, rP > (t1, t2 là các thẻ) tS = <lS, t’1, mS, t’2, rS > (t’1, t’2 là các thẻ) theo công. chức của Vũ Quốc Đạt – Đại học Quốc Gia Hà Nội – Trường Đại học Công Nghệ. [2]. Trích chọn thực thể tên người trong Tiếng Việt của Lê Thu Thùy – Đại học Quốc Gia – Trường Đại học Công Nghệ 17