Tải bản đầy đủ (.pdf) (27 trang)

báo cáo tách tên riêng trong bài báo tiếng việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1 MB, 27 trang )

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:

Để gán nhãn cho dữ liệu , MEMM xác định chuỗi trạng thái S làm cực
đại hóa P(S,O) trong công thức trên . Việc xác định chuỗi S cũng được thực
hiện bằng cách áp dụng thuật toán Viterbi như trong HMM.
2.3.1 Vấn đề “label bias”:
Vấn đề “ label bias” là không tránh khỏi trong quá trình gán nhãn của
MEMM. Ta xét một kịch bản chuyển trạng thái đơn giản :


Giả sử cần xác định chuỗi trạng thái khi xuất hiện chuỗi quan sát là

“rob” . ở đây , chuỗi trạng thái đúng là S là “0345” và ta sẽ nghĩ rằng xác
suất P(0345|rob) sẽ lớn hơn xác suất P(0125|rob)
Áp dụng công thức MEMM ta có:
P(0125|rob)=P(0)*P(1|0,r)*P(2|1,o)*P(5|2,b)
P(0345|rob)=P(0)*P(3|0,r)*P(4|3,o)*P(5|4,b)
Ta thấy ở hai bươc dịch chuyển từ trạng thái 0 xang trạng thái 1 và 3
đều phụ hợp . ở bước tiếp theo , do trạng thái 1 và 3 chỉ có duy nhất một đầu
ra , do vậy theo nguyên lý bảo toàn tổng xác suất ( tổng các xác suát dịch
chuyển từ một trạng thái bằng 1) thì P(2|1,o)=P(4|3,0)=1 mặc dù trạng thái 2
không hề sinh ra kí hiệu„o‟. tương tự với P(5|4,b)=P(5|2,b)=1. Điều này dẫn
tới xác suất của hai chuỗi chỉ phụ thuộc vào xác suất dịch chuyển từ trạng
thái bắt đầu 0 đến trạng thái 1 và 3. Nếu trong tập huấn luyện số lượng từ
“rib” nhiều hơn “rob” thì việc dịch chuyển trạng thái sẽ ưu tiên đi theo
hướng 1 hơn trạng thái 3 . điều này dẫn đến đưa ra một kết quả không như
mong đợi.
Leon Bottou đã đưa ra hai giải pháp để giải quyết vấn đề này . Giải
pháp đầu tiền là thay đổi cấu trúc dịch chuyển trạng thái , thực hiện gộp các
trạng thái lại với nhau cho đến khi có ký hiệu quan sát phân biệt . Áp dụng
trong ví dụ trên ra gộp trạng thái 1 và 3 lại với nhau. Tuy nhiên điều này có
thể gây ra sự bùn nổ các trạng thái . Giải pháp thứ 2 đó là bắt đầu với một
mô hình kết nối đầy đủ và để cho thủ tục huấn luyện tìm ra một cấu trúc tốt.
Tuy nhiên điều này sẽ ngăn việc sử dụng các tri thức ưu tiên – điều đã được
chứng minh là có ý nghĩa trong nhiệm vụ trích rút thông tin.
Một giải pháp đúng đắn hơn cho vấn đề này đó là xem xét toàn bộ
chuỗi trạng thái như một tổng thể và cho phép một số các bước chuyển trong
chuỗi trạng thái này đóng vai trò quyết định với việc chọn chuỗi trạng thái.
Điều này có nghĩa là xác suất của toàn bộ chuỗi trạng thái sẽ không phải
được bảo tồn trong quá trình chuyển trạng thái mà nó có thể bị thay đổi tại
một bước chuyển tùy thuộc vào quan sát tại đó . trong ví dụ trên , xác suất
chuyển tại 1 và 3 có thể có nhiều ảnh hưởng đối với việc ta sẽ chọn chuỗi

trạng thái nào hơn xác suất chuyên trạng thái tại 0.
2.4 Mô hình Condinional Random Field(CRF)
CRF được giới thiệu lần đầu vào năm 2001 bởi Laferty và các đồng
nghiệp . Giống như MEMM , CRF là mô hình dựa trên xác suất điều kiện ,
nó có thể tích hợp được các thuộc tính đa dạng của chuổi dữ liệu quan sát
nhằm hỗ trợ cho quá trình phân lớp . Tuy vậy, khác với 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 các mô hình MEMM. Chính vì cách mô
hình hóa như vậy , CRF có thể giải quyết được vấn đề “label bias” .
Đặt X là biến ngẫu nhiên của chuỗi dữ liệu cần gán nhãn và Y là biến
ngẫu nhiên của chuỗi nhãn tương ứng. Các thành phần 

