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

Trích rút thực thể từ các văn bản tiếng việt trên internet

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 (404.42 KB, 14 trang )

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG







HOÀNG THỊ VÂN ANH





TRÍCH RÚT THỰC THỂ TÊN TỪ CÁC VĂN BẢN
TIẾNG VIỆT TRÊN INTERNET





LUẬN VĂN THẠC SĨ KỸ THUẬT








HÀ NỘI – 2012
2

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG



Người hướng dẫn khoa học: TS. Nguyễn Phương Thái

Phản biện 1: …………………………………………………………

Phản biện 2: …………………………………………………………





Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm











Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

26
với đặc thù riêng của bài toán trích rút thực thể tên tiếng
Việt. Hệ thống đã hoạt động và trích rút các thực thể tên từ
các văn bản tiếng Việt.
Quá trình xây dựng hệ thống còn gặp một số khó
khăn như: Thuật toán DIPRE chỉ thường áp dụng cho các
bài toán trích rút cặp quan hệ. Vì vậy, khi trích rút thực thể
đơn sẽ gặp khó chọn lọc được Pattern mẫu trong quá trình
xây dựng Pattern và sinh Pattern mới. Mặt khác, thực thể
tên có nhiều cách biểu diễn khác nhau nên rất khó để tìm
ra mối liên hệ khi xây dựng mẫu hoặc có thể xảy ra nhập
nhằng.
Trong tương lai, tôi sẽ tiếp tục nghiên cứu về trích
rút thông tin và phát triển hệ thống, bổ sung chức năng tìm
kiếm, nhận diện thực thể tên ở những trường hợp đặc biệt
và nâng cao chất lượng trích rút. Tôi dự định sẽ tìm hiểu
sâu hơn về kỹ thuật xây dựng Pattern để có những Pattern
hợp lý hơn. Ngoài ra, tôi sẽ tiến hành phân tích thêm về
xâu ký tự đứng trước Pattern để hạn chế nhập nhằng và
trích rút được thực thể tên ở một số dạng đặc biệt.
3
MỞ ĐẦU
Thông tin trên các trang web thường thể hiện dưới
dạng ngôn ngữ tự nhiên và được định dạng theo HTML.
Hạn chế của HTML là thiếu khả năng diễn đạt ngữ nghĩa
về các đối tượng xuất hiện trong trang web nên phần lớn

nội dung thông tin trên các trang web chỉ phù hợp cho
người đọc hiểu. Hầu hết các công cụ tìm kiếm tài liệu trên
web được coi là tìm kiếm hiệu quả cũng chủ yếu tìm kiếm
được trên bề nổi của web.
Để khai thác hiệu quả nguồn thông tin trên các
trang web, chúng ta cần nghiên cứu các ứng dụng tự động
xử lý văn bản. Trước hết, chúng ta cần xây dựng hệ thống
tự động trích rút các thực thể, các khái niệm xuất hiện dựa
vào một nguồn tri thức về các thực thể và các khái niệm
phổ biến trong thế giới thực. Từ đó, chúng ta có thể xây
dựng các hệ thống khai thác dữ liệu để khai phá các lớp tri
thức nhằm hiểu đầy đủ ngữ nghĩa của văn bản. Tiếng Việt
có nhiều cách viết, cách thể hiện nội dung nên quá trình
trích rút thông tin từ các văn bản tiếng Việt gặp nhiều khó
khăn hơn trong các văn bản tiếng Anh. Trong luận văn, tôi
4
tiến hành nghiên cứu và xây dựng hệ thống tự động trích
rút thực thể tên từ các văn bản tiếng Việt trên Internet.
CHƯƠNG I: TỔNG QUAN
1.1. Bài toán trích rút thực thể tên
1.1.1. Phát biểu bài toán trích rút thực thể tên
Theo Baumgarter, hệ thống trích rút thông tin là
một hệ thống phần mềm tự động và liên tục trích rút dữ
liệu các trang web có nội dung thay đổi và phân phối dữ
liệu trích rút vào cơ sở dữ liệu hoặc các ứng dụng khác.

Hình 1.1 Mô hình hệ thống trích rút thông tin trên web
Hệ thống trích rút thông tin thường đưa ra kết quả
là các mẫu (template) chứa một số lượng xác định các
trường (slots) đã được điền thông tin. Bài toán trích rút

