1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tự động trích chọn thực thể tên người trong văn bản tiếng Việt

52 781 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 2,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÀO MINH QUYÊN TỰ ĐỘNG TRÍCH CHỌN THỰC THỂ TÊN NGƯỜI TRONG VĂN BẢN TIẾNG VIỆT Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀO MINH QUYÊN

TỰ ĐỘNG TRÍCH CHỌN THỰC THỂ TÊN NGƯỜI

TRONG VĂN BẢN TIẾNG VIỆT

LUẬN VĂN THẠC SĨ

Hà Nội - 2011

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀO MINH QUYÊN

TỰ ĐỘNG TRÍCH CHỌN THỰC THỂ TÊN NGƯỜI

TRONG VĂN BẢN TIẾNG VIỆT

Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.05

LUẬN VĂN THẠC SĨ

Cán bộ hướng dẫn khoa học: TS Nguyễn Trí Thành

Hà Nội - 2011

Trang 3

Mục lục

Mục lục 2

Danh mục các ký hiệu, chữ viết tắt 4

Danh mục các hình vẽ, đồ thị 5

Danh mục các bảng biểu 6

Mở đầu 1

CHƯƠNG 1 - GIỚI THIỆU 2

1.1 Trích chọn thông tin là gì? 2

1.2 Bài toán trích chọn thực thể tên người trong Tiếng Việt 3

CHƯƠNG 2 - HỆ THỐNG TRÍCH CHỌN THÔNG TIN 5

MỘT SỐ NGHIÊN CỨU LIÊN QUAN TRONG TIẾNG VIỆT 5

2.1 Các cách tiếp cận trích chọn thông tin 5

2.1.1 Hướng tiếp cận thủ công 5

2.1.2 Hướng tiếp cận xây dựng các mô hình học máy 6

2.2 Một số nghiên cứu liên quan 7

2.2.1 Bài toán tách từ trong tiếng Việt và công cụ vnTokenizer 7

2.2.2 Mô hình học máy CRF và bộ công cụ cài đặt CRF++ toolkit 9

2.3 Tổng kết chương 14

CHƯƠNG 3 – GIẢI QUYẾT BÀI TOÁN 15

3.1 Mô tả bải toán 15

3.2 Mô hình giải quyết bài toán 15

3.3 Mô tả chi tiết hệ thống trích chọn 17

3.3.1 Một số đặc điểm về cú pháp và ngữ cảnh của tên người trong văn bản Tiếng Việt 17

3.3.3 Mô hình hệ thống 18

3.5 Kết luận chương 26

CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 27

4.1 Môi trường thực nghiệm 27

4.2 Dữ liệu thực nghiệm 28

4.3 Module tự động trích chọn 28

4.3.1 Tiền xử lý dữ liệu – Tách từ 28

4.3.2 Tự động trích chọn 29

4.3.3 Đánh giá kết quả của hệ thống trích chọn tự động 31

4.4 Huấn luyện CRF 32

4.4.1 Giai đoạn huấn luyện 33

4.4.2 Giai đoạn kiểm thử 33

4.4.3 Thực nghiệm 33

4.5 Đánh giá kết quả 36

Trang 4

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI 38 Tài liệu tham khảo 39 Phụ lục: Từ điển họ trong tiếng Việt [8] 40

Trang 5

Danh mục các ký hiệu, chữ viết tắt

IE Information Extraction CRFs Condition Random Field HMM Hidden Markov Models MEMM Maximum Markov Models PNE Person Named Entity

Trang 6

Danh mục các hình vẽ, đồ thị

Hình 1 Ví dụ về một hệ thống trích chọn thông tin [4] 3

Hình 2 Mô hình xây dựng hệ luật cho các hệ thống IE theo hướng tiếp cận thủ công 5

Hình 3 Mô hình xây dựng IE theo mô hình học máy 6

Hình 4 Quy trình tách từ 8

Hình 5 Mô hình hoạt động của CRF++ 10

Hình 6 Mô hình hóa bài toán 15

Hình 7 Mô hình giải quyết bài toán 16

Hình 8 Mô hình hệ thống tự động trích chọn 19

Hình 9 Format file prefix.txt 22

Hình 10 Mô hình thực hiện bước 1 23

Hình 11 Sử dụng vnTokenizer 4.1.1 để tách từ văn bản tiếng Việt 28

Hình 12 Văn bản trước khi tách từ 28

Hình 13 Văn bản sau khi tách từ 29

Hình 14 Văn bản đầu vào 30

Hình 15 Văn bản đầu ra đã gán nhãn 31

Hình 16 File danh sách tên người 31

Hình 17 Danh sách các prefix 31

Hình 18 Mô hình thực nghiệm với CRF 33

Hình 19 Huấn luyện CRF - Tạo file model 34

Hình 20 Format của file testing đưa vào CRF++ toolkit 35

Hình 21 Thực hiện trích chọn với file test bằng CRF++ toolkit 35

Hình 22 Kết quả thử nghiệm với số lượng file training khác nhau 37

