Như đã nói ở chương 1, việc trích chọn thực thể tên người đòi hỏi phải nhận biết được các thành phần cơ bản và đặc trưng của dữ liệu tên người. Đối với người Việt Nam, tên người có một số đặc trưng cơ bản nhất như là các chức danh luôn đi kèm với tên người trong văn bản: ông, bà, học sinh, anh, chị, thầy giáo, cô giáo, giám đốc, tổng giám đốc, …Dựa theo giải thuật DIPRE, để trích chọn được tên người, ta phải dựa vào sự xuất hiện của các thực thể tên trong tập nhỏ ban đầu (tập seed), thuật toán đưa ra sẽ
giữ lại các ngữ cảnh xung quanh thực thể tên đó để từ đó trích chọn ra quan hệ các
mẫu, cuối cùng, dựa vào các mẫu đã trích chọn được để tiếp tục đưa ra các thực thể tên
người cần trích chọn.
Bài toán được xây dựng dựa trên cơ sở giải thuật DIPRE. Tuy nhiên, như đã đề
cập tới giải thuật này ở chương 2, Brin ban đầu chỉ sử dụng từ tập nhỏ các dữ liệu (tập seed) ban đầu để từ đó trích ra các mẫu, và đưa ra quan hệ mới giữa các thực thể. Chính điều này đã khiến cho giải thuật này gặp vấn đề về hiệu suất, tốc độ chậm. Do đó, khóa luận chỉ dựa trên tư tưởng của Brin đó là từ tập mẫu trích ra tên thực thể và
ngược lại từ thực thể trích ra mẫu. Do đó, hướng giải quyết cho bài toán trích chọn tên
người trong tiếng Việt sẽ được minh họa trên hình 7 và được trình bày chi tiết dưới đây.
Giải thích mô hình:
1. Bắt đầu từ một tập luật mẫu ban đầu, dựa vào
2. từ điển chức danh (ví dụ: ông, giáo sư,…) hệ thống sẽ trích chọn ra tập các ứng cử cho tên người.
3. Từ tập ứng cử tên người, thủ tục lọc sẽ loại bỏ các ứng cử tên không chính
xác để thu được một tập hợp tên người. Nếu tập tên người thu được là tập
rỗng thì giải thuật dừng.
4. Dựa vào tập tên người đã thu được, thủ tục sinh mẫu sẽ sinh ra các ứng cử
mẫu mới bằng cách khai thác kho văn bản đang có. Sau đó các ứng cử mẫu
sẽ được lọc để loại các ứng cử bị trùng hoặc có độ chính xác thấp. Kết quả đầu ra của thủ tục này ta thu được một tập mẫu mới. Nếu tập mẫu mới thu được là tập rỗng thì giải thuật dừng.
Trích chọn tên người
Từ điển chức danh
Mẫu ban đầu
Kho văn bản Ứng cử Tên người Lọc Tên người Sinh ứng cử mẫu và lọc ra các mẫu tốt Tập mẫu mới Trích chọn tên người với mẫu mới Từ điển Họ
5. Từ tập mẫu mới và từ điển họ, thủ tục trích chọn thứ 2 sẽ tìm ra các ứng cử
tên mới. Giải thuật quay lại bước 2.
Phần dưới đây sẽ mô tả chi tiết các khái niệm, cũng như các thủ tục được trình bày trên hình 7.
Xây dựng thủ công các tập ban đầu
Trong tiếng Việt, tên người thường đi sau các chức danh như: ông, bà, anh, chị, giám đốc, tổng giám đốc, giáo viên, học sinh,…do đó, đầu tiên sẽ xây dựng các tập từ điển ban đầu, đây là cách xây dựng thủ công.
Tương tự như giải thuật DIPRE đã làm, đó là xây dựng một tập nhỏ dữ liệu (tập
seed) ban đầu và trong quá trình tìm các xuất hiện sẽ trích chọn ra các bộ, lưu giữ các
ngữ cảnh (ngữ cảnh ở đây chính là các từ đằng trước, đằng sau thực thể), từ đó sinh ra các mẫu, từ các mẫu sẽ lại trích ra được quan hệ mới, đó chính là thực thể mới, thực
thể này sẽ lại được lưu vào trong tập seed và vòng lặp lại tiếp tục cho tới khi không
còn quan hệ mới nào được tạo ra nữa. Như vậy, hệ thống sẽ có thêm một tập dữ liệu ban đầu chứa tên thực thể người. Tập dữ liệu này được xây dựng một cách thủ công. Do định dạng chuẩn của tên người Việt Nam là <họ> <tên đệm><tên người> nên tập
này có thể có dạng <tên người>, hoặc ở dạng <tên đệm><tên người>, hoặc ở dạng
chuẩn như trên. Ví dụ như: Nam, hoặc Trần Quang Khải hoặc Quang Minh,… tập này sẽ được sử dụng tương tự như trong giải thuật DIPRE đã nói ở trên.
Vì tên người rất phổ biến và dễ dàng đưa ra được nên có thể đưa ra một tập từ điển khác chỉ có <họ> của người như: Nguyễn, Lê, Trần, Dương, Phùng, Đinh…. Bởi
rõ ràng nhận ra rằng khi trong văn bản xuất hiện một từ thuộc là <họ> của người thì chắc chắn sau từ đó hoặc không có gì hoặc sẽ có tên người. Ví dụ:
“Bạn Nguyễn Minh Châu đã đạt học sinh giỏi trong năm học này.” (8)
“Dòng họ Nguyễn là dòng họ nổi tiếng khắp vùng này vì truyền thống hiếu học” (9) Ở câu (8), “Nguyễn Minh Châu” là tên người nhưng ở câu (9), “Nguyễn” ở đây là chỉ
về một dòng họ.
Chi tiết, cụ thể hơn, có thể xây dựng tập từ điển tên người chứa đầy đủ <họ><tên đệm><tên người> thì khi đó, hệ thống chỉ việc đối chiếu, so sánh giữa tập từ điển này với dữ liệu trong văn bản, mẫu (pattern) sẽ được trích ra rất nhanh và cũng rất nhiều.
hiện chỉ là thủ công, lại thêm nữa là thừa bởi, thực chất chỉ cần tập chứa các <họ> của tên người cũng đủ để giải quyết bài toán một cách nhanh chóng.
Vấn đề mà từ ngữ trong tiếng Việt vẫn hay xảy ra đó là sự nhập nhằng. Tên
người có thể trùng với tên địa danh, tên tổ chức. Do đó, để giảm bớt tỉ lệ lỗi của hệ
thống, cũng cần xây dựng một tập từ điển các từ có mang nghĩa bắt đầu địa danh, tổ
chức như là: công ty, công ty TNHH, tỉnh, thành phố, huyện, làng, xã, nước, quốc gia,
….những từ ngữ này hoàn toàn không phải là quá nhiều, việc xây dựng bằng thủ công là tương đối nhẹ nhàng và đơn giản.
Các tập mẫu của thực thể tên người trong tiếng việt
Với tên người thường có giới hạn bởi xâu mang nghĩa <chức danh> như: ông, bà, anh, chị, …và các xâu thuộc <động từ> như: chạy, nói, học, lái xe, đàn, hát, nhảy,… Do đó, một mẫu phù hợp trích được trong quá trình trích chọn mẫu sẽ gồm có:
prefix, personal name, suffix
Trong đó:
prefix: thường chỉ chức danh của người, những từ thường đứng trước tên
người trong văn bản.
suffix: thường chỉ động từ, những từ thường đứng sau tên người trong văn bản.
personal name: là tên thực thể người xuất hiện trong văn bản. Tên người
trong tiếng Việt sẽ được giới hạn bởi các chữ cái trong bảng chữ cái tiếng Việt
bao gồm: [A-Ya-y]
Viết dưới dạng biểu thức chính quy sẽ là:
*prefix, personal name, suffix*
Xây dựng tập mẫu dựa trên các xuất hiện của tập nhỏ thực thể ban đầu hoặc từ các tập từ điển được dựng sẵn, biểu diễn các mẫu dưới dạng biểu thức chính quy
Đây là một xử lý quan trọng trong hệ thống bởi mẫu có chính xác bao nhiêu thì thì tỉ lệ lỗi trong quá trình trích chọn sẽ giảm bấy nhiêu. Việc sinh ra mẫu mới có
thể được làm như sau:
1. Xác minh lại xem các thành phần prefix và suffix trong tất cả các xuất hiện của
mẫu phù hợp với tên người được. Ngược lại, lưu tập prefix và suffix mớivào trong tập các prefix và suffix ban đầu.
2. Thiết lập tập prefix mới (là các prefix đã được trích ra từ các xuất hiện của
thực thể ban đầu) với các suffix ban đầu để tìm ra mẫu mới và ngược lại. Thiết
lập tập prefix mới (là các prefix đã được trích ra từ các xuất hiện của thực thể ban đầu) với các suffix ban đầu để tìm ra mẫu mới.
Ví dụ:
Một mẫu mới được tạo thành có
prefix mới là: giáo sư
suffix mới là giảng dạy
Trong khi đó:
tập prefix ban đầu có: tiến sĩ
tập suffix ban đầu có: nghiên cứu
Như vậy, sẽ có một vài mẫu mới được sinh ra, sẽ có:
Prefix là: giáo sư – suffix là: nghiên cứu
Prefix là: tiến sĩ – suffix là: giảng dạy
Một số đặc trưng riêng của tên người cần chú ý
Tên người dạng chuẩn trong các văn bản thường được trình bày dưới dạng các
viết hoa các chữ cái đầu câu như: Nguyễn Minh Ngọc, Uyên, Tiến Dũng,… Tên người Việt Nam thường tối đa là một xâu gồm khoảng 5 từ.
Mỗi cái tên đều thể hiện cả về mặt thẩm mỹ, do đó, có thể loại bỏ những từ
không vô nghĩa, hoặc những nghĩa không hay khi xử lý văn bản, như: đất, ận, bẩn, mèo, chuột, …
Thuật toán trích chọn ra mẫu từ tập các mẫu
Trước tiên phải xác nhận xem prefix và suffix của tất cả các lần xuất hiện có
giống nhau hay không? Nếu không thì không thể tạo ra mẫu mới.
1. Nhóm các lần xuất hiện của thực thể trong tập seed ban đầu theo prefix và
2. Với mỗi mẫu trong nhóm trên, tạo ra một mẫu mới dựa trên prefix của mẫu
mới với suffix của mẫu ban đầu và ngược lại, suffix của mẫu ban đầu với prefix của
mẫu mới.
Nếu mẫu mới tạo ra trùng với một trong các mẫu ban đầu thì loại bỏ mẫu đó và
ngược lại, sẽ lấy mẫu đó thực hiện trích chọn thực thể từ dữ liệu, rồi lại lặp lại như bước 1 cho đến khi không sinh ra được mẫu mới thì dừng.