25
KẾT LUẬN
Luận văn đã hệ thống hóa một số lý thuyết về trích
chọn thông tin, trình bày, phân tích, đánh giá các phương
pháp đó. Sau đây là một số nét chính mà luận văn đã tập
trung giải quyết.
Chương I trình bày và nêu ý nghĩa của bài toán
trích rút thực thể tên. Trong chương I, phần đặc điểm tiếng
Việt được để có thể làm căn cứ cho quá trình tìm kiếm và
trích rút thực thể tên. Ngoài ra, chương I còn trình bày một
số hướng tiếp cận để giải quyết bài toán trên là: Giải thuật
DIPRE, phương pháp Snowball, phương pháp KnowItAll.
Sau đó, luận văn phân tích ưu nhược điểm của từng
phương pháp để đề xuất một phương pháp có hiệu quả hơn
trong trích rút thực thể tên. Ở đây, luận văn sử dụng giải
thuật DIPRE kết hợp Snowball để xây dựng hệ thống trích
rút thực thể tên.
Chương II đưa ra mô hình khái quát, mô hình chi
tiết, ý tưởng và cách giải quyết bài toán trích rút thực thể
tên từ các văn bản tiếng Việt.
Chương III xây dựng hệ thống thử nghiệm dựa theo
ý tưởng của thuật toán DIPRE và có cải tiến để phù hợp
24
Bảng 3.4. Bảng kết quả thực nghiệm
File
name
correct

incorrect


Missing

Spurious

Pre Rec F
1019.seg 5
0 1 1 83,33

83,33

83,33

974.seg 4
2 0 0 66,67

66,67

66,67

46609.seg

11
3 2 0 78,57

68,75

73,33

53.seg 20
1 0 0 95,24


95,24

95,24

23254.seg

6
1 1 0 85,71

75,00

80,00

Trung bình:
81,90

77,80

79,71


0,00
50,00
100,00
1 2 3 4 5 6
Pr
e

Hình 3.5. Giá trị ba độ đo Precision, Recall, F-measure

Kết quả cho thấy, hệ thống trích rút thực thể tên hoạt động
rất tốt ở những văn bản viết đúng, đầy đủ các tiền tố và
quy tắc trình bày của thực thể tên.
5
thực thể tên trong các văn bản tiếng Việt còn gặp nhiều
khó khăn hơn so với bài toán trong các văn bản tiếng Anh
vì một số nguyên nhân như: Thiếu dữ liệu huấn luyện và
các ngồn tài nguyên có thể tra cứu như WordNet trong
tiếng Anh, tồn tại rất nhiều vấn đề nhập nhằng làm cho
việc trích rút gặp nhiều khó khăn.
1.1.2. Ý nghĩa của bài toán trích rút thực thể tên
- Hỗ trợ xây dựng Sementic Web.
- Xây dựng các máy tìm kiếm hướng thực thể.
- Hỗ trợ hệ thống tự động tóm tắt văn bản.
1.2. Đặc điểm tiếng Việt
Phần lớn vốn từ vựng của tiếng Việt là các từ đa âm
tiết. Cùng một sự vật, hiện tượng, một hoạt động hay một
đặc trưng có thể được biểu thị bởi nhiều từ ngữ khác nhau
gây khó khăn khi xây dựng hệ thống trích rút thực thể tên.
Thực tế đã có rất nhiều nghiên cứu và hệ thống xử lí, phân
đoạn từ. Trong hệ thống trích rút xây dựng ở phần demo,
hệ thống sẽ sử dụng các văn bản đã được chạy qua hệ
thống phân đoạn từ nên hệ thống bỏ qua bước phân đoạn
từ.
1.3. Một số nghiên cứu liên quan
6
1.3.1. Giải thuật Dual Iterative Pattern Relation
Expansion (DIPRE)
Giải thuật DIPRE (Dual Iterative Pattern Relation
Expansion) dùng để trích rút mẫu quan hệ ngữ nghĩa