Trang 7

Danh mục các bảng biểu

Bảng 1 Sự khác biệt đặc điểm từ giữa tiếng Việt và Tiếng Anh 7

Bảng 2 Bảng các tham số huấn luyện 14

Bảng 3 Bảng các tham số của lệnh crf_test 14

Bảng 4 Cấu hình của máy PC dùng trong thực nghiệm 27

Bảng 5 Các công cụ sử dụng trong thực nghiệm 27

Bảng 6 Các thư viện sử dụng trong thực nghiệm 27

Bảng 7 Kết quả kiểm thử của hệ thống tự động trích chọn 32

Bảng 8 Kết quả test với số lượng file training khác nhau 36

Trang 8

Mở đầu

Xử lý ngôn ngữ tự nhiên từ lâu đã trở thành một bài toán quan trọng trong các ứng dụng công nghệ thông tin đặc biệt là tìm kiếm, dịch tự động, các hệ thống Semantic Web, và ứng dụng xử lý ngôn ngữ tự nhiên cho Tiếng Việt cũng không phải là ngoại lệ

Chẳng hạn như đối với bài toán tìm kiếm thông tin Các Web Retrieval luôn phải thực hiện dựa trên sự giới hạn của thông tin vào và ra trong quá trình tìm kiếm Khi tìm kiếm người dùng thường đưa vào một số lượng nhỏ từ khóa cần tìm và kết quả tìm kiếm cũng cần kiểm tra và đưa ra một số lượng nhất định các từ phù hợp nhất Để giải quyết vấn đề này, việc tìm kiếm dựa trên các từ khóa là chưa đủ Thực tế cho thấy các thực thể ẩn chứa trong đó cũng làm nổi bật các thông tin tìm kiếm Do đó, trích chọn thực thể đã trở thành bài toán cơ bản nhất trong các bài toán trích chọn thông tin nhưng lại đóng vai trò quan trọng trong việc quyết định hiệu quả tìm kiếm Một điều

dễ thấy nữa là hiện nay, thống kê tìm kiếm cho thấy tìm kiếm theo tên người chiếm một tỷ lệ đáng kể Theo đó, các hệ thống trích chọn tên người là bài toán cơ bản và có

ý nghĩa trong việc xây dựng các hệ thống xử lý ngôn ngữ tự nhiên như xây dựng các ontology làm tiền đề cho các Semantic web, ứng dụng trong hệ thống dịch tự động hay tóm tắt văn bản,

Do vậy việc xây dựng các giải thuật trích chọn các thực thể tên người từ web là bài toán có ý nghĩa quan trọng Luận văn tập trung vào tìm hiểu việc xây dựng một mô hình trích chọn thực thể tên người áp dụng cho Tiếng Việt

Cấu trúc luận văn gồm 4 chương:

Chương 1: Giới thiệu một cách khái quát nhất bài toán trích chọn thực thể tên người trong Tiếng Việt Ý nghĩa của bài toán

Chương 2: Hướng tiếp cận trong trích chọn thông tin Một số nghiên cứu liên quan trong xử lý văn bản Tiếng Việt Đây sẽ là tiền đề cho việc nghiên cứu để xây dựng mô hình giải quyết bài toán

Chương 3: Đề xuất mô hình giải quyết bài toán

Chương 4: Kết quả thực nghiệm của luận văn, đánh giá phương pháp và kết quả đạt được

Phần kết luận: Tóm lược những nội dung chính đạt được của luận văn đồng thời cũng chỉ ra những điểm cần khắc phục và đưa ra những định hướng nghiên cứu trong tương lai

Trang 9

CHƯƠNG 1 - GIỚI THIỆU

1.1 Trích chọn thông tin là gì?

Ngày nay, cùng với sự ứng dụng rộng rãi của công nghệ thông tin là lượng thông tin khổng lồ mang tính chất toàn cầu Lượng thông tin này ngày càng lớn mạnh không ngừng và song song với nó là một thách thức được đặt ra đó là: làm thế nào để sử dụng thông tin đó một cách hiệu quả nhất? Và như vậy, trong kho dữ liệu khổng lồ đó, việc tìm ra thông tin cần thiết một cách nhanh chóng, chính xác là cực kỳ quan trọng

Mặc dù chất lượng của các máy tìm kiếm đã được cải thiện nhưng kết quả trả về chỉ là những tài liệu có liên quan, chúng không dễ dàng gì rút ra được các mối quan hệ tiềm ẩn và tạo được các câu trả lời cho các truy vấn phức tạp, chẳng hạn như “danh sách các công ty liên doanh” hoặc “danh sách các nhà lãnh đạo quốc tế trên toàn thế giới” Người ta phân loại câu trả lời các truy vấn ở dạng: có phân tích các tài liệu liên quan để tập hợp những thông tin cần thiết Nếu nhiều mối quan hệ như “Công ty A liên doanh với công ty B” được lưu trong các tài liệu thì nó tự động tổng hợp và cấu trúc hóa, điều này rất tốt không chỉ cho các hệ thống truy vấn thông tin mà còn cho các

