Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Quốc Đạt
PHƯƠNG PHÁP HỌC GẦN KHÔNG GIÁM SÁT ĐỂ
TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Quốc Đạt
PHƯƠNG PHÁP HỌC GẦN KHÔNG GIÁM SÁT ĐỂ
TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Nguyễn Trí Thành
HÀ NỘI – 2009
Lời cảm ơn
Trước tiên em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, TS. Nguyễn Trí
Thành, người đã giúp em chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp
hướng dẫn giúp em hoàn thành luận văn tốt nghiệp. Em xin chân thành cảm ơn các
thầy cô giáo trong khoa CNTT- Trường Đại học Công Nghệ - ĐHQG Hà Nội đã
truyền đạt kiến thức cho em trong suốt thời gian học tập tại trường.
Trong suốt thời gian làm khóa luận, em đã nhận được nhiều sự giúp đỡ, động
viên từ gia đình, thầy cô và bạn bè. Em xin gửi lời cảm ơn tới những người bạn của
em, luôn bên cạnh em để chia sẽ những kiến thức, kinh nghiệm học tập cũng như trong
cuộc sống.
Cuối cùng, em xin gửi lời cảm ơn sâu sắc nhất tới gia đình của mình, nguồn
động viên và cổ vũ lớn lao, và là động lực giúp em thành công trong công việc và
trong cuộc sống.
Sinh viên
Vũ Quốc Đạt
Tóm tắt nội dung
Trích chọn thông tin là lĩnh vực quan trọng trong khai phá dữ liệu, trong đó trích
chọn thực thể là một bài toán con, cơ bản nhưng đóng vai trò hết sức quan trọng. Nó
có thể được sử dụng để hỗ trợ cho phương pháp tìm kiếm mới – tìm kiếm hướng thực
thể, và góp phần quan trọng cho việc xây dựng web ngữ nghĩa.
Có nhiều phương pháp tiếp cận khác nhau cho bài toán trích chọn thực thể như
phương pháp học máy HMM, … Trong khóa luận này em trình bày một phương pháp
để trích chọn thực thể tên tổ chức tiếng Việt trong văn bản tiếng Việt trên môi trường
Web. Phương pháp này dựa trên ý tưởng của Sergey Brin mà cụ thể hơn là thuật toán
DIPRE trong việc trích chọn cặp quan hệ tên sách và tác giả của những cuốn sách
tiếng Anh trên môi trường Web. Ưu điểm của phương pháp này là cần ít sự can thiệp
của con người, không cần sự hỗ trợ của các ứng dụng phụ như xác định từ loại (POS –
tag). Kết quả thực nghiệm trên các văn bản tiếng Việt cho thấy phương pháp này
tương đối khả quan.
Mục lục
Lời cảm ơn............................................................................................................................3
Tóm tắt nội dung...................................................................................................................4
Bảng từ viết tắt .....................................................................................................................0
Mở đầu..................................................................................................................................1
CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHỌN THỰC THỂ TÊN TỔ CHỨC....3
1.1. Tổng quan về trích chọn thông tin..........................................................................3
1.2. Bài toán rút trích thực thể tên tổ chức.....................................................................4
1.3. Ý nghĩa của bài toán rút trích thực thể tên tổ chức.................................................5
CHƯƠNG 2. HƯỚNG TIẾP CẬN BÀI TOÁN TRÍCH CHỌN THỰC THỂ...............6
2.1. Rút trích cặp quan hệ (title, author) của cuốn sách trong tài liệu web ...................6
2.1.1. Occurrences của sách .......................................................................................6
2.1.2. Patterns của sách ..............................................................................................7
2.1.3. Quy trình rút trích.............................................................................................7
2.1.4. Thuật toán sinh Patterns...................................................................................8
2.2. Thu thập tên và miền tương ứng từ tập tài liệu web...............................................9
2.3. Hệ thống Snowball................................................................................................13
2.3.1. Sinh patterns...................................................................................................13
2.3.2. Sinh cặp quan hệ ............................................................................................15
2.4. Tổng kết chương ...................................................................................................16
CHƯƠNG 3........................................................................................................................17
3.1. Mô hình tổng quát.................................................................................................17
3.2. Mô hình chi tiết.....................................................................................................19
3.2.1. Find_IndexsOfPrefixPattern ..........................................................................20
3.2.2. Extract_CandidateStrings...............................................................................21
3.2.3. Trim................................................................................................................22
3.2.4. Filter_Entities.................................................................................................22
3.2.5. Find_PrefixStrings .........................................................................................23
3.2.6. Generate_NewPrefixPattern...........................................................................23
3.3. Biểu diễn PrefixString và quy tắc cho PrefixPattern ............................................24
3.3.1. Biểu diễn PrefixString....................................................................................24
3.3.2. Thuật toán sinh PrefixPattern.........................................................................25
3.4. Quy tắc cắt tỉa .......................................................................................................27
3.4.1. Extract_By_Capitalize_Rule..........................................................................29
3.4.2. Extract_By_Left_Rule ...................................................................................29
3.4.3. Extract_Standard_Name ................................................................................30
3.4.4. Compare_Discard_Name ...............................................................................30
3.4.5. Các trường hợp cắt tỉa khác ...........................................................................30
CHƯƠNG 4. THỰC NGHIỆM..........................................................................................31
4.1. Chuẩn bị đầu vào ..................................................................................................31
4.1.1. Thu thập dữ liệu.................................................................................................31
4.1.2. Xây dựng PrefixPattern (Initial).....................................................................31
4.1.3. Xây dựng các Luật (Rule)..............................................................................32
4.2. Môi trường thực nghiệm.......................................................................................32
4.2.1. Phần cứng.......................................................................................................32
4.2.2. Phần mềm.......................................................................................................33
4.3. Kết quả thực nghiệm............................................................................................33
4.4. Nhận xét................................................................................................................35
Kết Luận .............................................................................................................................35
Tài liệu tham khảo:.............................................................................................................38
Bảng từ viết tắt
Mở đầu
Trích chọn thực thể là bài toán đơn giản nhất trong các bài toán trích chọn thông tin.
Tuy cơ bản nhưng lại đóng vai trò khá quan trọng, như hỗ trợ các hệ thống tóm tắt văn
bản tự động, ứng dụng cho máy tìm kiếm hướng thực thể … Bài toán trích chọn thực thể
tên tiếng Việt đã được nghiên cứu vài năm gần đây, có nhiều phương pháp giải quyết
được đưa ra với những kết quả thu được tương đối khả quan. Trong khóa luận này, em
đưa ra một phương pháp mới “học gần không giám sát” để áp dụng cho bài toán trên. Tuy
nhiên, trong phạm vi của khóa luận này em chỉ thực hiện rút trích một loại thực thể đó là
thực thể tên tổ chức. Luận văn được chia thành 4 chương:
¾ Chương 1 Giới thiệu qua về trích chọn thông tin và bài toán trích chọn thực thể tên
tổ chức cũng như ý nghĩa của nó.
¾ Chương 2 trình bày hướng tiếp cận để giải quyết bài toán. Chương đưa ra 3 bài
toán rút trích các cặp quan hệ hệ khác nhau trên tập tài liệu (quan hệ <author,
title>, <category, named entity>, <organization, location> ). Ý tưởng chính của
các bài toàn này là dựa vào thông tin ngữ cảnh của đối tượng cần rút trích để biểu
diễn chúng dưới dạng mẫu (pattern), từ mẫu này rút trích ra đối tượng. Bài toán cơ
bản nhất là của Brin – rút trích cặp quan hệ <author, title>. Kỹ thuật quay vòng
được áp dụng để rút trích thực thể, dựa vào thuật toán DIPRE. Vòng lặp sau sử
dụng kết quả của vòng lặp trước làm đầu vào. Các thực thể lần lượt được rút trích
ở mỗi vòng, kết thúc vòng lặp khi thỏa mãn điều kiện dừng đã cho. Mỗi bài toán
đưa ra đều có cách biểu diễn mẫu riêng, phù hợp với ngữ cảnh của từng quan hệ
cần rút trích.Từ bài toán của Pasca nãy ra ý nghĩ về một phương pháp học gần
không giám sát để áp dụng cho bài toán trong khóa luận này. Hệ thống Snowball
độc đáo với cách biểu diễn pattern và phương thức đánh giá chất lượng của thực
thể thu được.
¾ Chương 3 trình bày mô hình tổng quát và các bước chi tiết của bài toán rút trích
thực thể tên tổ chức. Mô hình tổng quát dựa trên bài toán của Brin về rút trích cặp
quan hệ <author, title>, đặc biệt là kỹ thuật DIPRE. Tuy nhiên, điểm xuất phát ban
đầu giống với bài toán của Pasca – xuất phát là patterns. Với cách xuất phát này thì
có thể giảm được số vòng lặp thực hiện. Chi tiết các bước thực hiện là: Ban đầu
cho một mẫu (pattern) để đoán nhận tiền tố tên tổ chức; ước lượng một xâu (được
1
kỳ vọng là có chứa tên thực thể) ngay sau tiền tố đó; cắt tỉa xâu trên thu được tên
thực thể; chọn lọc những thực thể đại diện từ tập thực thể thu được; ánh xạ ngược
thực thể đại diện vào dữ liệu để tìm xâu tiền tố; sinh ra các pattern mới từ tập xâu
tiền tố đó; tiếp tục vòng lặp mới… Chương cũng trình bày thuật toán sinh pattern
từ cho tiền tố của thực thể; cuối cùng là đưa một số nhập nhằng trong cách biểu
diễn tên, từ đó xây dựng chiến lược cắt tỉa để thu được tên hợp lý.
¾ Chương 4 là phần thực nghiệm. Dữ liệu chuẩn bị, môi trường thực nghiệm và kết
quả thực nghiệm. Chỉ đưa ra một số kết quả thực nghiệm đại diện để thể hiện tính
chất của bài toán.
2
CHƯƠNG 1. SƠ LƯỢC BÀI TOÁN TRÍCH CHỌN THỰC
THỂ TÊN TỔ CHỨC
1.1. Tổng quan về trích chọn thông tin
Với sự bùng nổ của Internet và các phương tiện lưu trữ đã tạo ra một lượng thông
tin khổng lồ. Bên cạnh đó nhu cầu về tốc độ xử lý thông tin, cũng như tính chính xác ngày
càng tăng. Do đó bài toán đặt ra đối với các nhà nghiên cứu là tìm ra những phương pháp
mới, hiệu quả cho việc xử lý thông tin đáp ứng nhu cầu sử dụng. Hiện nay, các máy tìm
kiếm (search engine) thực hiện việc tìm những trang web phù hợp với yêu cầu câu hỏi
người dùng. Tuy nhiên bởi vì đối tượng tác động của nó là trang Web trong hệ thống tài
liệu, nên miền tri thức nó thu được đôi khi không đủ để đáp ứng yêu cầu tìm kiếm của
người dùng. Vẫn còn tiềm ẩn những giá trị trong các câu, bộ phận của trang Web. Do đó
khai thác được những tri thức đó sẽ mang lại nhiều thông tin bổ ích. Đó là lĩnh vực mà
“trích chọn thông tin” nghiên cứu.
Trích chọn thông tin là một lĩnh vực quan trọng trong khai phá dữ liệu, thực hiện
việc rút trích ra thông tin có cấu trúc từ tập tài liệu thô – không có cấu trúc. Không giống
như hiểu toàn bộ văn bản, các hệ thống trích chọn thông tin chỉ cố gắng nhận biết một số
thông tin đáng quan tâm ở một lĩnh vực nào đó. Hay nói một cách khác, cho một mẫu
(template) bao gồm các trường thực thể, quan hệ thực thể …., hệ thống trích chọn thông
tin có nhiệm vụ phân tích tài liệu thô để tìm ra thông tin thích hợp điền vào các trường
tương ứng trong mẫu đó.
Ví dụ về hệ thống trích chọn thông tin :
3
Hình 1 : Hệ thống trích chọn thông tin
Hệ thống trên thực hiện rút trích ra bộ ba quan hệ <NAME, TITLE,
ORGANIZATION> từ tập tài liệu web và bổ sung các bản ghi 3 trường đó vào cơ sở dữ
liệu.
1.2. Bài toán rút trích thực thể tên tổ chức
Tổ chức là một trong những đối tượng cơ bản xuất hiện trong văn bản, đặc biệt là
trong các website về kinh tế, xã hội, thế giới… Cùng với sự phát triển của thương mại
điện tử, sự toàn cầu hóa …nên nhu cầu tìm hiểu về các tổ chức Việt Nam cũng như thế
giới là vấn đề đáng được quan tâm. Rút trích tên tổ chức là liệt kê ra danh sách tên các tổ
chức xuất hiện trong văn bản.
Bài toán rút trích tên thực thể (mà cụ thể ở khóa luận này là bài toán trích chọn thực
thể tên các tổ chức) là bài toán cơ bản trong các bài toán trích chọn thông tin. Bởi vì trước
khi khai phá được các tri thức về thuộc tính, tính chất của các thực thể, thì đầu tiên chúng
ta phải rút trích ra được chính xác tên của thực thể đó. Tuy nó là bài toán cơ bản, nhưng
tồn tại rất nhiều vấn đề nhập nhằng làm cho việc rút trích gặp khó khăn. Đặc biệt với
4
ngôn ngữ tiếng Việt, đa dạng trong cách viết, đôi khi nhập nhằng về ngữ pháp, và chưa có
một chuẩn nào cụ thể về chữ hoa, chữ thường cho tên tiếng Việt cũng như xuất hiện nhiều
từ “thừa” chỉ mang tính chất liệt kê, bổ nghĩa ...
Có nhiều phương pháp được áp dụng cho bài toán rút trích tên thực thể như phương
pháp học máy HMM [4] … Trong khóa luận này, em sử dụng phương pháp “học gần
không giám sát“ dựa trên thuật toán DIPRE và ý tưởng rút trích cặp quan hệ (author, title)
của Brin [7], kết hợp các luật hỗ trợ để rút trích thực thể tên tổ chức. Tuy nhiên, có một
hạn chế là thuật toán DIPRE thường áp dụng cho bài toán rút trích cặp quan hệ như (tên
sách, tên tác giả), (tổ chức, trụ sở chính của tổ chức) …., còn nội dung khóa luận này chỉ
là trích chọn thực thể đơn – tên tổ chức. Nhưng lợi thế của DIPRE là tính tự động
(automatic), cần ít thao tác thủ công của con người, có thể áp dụng trong miền dữ liệu lớn.
Hơn thế nữa tên các tổ chức thường có “quan hệ” nào đó với các “tiền tố” đứng liền nó.
Đấy là những tiền đề để áp dụng kỹ thuật DIPRE vào bài toán trong khóa luận này. Các
chương tiếp theo sẽ đề cập chi tiết hơn.
1.3. Ý nghĩa của bài toán rút trích thực thể tên tổ chức
Một hệ thống rút trích các loại thực thể hiểu quả có thể có nhiều ứng dụng trong
thực tế:
- Hỗ trợ xây dưng Web ngữ nghĩa.
- Xây dựng các máy tìm kiếm hướng thực thể. Ví dụ với từ khóa “Washington“ có
thể trả về những trang web nói về vị tổng thống đầu tiên nước Mỹ, hoặc về thành
Phố Washington – thủ đô nước Mỹ, hoặc về một công ty nào đó… Do đó thời
gian tiềm kiếm sẽ giảm đi khi có sự trợ giúp của hệ thống trích chọn thực thể.
- Hỗ trợ hệ thống tóm tắt văn bản tự động.
…..
Bài toán rút trích thực thể tên tổ chức trong khóa luận này đưa ra chỉ là bài toán cơ
bản, chưa có ứng nhiều trong thực tế. Mới chỉ dừng lại ở mức là làm giàu thông tin cho
dữ liệu. Tuy nhiên nó là cơ sở để phát triển bài toán phức tạp hơn, hữu ích hơn.
5
CHƯƠNG 2. HƯỚNG TIẾP CẬN BÀI TOÁN TRÍCH
CHỌN THỰC THỂ
Học máy là hướng tiếp cận phổ biến nhất cho bài toán trích chọn thực thể. Bài toán
trong khóa luận sẽ tiếp cận theo một cách khác. Chương này sẽ giới thiệu một số bài toán
điển hình đã được thực nghiệm để rút trích cặp quan hệ, từ đó có thể rút ra ý tưởng áp
dụng cho bài toán rút trích thực thể tên tổ chức.
2.1. Rút trích cặp quan hệ (title, author) của cuốn sách trong tài
liệu web
Nhận thấy rằng thông tin trên WWW không phải chỉ ở dạng thô, mà chúng còn tiềm
ẩn những quan hệ, cấu trúc nào đó. Nếu khai phá được những đặc tính đó thì sẽ rất hữu
ích cho việc xử lý thông tin. Segrey Brin đã đưa ra một ý tưởng là rút trích ra các cặp
“title, ” và “author” của cuốn sách. Đặc điểm của cặp được rút trích này là chúng có
quan hệ với nhau – tên sách và tên tác giả viết cuốn sách. Điểm nổi bật trong nghiên cứu
này là thuật toán DIPRE sẽ được trình bày dưới đây.
Đầu tiên giới thiệu một số khái niệm có trong bài toán, sau đó sẽ đưa ra quy trình rút
trích tổng quát và chi tiết các thuật toán sử dụng trong bài.
2.1.1. Occurrences của sách
Occurrences của cuốn sách được hiểu là thông tin về sự “xuất hiện” của cuốn sách
(gồm title và author) trên tập dữ liệu. Để thuận tiện cho việc xử lý, Brin biểu diễn
occurrences của cuốn sách là một bộ gồm 7 trường:
(author,title,order,url,prefix,middle,suffix)
order : Thứ tự xuất hiện của author và title.
url : Địa chỉ trang web mà nội dung có chứa author, title .
prefix : Xâu ký tự đứng trước author hay title (tùy theo thứ tự của author, title)
middle : Xâu nằm giữa author và title.
suffix : Xâu đứng sau author hay title.
6
2.1.2. Patterns của sách
Patterns sẽ được “ánh xạ” ngược vào tập tài liệu để rút trích ra tập quan hệ mới (ở
đây là “title” và “author”). Patterns được “sinh ra” từ tập các Occurrences ở trên theo
một tiêu chí, quy tắc nào đó (sẽ được trình bày ở dưới). Patterns có ý nghĩa quan trọng
trong việc rút trích. Patterns tốt sẽ tăng số lượng cũng như chất lượng tìm kiếm, rút trích.
Patterns cho những cuốn sách sách là một bộ gồm 5 trường
(order,urlprefix,prefix,middle,suffix)
order : Giống ở Occurrences
Một cặp (author, title) được rút trích nếu có một URL trên web hợp (matchs) với
urlprefix* và nội dung của nó có chứa đoạn hợp với biểu thức chính quy “*prefix, author,
middle, title, suffix*” , đồng thời khi đó biến order = true. Biểu thức chinh quy cho
author và title lần lượt là:
[A-Z][A-Za-z .,&]5;30[A-Za-z.]
[A-Z0-9][A-Za-z0-9 .,:'#!?;&]4;45[A-Za-z0-9?!]
2.1.3. Quy trình rút trích
Quy trình rút trích dựa theo thuật toán DIPRE. Ý tưởng là:
1) Bắt đầu bằng mẫu nhỏ R’ – tập 5 cuốn sách và tên tác giả tương ứng. Mẫu này
được thao tác trực tiếp bằng tay.
2) OÅFindOccurrences(R’;D)
Tìm tất cả “sự xuất hiện của các bộ (author, title) của R’ trong D. Ứng với mỗi
bộ tìm thấy, ghi nhớ lại url và text xung quanh (ở giữa, 2 bên) “author” và
“title”.
3) PÅGenPatterns(O)
Dựa vào tập xuất hiện của cặp (author,title) để sinh ra mẫu (pattern). Mẫu sinh
ra phải không được quá riêng biệt, hay quá chung chung thì mới là mẫu tốt.
4) R’ÅMD(P)
Từ những pattern xây dựng được, tìm kiếm trên CSDL những bộ (tuples) mà
hợp với mẫu đó.
7
5) Nếu R’ đủ lớn thì kết thúc. Ngược lại nhảy về bước 2
Kỹ thuật trên có thể được mô tả như hình dưới đây :
Hình 2: Quy trình rút trích
2.1.4. Thuật toán sinh Patterns
Như đã trình bày trong mục trên, thủ tục GenPatterns có nhiệm vụ sinh ra các
patterns dựa vào các occurrences. Nó là một quy trình quan trọng trong DIPRE. Giả sử
chúng ta có một bộ occurrences , và sẽ “thử” dựng nên một pattern từ bộ đó. Khi đã có
thủ tục sinh ra 1 pattern, thì thủ tục sinh tất cả các patterns có thể cũng sẽ tương tự, như
được trình bày dưới đây :
2.1.4.1. Sinh một Pattern
Các bước cho thủ tục GenOnePattern(O) – sinh 1 pattern như sau:
1) Cần phải chắc chắn rằng order và middle của tất cả sự xuất hiện (occurrences) phải
giống nhau. Nếu không thì không thế sinh ra được pattern để match 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 dài nhất của các urls mà chúng giống nhau. Đặt outpattern.urlprefix
= prefix
3) Đặt outpattern.prefix là xâu dài nhất của các prefixs mà chúng giống nhau tính từ cuối
(suffix) của các tiền tố (prefixs) đó.
8
4) Đặt outpattern.suffix là xâu dài nhất của các suffix mà chúng giống nhau tính từ đầu
(prefix) của các hậu tố (suffixs) đó.
Kết quả thu được một pattern.
2.1.4.2. Sinh tập Patterns
Thuật toán cho GenPatterns(O) dựa vào thuật toán GenOnePattern(O) đã được giới
thiệu ở trên :
1) Nhóm tất cả sự xuất hiện (occurrences) o trong O theo order và middle. Được
kết quả các nhóm O1 , …, Ok.
2) Với mỗi Oi , p Å GenOnePattern( Oi). 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ả occurrences o trong Oi có chung url thì bỏ Oi.
- Ngược lại : Tách các occurrences o trong Oi 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 thủ tục ở bước 2 cho
những nhóm con này.
Ý tưởng của thủ tục sinh patterns như trên là chia nhỏ urls khi patterns sinh ra
không đủ “riêng biệt”. Như thế thì cũng có thể sử dụng kỹ thuật chia nhỏ theo prefix hay
suffix. Tất cả trên chỉ là những giải pháp cơ bản, để có được 1 kỹ thuật tốt hơn thì cần
phải nghiên cứu thêm. Tuy nhiên kết quả mà kỹ thuật vừa đưa ra cũng có một kết quả
thực nghiệm chấp nhận được.
2.2. Thu thập tên và miền tương ứng từ tập tài liệu web
Con người, thời gian, địa điểm…là những thực thể cơ bản trong văn bản dù ở bất cứ
ngôn ngữ nào. Nhưng với từng “chuyên ngành” hay lĩnh vực riêng thì vẫn tồn tại rất
nhiều thực thể và miền của thực thể đó. Ví dụ như miền “Universities” có các thực thể
“Harvard”, “Cambridge” …., hay miền “Programming” có “C++, Java …”. Nếu rút trích
được các cặp tên miền và thực thể (C, N) rồi tích hợp vào các hệ thống như WordNet [1]
thì sẽ tạo ra cơ sở tri thức hữu ích.
Dựa trên DIPRE, Marius Pasca đưa ra một mô hình để thu được cặp (C,N) từ tài tập
liệu web [6]. C và N tương ứng viết tắt cho Category và named Entity ( miền và tên thực
thể). Pattern được sử dụng có dạng :
9
[StartOfSent] X [such as|including] N [and|,|.]
Ở đây X là một “categorical fact” tạm hiểu nó là một xâu mà được coi là có chứa miền C.
N là “potential instance name” tạm hiểu là thực thể cần tìm thuộc miền C. Một đặc điểm
để nhận dạng N đó là nó là một danh từ riêng nên thường được viết hoa. Ánh xạ pattern
này vào tài liệu sẽ thu được cặp (X,N). Ví dụ như câu sau :
“That is because software firewalls, including Zone Alarm, offer some semblance of this
feature”.
Cặp (X,N ) thu được là (That is because software firewalls, Zone Alarm).
Cuối cùng, từ X rút trích ra cụm danh từ thỏa mãn là miền C của N. Nó được ước
lượng là cụm danh từ không đệ quy phải nhất, sao cho thành phần cuối cùng của nó là
một danh từ số nhiều. Như ví dụ câu trên, sẽ rút trích được cụm danh từ “software
firewalls” nó chính miền C . Chiến lược ước lượng này tuân theo một số quy tắc :
- Nếu không có cụm danh từ dạng số nhiều nằm gần cuối của “categorical
fact”, thì cặp (X, N) bị loại bỏ.
- Một cụm danh từ dạng số nhiều nằm gần cuối của “categorical fact” nhưng
ngay trước nó cũng là một cụm danh từ số nhiều, thì cặp (X, N) bị loại bỏ.
- Trường hợp còn lại thì (X, N) là phù hợp và thu được cặp (C,N).
Bảng dưới đây mô tả kết quả áp dụng các quy tắc nói trên:
10
Bảng 1: Sự lựa chọn cateogries từ cateogrical facts
Categorical fact and instance name
Selection
Anti-GMO food movements sprouted up Discard
Discard
in European nations in the 1990s, including Germany
Our customers’ chipsets compete with Discard
products from other vendors of standardsbased
and ADSL chipsets, including Alcatel
Discard
The venture is supported by a number of academics, Retain
including Noam Chomsky
(academics,
Noam Chomsky)
API Adapter can be written in other
Retain
programming languages such as C++
(programming
languages,C++)
Để tăng số lượng cặp (C, N) rút trích được, mô hình đưa ra phương thức để “tự
động” sinh ra những patterns mới. Bằng cách “ánh xạ” những cặp (C, N) đã được rút
trích ở vòng lặp trước vào dữ liệu. Ý tưởng được mô tả như trong hình dưới :
Hình 3: Rút trích Patterns mới
11
Mỗi pattern có dạng:
<LeftContext C InnerPattern N RightContext>
LeftContext, InnerPattern và RightContext là dãy những phần tử liên tiếp trong câu.
Pattern chỉ đoán nhận các xâu trong từng câu riêng biệt hay nói cách khác mỗi pattern
“nằm” hoàn toàn trong 1 câu. Trong thực nghiệm này LeftContext, RightContext được
biểu diễn theo dạng từ loại (POS –tag ) bởi Penn Treebank [5]. Kết quả xếp hạng top 15
patterns được liệt kê như bảng bên dưới:
Bảng 2 : Phân hạng các Pattern rút trích được
LeftContext
(POS tags)
InnerPattern
(words)
RightContext
(POS tags)
StartOfSent
Such asb
, NNP NNP , NNP
. EndOfSent
, NNP , NNP ,
IN NNP , NNP ,
StartOfSent
and othera
and othera
such asb
. EndOfSent
. EndOfSent
StartOfSent
such asb
, NNP , NNP ,
StartOfSent
, includingb
such asb
, NNP , NNP , NNP
, NNP NNP , NNP
, NNP , NNP ,
StartOfSent IN
StartOfSent DT
StartOfSent
includeb
, includingb
and othera
, includingb
, includingb
areb
CC NNP NNP NNP NNP
. EndOfSent
NNP , NNP NNP ,
StartOfSent JJ
StartOfSent JJ
StartOfSent DT
CC NNP NNP , VBP
, NNP NNP CC NNP
, NNP , NNP ,
Nhìn vào bảng trên ta thấy, ngoài việc tìm lại được” các InnerPaterns mồi là “such
as” và “including” thủ tục trên còn “khám phá” ra những InnerPatterns hữu ích khác như
12
“and other”, “include” và “are”. Những patterns mới này lại được sử dụng để rút trích
thực thể cho vòng lặp tiếp theo.
2.3. Hệ thống Snowball
Cũng dựa trên tư tưởng của DIPRE, Eugene Agichtein và Luis Gravano đã xây dựng
hệ thống Snowball [3] để rút trích cặp quan hệ (organization, location) – tổ chức và địa
điểm. Biểu diễn mối quan hệ một tổ chức organization có trục sở đặt tại địa điểm
location. Snowball đã đưa ra một kỹ thuật mới để sinh patterns và rút trích cặp quan hệ từ
tài liệu. Snowball cũng có thêm chiến lược đánh giá chất lượng của mỗi patterns và cặp
quan hệ, nếu cái nào đủ tin cậy thì mới được sử dụng cho các vòng lặp tiếp theo. Tuy
nhiên Snowball cần đến sự hỗ trợ của NER (Named Entity Recognition).
Mô hình của Snowball được biểu diễn như dưới :
Hình 4: Hệ thống Snowball
2.3.1. Sinh patterns
Với mỗi cặp organization-location <o, l> Snowball xác định nó trong tập tài liệu và
phân tích các thành phần trái (left), giữa (middle) và phải (right) để sinh pattern. Pattern
của Snowball là một bộ 5 thành phần :
<left, tag1, middle, tag2, right>
Trong đó tag1, tag2 là các thẻ tên thực thể (cụ thể ở đây là <ORGANIZATION> và
<LOCATION> ) và left, middle, right là các vector liên kết “terms” và “weights”. (terms
là xâu tùy ý hoặc kí tự trống, weights – trọng số biểu thị độ quan trọng của terms). Mỗi
13
vector các terms có trọng số weights nằm trong khoảng từ 0 đến 1. Trọng số càng lớn thì
độ ưu tiên của term đó càng cao.
Ví dụ : <{the , 0.2>}, LOCATION, {<-, 0.5> , <based, 0.5> }, ORGANIZATION, {}>
Để sinh pattern, đầu tiên Snowball tìm tất cả sự xuất hiện (occurrences) của các bộ
<o, l> , biểu diễn dưới dạng giống như dạng của các pattern. Mỗi thành phần left,
middle, right có một giới hạn m terms. Trọng số của mỗi term xác định dựa theo tần số
của các terms trong ngữ cảnh tương ứng. Từ tập các occurrences, sử dụng thuật toán phân
cụm đơn giản [8] để phân thành các cụm . Với mỗi cụm, các vector left được biểu diễn
bằng vector trung tâm l’s , tương tự biểu diễn các vector middle, right bằng các vector
trung tâm m’s, r’s .
Ví dụ từ tập các occurrences :
Sẽ được phân thành 2 cụm :
14
Tính toán vector trung tâm của mỗi cụm, thu được các patterns :
2.3.2. Sinh cặp quan hệ
Trước hết định nghĩa độ phù hợp của hai bộ tP = < lP , t1, mP , t2, rP > (t1, t2 là các
thẻ) tS = <lS, t’1, mS, t’2, rS > (t’1, t’2 là các thẻ) theo công thức :
15
Sau khi sinh được các patterns, Snowball quét tập tài liệu để tìm ra những cặp (o, l)
mới. Dùng MITRE Corporation’s Alembic Workbench [2] để nhận dạng những câu có
chứa một organization và location. Phân tích nội dung xung quanh nó và sinh ra 1 bộ 5
trường t = <lc, t1, mc, t2, rc > theo quy tắc giống ở trên. Gọi cặp <o, l> là cặp “ứng cử
viên” nếu có một pattern tp thỏa mãn Match(t, tp) >= tsim (tsim là ngưỡng). Mỗi một cặp
“ứng cử viên” được sinh bởi các patterns ứng với từng “độ phù hợp” (như giá trị Match(t ,
tp) trên ). Và mỗi một pattern cũng có một độ đo tính “chọn lọc” của nó. Snowball sẽ sử
dụng hai thông số này để quyết định cặp “ứng cử viên” nào là thích hợp.
2.4. Tổng kết chương
Chương đã đưa ra 3 bài toán để rút trích các cặp quan hệ khác nhau.
Rút trích cặp quan hệ (title, author) là bài toán cơ bản nhất, kỹ thuật biểu diễn
pattern và occurrence đơn giản, thuật toán để sinh pattern từ occurrence cũng không phức
tạp. Độc đáo nhất ở bài toán là thuật toán DIPRE.
Bài toán của Pasca xuất phát là một pattern “mồi”, với cách thực hiện này hệ thống
có thể rút trích được một lượng lớn cặp quan hệ ở vòng lặp đầu tiên, do đó sẽ có nhiều
patterns mới được sinh ra cho vòng lặp tiếp theo. Với cách thực hiện này, thuật toán có
thể sẽ phải thực hiện số vòng lặp ít hơn. Tuy nhiên nó cần sự hỗ trợ của POS - tag ( thẻ từ
loại ) để biểu diễn pattern, đối với tiếng Việt thì vẫn chưa xây dựng được POS –tagger
(gán nhãn từ loại ) hoàn chỉnh.
Hệ thống Snowball độc đáo với cách biểu diễn pattern mềm dẻo , cộng với sự hỗ trợ
của thẻ tên thực thể (NER) nên có kết quả thu được tốt nhất. Tuy nhiên chỉ “học “ được ở
Snowball chiến lược đánh giá pattern và cặp thực thể thu được để áp dụng vào khóa luận,
còn để biểu diễn được pattern thì cần sự hỗ trợ của NER – trong khi bài toán trong khóa
luận này bản chất chính là xây dựng NER.
16
CHƯƠNG 3. TRÍCH CHỌN TÊN CÁC TỔ CHỨC
Chương này sẽ luần lượt trình bày từ mô hình tổng quát đến các bước chi tiết của
bài toán trích chọn. Dựa trên các bài toán ở chương 2, em sử dụng phương pháp “học gần
không giám sát” kết hợp sự hỗ trợ của các luật để giải quyết bài toán của mình.
Các bài toán đã trình bày ở chương 2 là rút trích các cặp quan hệ, còn mục tiêu của
khóa luận này là rút trích tên các tổ chức – đơn, nên khi áp dụng tư tưởng của các bài toán
đó vào bài toán trích chọn tên các tổ chức, cần có sự thay đổi về dạng biểu diễn pattern và
cách thức rút trích tên thực thể từ các pattern đó…
3.1. Mô hình tổng quát
Bài toán dựa trên bài toán của Sergey Brin về việc tìm ra cặp quan hệ (tên sách, tên
tác giả) của cuốn sách, đặc biệt là kỹ thuật DIPRE. Cứ sau mỗi vòng lặp lại sinh ra những
cặp thực thể mới và mẫu (patterns) mới. Các vòng lặp tiếp theo sử dụng kết quả của vòng
lặp trước đó để thu được kết quả mới. Quá trình đó cứ tiếp tục quay vòng cho đến khi đạt
được một yêu cầu đưa ra. Sergey Brin cho xuất phát bằng 5 cặp thực thể (tên sách, tên tác
giả), từ cặp thực thể đó tìm ra sự xuất hiện (occurrences ) của chúng trên tài liệu Web và
từ đó đưa ra quy tắc để sinh mẫu (pattern). Mỗi tập mẫu thu được lại tiếp tục tìm ra cặp
thực thể (title, author) mới…
Với bài toán của chúng ta, ở mức tổng quát gồm các bước:
- Xuất phát là một mẫu được xây dựng thủ công;
-
Rút trích ra các thực thể tên tổ chức 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 rút trích đượ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 số lượng lớn các 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… Điều đó giúp cho chương trình giảm được số lần thực
17
hiện vòng lặp. Chương trình dừng lại khi độ chính xác của các thực thể rút trích được thấp
dưới một ngưỡng cho phép.
Quy trình rút trích được mô tả như hình dưới đây :
Hình 5: Mô hình tổng quát
Có một điểm khác biệt giữa thực thể mà Brin rút trích với kiểu thực thể của chúng
ta. Đó là Brin rút trích theo cặp thực thể quan hệ, cụ thể ở đây là cặp (tên sách, tên tác
giả) của cuốn sách. Chúng có quan hệ là với mỗi cuốn sách sẽ có tên sách và tác giả viết
ra cuốn sách đó. Do vậy cách biểu diễn nó trên tài liệu sẽ có một quy luật nào đó. Còn bài
toán của chúng ta chỉ là rút trích ra tên thực thể đơn – tên tổ chức. Tuy nhiên, thường thì
“tiền tố” của tên các tổ chức ở một dạng nhất định, trên một miền nhất định. Và có một
đặc điểm thuận lợi nữa là tên tổ chức thường ở dạng kí tự đầu tiên của mỗi từ là viết hoa
hoặc không thì từ cuối cùng của tên thường có ký tự đầu viết hoa ... Chính vì vậy, mấu
chốt của bài toán là tìm ra đặc điểm của xâu ký tự bên trái (“ tiền tố “) của mỗi tên thực
thể để sinh ra pattern hợp lý, và đưa ra những quy tắc cắt tỉa thích hợp, loại bỏ những
trường hợp ngoại lệ thu để được tên hợp lý.
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ó, 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 rút trích.
18
Bài toán trong khóa luậ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. Chi tiết sẽ được trình bày ở mục tiếp theo.
3.2. Mô hình chi tiết
Tổng quát cho ý tưởng bài toán được mô tả như hình trên, trong mục này sẽ biểu
diễn chi tiết hơn về các bước hoạt động của chương tình. Do sự khác nhau về kiểu đối
tượng cần rút trích, nên cách biểu diễn pattern và cách thức rút trích thực thể dựa vào
pattern cũng thay đổi. Các bước thực hiện được mô tả như hình bên dưới :
Hình 6. Mô hình bài toán
Các thủ tục trên được diễn giải như sau :
Input: PrefixPattern (Initial) – Xuất phát là một mẫu được xây dựng thủ công
19
1) IndexsOfPrefixPattern Å Find_IndexsOfPrefixPattern (PrefixPattern)
Á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
(PrefixStrings) và các vị trí tương ứng của chúng (IndexsOfPrefixPattern) trong
mỗi file tài liệu.
2) CandidateStrings Å Extract_CandidateStrings (IndexsOfPrefixPattern,
PrefixStrings, CandidateRegularExpression)
Biểu thức chính quy CandidateRegularExpression đoán nhận các xâu trong tập
tài liệu từ các vị trí xuất phát trong mỗi file là (IndexsOfPrefixPattern + chiều
dài của PrefixStrings tương ứng).
3) Entities Å Trim (CandidateStrings)
Thực hiện “cắt tỉa” 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ử dung 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 )
Từ PrefixStrings sinh ra các mẫu mới.
7) Quy lại bước 1 (vòng lặp mới ) với NewPrefixPattern vừa được sinh ra.
Các mục dưới đây sẽ giải thích rõ ràng hơn.
3.2.1. Find_IndexsOfPrefixPattern
Để rút trích được một thực thể, cần phải biết được ngữ cảnh xung quanh nó. Ở bài
toán này chỉ quan tâm đến “tiền tố” (prefix) của nó. Bởi vì đứng trước mỗi một thực thể
tên tổ chức thường là các “tiền tố” có dạng đặc biệt, hoặc nằm trong miền giá trị cụ thể.
Ví dụ như thường là : “Tổ chức, công ty, tập đoàn, phòng ….”. Còn đứng sau mỗi tên tổ
20
chức thường không có một quy tắc nào xác định. PrefixPattern là biểu thức chính quy
được dùng để đoán nhận các “tiền tố” đó. Đầu vào ban đầu của chương trình là
PrefixPattern (Initial) được xây dựng bằng tay. PrefixPattern có dạng :
PrefixPattern = (A1|A2|A3 …An)
Nghĩa là PrefixPattern có thể là A1 hoặc là A2 … hoặc An. Trong đó A1, A2 … An là một từ,
cụm từ tiếng Việt nào đó thể hiện tiền tố của tên tổ chức được xác định ban đầu (nằm
trong file cấu hình). Ví dụ : PrefixPattern = (tổ chức|công ty|phòng).
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 “tiền tố” PrefixStrings
và các vị trí của chúng IndexsOfPrefixPattern.
Ví dụ nếu trong văn bản có đoạn “Thông tin Tổng công ty Hàng không Việt Nam
thua kiện ở châu Âu … “, với PrefixPattern như trên (tổ chức|công ty|phòng) thì ánh xạ
vào văn bản thu được PrefixString là “công ty” còn IndexOfPrefixPattern nhận giá trị là
vị trí của xâu “công ty” (tức vị trí ký tự “c”) trong văn bản tính từ đầu file – nếu đoạn trên
nằm ở đầu file thì IndexOfPrefixPattern là 15.
3.2.2. Extract_CandidateStrings
Ứng với mỗi xâu “tiền tố” xác định được ở bước trên, thì xâu con đứng ngay sau nó
“được mong đợi” sẽ là một tên thực thể nào đó. Nhưng không có một quy tắc chính nào
cho tên của các tổ chức, cũng như không xác định được độ dài số từ (word) của nó là bao
nhiêu. Hướng tiếp cận để giải quyết vấn đề này là ước lượng xâu con đứng ngay sau mỗi
“tiền tố” (số lượng từ tùy chọn), từ xâu đó đưa ra các quy tắc “cắt tỉa” để thu được tên
mong đợi.
CandidateRegularExpression là biểu thức chính quy được dùng để đoán nhận xâu
con đó. Nó có dạng :
([ |: ][\\-&a-zA-Z0-9à-ỵÀ-Ỵ]+){n,m}
Nghĩa là đoán nhận xâu gồm tối thiếu n, tối đa m từ tiếng Việt hay các số nguyên. Bất đầu
xâu là dấu cách hoặc dấu hai chấm. Trong thực nghiệm n = 1, m = 8.
21
Với 3 tham số đầu vào IndexsOfPrefixPattern, PrefixStrings và
CandidateRegularExpression thủ tục Extract_CandidateStrings sẽ thực đoán nhận các xâu
con như nói ở trên, kết quả gọi là CandidateStrings.
Tiếp tục ví dụ trên với đoạn: “Thông tin Tổng công ty Hàng không Việt Nam thua
kiện ở châu Âu … “. PrefixString là “công ty”, IndexOfPrefixPattern là vị trí của “công
ty”. Nếu CandidateRegularExpression là ([ |: ][\\-&a-zA-Z0-9à-ỵÀ-Ỵ]+){1,8} thì
CandidateString thu được là “ Hàng không Việt Nam thua kiện ở châu”.
3.2.3. Trim
Tập CandidateStrings được đoán nhận ở bước trên chỉ mới được “kỳ vọng” là có
chứa các thực thể thích hợp. Cần “cắt tỉa” để hoặc thu được tên thực thể mong muốn hoặc
loại bỏ nếu không chứa tên thích hợp. Thủ tục Trim thực hiện công việc đó trên
CandidateStrings thu được tập thực thể Entities – tập thực thể được rút trích ở mỗi vòng
lặp. Chi tiết về các quy tắc cắt tỉa sẽ được trình bày ở mục 3.4.
3.2.4. Filter_Entities
Tập thực thể sau khi được rút trích sẽ được ánh xạ ngược vào tập dữ liệu ở vòng lặp
tiếp theo để tìm sự xuất hiện (Occurrences). Nhưng không phải tất cả các thực thể được
dùng để ánh xạ. Bởi có 2 lý do. Thứ nhất nếu như sử dụng tất cả các thực thể, thì thời gian
để tìm Occurrences là rất lâu. Thứ hai, không phải tất cả các thực thể được rút trích ra đều
chính xác, và không phải tất cả đều “hiện diện” nhiều lần trong tập tài liệu, dẫn đến kết
quả “sai lệch” đi. Những thực thể có số lần được rút trích ở mỗi vòng lặp càng lớn, thì xác
suất nó là một thực thể hợp lý càng cao, và cũng có nghĩa nó có “độ ưu tiên cao” nên sẽ
có nhiều cách để “biểu diễn” nó trên các tài liệu, dẫn đến tạo ra nhiều pattern mới hợp lý.
Do đó, chỉ chọn lọc những thực thể mà có số lần được tìm thấy ở mỗi vòng lặp lớn hơn
một ngưỡng nào đó.
Sự lựa chọn một ngưỡng phù hợp cho việc lấy thực thể “đại diện” là tương đối khó,
bởi không có một quy tắc nào đó để quy định miền giá trị cho ngưỡng này. Kết quả chọn
lọc ảnh hưởng đến số lượng, chất lượng của những patterns mới cũng như đối với những
thực thể ở các vòng lặp tiếp theo. Để có thể tìm ra một ngưỡng hợp lý nhất thì nên tiến
hành nhiều thử nghiệm với những ngưỡng khác nhau.
22
Thủ tục Filter_Entities thực hiện chọn các thực thể đại diện RepresentativeEntities
từ Entities.
3.2.5. Find_PrefixStrings
Tập thực thể đại diện RepresentativeEntities đã được chọn lọc ở bước trên, cái cần
quan tâm tiếp theo là “xâu tiền tố” (PrefixString) của những thực thể này.
Biểu thức chính quy PrefixRegularExpression kết hợp với RepresentativeEntities để
đoán nhận “sự xuất hiện” (Occurrences) của các thực thể cũng như “tiền tố” của chúng.
PrefixRegularExpression có dạng:
([a-zA-Z0-9à-ỵÀ-Ỵ]+[ |\\:]){n,m}
Có nghĩa là đoán nhận xâu gồm tối thiểu n, tối đa m từ (mỗi từ cấu tạo bởi các ký tự
tiếng Việt hay chữ số). Kết thúc của xâu là dấu cách hoặc dấu hai chấm. Trong thực
nghiệm n=1,m=3. Bởi vì chúng ta chỉ cần quan tâm tới xâu từ 1 đến 3 từ đứng liền trước
tên thực thể, hay nói cách khác “tiền tố” chỉ là xâu dài từ 1 đến 3 từ.
Thủ tục Find_PrefixStrings dùng 2 tham số đầu vào PrefixRegularExpression và
RepresentativeEntities để ánh xạ vào tài liệu tìm ra sự xuất hiện của các thực thể và rút
trích ra các tiền tố. Kết quả các tiền tố trả về là PrefixStrings.
Giả sử trong văn bản có đoạn “Có phải Tập đoàn Điện lực Việt Nam đặt quyền lợi
của mình lên trên tất cả”, thì với RepresentativeEntity là “Điện lực Việt Nam” và
PrefixRegularExpression là ([a-zA-Z0-9à-ỵÀ-Ỵ]+[ |\\:]){1,3}, PrefixString nhận được là
“phải Tập đoàn ”.
3.2.6. Generate_NewPrefixPattern
Thủ tục Generate_NewPrefixPattern thực hiện việc sinh ra NewPrefixPattern từ tập
PrefixStrings đã được rút trích ở bước trước. Thuật toán sinh NewPrefixPattern cũng như
cách biểu diễn của PrefixString để thuận tiện cho cài đặt thuật toán sẽ được trình bày kỹ ở
mục 3.3. . NewPrefixPattern có “định dạng” giống như PrefixPattern (Initial), chúng tiếp
tục được dùng để rút trích những thực thể mới.
Quy trình cứ tiếp tục thực hiện các vòng lặp như vậy cho đến khi đạt đến một điều
kiện dừng. Có thể đưa ra nhiều điều kiện dừng như : Dừng khi không sinh ra được pattern
mới, hoặc dừng khi độ chính xác của các thực thể rút trích được thấp… Trong bài toán
23
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Phương pháp học gần không giám sát để trích chọn thực thể tên tổ chức", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
khoa_luan_phuong_phap_hoc_gan_khong_giam_sat_de_trich_chon_t.pdf