“author – book” với tập dữ liệu ban đầu khảng 5 ví dụ cho
mối quan hệ này. Hệ thống DIPRE mở rộng tập ban đầu
thành một danh sách khoảng 15.000 cuốn sách.
Tóm tắt giải thuật DIPRE như sau:
Đầu vào: Tập các quan hệ mẫu S={A
i
,

B
i
}
Ví dụ: trong trường hợp trên, tập quan hệ mẫu là S
= {<author
i
, book
i
}. Tập này được gọi là tập hạt giống.
Đầu ra: Tập các quan hệ R trích chọn được.
Xử lý:
- Tập quan hệ đích R được khởi tạo từ tập hạt giống
(seed) S. Ký hiệu tập seed ban đầu là <A, B>
- Tìm tất cả các câu có chứa đủ các thành phần của
tập seed ban đầu.
- Dựa vào tập câu đã tìm được, tiến hành tìm các
mẫu quan hệ giữa các thành phần của seed ban đầu. Mẫu
quan hệ được biểu diễn dưới dạng sau:
[order, author, book, prefix, suffix, middle]
23

Hình 3.1 Giao diện hệ thống

Hệ thống có 3 Module:
- Module Trích rút: dùng để trích rút thực thể tên
từ bài báo đã chọn. Kết quả sau khi trích rút hiển thị trong
phần KẾT QUẢ
- Module Huấn luyện: lấy kết quả trích rút từ bài
báo và làm giàu cơ sở dữ liệu để phục vụ cho quá trình
trích rút thực thể tên từ các bài báo khác.
- Module Thống kê: Thống kê số thực thể tên theo
nhóm đã chọn trích rút được.
3.3. Đánh giá kết quả của hệ thống.
Hệ thống đã thực hiện thực nghiệm nhiều lần với
nhiều văn bản khác nhau.
Hệ thống đã thực hiện thực nghiệm nhiều lần với
nhiều văn bản khác nhau được kết quả như bảng 3.4
22
CHƯƠNG III: THỰC NGHIỆM
3.1. Môi trường và dữ liệu thực nghiệm
3.1.1. Phần cứng
3.1.2. Phần mềm
3.1.3. Dữ liệu thực nghiệm
Dữ liệu thực nghiệm là các bài báo từ Internet đã
qua bộ tiền xử lý phân đoạn từ.
3.1.4. Thiết kế cơ sở dữ liệu
* Bảng tblPattern: Chứa dữ liệu là tiền tố và tên
nhóm thực thể tên tương ứng cần trích rút.
* Bảng tblNotPattern: Chứa dữ liệu là các mẫu
phạm quy và tên nhóm thực thể tên tương ứng.
* Bảng tblOccurrences: chứa dữ liệu là các tiền tố,
thực thể tên và tên nhóm thực thể tên tương ứng.
3.2. Giới thiệu hệ thống trích rút tự động thực thể

tên từ các văn bản tiếng Việt trên Internet
Hệ thống được thiết kế bằng ngôn ngữ lập trình C#
trên nền tảng .Net Framework của Microsoft Visual Studio
2008 và sử dụng dữ liệu lưu trữ trong phần mềm quản trị
dữ liệu SQL Server 2005.
Hệ thống có giao diện như sau:
7
Từ những mẫu chưa được gán nhãn, ta thu được
một tập seed <A’, B’> mới; thêm seed mới này vào tập
seed cho quan hệ đó.
- Quay lại bước 2 để tìm ra những hạt giống và mẫu
mới.
* Thuật toán GenOnePattern(O) sinh một Pattern
1) Điều kiện: order và middle của tất cả sự xuất hiện
(occurrences) phải giống nhau.
Nếu điều kiện trên không thỏa mãn thì không thể sinh
ra được pattern khớp với tất cả occurrences.
Đặt outpattern.order và outpattern.middle tương ứng
với order và middle.
2) Tìm đoạn prefix giống nhau dài nhất của các urls.
Đặt outpattern.urlprefix = prefix
3) Đặt outpattern.prefix là xâu giống nhau dài nhất của
các prefixs tính từ cuối (suffix) của các tiền tố
(prefixs)
4) Đặt outpattern.suffix là xâu giống nhau dài nhất của
các suffix tính từ đầu (prefix) của các hậu tố (suffixs)
đó.
Kết quả thu được một pattern.
8
* Thuật toán GenPatterns(O) sinh tập Patterns