hệ thống hỏi đáp tự động và tóm tắt văn bản 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 (Information Extraction - IE) là công việc trích ra các thông tin có cấu trúc từ các văn bản không có cấu trúc [4] Nói cách khác, một hệ thống trích chọn thông tin rút ra những thông tin đã được định nghĩa trước về các thực thể và mối quan hệ giữa các thực thể từ một văn bản dưới dạng ngôn ngữ tự nhiên và điền những thông tin này vào một văn bản ghi dữ liệu có cấu trúc hoặc một dạng mẫu được định nghĩa 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 đó

Trang 10

Ví dụ về hệ thống trích chọn thông tin

Hình 1 Ví dụ về một hệ thống trích chọn thông tin [4]

1.2 Bài toán trích chọn thực thể tên người trong Tiếng Việt

Trích chọn thực thể tên người là bước tiền xử lý trong rất nhiều hệ thống xử lý ngôn ngữ tự nhiên Cụ thể như:

- Tóm tắt văn bản: Từ một văn bản dài, máy tính tóm tắt thành văn bản ngắn hơn

với những nội dung cơ bản nhất

- Dịch tự động: Là việc dịch tự động từ tiếng này sang tiếng khác, chẳng hạn dịch

câu “Nguyễn Tấn Dũng là Thủ tướng nước Cộng hòa xã hội chủ nghĩa Việt Nam” sang tiếng Anh Việc dịch này đòi hỏi máy không những phải hiểu đúng nghĩa câu tiếng Việt mà còn phải nhận biết được đâu là tên người để giữ nguyên

- Tìm kiếm thông tin trên mạng: Đây là lĩnh vực có sự chia sẻ nhiều nhất giữa trí

tuệ nhân tạo và Internet, và ngày càng trở nên hết sức quan trọng Sẽ sớm đến một ngày, mọi tri thức của con người được số hóa và để lên mạng hay các thư viện số cực lớn Thống kê cho thấy, các từ khóa là tên người được đưa vào tìm kiếm chiếm

tỷ lệ khá lớn

- Hệ thống hỏi đáp: Giúp trả lời các câu hỏi liên quan đến thực thể tên người như:

 Ai là Chủ tịch tập đoàn Microsoft?

Trang 11

 Ai đã phát minh ra PC đầu tiên trên thế giới?

 Ai là cha đẻ của lý thuyết về tổ hợp?

- Web ngữ nghĩa: Trích chọn tên người là bước tiền xử lý cho hệ thống xây dựng

các ontology - bước xây dựng dữ liệu cho các ứng dụng web ngữ nghĩa

Luận văn sẽ tập trung vào việc xây dựng hệ thống tự động trích chọn tên người trong văn bản tiếng Việt Kết quả của hệ thống sẽ rất có ích trong tiền xử lý dữ liệu của các ứng dụng xử lý ngôn ngữ tự nhiên nói trên

Trang 12

CHƯƠNG 2 - HỆ THỐNG TRÍCH CHỌN THÔNG TIN

MỘT SỐ NGHIÊN CỨU LIÊN QUAN TRONG TIẾNG VIỆT

2.1 Các cách tiếp cận trích chọn thông tin

2.1.1 Hướng tiếp cận thủ công

Đặc điểm của việc xây dựng hệ thống trích chọn thông tin theo hướng này là hệ thống luật được xây dựng bằng tay hoàn toàn phụ thuộc vào kinh nghiệm riêng của từng người trong từng lĩnh vực của IE, các mẫu hay các luật được tạo ra và được kiểm duyệt một cách kỹ lưỡng có quy mô bởi các “tri thức chuyên gia” [3] Những quy tắc luôn được kiểm định nhiều lần Có thể mô hình hóa việc xây dựng này theo hình 2 như sau:

Hình 2 Mô hình xây dựng hệ luật cho các hệ thống IE theo hướng tiếp cận thủ

công

Hình trên mô tả việc xây dựng hệ luật theo hướng tiếp cận thủ công Bắt đầu từ tập luật cơ bản ban đầu, sử dụng kho tài liệu kiểm duyệt hay sửa chữa cần thiết dựa trên tri thức chuyên giá (theo kinh nghiệm riêng của người xây dựng) Các luật mới được sinh ra sau quá trình kiểm duyệt đó để bổ sung cho tập luật cũ Những quy tắc được kiểm định nhiều lần nhằm đánh giá độ chính xác và tìm ra những luật mới để bổ sung

Với cách tiếp cận này thì hệ thống hoạt động theo một chu trình Để xây dựng một hệ thống hoạt động tốt phải luôn luôn có sự tương tác giữa người viết luật và hệ thống cùng với kho ngữ liệu huấn luyện (hình 2) và tập luật luôn luôn được cập nhật

để cho hệ thống có thể hoạt động tốt nhất

Kho tài liệu

Sửa chữa Luật mới

