Đồng thời khóa luận cũng đã trình bày, phân tích, đánh giá một số hướng tiếp cận bài
toán nhận biết loại thực thể. Khóa luận đã nêu ra một sốvấn đề và giải pháp đối với
bài toán nhận biết thực thể tên người trong văn bảntiếng Việt trên môi trư ờng Web
dựa trên giải thuậtDIPRE của Brin
43 trang |
Chia sẻ: lylyngoc | Lượt xem: 2861 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn Trích chọn thực thể tên người trong tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ệ giữa các thực
thể, ta phải xác định được đâu là các thực thể tham gia vào mối quan hệ đó. Do đó, bài
toán trích chọn thực thể là một trong những bước cơ bản nhất trước khi tính đến việc
giải quyết các bài toán phức tạp hơn trong lĩnh vực này.
Có rất nhiều phương pháp đã được sử dụng để giải quyết các bài toán trích chọn
thực thể, từ các phương pháp dựa trên hệ luật (rule-based) đến các phương pháp học
máy (machine learning). Một số phương pháp học máy như: Mô hình Markov ẩn
(Hidden Markov Model - HMM), mô hình cực đại hóa Entropy (Maximum Entropy
Markov Model - MEMM), mô hình trường ngẫu nhiên điều kiện (Conditional
Ramdom Field - CRF), phương pháp máy vector hỗ trợ (Support Vector Machine -
SVM)….Các phương pháp ngày sẽ được giới thiệu chi tiết ở chương 2.
1.3. Bài toán trích chọn thực thể tên người trong văn bản tiếng Việt
trên môi trường web
Các thực thể đóng vai trò quan trọng rất nhiều trong ứng dụng xử lý ngôn ngữ tự
nhiên. Hiện nay, hầu hết các hệ thống nhận dạng thực thể tên đều dựa vào một tập nhỏ
các loại thực thể tên thông thường. Mặc dù đã có một vài đề xuất được đưa ra nhằm
mở rộng các cấp của các loại thực thể tên nhưng nó vẫn cố định ở một số lượng nhất
định các loại thực thể tên. Trong các ứng dụng thực tế: hệ thống hỏi đáp hay hệ thống
tìm kiếm ngữ nghĩa, người dùng có thể sẽ hứng thú hơn với riêng từng loại thực thể.
Khi đó, vấn đề đặt ra sẽ là áp dụng bài toán trích chọn các loại thực thể cho các miền
dữ liệu có tính chất đặc trưng riêng biệt, khác với những dữ liệu thông thường. Đây là
điều rất đáng được quan tâm. Và miền dữ liệu tên người cũng là một trong những miền
dữ liệu được nhắc tới nhiều nhất. Chính vì vậy, nội dung chính của khóa luận nhằm
đưa ra một phương pháp trích chọn thực thể tên người từ văn bản tiếng Việt trên môi
trường Web.
Thực thể tên người luôn song hành, gắn bó với cuộc sống của mỗi con người
từng giờ, từng phút, đóng một vai trò quan trọng đối với mỗi cá nhân. Nó không chỉ có
6
chức năng phân biệt người này với người khác mà còn có chức năng thẩm mỹ nên đối
với người Việt Nam, tên người cũng thường được chọn lựa khá kỹ về mặt ngữ âm và
ngữ nghĩa. Do đó, việc khai thác tối ưu vấn đề này để áp dụng cho nhiều bài toán cụ
thể khác cũng là một đề tài quan trọng.
Tuy nhiên, đối với hệ thống tên người trên thế giới nói chung hay của Việt Nam
nói riêng đều không có một nguyên tắc chung nào trong việc đặt tên. Cũng như sự
phong phú về ngôn ngữ dẫn tới thực thể tên người sẽ có cấu trúc phức tạp hơn, do đó,
không tránh khỏi sự nhập nhằng. điều này khiến cho việc trích chọn tên người cũng
như trích chọn quan hệ giữa chúng trở nên khó khăn hơn so với các văn bản tiếng Anh.
Cụ thể như sau:
Các văn bản tiếng Việt không có dữ liệu huấn luyện có sẵn, và các nguồn
tài nguyên có thể tra cứu trên WordNet trong tiếng Anh.
Thiếu các thông tin ngữ pháp (POS) và các thông tin về cụm từ như: cụm
danh từ, cụm động từ,…cho tiếng Việt trong khi các thông tin này giữ vai
trò quan trọng trong việc trích chọn thực thể.
Một số trường hợp dễ dàng xuất hiện đối với tên người trong tiếng Việt
như sau:
“Hồ Chí Minh là một vị lãnh tụ vĩ đại của dân tộc Việt Nam.” (1)
“Hồ Chí Minh là một trong những thành phố lớn nhất ở Việt Nam.” (2)
“Tổng thống Mỹ có chuyến viếng thăm Trung Quốc.” (3)
“Tổng thống Mỹ Obama có chuyến viếng thăm Trung Quốc.” (4)
“Tổng thống Obama có chuyến viếng thăm đất nước Trung Quốc.” (5)
Xét trường hợp (1) và (2), dễ dàng nhận thấy sự nhập nhằng, điều này sẽ phát
sinh những vấn đề như:
“Hồ Chí Minh” nào là tên người?
Chữ “Hồ” đầu câu viết hoa, do đó, thông tin viết hoa đầu câu thường
không mang nhiều ý nghĩa.
Xét tới trường hợp (3), (4), và (5), có thể thấy cùng một nội dung nhưng có nhiều
cách để diễn đạt, nhưng không phải cách diễn đạt nào cũng khiến người lập trình có
thể dễ dàng lấy ra được tên người.
7
Trường hợp (3) hoàn toàn không có tên người, nhưng đây cũng là trường
hợp dễ nhầm lẫn khi thực hiện trích chọn.
Trường hợp (5) tồn tại hai loại thực thể,
“Mỹ” chỉ địa danh.
“Obama” chỉ tên người
Rất có thể kết quả trích chọn sẽ đưa ra kết quả là “Mỹ Obama” → đó là
một kết quả hoàn toàn không chính xác.
Như vậy, bài toán đưa ra nhằm đánh giá các chiến lược khai phá dữ liệu tên
người, đặc biệt tập trung vào hai bài toán con: trích chọn thực thể và trích chọn quan
hệ. Bởi vì, trước khi xác định được quan hệ giữa các thực thể để thực hiện trích rút thì
ta phải nhận biết được thực thể cần trích chọn. 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, ví
dụ như 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 vào sự xuất hiện của các thực
thể, 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. Đây chính là phương pháp mà khóa luận
đề cập tới để áp dụng cho bài toán này dựa trên cơ sở giải thuật DIPRE (Dual
Interative Pattern Relation Expansion)[17] của Brin. Với phương pháp này ta sẽ khắc
phục được những vấn đề đặt ra đối với thực thể tên người trong tiếng Việt cũng như
việc tìm kiếm để sinh ra các mẫu khác nhau. Cụ thể về cách giải quyết bài toán sẽ
được trình bày chi tiết ở chương 3.
1.4. Ý nghĩa của bài toán trích chọn thực thể tên người
Trích chọn thông tin luôn là bước đi đầu tiên của nhiều ứng dụng thực tế và việc
trích chọn, nhận biết tên người cũng tương tự như vậy. Tên người là một thành phần
chủ chốt để xử lý câu đầu vào. Do đó, trích chọn tên người được sử dụng một cách
rộng rãi trong nhiều lĩnh vực khác nhau như xử lý ngôn ngữ tự nhiên, thu thập thông
tin, dịch tự động…Cụ thể như sau:
Hỗ trợ Web ngữ nghĩa. Web ngữ nghĩa là các trang Web có thể biểu diễn
dữ liệu “thông minh”, ở đây “thông minh” chỉ khả năng kết hợp, phân lớp
và khả năng suy diễn trên dữ liệu đó. Sự thành công của các Web ngữ
nghĩa phụ thuộc vào các ontology, cũng như sự phát triển của các trang
8
Web được chú giải bởi các siêu dữ liệu tuân theo các ontology này. Mặc
dù các lợi ích mà các ontology đem lại là rất lớn nhưng việc xây dựng
chúng một cách tự động lại hết sức khó khăn. Vì lý do này, các công cụ
trích chọn thông tin tự động từ các trang Web để “làm đầy “ các ontology
như hệ thống nhận biết thực thể là hết sức cần thiết.
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.
Người dùng có thể lấy ra được danh sách chỉ có riêng thực thể tên người
mà họ cần tìm thay vì một loạt danh sách bao gồm cả các thực thể khác.
Như đã được đề cập trên đây, một hệ thống nhận biết thực thể tên người
có thể đóng vai trò là một thành phần cơ bản cho các bài toán trích chọn
thông tin phức tạp hơn, phụ thuộc vào mục đích sử dụng của con người.
Trước khi đọc một tài liệu, người dùng có thể đọc lướt qua các tên người
mà họ quan tâm.
Hệ thống trích chọn thực thể tên người cho tiếng Việt cũng sẽ làm tiền đề cho
việc giải quyết các bài toán về trích chọn thông tin từ các tài liệu tiếng Việt cũng như
hỗ trợ cho việc xử lý ngôn ngữ tiếng Việt. Áp dụng hệ thống để xây dựng một
ontology về các thực thể trong tiếng Việt sẽ đặt nền móng cho một thế hệ Web mới - “
Web ngữ nghĩa tiếng Việt”.
9
Chương 2. Các hướng tiếp cận trong trích
chọn thông tin
Có rất nhiều phương pháp đã được dùng để giải quyết bài toán trích chọn thực
thể, từ phương pháp dựa trên hệ luật tới phương pháp học máy. Một số phương pháp
học máy như: Mô hình Markov ẩn (Hidden Markov Model - HMM), mô hình Markov
cực đại hóa Entropy (Maximum Entropy Markov Model - MEMM), mô hình trường
ngẫu nhiên điều kiện (Conditional Random Field - CRF), phương pháp máy vector hỗ
trợ (Support Vector Machine - SVM)…. Chương này sẽ giới thiệu một số hướng tiếp
cận cùng với ưu và nhược điểm của chúng, từ đó lý giải tại sao phương pháp mà khóa
luận sử dụng lại dựa trên giải thuật DIPRE để xây dựng hệ thống trích chọn tên riêng
cho tiếng Việt.
2.1. Phương pháp dựa trên học máy
2.1.1. Mô hình Markov ẩn (HMM)
2.1.1.1. Tổng quan về HMM
HMM là mô hình máy hữu hạn trạng thái (finite state machine) trong đó hệ thống
được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước
và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa
nhận này. Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các
phân tích kế tiếp ví dụ cho các ứng dụng nhận dạng mẫu.
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi một
người quan sát, vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất. Mô
hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu
hiện đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM
không trực tiếp chỉ ra các dãy trạng 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,
chuyển tiếp tới một trạng thái mới, quan sát một dữ liệu được lựa chọn bởi trạng thái
đó, quá trình chuyển tiếp lại làm tương tự, quan sát một dữ liệu khác và cứ tiếp tục như
10
vậy cho tới một trạng thái đích cuối cùng được đưa ra. Kết hợp các dữ liệu thu được
thành một tập dữ liệu của các trạng thái:
1 2 n{S ,S ,...,S }S - chuỗi các trạng thái ẩn
và xác suất phân bố trên các biểu hiện đầu ra có thể trong các từ vựng quan sát:
1 2 n{O ,O ,...,O }O - chuỗi các dữ liệu quan sát
Từ đây ta có thể tìm ra chuỗi các trạng thái mô tả tốt nhất cho chuỗi dữ liệu quan
sát bằng cách tính:
)(
),()|(
OP
OSPOSP
Ta có thể mô hình hóa HMM dưới dạng một đồ thị có hướng như sau:
Ở đây, Si là trạng thái tạ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 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 trạng thái tại t, ta có thể tính xác suất P(S,O) như
sau:
n
t
tttt SOPSSPSOPSPOSP
2
1111 )|(*)|()|()(),(
S1 S2 S3 Sn-1 Sn
O1 O2 O3 On-1 On
Hình 2: Ví dụ về mô hình Markov
11
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 [6].
2.1.1.2. Hạn chế của mô hình HMM
Chúng ta phải cần nhiều chuỗi dữ liệu quan sát hơn để tính P(S,O). Tuy nhiên, S
là chuỗi các trạng thái ẩn, số lượng có hạn thì có thể liệt kê được nhưng chuỗi dữ liệu
quan sát được O thì rất đa dạng, ta không thể nào có thể liệt kê ra hết được.
Khi áp dụng vào các bài toán phân lớp dữ liệu dạng chuỗi, các mô hình thườ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) ban đầu.
2.1.2. Mô hình Markov cực đại hóa Entropy (MEMM)
2.1.2.1. Tổng quan về mô hình MEMM
Một mô hình khác được đưa ra nhằm khắc phục những hạn chế mà mô hình
HMM đã gặp phải, đó là mô hình MEMM. Mô hình MEMM sử dụng một hàm xác
suất duy nhất 1( | , )i i iP S S O để thay thế cho xác suất chuyển trạng thái và xác suất quan
sát trong HMM. Đối với MEMM, các dữ liệu quan sát được cho trước nên ta chỉ cần
quan tâm tới xác suất chuyển trạng thái.
Xác suất P(S|O) được tính theo công thức:
k
ttkk
tt
ttsttt sofsoZ
osPossP
t
),(exp
),(
1)|(),|(
1
1 1
S1 S2 Sn-1 Sn S3
O1 O2 O3 On-1 On
Hình 3: Đồ thị có hướng mô tả một mô hình MEMM
12
Với:
k là các tham số cần được huấn luyện (ước lượng)
Z (Ot, St-1) là thừa số chẩn hóa để tổng xác suất chuyển từ trạng thái St-1
sang tất cả các trạng thái St kề đều bằng 1
fk (Ot, St) là hàm thuộc tính tại vị trí thứ i trong chuỗi dữ liệu quan sát và
trong chuỗi trạng thái. Mỗi hàm thuộc tính fk (Ot,St) nhận hai tham số, một là dữ
liệu quan sát hiện tại Oi và một là trạng thái hiện tại St.
k = với: k’ là thuộc tính nhị phân chỉ phụ thuộc vào dữ liệu quan
sát hiện tại.
St là trạng thái hiện tại.
Khi đó:
2.1.2.2. Vấn đề Label Bias
Trong một số trường hợp đặc biệt, các mô hình MEMM và các mô hình định
nghĩa một phân phối xác suất cho mỗi trạng thái có thể gặp phải vấn đề “label bias”.
Ta lấy một ví dụ với 2 chuỗi “rib” và “rob” tương ứng với chuỗi trạng thái “0123” và
“0453”
Có thể thấy cả 2 xâu đầu ra đều có xác suất giống nhau:
P(0123|rib) = Pr(1|0,r)/Z1 * Pr(2|1,o)/Z2 * Pr(3|2,b)/Z3
= 0.5 * 1 * 1 = 1
Fk (Ot,St)=
1 nếu b (Ot) =1 và St=St-1
0 nếu ngược lại
o:_
0
1 2
4 5
3
r_
r_
b:rib
rib
b: rob
i_
Hình 4: Vấn đề Label Bias
13
P(0453|rob) = Pr(4|0,r)/Z1’ * Pr(5|4,i)/Z2’ * Pr(3|5,b)/Z3’
= 0.5 * 1 *1 = 1
Khi đó, giả sử như trong tập huấn luyên, từ “rob” xuất hiện nhiều hơn từ “rib” thì
khi đó, xác suất P(4|0,r) sẽ lớn hơn xác suất P(1|0,r), hay xác suất của P(0123|rib) sẽ
nhỏ hơn xác suất của P(0453|rob), hay chuỗi trạng thái “0453” sẽ được chọn cho dù
chuỗi quan sát là “rib” hay “rob”.
2.1.3. Mô hình trường điều kiện ngẫu nhiên (CRF)
2.1.3.1. Tổng quan về mô hình CRF
CRF là mô hình dựa trên xác suất có điều kiện dựa trên việc gán nhãn và phân
đoạn dữ liệu liên tục. CRF là mô hình đồ thị vô hướng để từ đó có thể định nghĩa một
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. Ưu điểm cơ bản của CRF so với mô hình Markov ẩn đó chính là tính có
điều kiện của chúng, làm giảm nhẹ các giả định không phụ thuộc được yêu cầu bởi
HMM để bảo đảm kết quả dễ xử lý. Thêm vào nữa, CRF cũng tránh được vấn đề label
bias gặp phải trong mô hình Markov cực đại hóa Entropy cũng như đồ thị có hướng
trong mô hình Markov điển hình.
CRF được thể hiện bằng mô hình đồ thị vô hướng, hoặc bằng trường Markov
ngẫu nhiên, bao toàn bộ điều kiện lên X, biến ngẫu nhiên biểu hiện qua các chuỗi quan
sát.
Cho một đồ thị vô hướng không có chu trình G=(E,V) với:
+ V là tập các đỉnh của đồ thị.
+ E là tập các cạnh vô hướng nối các đỉnh đồ thị.
+ Các đỉnh V biểu diễn các thành phần của biến ngẫu nhiên Y sao cho tồn
tại ánh xạ một-một giữa một đỉnh và một thành phần của Yv của Y.
+ Một node v V tương ứng với mỗi biến ngẫu nhiên biểu diễn một thành
phần vY của Y. Nếu mỗi biến ngẫu nhiên của vY tuân theo đặc tính của Markov
đối với G thì (Y,X) là một CRF.
14
Hình 5: Đồ thị vô hướng mô tả CRF
Trong đó:
X=(X1, X2,…, Xn), Y=(Y1,Y2, ...,Yn).
X: là biến ngẫu nhiên nhận giá trị là chuỗi dữ liệu cần phải gán nhãn
Y: là biến ngẫu nhiên nhận giá trị là chuỗi nhãn tương ứng.
Mỗi thành phần Yi của Y là một biến ngẫu nhiên nhận giá trị trong tập
hữu hạn trạng thái S.
2.1.3.2. Hàm tiềm năng của mô hình CRF
Cấu trúc đồ thị của CRF có thể được sử dụng để tìm thừa số của việc phân phối
các mối ghép nối ở các thành phần Yv của Y vào trong các tích chuẩn hóa của giá trị
dương, của hàm tiềm năng mang giá trị thực xuất phát từ khái niệm độc lập điều kiện.
Mỗi hàm tiềm năng đều hoạt động dựa trên một tập con của các biến ngẫu nhiên được
biểu diễn bởi các đỉnh của đồ thị G. Theo định nghĩa của độc lập điều kiện đối với mô
hình đồ thị vô hướng, việc thiếu một cạnh bất kỳ giữa hai đỉnh của G sẽ khiến cho các
biến ngẫu nhiên được biểu diễn bởi các đỉnh này trở thành độc lập điều kiện đồng thời
nó cũng kéo theo các biến ngẫu nhiên khác vào trong mô hình. Tức là các hàm tiềm
năng cũng phải chắc chắn việc các biến ngẫu nhiên cũng sẽ không xuất hiện cùng
trong một hàm tiềm năng. Đối với trường cấp cấu trúc dây chuyền của CRF, mỗi hàm
chức năng sẽ hoạt động theo các cặp có các biến được gán nhãn liền kề nhau Yi và
Yi+1
Yn-1 Y1
X
Y3 Y2 Yn
15
Theo định nghĩa về xác suất của một nhãn đặc trưng của chuỗi y được quan sát
bởi chuỗi x trở thành một tích chuẩn hóa của các hàm tiềm năng, hàm tiềm năng biểu
diễn dưới dạng hàm số mũ:
j 1
j
exp( ( , , , ) ( , , ))j i i k k i
k
t y y x i s y x i
Khi 1( , , , )j i it y y x i là một hàm tiềm năng chuyển tiếp của toàn bộ chuỗi quan sát
và các nhãn ở vị trí i và i-1 trong chuỗi gán nhãn.
( , , )k is y x i : là một hàm tiềm năng trạng thái của nhãn ở vị trí i và chuỗi quan sát.
j và k : là các tham số để ước lượng từ tập dữ liệu huấn luyện.
Tập các giá trị thực tiềm năng b(x,i) của chuỗi quan sát nhằm biểu diễn một vài
ký tự của việc phân bố có kinh nghiệm các tập huấn luyện cần được giữ lại trong việc
phân phối mô hình. Một ví dụ:
Mỗi hàm tiềm năng đều đưa ra giá trị tiềm năng quan sát b(x,i) nếu trạng thái
hiện tại (trong trường hợp là hàm trạng thái ) hoặc trạng thái trước và trạng thái hiện
hiện tại (trong trường hợp là hàm chuyển tiếp) đưa ra giá trị riêng. Bởi vậy mà tất các
các hàm tiềm năng đều có giá trị thực.
Viết đơn giản các biểu thức:
1( , , ) ( , , , )i i is y x i s y y x i
và
1
j
( , ) ( , , , )
n
j j i iF y x t y y x i
b(x,i) =
1 nếu ví trí quan sát ở i là từ “September”
0 nếu ngược lại
16
Tại mỗi 1( , , , )j i if y y x i cũng là một hàm trạng thái như 1( , , , )i is y y x i hay hàm
chuyển tiếp 1( , , , )i it y y x i . Điều này cho phép xác suất của một chuỗi nhãn y được đưa
ra mọt chuỗi quan sát x theo công thức dưới đây:
j
1( | , ) ex p ( ( , ) )
( ) j j
p y x F y x
Z x
Với Z(x) là một thừa số chuẩn hóa, Z(x) được tính theo công thức:
( ) ( , )j
y
Z x F y x
2.2. Phương pháp tiếp cận dựa trên hệ luật
2.2.1 Tổng quan về tiếp cận dựa trên hệ luật
Một hệ thống dựa trên hệ luật bao gồm các tập luật cơ bản (Nếu - Thì), tập các sự
vật, bộ thông dịch (interpreter) sử dụng tập luật để sinh ra các sự vật.
Hệ thống áp dụng phương pháp dựa trên luật sẽ khảo sát dữ liệu và tạo ra một tập
luật ban đầu dựa theo phương pháp thủ công, sau đó áp dụng vào mô hình và mở rộng
tập luật này. Các luật chủ yếu được xây dựng dựa trên ngữ cảnh chứa thực thể đang
xét. Chương 3 sẽ đề cập chi tiết về cách áp dụng phương pháp này và mô hình giải
quyết bài toán.
Một trong những phương pháp dựa trên hệ luật dùng để trích chọn thực thể tên
đem lại kết quả khả quan là phương pháp sử dụng giải thuật DIPRE (Dual Interative
Pattern Relation Expansion)[17] do Brin đề xuất. Phương pháp này sử dụng học bán
giám sát (semi-supervised) để xử lý dữ liệu ban đầu.
2.2.2 Giải thuật DIPRE
2.2.1.1. Tổng quan về học bán giám sát
Có thể thấy hiện nay, nhu cầu về một lượng lớn các dữ liệu học và những khó
khăn để thu được các dữ liệu đó đặt ra một câu hỏi quan trọng: Liệu có thể sử dụng
được nguồn thông tin nào khác trong phân lớp văn bản mà có thể làm giảm sự cần
thiết của dữ liệu gán nhãn? Đây chính là nguồn động lực thúc đẩy sự phát triển của các
phương pháp học bán giám sát.
17
Nhìn vào sự tồn tại của dữ liệu ta thấy, trong thực tế dữ liệu thường tồn tại ở
dạng trung gian: Không phải tất cả dữ liệu đều được gán nhãn cũng như không phải tất
cả chúng đều chưa được gán nhãn. Bán giám sát là một phương pháp học sử dụng
thông tin từ cả hai nguồn dữ liệu này.
Trong khoa học máy tính, phương pháp học bán giám sát là một phần của học
máy mà trong đó, nó có thể sử dụng cả dữ liệu đã được gán nhãn và dữ liệu không gán
nhãn làm tập huấn luyện – một lượng nhỏ các dữ liệu gán nhãn với một lượng lớn dữ
liệu chưa được gán nhãn.
Học có giám sát là phương pháp sử dụng tập dữ liệu đã được gán nhãn, việc gán
nhãn thủ công này rõ ràng là tốn thời gian, công sức và khó khăn, không đảm bảo
được độ chính xác.
Ngược lại, học không giám sát là phương pháp sử dụng tập dữ liệu chưa gán
nhãn. Trong khi lượng dữ liệu chưa gán nhãn là rất nhiều, dễ thu thập nhưng cũng
khiến cho học không giám sát đôi khi không đảm bảo được kết quả khả quan.
Từ đó, học bán giám sát đã ra đời dưới sự kết hợp ưu điểm và hạn chế của học có
giám sát và không giám sát. Mục đích chính của học bán giám sát là mở rộng tập dữ
liệu không gán nhãn ban đầu. Từ đó, mô hình học bán giám sát được thể hiện như sau:
Học giám sát Dữ liệu chưa
gán nhãn
Học không
giám sát
Dữ liệu gán
nhãn
Học bán giám sát
Hình 5: Mô hình học bán giám sát
18
Phạm vi sử dụng của học bán giám sát
Các phương pháp học bán giám sát sẽ rất hữu ích khi dữ liệu chưa gán nhãn
nhiều hơn dữ liệu gán nhãn. Việc thu được dữ liệu gán nhãn là rẻ, nhưng để gán
nhãn chúng thì tốn rất nhiều thời gian, công sức và tiền bạc. Đó là tình trạng của rất
nhiều các lĩnh vực ứng dụng trong học máy như:
Trong nhận dạng lời nói, ta sẽ dễ dàng ghi lại một lượng lớn các bài
diễn thuyết, nhưng để gán nhãn chúng yêu cầu con người phải lắng
nghe rồi đánh máy sao chép lại.
Sự phong phú của hàng tỉ các trang web sẵn sàng cho xử lý tự động,
nhưng để phân lớp chúng một cách tin cậy đòi hỏi con người phải
đọc chúng....
Học bán giám sát là việc học trên cả dữ liệu đã và chưa được gán nhãn. Từ một
số lượng lớn các dữ liệu chưa được gán nhãn, và một luợng nhỏ dữ liệu đã được gán
nhãn ban đầu (thường gọi là seed set) để xây dựng một bộ phân lớp thậm chí là tốt
hơn. Trong quá trình học như thế phương pháp sẽ tận dụng được những thông tin
phong phú của dữ liệu chưa gán nhãn (unlabeled data), mà chỉ yêu cầu một số lượng
rất nhỏ các dữ liệu đã gán nhãn (labeled data).
Ý tưởng chung là vẫn thu được performance tốt như đối với việc học trên tập một
tập dữ liệu lớn đã được gán nhãn.
Có một câu hỏi là: Liệu các phương pháp học bán giám sát có ích hay không?
Chính xác hơn là, so sánh với học giám sát chỉ sử dụng dữ liệu gán nhãn, ta có thể hy
vọng vào sự chính xác của dự đoán khi xét thêm các điểm không gán nhãn. Câu trả lời
là “có” dưới những giả thiết phù hợp (certain assumptions) của từng mô hình.
Trong khóa luận này, đối với học bán giám sát, ta chỉ quan tâm xem nó dùng để
làm gì chứ không đi sâu vào các bước xử lý đối với văn bản như thế nào. Học bán
giám sát đã được Brin áp dụng đối với phương pháp DIPRE trong trích chọn quan hệ
mẫu trong văn bản.
2.2.1.2. Giải thuật DIPRE
Web là một nguồn tài nguyên tồn tại một số lượng lớn khổng lồ các dữ liệu văn
bản như thư điện tử, cơ sở dữ liệu tổng hợp, thư viện só, các bản ghi tình trạng bệnh
nhân, …Các dữ liệu đều bị phân tán, và tồn tại ở nhiều định dạng khác nhau. Do đó,
vấn đề trích chọn thông tin từng đoạn dữ liệu riêng biệt trong văn bản trên WWW một
19
cách tự động, ít có sự can thiệp của con người là một vấn đề mà từ trước tới giờ luôn
thu hút nhiều sự quan tâm của nhiều nhà khoa học.
Brin đã đưa ra phương pháp DIPRE cho việc mở rộng mối quan hệ mẫu trong
văn bản trên môi trường Web để trích chọn thực thể. Phương pháp này dựa vào các
mẫu (pattern) và các tập nhỏ ban đầu (seed) để trích ra các quan hệ mẫu phù hợp với
ngữ cảnh của các văn bản.
Ban đầu ta có một tập mồi chứa các bộ, các bộ này là những xâu sẽ xuất hiện
trong tập các văn bản trên Web. Cơ bản của phương pháp DIPRE mà Brin muốn
hướng tới đó là từ các bộ sẽ trích chọn ra được các mẫu và ngược lại, từ các mẫu sẽ
sinh ra các bộ mới.
Mẫu ở đây sẽ chứa các thành phần trong bộ mà ta cần trích chọn và thêm các ngữ
cảnh liên quan. Phương pháp này chính là việc trích chọn quan hệ giữa mẫu để đưa ra
kết quả thu được là danh sách các thực thể tên mà ta cần trích ra.
Thuật toán mà DIPRE như sau:
Ban đầu có một tập nhỏ D các cặp (tác giả, tên sách)
1. Sử dụng tập nhỏ chứa các ví dụ liên quan tới thực thể cần trích chọn để gán
nhãn các dữ liệu.
2. Tạo ra các mẫu từ các dữ liệu đã được gán nhãn.
3. Đưa các mẫu từ dữ liệu chưa được gán nhãn tới tập các cặp (tác giả, tên sách)
mới và thêm chúng vào trong tập nhỏ các cặp D ban đầu.
4. Quay trở lại bước 1 và lặp lại cho tới khi mẫu mới, quan hệ mới không được
sinh ra thì giải thuật sẽ dừng.
Hệ thống sẽ thực hiện trích chọn thực thể như mô tả một ví dụ dưới đây.Cụ thể
với tập nhỏ ban đầu (seed) của cặp (tác giả, tên sách).
Giả sử ban đầu trong tập seed có cặp: (Arthur Conan Doyle, The Advanture
of Sherlock Holmes). Hệ thống sẽ thực hiện tìm kiếm tất cả các tài liệu văn
bản trên môi trường Web chứa cặp đó. Trong quá trình tìm kiếm, giả sử tìm
thấy một câu có chứa cặp thực thể trên như sau:
“Read The Adventures of Sherlock Holmes by Arthur Conan Doyle online or in you
email”.
20
Sau đó, thực hiện trích chọn bộ. Để xác định ngữ cảnh xung quanh cặp thực
thể , thiết lập một bộ gồm 6 thành phần: [order, tác giả, tên
sách, prefix, suffix, middle]
Trong đó:
order có kiểu boolean. order = 1 nếu xâu tên tác giả xuất hiện trước xâu tên sách
và order= 1 thì ngược lại, xâu tên sách xuất hiện trước xâu tên tác giả.
prefix và suffix là các xâu có khoảng 10 kí tự xuất hiện tương ứng bên trái và bên
phải của đoạn thực thể được phát hiện.
middle là xâu xuất hiện giữa tác giả và tên sách.
Tương ứng với câu tìm được ở trên, ta có bộ:
[0,Arthur Conan Doyle, The Adventures of Sherlock Holmes, Read, online or, by]
Tương tự như vậy, giả sử hệ thống lại tìm thấy một đoạn phù hợp với cặp trong
tập seed bao đầu như sau:
“When Sir Arthur Conan Doyle wrote the advantures of Sherlock Holmes in 1892 he
was high”
Tương tự như trên, bộ trích rút ra sẽ là:
[1, Arthur Conan Doyle, The Adventures of Sherlock Holmes, When Sir, in 1982,
wrote]
Khi đó, hệ thống sẽ có danh sách các bộ:
[0,Arthur Conan Doyle, The Adventures of Sherlock Holmes, Read, online or, by]
[1, Arthur Conan Doyle, The Adventures of Sherlock Holmes, When Sir, in 1982,
wrote]
Nhóm các bộ dựa vào order và middle, sau đó, tạo ra các mẫu (patterns)
Mẫu tương ứng với 2 bộ tìm được ở trên là:
[Sir, Arthur Conan Doyle, wrote, The Advantages of Sherlock Holmes, in 1982]
Mẫu sinh ra sẽ được viết dưới dạng biểu thức chính quy:
[*prefix, author, middle, title, suffix*]
Tương ứng với mẫu tìm được của cặp (tác giả, tên sách):
[Sir, .*?, wrote, .*?, in 1982]
21
Với mẫu tìm được ở dạng biểu thức chính quy như trên, hệ thống sẽ tìm trên
nhiều tài liệu khác. Giả sử như:
“Sir Arthur Conan Doyle wrote Speckled Band in 1982, that is around 672
years apart which would make the stories”
Trích chọn quan hệ mới:
(Arthur Conan Doyle, Speckled Band)
Quan hệ mới này được lưu vào trong tập seed ban đầu và tiếp tục lặp lại thuật
toán này với quan hệ mới vừa tìm được.
Đó là một ví dụ cụ thể mà Brin đã sử dụng giải thuật DIPRE để thực hiện trích
chọn thực thể (tác giả, tên sách).
Vấn đề khó khăn của DIPRE
Vấn đề về hiệu suất chính là vấn đề mà DIPRE gặp phải. Việc sử dụng tập mồi
nhỏ để từ đó trích chọn ra các mẫu rồi lại trích ra qua hệ mới, tốc độ của DIPRE sẽ rất
chậm, và đặc biệt trong trường hợp tập seed chứa dữ liệu có sự xuất hiện ít, trong khi
tập dữ liệu sẽ phải thực hiên tìm kiếm là lớn. Khi đó, yêu cầu đặt ra sẽ phải quét hết
một số lượng lớn các mẫu và các bộ trong một kho dữ liệu vô cùng lớn. Và liệu rằng
DIPRE có lưu giữ được dữ liệu khi đã bị phân tách từ kết quả khi chung mở rộng quan
hệ giữa các mẫu. Điều này không chỉ kéo theo tốc độ giảm mà kết quả cũng thấp.
2.3 Tổng kết chương
Chương này giới thiệu các hướng tiếp cận nhằm giải quyết bào toán trích chọn
thông tin nói chung cũng như trích chọn thực thể nói riêng: hướng tiếp cận dựa trên hệ
luật (giải thuật DIPRE), các hướng tiếp cận học máy (HMM, MEMM, CRF). Có thể
thấy, mỗi hướng tiếp cận đều có những ưu và nhược điểm khác nhau như giải thuật
DIPRE có hiệu suất không cao, tốc độ xử lý chậm, HMM không thể tích hợp các thuộc
tính phong phú của chuỗi dữ liệu quan sát vào quá trình phân lớp, và MEMM gặp phải
vấn đề “label bias”. Sau đó lại tiếp tục nâng lên mô hình cao hơn khi sử dụng CRF để
khắc phục những nhược điểm mà HMM và MEMM gặp phải. CRF có khả năng xử lý
dữ liệu dạng này mạnh hơn so với các mô hình học máy khác như HMM hay MEMM.
Tuy nhiên, nhược điểm của mô hình CRF là thời gian tính toán của nó tương đối chậm
trong trường hợp dữ liệu huấn luyện tương đối lớn. Thêm nữa là dữ liệu đầu vào của
các mô hình này đều phải sử dụng các công cụ để xử lý dữ liệu như phân tách, gán
nhãn trong khi nếu dựa theo giải thuật DIPRE của Brin thì những công việc tiền xử lý
dữ liệu như vậy hoàn toàn không phải thực hiện. Chi tiết về phương pháp sử dụng cho
hệ thống trích chọn tên người dựa trên giải thuật DIPRE sẽ được đề cập ở chương 3.
22
Chương 3. Hệ thống trích chọn tên người trong
văn bản tiếng Việt trên môi trường Web
Từ chương 2, ta có thể thấy rằng, việc sử dụng các mô hình HMM, MEMM, CRF
cũng đều có những ưu nhược điểm nhất định. Một trong những nhược điểm đó là vấn
đề tiền xử lý dữ liệu. Cả 3 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 cũng một phần
trở nên cồng kềnh, tốn nhiều công sức, thời gian hơn. Do đó, khóa luận này hướng tới
phương pháp trích chọn thực thể tên người mà không sử dụng bất cứ công cụ nào đối
với việc tiền xử lý dữ liệu. Đặc biệt, toàn bộ hệ thống sẽ xử lý trên dữ liệu thô. Để có
thể làm được việc đó, hướng tiếp cận mà khóa luận này muốn hướng tới là dựa theo
giải thuật DIPRE [17] mà Brin đã đề ra để thực hiện mở rộng quan hệ mẫu, từ đó trích
chọn ra thực thể tên người trong tiếng Việt. Các phần tiếp theo của chương này sẽ đề
cập tới hướng giải quyết này.
3.1 Hướng giải quyết bài toán
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.
23
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ọ
Hình 6: Mô hình trích chọn tên người
24
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à nên tập
này có thể có dạng , hoặc ở dạng , 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ó 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à 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 đủ <tên
đệm> 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.
Tuy nhiên, làm việc này sẽ mất thời gian, tốn công sức rất nhiều vì phương pháp thực
25
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 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 như: ông,
bà, anh, chị, …và các xâu thuộc 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
các thực thể tên người có giống nhau không. Nếu không thì nó không thể tạo ra
26
mẫu phù hợp với tên người được. Ngược lại, lưu tập prefix và suffix mới và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à
suffix. Kết quả đưa ra là một nhóm các mẫu.
27
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.
3.2 Thực nghiệm
3.2.1. Môi trường thực hiện
Phần cứng: Máy Celeron III, chip 768 MHz, Ram 512 MB
Công cụ lập trình: Eclipse
Ngôn ngữ lập trình: Java
3.2.2 Thu thập dữ liệu
Sử dụng công cụ teleport download dữ liệu tự động bao gồm 150 bài báo lấy từ
nguồn
3.3. Khảo sát và xây dựng thủ công các tập dữ liệu từ điển ban đầu
3.3.1. Tập dữ liệu từ điển ban đầu và tập mẫu
Dựa theo ngôn ngữ tiếng Việt, em đã tìm ra các đặc trưng của dữ liệu và tiến
hành xây dựng cấu trúc các file input phù hợp. Cụ thể như sau:
Tên tập dữ liệu Nội dung
prefix.txt Ông|bà|tổng giám đốc…
suffix.txt Chạy|nhảy|nói|…
ho_diction.txt Nguyễn, Trần, Lê,..
discard.txt Thành phố, đất nước, công ty,
công ty TNHH,…
seed.txt Lan, Nguyễn Công Minh,…
chucdanh.txt Anh, chị, ông, bà, sinh viên,
học sinh, giáo sư,….
Bảng 1: Bảng các tập dữ liệu từ điển ban đầu
28
Luật trong prefix.txt
Trong prefix.txt chứa các từ, các cụm từ được viết theo từng dòng trong file,
thường hay đứng trước tên người. Khi mẫu được sinh ra, chúng sẽ gồm có prefix và
suffix. Khi đó, prefix sẽ được lưu vào trong prefix.txt.
Chúng được sử dụng để kết hợp các từ hoặc cụm từ trong đó với các từ hoặc cụm
từ trong prefix để sinh ra mẫu mới phù hợp. Để từ đó sẽ trích chọn ra tên thực thể phù
hợp.
Luật trong suffix.txt
Tương tự như trong prefix.txt, các xâu trong suffix.txt, được viết theo từng dòng
trong file, thường là những động từ miêu tả hành động của con người, thường hay
đứng sau tên người.
Các xâu này kết hợp với các xâu trong prefix.txt để đưa ra mẫu để trích chọn
thực thể tên người.
Ví dụ: trong prefix.txt có: ông, bà,…
Trong suffix.txt có: tập thể dục, chạy bộ
Từ đây, ta có thể có mẫu sinh ra là:
[ông, personal name, tập thể dục]
[ông, personal name, chạy bộ]
[bà, personal name, tập thể dục]
[bà, personal name, chạy bộ]
Luật trong họ_diction.txt
Đây là tập từ điển các họ của tên người. Tập này có tác dụng giúp cho quá trinh
trích chọn tên được nhanh chóng hơn, không mất thời gian tìm kiếm quá lâu khi chỉ
phụ thuộc vào một ít tập nhỏ trong seed.txt. Ví dụ, khi xử lý dữ liệu trong văn bản, hệ
thống sẽ tìm thấy họ “Nguyễn” trong tên “Nguyễn Văn Ba” thì lập tức sẽ trích ra tên đó
luôn chứ không cần thiết phải thực hiện tìm kiếm chỉ theo các tên có trong tập nhỏ dữ
liệu ban đầu.
Luật trong discard.txt
Tập này nhằm giải quyết quá trình lọc tên thực thể tránh nhập nhằng bởi trong
ngôn ngữ, sẽ xuất hiện nhiều người có tên trùng với tên địa danh, hoặc tên tổ chức.
29
Ví dụ:
“Tổng thống Mỹ Obama có chuyến viếng thăm đất nước ta vào ngày
29/10/2009.”
Khi đó, nếu ra duyệt thấy từ tổng thống, chắc chắn hệ thống sẽ trích ra tên người
là “Mỹ Obama”. Nên để tránh tình trạng trên, ta sẽ buộc phải duyệt qua discard.txt để
có thể lọc, bỏ qua tên riêng “Mỹ” và chọn tên “Obama”. Lúc này thì lại áp dụng lặp lại
như trong luật prefix.txt.
Luật trong chucdanh.txt
Với các từ hay cụm từ được dựng sẵn từ prefix.txt, luật này được sử dụng để thực
hiện duyệt dữ liệu trong văn bản, kiểm tra xem sau mỗi từ hoặc cụm từ đó, có từ nào
viết hoa đầu chữ cái đầu tiên không.
Nếu có thì sẽ duyệt tiếp cho tới khi bắt gặp từ có chữ cái đầu tiên viết thường.
Sau đó trích ra những từ có chữ cái viết hoa đầu tiên đó, đem so sánh với tập seed.txt.
Nếu chưa có thì ta thêm dữ liệu tên đó vào trong tập đó.
Nếu có rồi thì ra giữ lấy ngữ cảnh của nó và tiếp tục duyệt tiếp. Việc giữ lại ngữ
cảnh để tiếp tục so sánh với các tên khác, xét mối quan hệ giữa chúng và sau đó sẽ lọc
mẫu, lưu vào file đó.
Luật trong seed.txt
Nội dung trong seed.txt là danh sách một số tên người, đó chính là tập dữ liệu
nhỏ ban đầu để hệ thống xử lý ban đầu khi đọc dữ liệu từ văn bản. Từ các thông tin
trong tập nhỏ ban đầu này, dựa theo phương pháp đã nói đến ở phần trên, hệ thống sẽ
tìm ra các xuất hiện của chúng trong văn bản. Từ đó sẽ sinh ra mẫu mới.
3.3.2. Giới hạn vòng lặp
Vòng lặp sẽ dừng khi đã duyệt hết đoạn văn bản và các thực thể mới cũng như
các mẫu mới không được sinh thêm nữa.
3.4 Đánh giá hệ thống nhận dạng thực thể
Các hệ thống nhận biết loại thực thể được đánh giá chất lượng thông qua ba độ
đo: độ chính xác (precision), độ hồi tưởng (recall) và độ đo F (F-messure). Ba độ đo
này được tính toán theo các công thức sau:
30
missingincorrectcorrect
correct
Rec
++
=
incorrectcorrect
correct
Pre
+
=
RecPre
RecPre
F
+
**2
=
Ý nghĩa của các giá trị correct, incorrect, missing và được định nghĩa ở bảng 2.
Giá trị Ý nghĩa
Correct Số trường hợp gán đúng
Incorrect Số trường hợp gán sai
Missing Số trường hợp gán thiếu
Bảng 2: Các giá trị đánh giá một hệ thống nhận dạng thực thể
3.4.1. Kết quả
Kết quả kiểm tra, thực hiện trên 150 trang web, kết quả trích chọn thực thể tên
người đưa ra khá khả quan
Kết quả thu được cụ thể như sau:
Độ đo (%)
Số văn bản
50 100 150
P 67.74 78.59 83.56
R 65.68 76.23 80.35
F 66.69 77.39 81.9
31
3.4.2. Đánh giá
Qua kết quả, em nhận thấy khi tăng dần các văn bản để xử lý trích chọn thì các
độ đo (P,R,F) tăng lên. Tuy nhiên mức độ tăng lên của các độ đo thì chưa được caonhư
mong muốn. Khi tăng số văn bản lên 150 thì các độ đo đạt giá trị cao nhất (Độ chính
xác P: 83.56%, Độ đo F-measure: 81.9%). Độ chính xác hệ thống nhận dạng thực thể
tên người của em chưa đạt được kết quả cao như mong muốn, một phần vì chương
trình vẫn còn nhiều thiếu sót, một phần khác do cấu trúc văn bản phức tạp và thay đổi
liên tục nên việc áp dụng luật cũng như quá trình sinh mẫu còn gây ra nhiều trường
hợp nhập nhằng.
32
Kết luận
Những vấn đề đã được giải quyết trong luận văn
Khóa luận đã hệ thống 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ể nói chung và trích chọn tên người trong tiếng Việt nói riêng.
Đồng thời khóa luận cũng đã trình bày, phân tích, đánh giá một số hướng tiếp cận bài
toán nhận biết loại thực thể. Khóa luận đã nêu ra một số vấn đề và giải pháp đối với
bài toán nhận biết thực thể tên người trong văn bản tiếng Việt trên môi trường Web
dựa trên giải thuật DIPRE của Brin , tuy rằng thực nghiệm và thu được một số kết quả
chưa được như mong muốn. Sau đây là một số nét chính mà luận văn đã tập trung giải
quyết.
Chương 1 đưa ra một cái nhìn khái quát về trích chọn thông tin, bài toán nhận
biết loại thực thể nói chung và bài toán trích chọn thực thể tên người nói riêng cho văn
bản tiếng Việt trên môi trường Web cùng những ứng dụng thực tế của nó.
Chương 2 xem xét các hướng tiếp cận khác nhau để nhằm giải quyết bài toán
nhận diện loại thực thể, đó là các phương pháp thủ công, phương pháp HMM, phương
pháp MEMM. Chương này đi sâu vào phân tích đánh giá từng phương pháp, cho thấy
sự thiếu linh hoạt của các phương pháp thủ công, sự nghèo nàn của các thuộc tính
được chọn trong mô hình HMM và vấn đề “label bias” mà các mô hình MEMM gặp
phải. Đồng thời đi sâu vào tìm hiểu giải thuật DIPRE, ưu và nhược điểm của nó để áp
dụng vào giải quyết các vấn đề liên quan tới khóa luận.
Chương 3 trình bày hệ thống trích chọn tên người trong văn bản tiếng Việt.
Chương này cũng đưa ra các kết quả của hệ thống nhận diện loại thực thể tiếng Việt
qua một số lần thực nghiệm.
Công việc nghiên cứu trong tương lai
Mặc dù kết quả phân loại thực thể của hệ thống có thể tốt hơn nữa nhưng do thời
gian có hạn nên em mới chỉ dừng lại ở con số của F1 là 81%, trong thời gian tới, em sẽ
tiếp tục nghiên cứu nhằm cải thiện hệ thống, em tin rằng kết quả này có thể tăng lên
mức cao hơn.
Trên cơ sở hệ thống nhận diện loại thực thể tiếng Việt hiện nay, em dự định sẽ
mở rộng và nghiên cứu thêm nhiều hướng nghiên cứu khác trong văn bản tiếng Việt,
chẳng hạn ngoài việc trích chọn tên người, ta có thể trích chọn thêm chức danh của
33
người đó trong văn bản. Ví dụ: từ câu “Giáo sư Ngô Thúc Lanh vừa mới …” thì cặp
thông tin hữu ích có thể trích chọn ra là . Hoặc hướng
tới trích chọn tên người nước ngoài trong văn bản Việt Nam vì định dạng tên người
nước ngoài khác với tên người Việt Nam. Ví dụ: Richard C. Wang, Xiao-Long Wang,
… Vì tên người Việt không có kèm theo dấu ngắt câu như trong cách mà người nước
ngoài viết tên, do đó, vấn đề này cũng là một vấn đề đáng để quan tâm.
34
Tài liệu tham khảo
Tài liệu tham khảo tiếng Việt
[1] Mai Ngọc Chừ; Vũ Đức Nghiệu & Hoàng Trọng Phiến. Cơ sở ngôn ngữ học
và tiếng Việt. Nxb Giáo dục, H., 1997, trang 142–152.
[2] Nguyễn Việt Cường. Bài toán lọc và phân lớp nội dung Web tiếng Việt với
hướng tiếp cận Entropy cực đại. Luận văn tốt nghiệp ĐHCN 2005
[3] Trần Thị Oanh. Thuật toán Self-Training và Co-Training ứng dụng trong
phân lớp văn bản. Luận văn tốt nghiệp ĐHCN năm 2006
[4] Nguyễn Cẩm Tú. Nhận biết các loại thực thể trong văn bản tiếng Việt nhằm
hỗ trợ Web ngữ nghĩa và tìm kiếm hướng thực thể. Luận văn tốt nghiệp
ĐHCN 2005
[5] Website tiếng Việt nói về xử lý ngôn ngữ tự nhiên:
Tài liệu tham khảo tiếng Anh
[6] A. McCallum, D. Freitag, and F. Pereia. Maximum entropy markov models
for information extraction and segmentation. In Proc. Interational
Conference on Machine Learning, 2000
[7] Adam Berger. The Improved Iterative Scaling Algorithm: A gentle
Introduction. School of Computer Science, Carnegie Mellon University
[8] Andrew McCallum. Efficiently Inducing Features of Conditional Random
Fields. Computer Science Department. University of Massachusetts
[9] Andrew McCallum, Khashayar Rohanimanesh, and Charles Sutton.
Dynamic Conditional Random Fields for Jointly Labeling Multiple
Sequences. Department of Computer Science, University of Massachusetts
[10] H. M. Wallach. Efficient training of conditional random fields. Master’s
thesis, University of Edinburgh, 2002
[11] Hana Wallach. Efficient Training of Conditional Random Fields. M.Sc.
thesis, Division of Informatics, University of Edinburgh, 2002.
[12] J. Lafferty, A. McCallum, and F. Pereia. Conditional ramdom fields:
probabilistic models for segmenting and labeling sequence data. In
International Conference on Machine Learning, 2001
[13] Ralph Grishman. Information extraction: Techniques and challenges. In
Information Extraction (International Summer School SCIE-97). Springer-
verlag, 1997.
35
[14] Ronald Schoenberg. Optimization with the Quasi-Newton Method,
September 5, 2001.
[15] Cvetana Krstev, Du_sko Vitas and Sandra Gucul. Recognition of Personal
Names in Serbian Texts. Faculty of Philology, University of Belgrade,
Studentski trg 3, Faculty of Mathematics, University of Belgrade, Studentski
trg 16, Belgrade, Serbia & Montenegro.
[16] Feng Zhang, Liu Wenyin, Zheng Chen. A New Statistical Approach to
Personal Name Extraction.
[17] Serey Brin Extracting Patterns and Relation from World – Wide –Web. In
Proceedings of the 1998 International Work-shop in the Web and
Databased, March.
[18] Sunita Sarawagi, William W. Cohen. Semi-Markov Conditional Random
Fields for Information Extraction.
[19] Trausti Kristjansson, Aron Cullota, Paul viola, Adrew McCallum.
Interactive Information Extraction with Constrained Conditionial Random
Fields.
[20] William Cohen. Integration of heterogeneous databases without common
domains using queries based on textual similarity. In Proceedings of the
1998 ACM International Conference on Management of Data
(SIGMOD’98), 1998.
[21] Yi-Feng Lin, Tzong-Han Tsai, Wen-Chi Chou, Kuen-Pin Wu, Ting-Yi Sung
and Wen-Lian Hs. A Maximum Entropy Approach to Biomedical Named
Entity Recognition. Institute of Information Science, Academia Sinica, 2004.
[22] Ying Yu, Xiao-Long Wang, Yi Guan. Information Extraction for Chinese
Free Based Pattern Match Combine with Heuristic Information. School of
Computer Science and Technology, Harbin Institude of Technology,
Harbin150006, China.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- TRÍCH CHỌN THỰC THỂ TÊN NGƯỜI TRONG TIẾNG VIỆT.pdf