Thuật toán cho GenPatterns(O) dựa vào thuật toán
GenOnePattern(O) ở trên :
1) Nhóm tất cả sự xuất hiện o (occurrences) trong
O theo order và middle thành nhóm O
1
, …, O
k.

2) Với mỗi O
i
, p  GenOnePattern( O
i
). Nếu p
thoả mãn điều kiện về độ “riêng biệt” thì nhận p
đưa ra ngoài. Nếu không:
- Nếu tất cả o trong O
i
có chung url thì bỏ O
i.

- Ngược lại: Tách các o trong O
i
thành những
nhóm con dựa vào đặc điểm urls của chúng qua
p.urlprefix. Lặp lại bước 2.
1.3.2. Phương pháp Snowball
Snowball là hệ thống trích rút mối quan hệ “tổ
chức – địa điểm” mà tập mẫu và tập seed mới được sinh ra
được đánh giá chất lượng trong quá trình xử lý.



Hình 1.3 Kiến trúc của hệ thống Snowball
21
thức chính quy CandidateRegularExpression nên cần phải
cắt tỉa và chuẩn hóa để thu được tên chính xác.
Cách viết của tiếng Việt trong các văn bản tiếng Việt
trên Internet rất đa dạng và phong phú. Vì vậy, đôi khi
thông tin viết trong các văn bản tiếng Việt trên Internet
không thật sự theo chuẩn – chuẩn ngữ pháp, chuẩn chữ
hoa chữ thường… khiến cho việc việc cắt tỉa gặp nhiều
khó khăn. Tuy nhiên, các văn bản tiếng Việt đưa vào hệ
thống là các văn bản đã qua khâu tách từ và viết chuẩn chữ
hoa chữ thường. Vì vậy, đây là mặt thuận lợi để kiểm tra
xem xâu con của xâu kỳ vọng CandidateString có phải là
xâu thực thể tên cần trích rút hay không.
2.4 Tổng kết chương
Chương 2 đã trình bày toàn bộ ý tưởng và các thuật
toán để giải quyết bài toán trích rút thực thể tên. Tận dụng
ưu điểm của các văn bản đã qua khâu phân đoạn từ, việc
xây dựng hệ thống trích rút thực thể tên đỡ phức tạp hơn
rất nhiều. Hệ thống trích rút thực thể tên sẽ tập trung vào
khâu nhận biết thực thể qua các tiền tố và tiến hành trích
rút.
20
Bước 2: Kiểm tra ký tự đầu tiên của xâu ký tự được
kỳ vọng là thực thể tên có phải là chữ hoa hay không.
Bước 3: Kiểm tra xâu ký tự tìm được có trùng với
các xâu ký tự trong bảng tblNotPattern hay không.
Bước 4: Kiểm tra xâu ký tự so khớp tìm được đã có
trùng với kết quả ở các bước lặp trước hay không.

Bước 5: Tách xâu ký tự so khớp tìm kiếm được thành
hai xâu con (PrefixPattern, tên thực thể) và kiểm tra sự
xuất hiện của Pattern này.
Bước 6: Lấy từng tên thực thể thu được so khớp với
toàn bộ văn bản để tìm ra các PrefixPattern mới.
Hệ thống cứ tìm kiếm, trích rút thực thể tên liên tục
cho đến khi số lượng PrefixPattern bẳng 0 hoặc số lượng
xâu ký tự so khớp tìm được sau bước 5 của vòng lặp tìm
sự xuất hiện bị loại nhiều.
OutPut: Các thực thể tên có trong văn bản
2.3. Quy tắt tách tên thực thể từ xâu kỳ vọng
CandidateString
Xâu CandidateString là xâu được “kỳ vọng” là có
chứa tên thực thể thuộc nhóm thực thể tên cần trích rút.
Ban đầu nó chỉ là một xâu bất kỳ được đoán nhận bởi biểu
9
* Hệ thống Snowball bao gồm các bước sau:
Bước 1: Học bán tự động để trích rút mẫu.
Snowball bắt đầu thực hiện với tập seed ban đầu mô tả về
một mối quan hệ và một tập văn bản (tập huấn luyện).
Các mẫu sau khi tìm thấy sẽ được đối chiếu lại với
kho dữ liệu ban đầu để kiểm tra xem chúng có tìm ra được
các bộ dữ liệu seed mới <A’, B’> nào không. Seed mới
<A’, B’> sẽ nằm một trong các trường hợp sau:
- Positive: <A’, B’> đã nằm trong danh sách seed
- Negative: chỉ có đúng một trong hai (A’ hoặc B’)
xuất hiện trong danh sách seed.
- Unknown: cả A’, B’ đều không xuất hiện trong
danh sách seed. Tập Unknown được xem là tập các seed
mới cho vòng lặp sau.