Cập nhật chuyên gia Tri thức

Trang 13

2.1.2 Hướng tiếp cận xây dựng các mô hình học máy

Với hệ thống IE được xây dựng theo hướng tiếp cận dựa trên tri thức thì chu trình kiểm tra và sửa lỗi gặp rất nhiều khó khăn và phụ thuộc vào nhiều yếu tố như: Loại ngôn ngữ, thời gian và khả năng viết luật Chỉ một vài thay đổi trong đặc tả cũng gây khó khăn trong sự điều chỉnh

Câu trả lời cho các giới hạn này là phải xây dựng một mô hình bằng cách nào đó

có thể “tự học” Điều này sẽ giúp làm giảm bớt sự tham gia của các chuyên gia ngôn ngữ và làm tăng tính linh hoạt cho hệ thống Có rất nhiều phương pháp học máy như

mô hình markov ẩn (Hidden Markov Models-HMM), các mô hình Markov cực đại hóa Entropy (Maximum Markov Models – MEMM) và mô hình các trường ngẫu nhiên có điều kiện ( Conditional Random Fields – CRF)

Các đặc điểm phải kể đến của việc xây dựng hệ thống IE theo hướng hệ thống có thể tự đào tạo (automatic training approach) là không cần một người nào đó hiểu biết

về cách hoạt động của hệ thống IE và viết luật cho nó như thế nào Điều cần thiết ở đây là một người nào đó biết được miền ứng dụng của nó và hiểu được những thông tin cần rút trích Một khi dữ liệu huấn luyện được chú thích, thuật toán huấn luyện chạy và sinh ra những thông tin học được hay còn gọi là model để phục vụ cho quá trình trích chọn tự động sau này Mô hình với hướng tiếp cận này được mô tả qua hình

3 như sau: Các thuật học sẽ dựa trên dữ liệu để tự học và thu được một model, dựa trên model này nó sẽ trích chọn các thông tin trên dữ liệu mới

Hình 3 Mô hình xây dựng IE theo mô hình học máy

Khi xây dựng hệ thống IE theo hướng này phải tập trung vào việc tạo ra dữ liệu huấn luyện Hệ thống có thể tự học mà không cần sự can thiệp của bất kỳ các chuyên viên nào Tuy vậy việc xây dựng và lưu trữ tập dữ liệu huấn luyện rất khó và đắt vì để

hệ thống có thể thực hiện tốt thì yêu cầu dữ liệu phải nhiều đó cũng là hệ quả dẫn đến việc khó sửa đổi Vì chỉ cần thêm hoặc xóa các thuộc tính thì cần phải thay đổi trên toàn tập huấn luyện của nó

Dữ liệu Huấn luyện

Thuật toán học

Model

Trang 14

Tùy vào công việc và những điều kiện đã có mà ta có thể xây dựng hệ thống IE theo hướng các mô hình học máy hoặc theo hướng tiếp cận dựa tri thức Ví dụ như khi nguồn văn bản và người viết luật đáp ứng được yêu cầu thì nên xây dựng hệ thống IE theo hướng tiếp cận dựa tri thức, hoặc khi các mô tả về thông tin trích chọn luôn có sự thay đổi thì cũng lên làm theo hướng thứ nhất Còn với dữ liệu lớn thì nên xây dựng hệ thống IE theo mô hình học máy

2.2 Một số nghiên cứu liên quan

2.2.1 Bài toán tách từ trong tiếng Việt và công cụ vnTokenizer

Bài toán

Cho một câu tiếng Việt bất kỳ, hãy tách câu đó thành những đơn vị từ vựng (từ), hoặc chỉ ra những âm tiết nào không có trong từ điển (phát hiện đơn vị từ vựng mới)

Một số đặc điểm về cú pháp cấu tạo từ trong tiếng Việt

Tách từ là một khó khăn chính trong việc phân loại văn bản đối với các ngôn ngữ châu Á như tiếng Hoa, tiếng Nhât, tiếng Hàn và cả tiếng Việt Mặc dù được viết bằng các ký tự La tinh mở rộng, tiếng Việt cũng có những đặc tính chung với các ngôn ngữ phonographic Đông Nam Á khác như khó xác định danh giới giữ các từ và có các điểm khác biệt về phonetic, văn phạm và ngữ nghĩa so với các ngôn ngữ Ấn, Âu

Có một số đặc tính chính của từ trong tiếng Việt như sau [1]:

- Từ ở dạng nguyên thể, hình thức và ý nghĩa của từ độc lập với cú pháp

- Từ được cấu trúc từ “tiếng” hay còn gọi là âm tiết

- Từ bao gồm từ đơn (từ một tiếng) và từ phức (n - tiếng với n < 5), bao gồm từ láy và từ ghép

Trong khi đó, định nghĩa về từ trong tiếng Anh như sau: “Từ là một nhóm ký tự

có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” (Từ điển Webster) Dưới đây là một số điểm khác biệt chính giữa tiếng Việt và tiếng Anh

