120 Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu GIẢI PHÁP TRÍCH RÚT VÀ PHÂN LOẠI CÁC THỰC THỂ DANH TỪ RIÊNG CHO KHO NGỮ LIỆU PHỤC VỤ XỬ LÝ NGÔN NGỮ TỰ NHIÊN EXTRACTION AND CLASSIF
Trang 1120 Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu
GIẢI PHÁP TRÍCH RÚT VÀ PHÂN LOẠI CÁC THỰC THỂ DANH TỪ RIÊNG
CHO KHO NGỮ LIỆU PHỤC VỤ XỬ LÝ NGÔN NGỮ TỰ NHIÊN
EXTRACTION AND CLASSIFICATION OF NAMED ENTITIES FROM CORPORA
IN NATURAL LANGUAGE PROCESSING
Đặng Đại Thọ 1 , Huỳnh Công Pháp 1 , Doãn Hằng Diệu 2
Tóm tắt - Trích rút và phân loại thực thể danh từ riêng cho các kho ngữ
liệu, phục vụ xử lý ngôn ngữ tự nhiên là bước quan trọng và là tiền đề
cho việc mở rộng cũng như xây dựng các kho ngữ liệu theo hướng ngữ
nghĩa Việc nghiên cứu trích rút và phân loại thông tin đã được thực hiện
với nhiều ngôn ngữ Tuy nhiên, đến nay vẫn chưa có công trình nào
nghiên cứu trích rút và phân loại thực thể danh từ riêng trên các kho ngữ
liệu phục vụ xử lý ngôn ngữ tự nhiên Hơn nữa, các phương pháp trích
rút và phân loại thông tin đã sử dụng như nêu trên đều có những nhược
điểm riêng của nó Trong bài báo này, chúng tôi đề xuất giải pháp kết
hợp thuật toán so khớp tối đa (Maximum matching) với phân tích quan
hệ ngữ cảnh giữa các thành tố trong văn bản để trích rút và phân loại
các thực thể danh từ riêng cho kho ngữ liệu phục vụ xử lý ngôn ngữ tự
nhiên Giải pháp này bước đầu đã mang lại kết quả rất đáng khích lệ
Abstract - Extraction and classification of named entities from
corpora in Natural Language Processing (NLP) is an important initial step for extending and building semantic oriented corpora Though there have been many researches on the extraction and classification of information from internet resources in foreign languages, no research has dealt with corpora in NLP Moreover, information extraction and classification methods currently used such as rule based, machine learning or hidden Markov have shown some drawbacks In this paper, we propose a solution combining Maximum Matching method and contextual relation analysis of entities in the text for extracting and classifying named entities from corpora in NLP In the first stage of our research, this proposed solution has given positive results
Từ khóa - trích rút thông tin; phân loại thông tin; kho ngữ liệu; trích
rút tên riêng; phân loại tên riêng Key words - Information extraction; information classification; named entity extraction; named entity classification; corpora
1 Giới thiệu
Trích rút thông tin là bài toán quan trọng trong lĩnh vực
xử lý ngôn ngữ tự nhiên, trong đó trích rút thực thể danh từ
riêng theo thể loại có ý nghĩa thiết thực nhằm phục vụ cho
nhiều bài toán khác nhau như hỗ trợ web ngữ nghĩa, xây
dựng hệ thống hỏi đáp, xây dựng các máy tìm kiếm hướng
thực thế theo các đặc trưng riêng biệt…
Theo đó, bài toán trích rút và phân loại các thực thể
danh từ riêng đã được quan tâm nghiên cứu và thực hiện
phổ biến trên thế giới và trong nước [2], [3] Tuy nhiên, đa
số các công trình này nhằm khai thác và trích rút tên riêng
từ các nguồn dữ liệu Internet và các văn bản thông thường
Việc áp dụng bài toán này để khai thác và trích rút thực thể
danh từ riêng cho các kho ngữ liệu phục vụ xử lý ngôn ngữ
tự nhiên là rất cần thiết nhưng vẫn chưa được quan tâm
nghiên cứu
Việc xây dựng và mở rộng các kho ngữ liệu theo hướng
ngữ nghĩa là rất quan trọng, bởi vì đa số các kho ngữ liệu
phục vụ xử lý ngôn ngữ tự nhiên nói chung và dịch tự động
nói riêng đều tồn tại dưới dạng tập hợp các văn bản phi cấu
trúc, có định dạng hoặc không định dạng (thuần túy văn
bản) Điều này gây nên những hạn chế rất lớn cho các hệ
thống khai thác các kho ngữ liệu (hệ tìm kiếm, máy dịch, )
trong việc so khớp, tìm kiếm thông tin Bởi lẽ, đối với các
kho ngữ liệu loại này, các giải thuật tìm kiếm, so khớp đã
được xây dựng cho các hệ thống khai thác chỉ dừng lại ở
mức so khớp dạng chuổi ký tự hoặc văn bản như tính
khoảng cách hai chuỗi hoặc tính xác suất,… [1]
Do đó, để nâng cao hơn nữa hiệu quả khai thác các kho
ngữ liệu hay cải tiến hiệu quả và tính chính xác của quá
trình so khớp và tìm kiếm của các hệ thống khai thác kho
ngữ liệu, các kho ngữ liệu cần được mở rộng theo hướng ngữ nghĩa bằng cách xây dựng thêm tầng ngữ nghĩa cho kho ngữ liệu Tầng ngữ nghĩa có thể đơn giản là các chú thích, các từ/ cụm từ đồng nghĩa, các từ/cụm từ trái nghĩa,… Ở mức độ phức tạp, tầng ngữ nghĩa được xây dựng mạng lưới ontology, trong đó mỗi ontology gồm tập hợp các lớp thuộc một lĩnh vực hẹp nào đó [1]
Như vậy, để có được các kho ngữ liệu theo hướng ngữ nghĩa thì mỗi tài liệu trong đó phải được tổ chức, biểu diễn dạng dữ liệu “thông minh”, tức là chỉ khả năng kết hợp, phân lớp và khả năng suy diễn trên dữ liệu đó [3] Bài toán trích rút và phân loại các thực thể danh từ riêng mà chúng tôi đề cập trong bài báo này với mục đích làm tiền đề cho việc giải quyết và đặt nền móng cho việc xây dựng kho ngữ liệu theo hướng ngữ nghĩa
2 Một số hướng tiếp cận trích chọn thực thể danh từ riêng
Trong tiếng Việt, danh từ riêng là những danh từ để gọi riêng từng người, từng tổ chức, từng địa phương,… Ví dụ như Nguyễn Trãi, Võ Nguyên Giáp, Hội người cao tuổi, Hà Nội, Trích chọn thực thể danh từ riêng là tìm kiếm và phân lớp các từ vào lớp (nhóm) đối tượng như tên người, tổ chức, địa danh,…Trích chọn thực thể danh từ riêng chính là một trong những yêu cầu đầu tiên của hầu hết các hệ thống trích chọn các thông tin phức tạp [3] Các nghiên cứu về rút trích thông tin được phân thành ba hướng tiếp cận như sau:
2.1 Hướng tiếp cận thủ công sử dụng hệ luật [2], [3]
Sử dụng hệ luật là một trong những phương pháp truyền thống khi xây dựng các hệ thống rút trích thông tin Những hệ thống này thường dựa trên các đặc trưng như cú pháp
Trang 2ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(84).2014, QUYỂN 1 121 của thông tin (ví dụ từ loại của từ), ngữ cảnh của thông tin
(từ đứng trước, từ đứng sau,…), hình thái của thông tin
(chữ hoa, chữ thường, số, ) kết hợp với một bộ từ điển để
viết thành các luật
Ưu điểm của phương pháp này là hệ thống xử lý trên
dữ liệu thô mà không cần thực hiện tiền xử lý dữ liệu Bên
cạnh đó, hệ thống có thể hoạt động và thu được kết quả
ngay khi hình thành các luật Tuy vậy, để xây dựng một hệ
luật đạt chất lượng, hiệu quả là một công việc rất khó khăn,
mất nhiều chi phí về thời gian và công sức và tiền bạc, đặc
biệt là khi xây dựng hệ luật từ ban đầu
2.2 Tiếp cận sử dụng các phương pháp học máy
HMM) [2], [5]
Mô hình sử dụng khái niệm các trạng thái ẩn và khái
niệm quan sát – các đối tượng dữ liệu được sinh ra bởi trạng
thái ẩn Trong trường hợp trích chọn thông tin, mỗi từ hoặc
mỗi đoạn trong câu được xem như một quan sát Xi, các
trạng thái ẩn Yichính là các nhãn cần gắn cho từ hay quan
sát Xi Nhãn cần gán cho từ có thể là từ loại (danh từ, động
từ, tính từ,…), hay định danh người, địa danh,… HMM là
một mô hình sinh, mô tả quá trình sinh ra các dữ liệu quan
sát bằng cách xác định xác suất đồng thời của chuỗi quan
sát và chuỗi trạng thái Chuỗi quan sát được sinh ra theo
quá trình bắt đầu từ trạng thái đầu tiên, sinh ra một quan
sát tương ứng với trạng thái đó, chuyển tới trạng thái thiếp
theo, sinh ra một quan sát tương ứng với trạng thái đó,
chuyển tới trạng thái tiếp theo,…
Hình 1 Mô hình Markov ẩn [10]
HMM được sử dụng rộng rãi cho việc trích chọn thông
tin văn bản Tuy vậy, do tập quan sát là các từ nên khó tích
hợp các đặc trưng phụ thuộc hoặc liên quan lẫn nhau như
vị trí các từ trong câu, chữ cái đầu tiên viết hoa hay không,
cả từ có viết hoa hay không, vị trí các từ trong văn bản, từ
có bắt đầu bằng số hay không,…Mặt khác, trong các bài
toán tập quan sát thường rất lớn, khó liệt kê hết dược, điều
đó làm giảm sự chính xác khi thực hiện, đồng thời làm tăng
độ phức tạp của bài toán Bên cạnh đó, trong mô hình
MHH, quan sát thời điểm t chỉ phụ thuộc vào trạng thái t,
mỗi quan sát được xử lý như một đơn vị riêng biệt, không
phụ thuộc vào các quan sát trong chuỗi Tuy nhiên, trong
thực tế hầu hết các chuỗi dữ liệu không được biểu diễn
chính xác như tập hợp các đối tượng riêng biệt
(MEMMs) [2], [6]
Giống như HMM, MEMMs cũng là mô hình hữu hạn
trạng thái theo xác suất Tuy vậy, trong khi HMM quan sát
hiện tại chỉ phụ thuộc vào trạng thái hiện tại thì MEMMs
quan sát 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 các trạng thái trước đó Điều đó
giúp cho MEMMs giải quyết được hai hạn chế nói trên của
mô hình HMM
Hình 2 Maximum Entropy Markov Models [10]
Tuy nhiên khi áp dụng vào thực tế, với tập dữ liệu huấn luyện khá lớn, khả năng phân nhánh của các trạng thái cao thì tính chính xác của mô hình bị ảnh hưởng rất lớn Đây chính là hạn chế lớn nhất của mô hình MEMMs Trong khi đó, do tách riêng xác suất chuyển trạng thái và xác suất sinh quan sát nên mô hình HMM không gặp phải vấn đề này
CRFs) [2], [7]
Hình 3 Mô hình Conditional Random Fields [10]
CRFs là mô hình dựa trên xác xuất điều kiện, chúng có thể tích hợp được các thuộc tính đa dạng của chuỗi dữ kiệu quan sát nhằm hỗ trợ cho quá trình phân lớp Tuy vậy, khác với MEMMs, CRFs là một mô hình đồ thị vô hướng Điều này cho phép CRFs có thể định nghĩa phân phối xác suất của toàn bộ trạng thái thường được sử dụng trong gán nhãn và phân tích dữ liệu tuần tự ví dụ ký tự, ngôn ngữ tự nhiên Khác với mô hình MEMM, CRF là mô hình đồ thị vô hướng Điều này cho phép CRF có thể định nghĩa phân phối xác suất của toàn bộ chuỗi trạng thái với điều kiện biết chuỗi quan sát cho trước thay vì phân phối trên mỗi trạng thái với điều kiện biết trạng thái trước đó và quan sát hiện tại như trong mô hình MEMMs Chính vì cách mô hình hóa như vậy mà CRFs giải quyết được vấn đề mà MEMMs gặp phải Tuy nhiên,với CRFs, thời gian tính toán tương đối chậm trong trường hợp dữ liệu huấn luyện tương đối lớn
2.3 Hướng tiếp cận lai [4]
Tiếp cận lai là kết hợp sử dụng hệ luật và các phương pháp học máy, nhằm sử dụng được ưu điểm của cả hai hướng tiếp cận này Đến nay chưa có một nghiên cứu nào về hướng tiếp cận này đối với tiếng Việt nhưng cũng đã có một vài nghiên cứu có kết quả khả quan với tiếng Trung Quốc, ngôn ngữ được xem là khá gần gũi với tiếng Việt Đây có thể sẽ là hướng quan trọng trong tương lai
3 Giải pháp đề xuất
Từ phân tích trên cho thấy các mô hình HMM, MEMM, CRFs đều có những ưu nhược điểm nhất định Một trong những nhược điểm đó là phải tiến hành tiền xử lý dữ liệu Cả ba mô hình đều phải sử dụng các công cụ để thực hiện phân lớp dữ liệu trước khi đưa chúng vào xử lý, việc đó khiến cho hệ thống trở nên cồng kềnh, tốn nhiều công sức, thời gian và tiền bạc hơn
Để khắc phục tình trạng trên, chúng tôi hướng đến giải pháp nhận diện danh từ riêng ngay trên dữ liệu thô Giải pháp đề xuất là sự kết hơp giữa thuật toán Maximum
Trang 3122 Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu Matching và phân tích mối quan hệ giữa các thành tố văn
bản, cụ thể là quan hệ của thực thể cần kiểm tra với các
thực thể tiền tố và hậu tố của nó Việc sử dụng thuật toán
Maximum Matching cần chuẩn bị một bộ từ điển tiếng
Việt Dựa vào thuật toán này, chương trình so khớp thực
thể cần kiểm tra với tập hợp từ vựng có trong từ điển nhằm
loại bỏ những từ không phải danh từ riêng Mục đích của
bước này là loại bỏ tất cả các từ trong văn bản trùng khớp
với các từ có trong từ điển bằng cách áp dụng hướng đi của
một trong những phương pháp phân đoạn từ là Maximum
Matching [2], [8], [9] Các từ còn lại sẽ là danh từ riêng
Ngoài ra, danh từ riêng hầu hết bắt đầu bằng chữ hoa, đây
là một dấu hiệu dễ nhận dạng nhất
Sau khi có danh sách các danh từ riêng, chúng ta tiến
hành nhận biết các danh từ riêng đó thuộc lớp danh từ riêng
nào Chẳng hạn, Trần Hưng Đạo, Võ Nguyên Giáp,
Nguyễn Hoàng thuộc lớp Tên người; Hà Nội, Huế, Đà
Nẵng thuộc lớp Địa danh Việc nhận biết, phân loại danh
từ riêng này dựa vào quan hệ giữa các thực thể trong văn
bản và so khớp các thực thể tiền tố và hậu tố với tập hợp
các từ ngữ cảnh nhằm chỉ địa danh hoặc con
Hình 4. Mô hình giải pháp tổng quan
3.1 Dữ liệu đầu vào
Dữ liệu đầu vào là tập hơp các tài liệu từ các kho ngữ
liệu phục vụ xử lý ngôn ngữ tự nhiên
3.2 Tách từ:
Quá trình phân đoạn từ bao gồm ba bước như sau:
Bước 1: Tách từ được thực hiện bằng quá trình lần lượt
tách đoạn, tách câu và tách từ để xây dựng danh sách các
từ/cụm từ
Bước 2: Sử dụng thuật toán so khớp lớn nhất
(Maximum Matching), với so khớp giới hạn lớn nhất là 3
từ tố Cho khuôn dịch chuyển theo từng phần tử trong danh
sách tiếng theo thứ tự từ đầu đến cuối danh sách
Giả sử cho danh sách gồm n từ tố như sau:
Tại vị trí đầu tiên, khuôn sẽ chứa t1, t2, t3 Kiểm tra cụm
t1 t2 t3 có trong từ điển hay không?
- Nếu có, dịch chuyển khuôn sang phải 3 vị trí, khuôn
sẽ chứa 3 từ tố t4, t5, t6 Tiếp tục kiểm tra cụm t4t5t6 có trong
từ điển không?
- Nếu không, tiếp tục kiểm tra cụm t1t2 có trong từ điển không?
o Nếu có, dịch chuyển khuôn sang phải 2 vị trí, khuôn sẽ chứa 3 tiếng t3, t4, t5 Tiếp tục kiểm tra cụm t3t4t5 có trong từ điển không?
o Nếu không, kiểm tra t1 có trong từ điển không
Nếu có, dịch chuyển khuôn sang phải 1 vị trí, khuôn sẽ chứa 3 từ tố t2, t3, t4 Tiếp tục kiểm tra t2t3t4 có trong từ điển không?
Nếu không, thêm t1 vào danh sách các từ tố không có nghĩa rồi dịch chuyển khuôn sang phải 1 vị trí Lúc này khuôn sẽ chứa 3 từ tố t2, t3, t4 Tiếp tục kiểm tra cụm 3 từ tố t2t3t4có tồn tại trong từ điển không?
Quá trình này sẽ lặp đi lặp lại cho đến hết danh sách từ tố
Kết thúc, chúng ta có một danh sách chứa các từ tố không có nghĩa
Bước 3: Gộp các từ tố đứng cạnh nhau trong danh sách từ tố không có nghĩa thành một cụm từ và lưu vào danh sách các cụm từ tố không có nghĩa
i=0,j=i+1,k=i+2
i<List.size()
i=vị trí cuối
i=kề cuối
i= cuối-2
Tìm 3 tiếng cuối
Tìm 2 tiếng cuối
Return DS
Tìm tiếng i Tăng I,j,k
Thêm vào DS
Tìm 2 tiếng cuối Tìm tiếng i Thêm vào DS Tìm tiếng
cuối
Tìm tiếng I,j,k Tăng I,j,k lên 2
Tìm tiếng I,j Tăng I,j,k
Tìm tiếng i Thêm vào DS Tìm 2 tiếng cuối Tìm tiếng gần cuối Thêm vào DS
S
Đ
S
Đ Đ
S
S Đ
Đ S
Đ S Đ S
Đ S Đ S
Đ S
S
Đ S
Hình 5 Sơ đồ khối thuật toán Maximum Matching
3.3 Nhận diện danh từ riêng
Sau quá trình tách từ và loại bỏ tất cả các khả năng không phải là danh từ riêng nhờ vào thuật toán Maximum Matching kết hợp với từ điển tiếng Việt Bước tiếp theo là nhận diện danh từ riêng thuộc các lớp danh từ riêng nào, dựa vào phân tích quan hệ giữa các thành tố trong văn bản cùng với việc so khớp các thực thể tiền tố và hậu tố với tập hợp các từ chỉ địa danh và con người theo ngữ cảnh Chẳng hạn, trong tiếng Việt, tên người thường đi sau các từ như: ông, bà, cô, bác, anh, chị, giám đốc, tổng giám đốc,… và
đi trước các từ như: nói, phát biểu, đá, đấm, là một
Kho ngữ liệu
Tách từ
Từ điển Phân loại
Dựa vào quan hệ giữa các thực thể
(Tiền tố, hậu tố)
Các loại danh
từ riêng
Trang 4ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(84).2014, QUYỂN 1 123 người,… Tên địa điểm thường đi sau các từ như: ở, đến,
trong, xã, huyện, thành phố,… và đi trước các từ như: là
nơi, là địa danh, nằm ở, được xây dựng,… Như vậy, việc
phân lớp danh từ riêng theo các lớp danh từ riêng tên người
hay địa điểm là quá trình phân tích quan hệ ngữ cảnh giữa
thực thể cần kiểm tra với các thực thể tiền tố, hậu tố của nó
theo ngữ cảnh
Việc phân tích quan hệ ngữ nghĩa và theo ngữ cảnh giữa
các thực thể trong văn bản cần đến quá trình xây dựng từ
điển tập hợp các từ quan hệ ngữ cảnh nhằm chỉ địa danh và
con người Mỗi lớp danh từ riêng có một từ điển tập hợp
các từ quan hệ ngữ cảnh tương ứng Quá trình nhận diện và
phân loại danh từ riêng gồm bốn bước sau:
Bước 1: Kiểm tra dựa vào tiền tố
Từ danh sách các cụm từ tố không có nghĩa tìm được ở
trên, duyệt theo từng phần tử để kiểm tra tiền tố của nó
Dựa vào danh sách các từ tố, tìm ra một từ tố nằm trước
phần tử đó trong văn bản (tiền tố một từ tố) Kiểm tra xem
từ tố này có nằm trong từ điển tiền tố một từ tố của lớp
danh từ riêng cần xác định hay không
- Nếu có, thêm cụm từ tố đó vào trong danh sách danh
từ riêng của lớp danh từ riêng đó (tên người, địa danh, tiền
tệ,…) và đưa cụm từ đó ra khỏi danh sách cụm từ tố không
có nghĩa
- Nếu không, kiểm tra từ tố này có trong từ điển tiền tố
một từ tố của các lớp danh từ riêng còn lại hay không
o Nếu có, thêm cụm từ tố đó vào danh sách danh từ
riêng của lớp danh từ riêng đang xét và xóa cụm từ tố đó
khỏi danh sách cụm từ tố không có nghĩa
o Nếu không, tìm ra hai từ tố nằm sát trước cụm từ tố
đó trong văn bản, đây gọi là tiền tố hai từ tố Tiếp tục kiểm
tra tiền tố hai từ tố này có trong từ điển tiền tố hai từ tố hay
không như đối với tiền tố một từ tố
Nếu có, thêm cụm từ tố đó vào danh sách danh
từ riêng của lớp đang xét và đưa cụm từ đó ra khỏi danh
sách cụm từ tố không có nghĩa
Nếu không, tiến hành tìm ra ba từ tố nằm sát
trước cụm từ tố đó trong văn bản Quá trình thực hiện
giống với tiền tố hai từ tố và một từ tố
Tiếp tục duyệt phần tử tiếp theo trong danh sách cụm
từ tố không có nghĩa cho đến hết
Kết thúc Bước 1, chúng ta tìm ra được các phần tử của
các lớp danh từ riêng thông qua tiền tố của nó
Bước 2: Kiểm tra dựa vào hậu tố
Tiếp tục tìm các phần tử của các lớp danh từ riêng từ
các cụm từ tố không có nghĩa còn lại dựa vào hậu tố của
nó Dựa vào danh sách các từ tố, xác định hậu tố một từ tố
của cụm từ tố đó trong văn bản Kiểm tra xem từ tố này có
nằm trong từ điển hậu tố một từ tố của lớp danh từ riêng
cần xác định hay không
- Nếu có, thêm cụm từ tố đó vào trong danh sách danh
từ riêng của lớp danh từ riêng đó (tên người, địa danh, tiền
tệ,…) và đưa cụm từ đó ra khỏi danh sách cụm từ tố không
có nghĩa
- Nếu không, kiểm tra từ tố này có trong từ điển hậu tố
một từ tố của các lớp danh từ riêng còn lại hay không
o Nếu có, thêm cụm từ tố đó vào danh sách danh từ
riêng của lớp danh từ riêng đang xét và xóa cụm từ tố đó khỏi danh sách cụm từ tố không có nghĩa
o Nếu không, tìm ra hai từ tố nằm sát sau cụm từ tố đó trong văn bản, đây gọi là hậu tố hai từ tố Tiếp tục kiểm tra hậu tố hai từ tố này có trong từ điển hậu tố hai từ tố hay không như đối với hậu tố một từ tố
Nếu có, thêm cụm từ tố đó vào danh sách danh từ riêng của lớp đang xét và đưa cụm từ đó ra khỏi danh sách cụm từ tố không có nghĩa
Nếu không, tiến hành tìm ra ba từ tố nằm sát sau cụm từ tố đó trong văn bản Quá trình thực hiện giống với hậu tố hai từ tố và một từ tố
Tiếp tục duyệt phần tử tiếp theo trong danh sách cụm từ tố không có nghĩa cho đến hết
Bước 3: Từ danh sách cụm từ tố không có nghĩa còn lại, tìm ra các cụm từ tố là chuỗi con của các cụm có trong danh sách danh từ riêng của các lớp danh từ riêng Nếu tìm có trong danh sách danh từ riêng lớp nào thì thêm chuỗi con đó vào danh sách danh từ riêng lớp đó và đưa nó ra khỏi danh sách cụm từ tố không có nghĩa
Bước 4: Nhận diện các tên riêng không có tiền tố và hậu tố nhưng đứng sát các tên riêng đã nhận dạng Từ danh sách các từ tố không có nghĩa còn lại, ta duyệt theo từng phần tử của danh sách cụm từ tố không có nghĩa, tìm ra các phần tử đứng trước nó là khoảng trống và kế sát trước khoảng trống là dấu phẩy hoặc từ “và” Nếu từ tố đứng sát trước dấu phẩy “,” hoặc từ “và” đó là chuỗi con của một phần tử trong danh sách danh từ riêng của lớp danh từ riêng nào thì thêm nó là danh sách danh từ riêng lớp đó
3.4 Hiệu chỉnh kết quả nhận diện
Tỉ lệ thành công phụ thuộc vào chất lượng bộ từ điển.Tuy nhiên, từ vựng từ tố Việt rất phong phú và đa dạng nên rất khó để xây dựng bộ từ điển đầy đủ, chính xác.Chính vì thế, hiệu suất của phương pháp này khó đạt được 100% Để nâng cao hơn nữa hiểu quả của giải pháp này, hệ thống cho phép người dùng hiệu chỉnh kết quả nhận diện bằng tay Hệ thống sẽ hiển thị danh sách các từ, cụm từ đã được nhận diện để người dùng có thể xác nhận, chỉnh sửa,…
4 Kết quả thực nghiệm
Dựa trên giải pháp thuật toán và quy trình trích rút và phân loại danh từ riêng đã nêu ở trên, chúng tôi đã tiến hành xây dựng và cài đặt chương trình
4.1 Đầu vào của chương trình
- Tập hợp các tài liệu của các kho ngữ liệu phục vụ xử lý ngôn ngữ tự nhiên đã được chuẩn hóa;
- Từ điển danh sách các từ có nghĩa trong tiếng Việt;
- Từ điển quan hệ ngữ cảnh chỉ địa danh và con người
4.2 Đầu ra và kết quả của hệ thống
Đầu ra của hệ thống là danh sách danh sách chứa các danh từ riêng được phân loại theo người và nơi chốn, bên cạnh đó còn hiển thị một văn bản với nội dung giống như văn bản đầu vào nhưng các danh từ riêng chỉ người được đánh dấu màu đỏ đậm, danh từ riêng chỉ nơi chốn được đánh dấu màu xanh đậm
Trang 5124 Đặng Đại Thọ, Huỳnh Công Pháp, Doãn Hằng Diệu
Hình 6 Kêt quả chương trình thực nghiệm
4.3 Đánh giá kết quả
Sau khi thử nghiệm chương trình trên với 12 tài liệu của
các kho ngữ liệu với các thể loại khác nhau mà bộ từ điển
đã đủ để nhận dạng các danh từ riêng chỉ người và nơi chốn
trong chúng Chúng tôi đã thu được kết quả về độ chính
xác trung bình là 84,51%, cụ thể các lần thử được thể hiện
như Bảng 1 (Phần phụ lục)
5 Kết luận
Trích rút và phân loại thực thể danh từ riêng theo tên và
địa danh cho các kho ngữ liệu phục vụ xử lý ngôn ngữ tự
nhiên là một bước quan trọng và là tiền đề cho việc mở
rộng và xây dựng các kho ngữ liệu theo hướng ngữ nghĩa
Việc nghiên cứu trích rút và phân loại thông tin trong các
ngôn ngữ khác, đặc biệt là tiếng Anh đã được thực hiện rất
nhiều Tuy nhiên, đối với tiếng Việt và trên đối tượng là
các kho ngữ liệu thì chưa thực sự được quan tâm và đầu tư
nghiên cứu Việc trích rút và phân loại thông tin được thực
hiện bằng nhiều phương pháp như phương pháp dự trên hệ
luật (rule – based) đến các phương pháp học máy (machine
learning) như mô hình Markov ẩn, mô hình cực đại hóa
Entropy, mô hình ngẫu nhiên điều kiện, phương pháp máy
vector hỗ trợ Tuy nhiên các phương pháp này đều có những nhược điểm riêng của nó Giải pháp của bài báo là kết hợp thuật toán Maximum Matching kết hợp với phân tích quan hệ ngữ cảnh giữa các thành tố trong văn bản Giải pháp này đã mang lại kết quả rất đáng khích lệ Tuy nhiên, cũng giống như các công trình nghiên cứu tương tự, kết quả nghiên cứu còn hạn chế về việc xử lý trích rút các danh từ riêng trong một số trường hợp nhập nhằng Hướng phát triển của bài báo là tập trung cải tiến nhằm nâng cao độ chính xác và xử lý các trường hợp nhập nhằng về danh từ riêng
T ÀI LIỆU THAM KHẢO
[1] Đặng Đại Thọ, Huỳnh Công Pháp, Mở rộng kho ngữ liệu dịch tự
động theo hướng ngữ nghĩa, Tạp chí Khoa học và Công nghệ, Đại
học Đà Nẵng – Số 12 (73), Quyển II, Năm 2013, Trang 110-116
[2] Hà Quang Thụy, Phan Xuân Hiếu, Nguyễn Trí Thành, Nguyễn Thu
Trang, Nguyễn Cẩm Tú, 2009, Khai phá dữ liệu web, NXB Giáo
dục
[3] Lê Thu Thùy, 2009, Trích chọn thực thể tên người trong tiếng Việt,
Khóa luận tốt nghiệp, ĐH Công nghệ - ĐHQG Hà Nội
[4] Nguyễn Bá Đạt, 2009, Nhận dạng thực thể trong văn bản tiếng Việt,
Khóa luận tốt nghiệp, ĐH Công nghệ - ĐHQG Hà Nội
[5] RaBiner, L.R (1989), A tutorial on hidden Markov models and
selected applications in speech recognition, Proceeding of the IEEE,
77(2): 257-286, 1989
[6] McCallum, A., Freitag, D., and Pereira F., Maximum entropy
Markov models for information extraction and segmentation, Proceeding of ICML-2000
[7] Lafferty, J Mc Callum, A and Pereira, F (2001), Conditional
random fields: probabilistic models for segmenting and labeling sequence data, Proceedings of ICML-2001
[8] Chih-Hao Tsai, MMSEG: A Word Identification System for
Mandarin Chinese Text Based on Two Variants of the Maximum Matching Algorithm, 1996
[9] Md Aminul Islam, Diana Inkpen, and Iluju Kiringa, A Generalized
Approach to Word Segmentation Using Maximum Length Descending Frequency and Entropy Rate, University of
Ottawa-2007
[10] Jie Tang (2005), An Introduction for Conditional Random Fields,
Literature Survey ¨C, Tsinghua.
PHỤ LỤC
Bảng 1 Bảng kết quả thử nghiệm trích rút và phân loại danh từ riêng theo tên người và nơi chốn
L ần
thử Tên văn bản S ố lượng cần tìm Số lượng đã tìm Số lượng nhầm lẫn Số lượng không tìm ra Hiệu suất
(%) Người Nơi chốn Người Nơi chốn Người Nơi chốn Người Nơi chốn
Hi ệu suất trung bình 84,51
(BBT nhận bài: 25/09/2014, phản biện xong: 17/10/2014)