Snowball sẽ tính độ chính xác của từng mẫu dựa
trên số Positive và Negative của nó và chọn ra top N mẫu
có điểm số cao nhất.

Bước 2: Tìm các seed mới cho vòng lặp tiếp theo.
Với mỗi mẫu trong danh sách top N được chọn sẽ
là các cặp trong tập seed mới được đưa vào vòng lặp mới.
10
Hệ thống sẽ chọn ra được m cặp được đánh giá tốt
nhất dùng làm seed cho quá trình rút mẫu kế tiếp.
Hệ thống tiếp tục quay lại bước một. Quá trình trên
lặp cho đến khi hệ thống không tìm được cặp mới hoặc lặp
theo số lần mà ta xác định trước.
1.3.3. Phương pháp KnowItAll
Phương pháp KnowItAll tiến hành trích rút ra
những sự vật, khái niệm và các mẫu quan hệ từ các trang
web. KnowItAll được mở rộng từ một ontology và dựa
vào một tập các luật để từ đó trích rút ra các luật cho mỗi
lớp và các quan hệ trong ontology [4].
Đầu vào của KnowItAll là một tập các lớp thực thể
được trích xuất, kết quả là một danh sách các thực thể
được trích xuất từ các trang web. Các mẫu sử dụng đã
được gán nhãn bằng tay, những mẫu này được xây dựng
dựa vào việc tách cụm danh từ (Noun Phrase chunker).
1.4. Tổng kết chương
Phương pháp KnowItAll sử dụng các kĩ thuật xử lý
ngôn ngữ (phân tích cú pháp, tách cụm danh từ) nên khó
áp dụng cho tài liệu tiếng Việt vì đối với ngôn ngữ tiếng
Việt, các kĩ thuật xử lý ngôn ngữ, tài nguyên ngôn ngữ học
19

Quá trình trên được lặp lại nhiều lần cho đến khi
không sinh ra được pattern mới hoặc độ chính xác của các
thực thể rút trích được thấp…
2.2. Biểu diễn xâu tiền tố PrefixString của tên thực
thể và thuật toán sinh PrefixPattern
2.2.1 Biểu diễn PrefixString
Ánh xạ ngược mỗi thực thể vào tập dữ liệu ta thu
được tập các PrefixString được biểu diễn như sau:
< “S”, “N” , “C” >
S : Xâu nội dung của PrefixString (xâu tiền tố)
N: Tên thực thể
C: Count – Số lần S là “tiền tố” của N
Mỗi PrefixString có “độ ưu tiên” khác nhau trong
việc lựa chọn tham gia sinh pattern. Độ ưu tiên đó dựa
theo số lượng thực thể nhận nó làm tiền tố.
2.2.2 Thuật toán sinh PrefixPattern
Input: Tập PrefixPattern mẫu, văn bản đã phân đoạn
từ
Bước 1: Lấy từng PrefixPattern mẫu trong tblPattern
đem so khớp với văn bản để tìm ra xâu ký tự có chứa
PrefixPattern và xâu ký tự được kỳ vọng là tên thực thể.
18
- Ký tự đầu tiên của từ đứng ngay sau tiền tố là ký
tự viết hoa.
- Xâu ký tự lấy được không trùng với dữ liệu trong
bảng chứa các xâu ký tự không hợp lệ.
- Kết quả so khớp không được trùng với các so
khớp đã hiển thị trên bảng KẾT QUẢ.

* Trim