Danh giới từ Tổ hợp có nghĩa dựa vào

ngữ cảnh của các tiếng

Khoảng trắng hoặc dấu câu

Bảng 1 Sự khác biệt đặc điểm từ giữa tiếng Việt và Tiếng Anh

Trang 15

Cho đến nay đã có khá nhiều nghiên cứu ứng dụng nhằm thực hiện việc tách từ trong tiếng Việt Luận văn không đi sâu vào việc xây dựng module tách từ mà sẽ sử dụng chương trình tách từ tự động Vntokenizer để tách từ cho văn bản

Công cụ tách từ vnTokenizer

VnTokenizer là công cụ tách từ tiếng Việt được nhóm tác giả Nguyễn Thị Minh Huyền, Vũ Xuân Lương và Lê Hồng Phương phát triển dựa trên phương pháp so khớp tối đa (Maximum Matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt [7]

Công cụ được xây dựng bằng ngôn ngữ Java, mã nguồn mở Có thể đễ dàng sửa đổi nâng cấp và tích hợp vào các hệ thống phân tích văn bản tiếng Việt khác

Quy trình thực hiện tách từ theo phương pháp khớp tối đa được mô tả bởi hình 4 Trong quy trình này, tác giả sử dụng từ điển từ vựng tiếng Việt và được bổ sung qua quá trình phân tách nhằm tăng độ chính xác:

Hình 4 Quy trình tách từ

- Đầu vào của công cụ tách từ vnTokenizer là một câu hoặc một văn bản được lưu dưới dạng tệp

- Đầu ra là một chuỗi các đơn vị từ được tách

- Các đơn vị từ bao gồm các từ trong từ điển cũng như các chuỗi số, chuỗi kí từ nước ngoài, các hình vị ràng buộc (gồm các phụ tố), các dấu câu và các chuỗi kí

tự hỗn tạp khác trong văn bản (ISO, 2008) Các đơn vị từ không chỉ bao gồm các từ có trong từ điển, mà cả các từ mới hoặc các từ được sinh tự do theo một quy tắc nào đó (như phương thức thêm phụ tố hay phương thức láy) hoặc các chuỗi kí hiệu không được liệt kê trong từ điển

Công cụ sử dụng tập dữ liệu đi kèm là tập từ điển từ vựng tiếng Việt, danh sách các đơn vị từ mới bổ sung, được biểu diễn bằng ôtômat tối tiểu hữu hạn trạng thái, tệp

Trang 16

chứa các biểu thức chính quy cho phép lọc các đơn vị từ đặc biệt (xâu dạng số, ngày tháng,…), và các tệp chứa các thống kê unigram và bigram trên kho văn bản tách từ mẫu

Với các đơn vị từ đã có trong từ điển, khi thực hiện tách từ cũng được xử lý hiện tượng nhập nhằng bằng cách kết hợp với các thống kê unigram và bigram Chẳng hạn trong tiếng Việt thường gặp các trường hợp nhập nhằng như:

- Xâu AB vừa có thể hiểu là 1 đơn vị từ, vừa có thể là chuỗi 2 đơn vị từ A-B

- Xâu ABC có thể tách thành 2 đơn vị AB-C hoặc A-BC

Hệ thống được hoạt động theo phương pháp học nửa giám sát [6] được thực hiện gồm các bước sau (được mô hình hóa bằng hình 5):

Bước 1: Tạo bộ dữ liệu huấn luyện bé Bước này được thực hiện bằng tay

Bước 2: Sử dụng mô hình CRFs để huấn luyện trên tập dữ liệu này

Bước 3: Tạo tập test và sử dụng CRFs để gán nhãn

Trang 17

Bước 4: Bộ dữ liệu mới được sinh ra bằng cách bổ sung các nhãn cho tập dữ liệu test

CRF++ được chia làm 2 thành phần chính có thể mô tả như hình 5 như sau:

Hình 5 Mô hình hoạt động của CRF++

2.2.2.2.2 Tính năng

- Có thể định nghĩa lại các tính năng đã có, ta có thể tùy biến để thêm các đặc trưng mới phù hợp với bài toán cụ thể

- Viết bằng C++, là phần mềm mã nguồn mở

- Bộ nhớ nhỏ sử dụng trong cả kiểm tra và phân tích

- Có thể đưa ra xác suất lề cho tất cả những đầu vào

2.2.2.2.3 Cài đặt và cách sử dụng

Cài đặt

 Chuyển vào thư mục chứa công cụ CRF++

 Dùng lênh chmod 777 /configure

 make clean && make

File định dạng huấn luyện và test

Để sử dụng được CRF++ ta cần phải có 2 file dữ liệu, 1 file dùng cho quá trình huấn luyện, file còn lại dùng cho quá trình kiểm tra Cả file huấn luyện và kiểm tra cần

Dữ liệu

Test

Dữ liệu đầu ra

Giai đoạn huấn luyện

Giai đoạn thực hiện

Trang 18

có 1 định dạng riêng của CRF++ để nó có thể làm việc được Thông thường file huấn luyện và file kiểm tra chứa đựng rất nhiều từ tố Mỗi từ tố phải viết trên một dòng, Ngoài từ tố ra còn có các cột chứa các thông tin khác dùng để mô tả từ tố chẳng hạn như là từ loại của từ tố và cột cuối cùng chứa nhãn của từ tố Để định nghĩa từ tố phụ thuộc vào từng công việc, trong hầu hết các trường hợp điển hình thì chúng là các từ Mỗi một từ tố ở một dòng, các cột được phân chia bởi các khoảng trắng Trình tự các

từ tố tạo thành một câu Một dòng trắng để phân biệt giữa các câu

Dưới đây là một ví dụ về file huấn luyện Với cột thứ nhất là bản thân từ đó, cột thứ hai là từ loại và cột cuối cùng là nhãn cần gán

Trang 19

File template được xây dựng tùy vào từng bài toán cụ thể và tùy vào file huấn luyện và file kiểm tra Ví dụ với dữ liệu đầu vào như sau thì file template sẽ được xây dựng như sau:

Dữ liệu đầu vào

Với loại này khi đưa 1 template CRF ++ sẽ tự động tạo ra các hàm đặc trưng

func1 = if (output = B-DT and feature="U01:DT") return 1 else return 0

func2 = if (output = I-DT and feature="U01:DT") return 1 else return 0

func3 = if (output = O and feature="U01:DT") return 1 else return 0

Số lượng hàm tạo ra bởi một template là ( L * N)

L : số lượng output N: số lượng chuỗi duy nhất được mở rộng từ template dược chỉ ra

 Bigram template

Với template này ,sự liên kết giữa từ tố hiện tại (current token) và từ tố trước đó (previous output token) được tự động tạo ra

Trang 20

Với loại này tạo ra (L *L *N) (N là số lượng các đặc trưng riêng biệt được tạo ra) đặc trưng khác nhau do vậy có thể không hiệu quả trong huấn luyện và kiểm tra

2.2.2.2.4 Huấn luyện và kiểm tra

Sau khi chuẩn bị toàn bộ các file train, file test, file template ta tiến hành huấn luyện và test như sau

 Huấn luyện (training)

Để huấn luyện các file ta sử dụng lệnh crf_learn với cú pháp sau:

% crf_learn template_file train_file model_file

Ở đó :

Lệnh crf_learn tạo ra mô hình huấn luyện trong file model_file

Kết quả của lệnh crf_learn:

iter: Số lượng lặp được xử lý

terr: Tỷ lệ lỗi đối với các thẻ ( được tính bằng số lượng thẻ lỗi/ tổng số thẻ ) serr: Tỷ lệ lỗi đối với câu ( được tính bằng số câu lỗi /tổng số câu )

obj: Giá trị của đối tượng hiện tại Khi giá trị này hội tụ tại một điểm cố định CRF ++ dừng lặp

-a CRF-L2

hoặc CRF-L1

CRF-L2 Tham số này dùng để thay đổi thuật toán mặc

định của CRF ++ Thông thường thì L2 thực hiện tốt hơn không đáng kể so với L1, trong khi số lường các đặc tính L1 là nhỏ hơn một cách đáng kể so với L2

-c float: Cùng với tùy chọn này, có thể thay đổi nhiều

tham số cho CRFs

-f NUM 1 Chỉ có các thuộc tính có tần suất xuất hiện lớn

hơn giá trị này thì mới được tích hợp vào mô hình CRF

Trang 21

-p NUM Nếu máy tính của bạn có nhiều CPU, giúp cho

việc huấn luyện nhanh hơn bằng cách sử dụng

đa luồng NUM là số lượng các luồng

Bảng 2 Bảng các tham số huấn luyện

 Kiểm tra (testing)

Để kiểm tra dữ liệu sau khi huấn luyện sử dụng lệnh crf_test với cú pháp như

sau:

% crf_test -m model_file test_files

Model_file là file do crf_learn tao ra Trong khi test không cần tạo ra

template_file bởi vì model file có thông tin giống như file template

Test_file là kiểm tra dữ liệu bạn muốn gán thẻ theo trình tự File này có định dạng giống như file traning được xây dựng ở trên

-v level 0 Tùy chọn này đưa ra một số thông tin chi tiết

từ CRF++bằng cách tăng cấp độ của level

Trang 22

CHƯƠNG 3 – GIẢI QUYẾT BÀI TOÁN

Trên cơ sở tìm hiểu những hướng tiếp cận trên đây luận văn đã lựa chọn phương pháp học giám sát nhẹ để giải quyết bài toán Trong chương này luận văn trình bày phương pháp trích chọn thực thể tên người áp dụng cho Tiếng Việt với những nghiên cứu để thực hiện theo những đặc trưng ngôn ngữ

3.1 Mô tả bải toán

Cho một tập văn bản Tiếng Việt, bài toán đặt ra là cần trích chọn trong tập văn bản đó danh sách tên người

 Đầu vào

Tập văn bản Tiếng Việt

 Đầu ra

Danh sách tên người

Hình 6 mô hình hóa bài toán Đầu vào là văn bản tiếng Việt Hệ thống có nhiệm vụ trích chọn thực thể tên người từ văn bản tiếng Việt đó Đầu ra của hệ thống là danh sách tên người trích chọn được và văn bản gán nhãn

Tiếp theo đó là ví dụ với 1 câu văn bản tiếng Việt Hệ thống cần cho ra kết quả là câu văn bản đã được tách từng từ và đánh dấu từ nào là tên người

Hình 6 Mô hình hóa bài toán 3.2 Mô hình giải quyết bài toán

Dựa vào đặc điểm về chữ viết, văn phong của các thực thể tên người trong Tiếng Việt, luận văn đề xuất phương pháp trích chọn bao gồm các bước cơ bản sau:

Trang 23

Bước 1 Tiền xử lý đối với các văn bản đầu vào

Bước này bao gồm các thao tác làm sạch & tách câu, tách từ trong văn bản

Bước 2 Tự động trích chọn

Sử dụng thuật toán trích chọn bán giám sát để thực hiện trích chọn Sau bước này, hệ thống sẽ cho ra kết quả bao gồm:

- Danh sách tên người tìm thấy

- Danh sách prefix (từ đứng trước tên người ví dụ Ông, bà, đồng chí, ) Danh sách prefix rất quan trọng trong việc làm tăng độ chính xác của thuật toán trích chọn

- Tập văn bản gán nhãn tương ứng với tập văn bản vào Tuy nhiên các văn bản gán nhãn được thể hiện gồm 2 cột:

Chi tiết của từng bước thực hiện sẽ được mô tả chi tiết trong những phần sau

Hình 7 là mô hình giải quyết bài toán theo những bước mô tả ở trên

Hình 7 Mô hình giải quyết bài toán

Văn bản

Tiếng Việt

Trích chọn

Huấn luyện CRF

Đánh giá

Trang 24

3.3 Mô tả chi tiết hệ thống trích chọn

3.3.1 Một số đặc điểm về cú pháp và ngữ cảnh của tên người trong văn bản Tiếng Việt

Những đặc điểm về cú pháp và ngữ cảnh thể hiện của tên người trong Tiếng Việt

là những yếu tố quan trọng để xây dựng thuật toán trích chọn Dựa vào những đặc điểm này chúng ta sẽ xây dựng lên các luật để trích chọn cũng như làm tăng độ chính xác của kết quả đạt được

3.3.1.1 Một số đặc điểm chính về cú pháp của tên người trong văn bản Tiếng Việt

- Tên người trong Tiếng Việt thông thường là từ gồm 3 đến 4 âm tiết (cá biệt có

4 hoặc 5 âm tiết) Ký tự đầu tiên của mỗi âm tiết được viết hoa

- Có 3 thành phần chính được viết theo thứ tự:

o Họ (Nguyễn, Trần, Phạm, )

o Tên đệm: có thể nhiều hơn 1 âm tiết (Thị, Văn, )

o Tên chính (Mai, Hương, )

3.3.1.1 Một số đặc điểm về ngữ cảnh của tên người trong văn bản Tiếng Việt

- Trước tên người thông thường là từ làm tiền tố mô tả chức danh như: Giám đốc, công nhân, kỹ sư, tổng thống hoặc các đại từ như ông, bà, anh, chị,

Ví dụ:

Kỹ sư Nguyễn Văn Đại đã tốt nghiệp Đại học năm 2010

- Trong văn bản, thông thường tên người sẽ xuất hiện đầy đủ ở phần đầu văn bản (mang tính giới thiệu) Sau đó sẽ xuất hiện tiếp ở các phần sau trong văn bản nhưng thường là ở dạng rút gọn (dạng chỉ có tên chính hoặc tên đệm + tên chính)

Ví dụ đoạn văn bản sau:

Giáo sư Nguyễn Lân Dũng sinh ra trong gia đình thật đặc biệt Nhà ông có đến 8 người đều là giáo sư, phó giáo sư tiến sĩ, là con của cố giáo sư, nhà giáo

Trang 25

nhân dân Nguyễn Lân Người đi trước dìu dắt người đi sau, họ đã xây đắp nên hình mẫu của gia đình hiếu học, tài hoa, chuẩn mực

Giáo sư Lân Dũng kể ông rất vui vì được dân yêu Có lần ông đi nói chuyện với sinh viên, các bạn trẻ nhất định đòi chụp ảnh riêng với ông chứ không chụp chung cả đoàn Đứng "làm mẫu" mãi vẫn chưa hết số người muốn chụp ảnh cùng

Ở đoạn văn bản sau, tác giả sử dụng “Giáo sư Lân Dũng” thay cho “Giáo sư Nguyễn Lân Dũng”

3.3.2 Một số trường hợp nhập nhằng

Một số trường hợp nhập nhằng xảy ra làm giảm độ chính xác của kết quả thu được Những trường hợp nhập nhằng thông thường là:

- Nhầm với tên chỉ địa điểm như:

Đường Nguyễn Khánh Toàn, Thành Phố Hồ Chí Minh

Như vậy khi trích chọn cần phân biệt được khi nào thì Nguyễn Khánh Toàn, Hồ Chính Minh là tên người khi nào là tên đường, tên thành phố

- Nhầm với tên tổ chức, công ty,

Trang 26

Văn bản

tiếng Việt

Tách từ (Tiền xử lý)

Đánh giá toàn cục

Prefix.txt Pne.txt

Văn bản

đã tách từ

Gán nhãn

Văn bản được gán nhãn

Kiểm tra prefix

Ngày đăng: 25/03/2015, 10:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] Douglas E. Appelt and David J. Israel (1999). Introduction to Information Extraction Technology. A Tutorial Prepared for IJCAI-99.in Artificial Intelligence Center SRI International: 1-10 Sách, tạp chí
Tiêu đề: Artificial Intelligence Center SRI International
Tác giả: Douglas E. Appelt and David J. Israel
Năm: 1999
[7] Công cụ tách từ tiếng Việt http://www.loria.fr/~lehong/tools/vnTokenizer.php Link
[8] Từ điển họ người Việt http://www.vietnamgiapha.com/view/?mnu=2 Link
[1] Nguyễn Thanh Hùng (2006). Hướng tiếp cận mới trong việc tách từ để phân loại văn bản tiếng Việt sử dụng giải thuật di truyền và thống kê trên Internet Khác
[2] Nguyễn Thị Minh Huyền, Vũ Xuân Lương, Lê Hồng Phương (2003). Sử dụng bộ gán nhãn từ loại xác suất QTAG cho văn bản tiếng Việt. Báo cáo hội thảo ICTTài liệu tiếng Anh Khác
[4] Fredric Brown (2009). Information Extraction: 10 – 18 (slide) Khác
[5] John Lafferty and Andrew McCallum (2001). Conditional Random Fields Probabilistic Models for Segmenting and Labeling Sequence Data. Pages 1-8 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1. Ví dụ về một hệ thống trích chọn thông tin [4] - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 1. Ví dụ về một hệ thống trích chọn thông tin [4] (Trang 10)
Hình 2. Mô hình xây dựng hệ luật cho các hệ thống IE theo hướng tiếp cận thủ  công - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 2. Mô hình xây dựng hệ luật cho các hệ thống IE theo hướng tiếp cận thủ công (Trang 12)
Hình 3. Mô hình xây dựng IE theo mô hình học máy - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 3. Mô hình xây dựng IE theo mô hình học máy (Trang 13)
Hình 4. Quy trình tách từ - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 4. Quy trình tách từ (Trang 15)
Hình 5. Mô hình hoạt động của CRF++ - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 5. Mô hình hoạt động của CRF++ (Trang 17)
Bảng 2. Bảng các tham số huấn luyện - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Bảng 2. Bảng các tham số huấn luyện (Trang 21)
Hình 6 mô hình hóa bài toán. Đầu vào là văn bản tiếng Việt. Hệ thống có nhiệm vụ  trích chọn thực thể tên người từ văn bản tiếng Việt đó - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 6 mô hình hóa bài toán. Đầu vào là văn bản tiếng Việt. Hệ thống có nhiệm vụ trích chọn thực thể tên người từ văn bản tiếng Việt đó (Trang 22)
Hình 7 là mô hình giải quyết bài toán theo những bước mô tả ở trên - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 7 là mô hình giải quyết bài toán theo những bước mô tả ở trên (Trang 23)
Hình 8. Mô hình hệ thống tự động trích chọn - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 8. Mô hình hệ thống tự động trích chọn (Trang 26)
Bảng 2. Trích dẫn một số họ trong từ điển họ tại Việt Nam gia phả [8] - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Bảng 2. Trích dẫn một số họ trong từ điển họ tại Việt Nam gia phả [8] (Trang 28)
Hình 9. Format file prefix.txt - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 9. Format file prefix.txt (Trang 29)
Hình  10  là  mô  hình  thực  hiện  bước  đánh  giá  toàn  cục  theo  như  mô  tả  ở  trên. - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
nh 10 là mô hình thực hiện bước đánh giá toàn cục theo như mô tả ở trên (Trang 30)
Bảng 5. Các công cụ sử dụng trong thực nghiệm - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Bảng 5. Các công cụ sử dụng trong thực nghiệm (Trang 34)
Hình 11. Sử dụng vnTokenizer 4.1.1 để tách từ văn bản tiếng Việt - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 11. Sử dụng vnTokenizer 4.1.1 để tách từ văn bản tiếng Việt (Trang 35)
Hình 13. Văn bản sau khi tách từ - Tự động trích chọn thực thể tên người trong văn bản tiếng Việt
Hình 13. Văn bản sau khi tách từ (Trang 36)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w