của Y thuộc tập
nhãn hữu hạn. ví dụ: X có thể là các câu ngôn ngữ tự nhiên và Y là các nhãn
từ loại có trong tập hữu hạn nhãn có thể gán . Định nghĩa của CRF như sau:
Cho G=(V,E) là một đồ thị trong đó Y=(



, do đó Y được xác
định dựa trên các đỉnh của G. Khi đó (X,Y) là một CRF trong trường hợp ,
khi với điều kiện trên X, các biến ngẫu nhiên 

tuân theo thuộc tính Markov
đối với đồ thị G như sau:
P(

|X, 


,w≠v) = P(

|X, 

,w~v)
Trong đó w~v có nghĩa là w và v là hai đỉnh liền kề trong G
Từ công thức trên chúng ta có thể nhận thấy , một CRF là một trường
ngẫu nhiên được đặt điều kiện đối với toàn bộ chuỗi quan sát X.
Cấu trúc của X,Y có thể khác nhau . Nếu như trong X các thông tin có
mối quan hệ lẫn nhau thì X có thể được biểu diễn dưới dạng cấu trúc cây. ở
đây chúng ta thể hiện X,Y dưới dạng X=(

,

,….) và Y=(

,

,….). Cấu
trúc đồ thị ở dạng đơn giản sẽ là G=(V={1,2….m},E={(i,i+1)}).
Khi đồ thị có dạng cây ( trường hợp đơn giản nhất có dạng đường
thẳng), theo lý thuyết trường ngẫu nhiên của Hammersley &Clifford(1971),
chúng ta có:

Trong đó
o x là chuỗi dữ liệu , y là chuỗi nhãn
o 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ể nhận ra ưu điểm của mô hình
CRF và khả năng giải quyết vấn đề “ label bias” của nó như sau:
 Trước hết CRF cho phép mô tả đa dạng các đặc điểm câu đầu vào , từ
đó tăng khả năng gán nhãn chuỗi dữ liệu thông qua đặc điểm của nó ,
thay vì qua từ cụ thể .
 Thứ hai , CRF không chỉ xét quan hẹ giữa từ và nhãn ( thông qua đặc
điểm 

) mà còn xác định mối quan hệ của nhãn tiếp theo dựa vào

nhãn hiện tại và chuỗi từ ( thông qua đặc điểm 

).
 Thứ ba, các hệ số 

và 

cho phép tăng giảm mức độ quan trọng của
đặc điểm vì có những đặc điểm có vai trò quan trọng hơn, ảnh hưởng
hơn đến xác suất gán nhãn. Điều này đã cho phép CRF giải quyết vấn
đề label bias nơi mà tổng xác suất dich chuyển từ một trạng thái được
bảo toàn.
Bài toán đặt ra là xác định các tham số θ=(

,

…) từ tập dữ liệu
D=(

,

), i=1,2,3….N với xác suất thực nghiệm (x|y) để tối đa hóa
hamg mục tiêu giống nhau(log-likelohood)

Để thực hiện ước lượng tham số, có thể sử dụng các giải thuật như
IIS,GIS,Gradient liên hợp , Quasi-Newton và L-BFGs. Trong các phương
pháp trên , phương pháp L_BFGs được đánh giá vượt trội hơn các phương
án khác.
2.4.1 Lựa chọn mô hình CRF trong gán nhãn thông tin
Trong hệ thống ArnetMiner, các tác giả đã sử dụng mô hình TCRF(

Trê Conditonal Random Fields) để gán nhãn thoongt in. TCRF dựa trên mô
hình CRF, với điểm khác biệt đó là thay vì chúng ta coi dữ lieu là một
đường thẳng , ArnetMiner sẽ xây dựng một cấu trúc cây để gán nhãn. Lý do
được đưa ra là nhiều “khối” thông tin trên trang cá nhân có mối liên hệ lẫn
nhau và giúp ịch nhau trong quá trình gán nhãn. Tuy nhiên xét tổng thể sử
dụng mô hình TCRF, độ chính xác chỉ tăng thêm 3.3%. Bên cạnh đó , hiện
nay đã có công cụ hỗ trợ chúng ta huấn luyện gán nhãn dữ liệu theo mô hình
CRF. Tiếp theo em xin trình bày công cụ được sủ dụng trong chương trình
đó là FlexCRFs.

2.4.2 Giới thiệu công cụ FlexCRFs:
FlexCRF là một công cụ gán nhãn dữ liệu dựa trên mô hình CRF do
hai tác giả Phan Xuân hiếu và Nguyễn Lê Minh xây dựng . Công cụ này sử
dụng L_BFGs một giải thuật tối ưu để huân luyện mô hinhd CRF. FlexCRF
được thiết kế để giải quyết văn bản đầu vào với hàng triệu đặc trưng .
FlexCRF được huấn luyện để tìm kiếm tham số cho phép 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 giống L-BFGs là hiệu quả
nhất.
L-BFGs là một phương pháp quasi-Newton với bộ nhớ có giới hạn để
tối ưu hóa hàm lồi . Giả sử 

là chuỗi trạng thái của chuỗi huấn luyện 



trong tập D. khí đó thành phần gradient của hệ số 

là:

Trong đó 

(y|x) là số lượng đặc trưng đặc điểm tương ứng với 

từ
y và x( đặc điểm 

hay 

trong công thức (3). Hai thành phần đầu tiên
tương ứng với sự khác nhau giữa hai giá trị thực tế và giá trị mong muốn tù
mô hình đối với đặc điểm này . Thành phần cuối cùng là độ lệch Gauss đạo
hàm 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 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 tác giả là rất khó khăn. Mặt khác, chúng ta
thương thấy tác giả văn học thường lấ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 dựng các lớp thuộc tính , từ đó tạo ra một cây chứa các
thông tin trích rút được.
Ví dụ một cấu truc xml được lưu trữ

ở đây ta có 2 lớp Customer và Book, trong lớp Customer có 3 thuốc
tính , còn Book có 2 thuộc tính
Việc truy vấn trên cây thông tin này chúng ta có thể sử dụng
Xpath(XML Path Language) để truy vấn trên cây thông tin trích rút được.

Phần 3: Chương trình




3.1 Các chức năng của hệ thống:
Các chức năng chính của hệ thống bao gồm:
 Tạo ra file model học : theo nguyên lý của CRF chú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 phải đề cập đến nội dung đó)
 Xử lý văn bản đầu vào
o Đối với đầu vào là một file text trong máy(dataInput.txt),
chương trình sẽ tách chúng ta file đặc trưng chưa có nhãn là
dataOutput.txt
o Đối với đầu vào là một URL trang Web thì : chương trình sẽ lấy

mã nguồn trang web ghi vào file SourceCodeHTML.txt xử lý
loại bỏ html, javascript để lấy ra nội dung trang
web(ContentHTML.txt) , rồi làm tương tự như trên để tạo ra file
đặc trưng không có nhãn dataOutput.txt.
 Xử lý dataOutput.txt qua CRF để đưa ra file gán nhãn
(dataOutput.txt.model)
 Xây dựng mô hình dựa trên rdf để lưu trữ các thôn tin thực thể , bằng việc
truy vấn sẽ in kết quả lên màn hình.




3.2 Huấn 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ử lý ra ra được một file đặc trưng có
dạng dưới đây:

Hình 3.2.2: dữ liệu đặc trưng (file train.tagger.txt)

Ta nhận thấy mô hình 3.2 được xây dựng dựa trên tập học 3.1 được
hiểu đơn giản là w:0: cho biết đơn vị hiện tại , w:1 cho biết đơn vị tiếp
theo(nếu có), w:0:1 cho biết đơn vị hiện tại và đơn vị tiếp theo là gì…
Khi nhập một file dữ liệu vào hệ thống , nó sẽ được xử lý để tạo ra file
đặc trưng có dạng sau:

Hình 3.2.3: văn bản test thử ( file dataInput1.txt)

Hình 3.2.4: dữ liệu đầu vào được xử lý giống file đặc trưng (file
dataOutput.txt)

Dữ liệu qua CRF được 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
1
71,13
69,86
70,49
88,49
2
80,27
75,37
77,74
89,59
3
81,69
78,66
80,15
90,28
4
78,76
75,51

77,10
90,50
Trung bình
77,96
77,88
76,37
89,715
( các giá trị trên đây được lấy ra từ file trainlog.txt của hệ thống CRF
sinh ra)
Các tham số :
Với cách đánh giá đầu tiên Avg1
 Các nhãn B- và I- trong mỗi file kiểm thử được thống lê về số lượng nhãn
được gán nhãn, số lượng gán đúng, số lượng gán sai, để từ đó tính ra giá trị
Pre,Rec,và F1 với nhãn này.
 Cách đánh giá Avg1 thực hiện tính giá trị trung bình cộng của tất cả các
nhãn trong hệ thống ví dụ cách tính Avg1 về F1 là giá trị trung bình cộng
của tất cả các giá trị F1 trên các nhãn.
Với cách đánh giá Avg2
 Mỗi lần kiểm thử hệ thống sẽ thống kế số lượng 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

×