Ta cần tách xâu ký tự nhận được thỏa mãn các điều
kiện kiểm tra để lấy thực thể tên cần trích rút.
* Filter_Entities
Tập thực thể tên sau khi được trích rút sẽ được ánh
xạ ngược trở lại văn bản ở bước lặp tiếp theo để tìm sự
xuất hiện (Occurrences).
* Find_PrefixStrings
Hệ thống tìm kiếm các tiền tố (PrefixString) mới của
thực thể tên đã tìm thấy ở bước trước.
* Generate_NewPrefixPattern
Thủ tục Generate_NewPrefixPattern sinh ra
NewPrefixPattern từ tập PrefixStrings đã được trích rút ở
bước trước để trích rút những thực thể mới.
11
cũng như các kĩ thuật học máy đã xây dựng nhưng chưa
đưa ra được kết quả tốt nhất. SnowBall đưa ra phương
pháp tìm kiếm, trích chọn và đánh giá độ tin cậy của seed
mới và mẫu mới được sinh ra. Vì thế, tập dữ liệu mới
(mẫu quan hệ và tập seed mới) được sinh ra có độ tin cậy
cao, chính xác từ những dữ liệu nhỏ ban đầu.
Dựa vào ưu và nhược điểm của từng phương pháp,
hệ thống xây dựng trong phần demo sẽ sử dụng giải thuật
DIPRE kết hợp với phương pháp SnowBall. Tuy nhiên,
các phương pháp này đều yêu cầu phải tiến hành bước
nhận dạng các thực thể, đây là một bước bắt buộc để đảm
bảo quá trình sinh tập seed mới cũng như việc trích rút ra
được các mẫu có độ chính xác cao.
12
CHƯƠNG II: PHƯƠNG PHÁP TRÍCH
RÚT THỰC THỂ TÊN

2.1. Mô hình trích rút thực thể tên
2.1.1. Mô hình tổng quát
Đối với bài toán trích rút thực thể tên đang xét, mức
tổng quát gồm các bước như sau:
- Xuất phát là một số mẫu được xây dựng thủ công;
- Rút trích ra các thực thể tên trong tập tài liệu web
dựa vào mẫu đó;
- “Ánh xạ” lại các thực thể vừa trích rút được vào tập
tài liệu web để xác định sự xuất hiện (Occurrences)
của chúng trên tài liệu;
- Sinh mẫu mới từ Occurrences đó;
- Quay lại bước thứ nhất với mẫu vừa được sinh ra.
Do xuất phát không phải là tập các thực thể “mồi”
mà là một mẫu, nên có thể rút trích được nhiều thực thể
ngay ở vòng lặp đầu tiên. Số lượng mẫu mới sinh ra cho
vòng lặp tiếp theo cũng lớn khiến chương trình giảm được
số lần thực hiện vòng lặp. Tuy nhiên, đây cũng chính là
nguyên nhân dẫn đến việc hệ thống đưa ra nhiều kết quả
trích rút bị sai. Vì vậy, khi xây dựng hệ thống, quá trình
17
- Xâu ký tự được kỳ vọng là thực thể tên có điểm đặc
biệt là ký tự đầu tiên của xâu đó luôn được viết hoa.
- Xâu ký tự đứng sau mỗi tên thực thể lại thường
không có một quy tắc nào xác định.
Trong hệ thống thực nghiệm của luận văn, dữ liệu
đầu vào là các văn bản tiếng việt đã được chạy qua hệ
thống xử lý khâu phân đoạn từ. Vì vậy, các tiếng trong tên
thực thể được nối lại bởi dấu “_” nên chúng ta có thể lược
bỏ phần kiểm tra các suffix của thực thể tên. Thay vào đó,
hệ thống sẽ kiểm tra ký tự đầu tiên của xâu ký tự đứng

ngay sau tiền tố của so khớp tìm được xem đó có phải là
ký tự viết hoa không. Nếu kết quả của quá trình kiểm tra là
false thì hệ thống sẽ quay lại tìm PrefixPattern tiếp theo
trong tblPattern để tiếp tục tìm kiếm các thực thể tên khác.
Thủ tục Find_IndexsOfPrefixPattern với tham số đầu
vào PrefixPattern sẽ tìm các xâu khớp (match) với
PrefixPattern, kết quả thu được là các xâu chứa tiền tố
xuất hiện trong văn bản.
* Extract_CandidateStrings
Xét mỗi so khớp tìm được, xâu con đứng ngay sau
tiền tố được mong đợi sẽ là một tên thực thể. Điều kiện:
16
Từ PrefixStrings sinh ra các mẫu mới.
7) Quy lại bước 1 với NewPrefixPattern vừa được
sinh ra và bắt đầu một bước lặp mới.

