Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
1 MB
Nội dung
TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài : TÁCH TÊN RIÊNG TRONG BÀI BÁO TIẾNG VIỆT Giáo viên hƣớng dẫn : PGS.TS Lê Thanh Hương Sinh viên thực hiện : Bùi Hữu Linh MSSV: 20081512 Vũ Minh Duẩn MSSV: 20080433 Nguyễn Công Chiến MSSV: 20080255 Nguyễn Hoàng Long MSSV: 20081590 Lớp : Hệ Thống Thông Tin K53 HÀ NỘI 05 – 2012 LỜI NÓI ĐẦU: Nhận biết tên riêng trong văn bản ngày càng có nhiều ứng dụng trong thưc tế như: Phân loại văn bản, tách từ, chú thích văn bản… Trong bài báo cáo này , em xin trình bày một giải pháp nhận biết tên riêng trong văn bản tiếng việt .Sau khi xem xét các hướng tiếp cận khác nhau, em chọn phương pháp tiếp cận học máy bằng cách xây dựng một hệ thống nhận biết loại thực thể dựa trên mô hình Conditional Random Fields(CRF-Laferty,2001). Điểm mạnh của CRF là nó có khả năng xử lý dữ liệu có tính chất chuỗi , có thể tích hợp hàng trăm nghìn thậm chí hàng triệu đặc điểm từ dữ liệu hết sức đa dạng nhằm hỗ trợ cho quá trình phân lớp . Do thời gian có hạn nên tập học em xây dựng còn nhỏ và độ chính xác khi tách tên riêng chưa cao. LỜI CẢM ƠN Nhân đây em muốn gửi lời cảm ơn đến thầy giáo, PGS.TS Lê Thanh Hương , đã tận tình hướng dẫn em trong suốt quá trình em làm đồ án này . Mục lục Table of Contents PHẦN 1: Bài toán nhận diện loại thực thể 4 1.1 Trích chọn thông tin 4 1.2 Bài toán nhận diện tên riêng 4 1.3 Mô hình bài toán nhận diện tên riêng 4 Phần 2: Các cách giải quyết bài toán nhận dạng thực thể 6 2.1 Mô hình giải quyết thủ công: 6 2.1.1 Biểu diễn một luật 6 2.2 Mô hình Markov ẩn (HMM) 7 2.2.1 Giới hạn của các Mô hình Markov ẩn: 9 2.3 Mô hình Markov cực đại hóa Entropy(MEMM) 9 2.3.1 Vấn đề “label bias”: 11 2.4 Mô hình Condinional Random Field(CRF) 12 2.4.1 Lựa chọn mô hình CRF trong gán nhãn thông tin 14 2.4.2 Giới thiệu công cụ FlexCRFs: 15 2.4.3 Một số vấn đề trong việc trích chọn thông tin 16 2.4.4 Hệ thống lưu trữ thông tin của tác giả: 16 Phần 3: Chương trình 18 3.1 Các chức năng của hệ thống: 18 3.2 Huấn luyện dữ liệu : 19 Hình 3.2.5 : file dataOutput.txt.model 23 3.3 Đánh giá độ chính xác trong gán nhãn: 23 3.4 Giao diện chương trình: 25 Phần tổng kết 26 Tài liệu tham khảo 27 PHẦN 1: Bài toán nhận diện loại thực thể 1.1 Trích chọn thông tin Các thông tin trong văn bản là rất lớn, để hiểu được một văn bản ta phải trích rút được các thông tin quan trọng nhất của các văn bản đó và xem chúng có ý nghĩa là gì. Có nhiều mức độ trong trích chọn thông tin từ văn bản như xác định thực thể , xác định quan hệ giữa các thực thể , xác định và theo dõi các sự kiện và các kịch bản , xác định đồng tham chiếu …. Các kĩ thuật trong trích chọn thông tin gồm có: phân đoạn , phân lớp , kết hợp và phân cụm. Một ví dụ cho việc trích chọn thông tin 1.2 Bài toán nhận diện tên riêng Bài toán trích chọn tên riêng là 1 dạng của của trích chọn thực thể thay vì ta trích trọn toàn bộ thông tin thì ta chỉ trích chọn thông tin: tên người, tên địa điểm… 1.3 Mô hình bài toán nhận diện tên riêng Để trích rút được các tên riêng chúng em xây dựng một tập học đã được gán nhãn , việc gán nhãn có thể làm bằng tay hoặc một cách khác , trong đó với mỗi một loại tên riêng ta có một kí hiệu nhãn tương ứng. Chúng ta quy ước là nhãn bắt đầu bằng B_ có ý nghĩa bắt đầu tên thực thể, nếu là I_ là bên trong của một thực thể, ngoại trừ nhãn O quy ước là chưa xác định loại thực thể gì. Quy ước các loại thực thể: Tên nhãn Ý nghĩa AUTHER Tên tác giả PER Tên người LOC Quê quán, tên địa danh NUMBER Số PRO Tên các tác phẩm O Không phải thực thể DATE Ngày MONTH Tháng YEAR Năm TYPE Thể loại Phần 2: Các cách giải quyết bài toán nhận dạng thực thể 2.1 Mô hình giải quyết thủ công: Một phương pháp thực hiện thủ công đã được thực hiện là dùng luật . rất nhiều nhiệm vụ trích chọn thông tin được thực hiện qua một tập các luật , có thể là thủ công hay học từ ví dụ . Nó có hiệu quả đối với việc trích rút các thực thể có đặc trưng riêng dễ nhận biết như số điện thoại , một số tên người, mã vùng… các hệ thống dự trên luật cũng đơn giản , nhanh hơn và dễ dàng hơn trong việc tối ưu. Một hệ thống dựa trên luật điển hình bao gồm hai thành phần: một tập các luật và một tập các quy tác để điều khiển thực thi luật . 2.1.1 Biểu diễn một luật Các hệ thống trên luật có một lịch sử dài trong việc sử dụng và đưa ra các định dạng biểu diễn khác nhau. Chúng có dạng cơ bản : “ giả thiết kết luận”. phần” giả thiết “ chưa các bao gồm các mẫu hay ngữ cảnh chúng xuất hiện . ví dụ mẫu như các token đặc trưng của nó trong văn bản , ngữ cảnh có thể là một quan hệ đặc trưng của nó ( ví dụ như: ông sinh ra trong một gia đình nhà nông ở huyện Sơn Động , tỉnh Bắc Giang; ở đây ngữ cảnh là trong câu có chứa quan hệ “ sinh ra” ở đâu đó, ở đây có thêm đặc trưng token như chứa từ “huyện” , “tỉnh”). Phần kết luận là loại thực thể , chèn các nhãn cho mỗi thực thể. Một số đặc điểm của token: một token có thể được phân ra theo dấu cách, cụm từ…ở đây em phân tách token bằng dấu cách Mỗi token trong một câu thường được kết hợp với một số đặc điểm sau: Loại chính tả ( chữ in hoa, chữ thường…) Nhãn của loại token Tuy nhiên trên thực thế, mỗi luật chứa một số lượng lớn các ngoại lệ thậm chí ngay cả người thiết kế tìm cách giải quyết cũng không thể tránh được . hơn nữa việc xây dựng một hệ thống tập luật là hết sức vất vả . thông thường để xây dựng một tập luật phải mất vài tháng từ một lập trình viên với nhiều kinh nghiệm . Đó là chưa kể đến có rất nhiều lĩnh vực để xây dựng luật. Vì vậy chúng ta cần xây dựng một hệ thống bằng cách nào đó có thê tự học , điều này sẽ giúp giảm bơt sự tham gia của các nhà chuyên môn và làm tăng tính động của hệ thống. một phương pháp học máy chúng ta xét sau đây là môt hình Markov ẩn (Hidden Markov models-HMM) , hoặc mô hình markov cực đại hóa Entropy (MEMM) và mô hình Condinatiol Random Field( CRF)… có thể được dùng để nhận biết các loại thực thể 2.2 Mô hình Markov ẩn (HMM) HMM là mô hình máy trạng thái hữu hạn với các tham số biểu diễn xác suất chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗi trang thái. Các trạng thái trong mô hình HMM được xem là bị ẩn đi bên dưới dữ liệu quan sát sinh ra do mô hình. Quá trình sinh ra chuỗi dữ liệu quan sát trong HMM thông qua một loạt các bước chuyển trạng thái xuất phát từ một trong các trạng thái bắt đầu và dừng lại ở một trạng thái kết thúc. Tại mỗi trạng thái, một thành phần của chuỗi quan sát được sinh ra trước khi chuyển sang trạng thái tiếp theo. Trong bài toán nhận biết loại thực thể, ta có thể xem tương ứng mỗi trạng thái với một trong nhãn B_PER, B_LOC, I_PER và dữ liệu quan sát là các từ trong câu. Mặc dù các lớp này không sinh ra các từ, nhưng mỗi lớp được gán cho một từ bất kì có thể xem như là sinh ra từ này theo một cách thức nào đó. Vì thế ta có thể tìm ra chuỗi các trạng thái (chuỗi các lớp loại thực thể) mô tả tốt nhất cho chuỗi dữ liệu quan sát (chuỗi các từ) bằng cách tính. Ở đây chuỗi S là chuỗi trạng thái ẩn , O là chuỗi dữ liệu quan sát đã biết . vì P(O) có thể tính được nhờ thuật toán forward-backward , việc tìm chuỗi S* làm cực đại hóa xác suất P(S|O) tương đương với tìm S* làm cực đại P(S,O). ta có thể mô hình hóa HMM dưới dạng một đồ thì hướng sau: Ở đây , Si là chuỗi trạng thái ở thời điểm t=i trong chuỗi trạng thái S, Oi là dữ liệu quan sát được tại thời điểm t-i trong chuỗi O. sử dụng tính chất Markov ẩn thứ nhất ( trạng thái hiện tại chỉ phụ thuộc vào trạng thái ngay trước đó) và giả thiết dữ liệu quan sát được tại thời điểm t chỉ phụ thuộc vào trạng thái tại t, ta có thể tính xác suất P(S,O) như sau : Quá trình tìm ra chuỗi trạng thái tối ưu mô tả tốt nhất chuỗi dữ liệu quan sát cho trước có thể được thực hiện bởi một kĩ thuật lập trình quy hoạch động sử dụng thuật toán Viterbi. Ví dụ : Alice và Bod sống xa nhau và thường xuyên trao đổi với nhau về những gì họ làm trong ngày qua điện thoại . Bod chỉ yêu thích 3 hoạt động : walking. Shopping , và cleaning. Việc lựa chọn hoạt động phụ thuộc vào thời tiết . Alice không thể biết chính xác về thời tiết nơi Bod sống nhưng cô ấy biết xu hướng của nó . Dựa trên những gì Bod kể về những gì anh ấy làm hằng ngày . Alice sẽ cố gắng thử dự đoán xem thời tiết sẽ như thế nào . Ở đây có hai trạng thái là “ Rainny” và “ sunny”, và giả sử tuân theo giả thiết chuỗi Markov . Alice không thể quan sát trực tiếp thời tiết do vậy chúng là ẩn đối với Alice. Mỗi ngày Bod sẽ thực hiện một hoạt đọng náo đó trong 3 hoạt động là “walk”, “shop”,”clean”. Vì Bod kể cho Alice hằng ngày do vậy chúng là quan sát được . Mô hình Markov ẩn được biểu diễn như sau: Hình 3: ví dụ markov ẩn về thời tiết 2.2.1 Giới hạn của các Mô hình Markov ẩn: Các vấn đề khi sử dụng mô hình sinh khi gán nhãn chuỗi dữ liệu Thứ nhất , để có thể tính được xác suất P(S,O) , thông thường phải liệt kê hết các trương hợp có thể của chuỗi S và chuỗi O . Nếu như các chuỗi S có thể liệt kê được vì số lượng của các trạng thái có hạn thì để liệt kê O là không thể vì dữ liệu quan sat hết sức phong phú( dữ liệu nhiều lĩnh vực : khoa học, sinh học …) Để giải quyết vấn đề này HMM phải dưa ra giả thiết về sự độc lập giữa các dự liệu quan sát , đó là dữ liệu quan sat thời điểm t chỉ phụ thuộc trạng thái thời điểm đó. Thứ hai mô hình sinh gặp phải khi áp dụng vào các bài toán phân lớp dữ liệu dạng chuỗi là chúng sử dụng xác suất đồng thời để mô hình hóa các bài toán có tính điều kiện . Với các bài toán này sẽ thích hợp hơn nếu ta dùng một mô hình điều kiện có thể tính toán P(S|O) trực tiếp thay vù P(S,O) 2.3 Mô hình Markov cực đại hóa Entropy(MEMM) Vào năm 2000, McCallum và các cộng sự đã đề ra một mô hình mới , mô hình Markov với entropy lớn nhất để khắc phục nhược điểm của mô hình Markov ẩn . Mô hình MEMM thay thế các xác suất trong HMM bơi một hàm xác suất duy nhất P( | , )- với trạng thái hiện tại là và trạng thái liền kề trước nó là , và dữ liệu quan sát là . Ở đây khác so với mô hình HMM đó là quan sat hiện tại không chỉ phụ thuộc vào trạng thái hiện tại mà còn phụ thuộc vào trạng thái trước nó , điều đó có nghĩa rằng quan sát hiện tại gắn liền với quá trình chuyển trạng thái thay vì gắn liền với các trạng thái riêng lẻ . Đồ thị dưới đây mô tả một mô hình MEMM Sự khác nhau giữa GMM và MEMM Áp dụng tính chất Markov thứ nhất , xác suất P(S|O) có thể tính theo công thức: [...]... nói trong đầu báo cáo trong các loại thực thể cân trích rút thì tên người trong văn bản tiếng việt là khó khăn nhất, thứ nhất là chúng ta đã quen với các ngôn ngữ thông dụng như tiếng anh còn đối việc tiếng việt có dấu thì rất dễ xảy ra nhập nhằng nhất lại là tên người Ở đây xét trong lĩnh vực văn học một , trong một bài báo nói về một tác giả nào đó , có rất nhiều tên người việc xác định đâu là tên. .. Báo cáo trên đây cho thấy cái nhìn tổng quan cho việc trích rút các loại thực thể trong văn bản tiêng việt nói chung và trích rút tên riêng nói riêng, các bài toán gán nhãn cho dữ liệu thủ công, Markov ẩn (HMM), Markov entropy cực đại (MEMM) tuy nhiên vẫn mắc phải một nhược điểm đó là “label-bias”, với bài toán CRF chúng ta đã khắc phục được nhược điểm đó CRF là hệ thống sử dụng các phương pháp ước lượng... ta cần xây dựng một tập học (tập quan sát) Ở đây, em đã thu thập một số bài báo và gán nhãn bằng tay và lưu vào file train1.txt Cơ sở để tạo ra file model Đầu vào hệ thống: có thể là một file văn bản dạng text(.txt) có sẵn trong máy tính trong hệ thống Hoặc có thể là một link trang web mà chúng ta cần trích rút (Vì để tài xét trong lĩnh vực văn học trích rút các thông tin về tác giả nên văn bản này... bút danh để đặt tên trong các tác phẩm , vì vậy để xác định tên thật của tác giả và tên bút danh của tác giả lại càng khó khăn hơn 2.4.4 Hệ thống lƣu trữ thông tin của tác giả: Sau khi đã xử lý thông tin qua CRF việc lưu trữ thông tin đó dưới dạng dữ liệu cũng cần được quan tâm , ở đây với Web ngữ nghĩa thông tin trích chọn ra được lưu trữ dưới dạng file xml Chúng ta có thể dùng DTD trong XMl thể xây... hệ thống CRF điều quan trọng là xây dựng được tập học và các đặc trưng phù hợp trong quá trình thực hiện để xây dựng một mô hình tốt Tuy nhiên do thời gian có hạn nên ở chương trình thử nghiệm mới em mới chỉ dừng lại ở mức đơn giản Trong tương lai có thể phát triển tập học hoàn chỉnh hơn từ đó nâng cao độ chính xác tách tên riêng Tài liệu tham khảo [1] luận án tốt nhiệp của Nguyễn Cẩm Tú, đại học Công... y|s là tập các thành phần y có mối quan hệ với các đỉnh trong s o , là các hệ số tỉ lệ đối với csac đặc điểm tương ứng o là điểm cạnh trên chuỗi quan sát x và hai nhãn , o là đặc điểm trạng thái trên chuỗi quan sát x,và nhãn Ví dụ với bài toán nhận dạng thực thể ={ ={ Với B_AUTHOR nghĩa là bắt đầu tên của một tác giả, I_PER là phần tiếp theo của tên tác giả Từ công thức xác suất trên chúng ta có thể... kiếm tham số cho phép tố t ơ g tự (likehood) độ Trong đó thành phần thứ hai là độ lêch Gausian , được sử dụng để làm mịn khi dữ liệu huấn luyện rời rạc Khi các nhãn tạo ra chuỗi không có sự nhập nhằng, hàm độ tương tự trong mô hình CRF là hàm lồi , do vậy việc tìm kiếm tối ưu toàn cụ thực hiện được Các ước lượng tham số trong CRF đòi hỏi một thủ tục lặp trong các phương pháp lặp phương pháp quasi0Newton... luyện dữ liệu : Loại nhãn Nhãn bắt đầu Nhãn phần thân Tên tác giả B_AUTHOR I_AUTHOR Ngày B_DATE I-DATE Tháng B_MONTH I_MONTH Năm B_YEAR I_YEAR Tên người B_PER I_PER Tuổi B_AGE I_AGE Số B_NUMBER I_NUMBER Thể loại văn học B_TYPE I_TYPE Tên địa điểm B_LOC I_LOC Tập học train.txt được gán nhãn bằng tay có dạng: Hình 3.2.1: dữ liệu gán nhãn bằng tay trong file train1.txt Sau đó qua một bước trung gian xử... gán nhãn tự động : Hình 3.2.5 : file dataOutput.txt.model 3.3 Đánh giá độ chính xác trong gán nhãn: Một điều dễ hiểu là nếu tập học của CRF lớn thì độ chính xác của chương trình sẽ rất cao , ở đây do thời gian không cho phép em chỉ xây dựng một tập học đơn giản đó là các bài báo nói về thông tin các nhà văn nhà thơ Việt Nam Dưới đây là bảng đã test với tập huấn luyện : Avg1 Avg2 Số lần Pre Rec F1 F1... nhãn trong tập kiểm thử , số lượng nhãn được gán là đúng, số lượng nhãn được gán là sai của tất cả các nhãn Từ đó sinh ra giá trị Pre,Rec, F1 3.4 Giao diện chƣơng trình: Dưới đây là hình ảnh về chương trình thực hiện của chúng em Khi chọn văn bản là URL bạn copy đường dẫn của trang web vào ô text box URL Phần tổng kết Báo cáo trên đây cho thấy cái nhìn tổng quan cho việc trích rút các loại thực thể trong . tên riêng trong văn bản ngày càng có nhiều ứng dụng trong thưc tế như: Phân loại văn bản, tách từ, chú thích văn bản… Trong bài báo cáo này , em xin trình bày một giải pháp nhận biết tên riêng. VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài : TÁCH TÊN RIÊNG TRONG BÀI BÁO TIẾNG VIỆT Giáo viên hƣớng dẫn : PGS.TS Lê Thanh Hương Sinh. bậc nhất. 2.4.3 Một số vấn đề trong việc trích chọn thông tin Như đã nói trong đầu báo cáo trong các loại thực thể cân trích rút thì tên người trong văn bản tiếng việt là khó khăn nhất, thứ nhất