Hình 2.2 Mô hình bài toán
Các mục dưới đây sẽ giải thích rõ ràng hơn.
* Find_IndexsOfPrefixPattern
Ngữ cảnh của thực thể tên có nhiều điểm khác biệt
như:
- Đứng trước mỗi một thực thể tên thực thể thường là
các “tiền tố” có dạng đặc biệt hoặc nằm trong một miền
giá trị cụ thể.
13
tìm kiếm của hệ thống cần có sự can thiệp của các luật để
hạn chế sai sót trên. Chương trình dừng lại khi hệ thống
không tìm thêm được mẫu mới hoặc số lượng tên thực thể
trích rút bị sai quá nhiều.
Quy trình rút trích được mô tả như hình dưới đây :


Hình 2.1 Mô hình tổng quát
Một số điểm khác nhau giữa bài toán trích rút thực
thể tên và bài toán trích rút cặp thực thể của Brin:
- Thứ nhất: Đối tượng trích rút của hai bài toán khác
nhau. Bài toán trích rút của Brin yêu cầu phải trích rút theo
từng cặp quan hệ (tác giả, tên sách). Bài toán trích rút đang
xét yêu cầu trích rút tất cả các thực thể tên.
- Thứ hai: “Sự xuất hiện” của thực thể mà Brin rút
trích khác với “sự xuất hiện” của thực thể tên trong các
văn bản mà hệ thống của chúng ta rút trích được.
Trong mô hình Snowball, mỗi một cặp quan hệ <o,
l> được đánh giá dựa theo số lượng các pattern sinh ra nó,
14
cũng như “tính chọn lọc” của mỗi pattern. Chỉ những cặp
<o, l> nào có độ đánh giá phù hợp thì mới được sử dụng
như kết quả của qúa trình trích rút. Bài toán trong luận văn
này áp dụng ý tưởng đó cho việc sinh ra các patterns thích
hợp dựa vào tập các thực thể liên quan. Không phải là bất
kỳ thực thể tên nào trích rút được cũng là đối tượng để xét
tiền tố đứng trước nó. Thực thể nào xuất hiện nhiều lần
trong văn bản thì ta mới xét đến tiền tố đứng trước nó và
dùng tiền tố này làm căn cứ để tiến hành trích rút tiếp các
thực thể tên mới. Có như vậy, hệ thống mới trích rút nhanh
và giảm thiểu số bước lặp có kết quả trích rút không khả
quan. Mặt khác, mẫu sinh ra đảm bảo yêu cầu không phải
là mẫu quá đặc biệt hoặc quá chung chung như trong giải
thuật DIPRE quy định.
2.1.2. Mô hình chi tiết
Input: PrefixPattern (Initial) – Hệ thống bắt đầu hoạt

động trích rút thực thể tên với một mẫu được xây dựng thủ
công
1) IndexsOfPrefixPattern 
Find_IndexsOfPrefixPattern (PrefixPattern)
15
Ánh xạ PrefixPattern vào tập tài liệu để xác định
các xâu mà mẫu này đoán nhận.
2) CandidateStrings  Extract_CandidateStrings
(Extract_CandidateStrings,
CandidateRegularExpression): Thu được xâu ký
tự được kỳ vọng là xâu có chứa thực thể tên.
3) Entities  Trim (CandidateStrings)
Hệ thống sẽ tiến hành tách xâu kỳ vọng (không bị
loại trong cơ sở dữ liệu) CandidateStrings để thu
được các thực thể (Entities) thích hợp.
4) RepresentativeEntities  Filter_Entities
(Entities)
Từ Entities chọn ra những thực thể đại diện.
5) PrefixStrings 
Find_PrefixStrings(RepresentativeEntities,
PrefixRegularExpression)
Sử dụng biểu thức chính quy
PrefixRegularExpression kết hợp với
RepresentativeEntities để đoán nhận “tiền tố” của
các RepresentativeEntities (PrefixStrings).
6) NewPrefixPattern  Generate_NewPrefixPattern
( PrefixStrings )

×