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

Tiểu luận môn Máy học và ứng dụng TÌM HIỂU CONDITIONAL RANDOM FIELDS VÀ GIỚI THIỆU CÔNG CỤ CRF+ + TRONG BÀI TOÁN TRÍCH CHỌN THÔNG TIN

15 722 0

Đ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 15
Dung lượng 240,66 KB

Nội dung

CRF là mô hình dựa trên xác xuất điều kiện, thường được sử dụng trong gán nhãn và phân tích dữ liệu tuần tự ví dụ ký tự, ngôn ngữ tự nhiên.. Điều này cho phép CRF có thể định nghĩa phân

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN



BÀI TIỂU LUẬN MÔN MÁY HỌC VÀ ỨNG DỤNG

TÊN ĐỀ TÀI:

TÌM HIỂU CONDITIONAL RANDOM FIELDS

VÀ GIỚI THIỆU CÔNG CỤ CRF+ + TRONG BÀI TOÁN TRÍCH

CHỌN THÔNG TIN

Giảng viên hướng dẫn: PGS TS Vũ Thanh Nguyên

Họ tên học viên: Đặng Thị Mỹ Hạnh

Mã số học viên: CH1301012

Trang 2

CHƯƠNG 1 TÌM HIỂU CONDITIONAL RANDOM FIELDS (CRF)

1 Nguồn gốc

CRF được giới thiệu vào những năm 2001 bởi Lafferty và các đồng nghiệp [14] [11] CRF là mô hình dựa trên xác xuất điều kiện, thường được sử dụng trong gán nhãn và phân tích dữ liệu tuần tự ví dụ ký tự, ngôn ngữ tự nhiên Khác với mô hình MEMM (Mô hình Markov cực đại hóa Entropy – Maximum Entropy Markov Model), CRF là mô hình đồ thị vô hướng Điều này cho phép CRF có thể định nghĩa phân phối xác suất của toàn bộ chuỗi trạng thái với điều kiện biết chuỗi quan sát cho trước thay vì phân phối trên mỗi trạng thái với điều kiện biết trạng thái trước đó và quan sát hiện tại như trong mô hình MEMM Chính những tính chất này của CRF mà mô hình này giải quyết được vấn đề “label bias” - gán nhãn

2 Định nghĩa

2.1 Định nghĩa trường ngẫu nhiên

Cho một đồ thị vô hướng không có chu trình G(V,E), ở đây V là tập các đỉnh của đồ thị và E là tập các cạnh vô hướng nối các đỉnh của đồ thị nếu thỏa mãn: P(vi | Yvj, vi≠ vj ) = P(vi | Yvk, vi≈ vk ) thì V gọi là trường ngẫu nhiên

Hình: Một trường ngẫu nhiên

P(Y5 | YYi) = P(Y5 | Y4, Y6) Vậy Y= {Y5 , Y4 , Y6} là trường ngẫu nhiên

2.2 Trường ngẫu nhiên có điều kiện - CRF

- Trường ngẫu nhiên có điều kiện được phát biểu như sau: X là biến ngẫu nhiên nhận giá trị là chuỗi dữ liệu cần phải gán nhãn Y là biến ngẫu nhiên nhận giá trị là chuỗi nhãn tương ứng Mỗi thành phần Yi của Y là một biến ngẫu nhiên nhận giá trị trong tập hữu hạn các trạng thái S Các đỉnh V biểu diễn các thành

Trang 3

phần của biến ngẫu nhiên Ysao cho tồn tại ánh xạ một - một giữa các đỉnh và một thành phần Yv của Y

- Hay CRFs là mô hình trạng thái tuyến tính vô hướng (máy trạng thái hữu hạn được huấn luyện có điều kiện) và tuân theo tính chất Markov thứ nhất

+ Gọi o = (o 1 , o 2 , …, o T) là một chuỗi dữ liệu quan sát cần được gán nhãn

Gọi S là tập trạng thái, mỗi trạng thái liên kết với một nhãn Đặt s = (s 1 , s 2 ,…, s T) là một chuỗi trạng thái nào đó, CRFs xác định xác suất điều kiện của một chuỗi trạng thái khi biết chuỗi quan sát như sau:

+ Gọi

là thừa số chuẩn hóa trên toàn bộ các chuỗi nhãn có thể fkxác định một hàm đặc

trưng và là trọng số liên kết với mỗi đặc trưng fk.Mục đích của việc học máy với CRFs là ước lượng các trọng số này

+ Ở đây, ta có hai loại đặc trưng fk : đặc trưng trạng thái (per-state) và đặc trưng chuyển (transition)

(2)

+ Ở đây  là Kronecker- 

Mỗi đặc trưng trạng thái (2) kết hợp nhãn l của trạng thái hiện tại s t và một vị

từ ngữ cảnh - một hàm nhị phân x k (o,t) xác định các ngữ cảnh quan trọng của quan sát o tại vị trí t Một đặc trưng chuyển (3) biểu diễn sự phụ thuộc chuỗi bằng cách

kết hợp nhãn l’ của trạng thái trước s t-1 và nhãn l của trạng thái hiện tại s t

- Ngoài ra có thể hiểu Conditional random fields là một probabilistic framework (theo xác suất) cho việc gán nhãn và phân đoạn dữ liệu tuần tự Thay vì

sử dụng xác suất độc lập trên chuỗi nhãn và chuỗi quan sát, ta sử dụng xác suất có điều kiện P(Y|X) trên toàn bộ chuỗi nhãn được đưa bởi chuỗi mỗi chuỗi quan sát

X CRF là một mô hình đồ thị vô hướng định nghĩa một phân bố tuyến tính đơn

Trang 4

trên các chuỗi nhãn (trình tự nhãn) được đưa ra bởi các chuỗi quan sát được CRFs thuận lợi hơn các mô hình Markov và MEMM Nó làm tốt hơn cả của MEMM và HMM (Mô hình Markov ẩn – Hiden Markov Model) trên sốlượng chuỗi gán nhãn lớn Ví dụ: xét ngôn ngữ tự nhiên, việc gán nhãn cho các từ trong câu sẽ tương ứng với loại từ vựng Ở đây các câu sẽ là dữ liệu tuần tự còn nhãn cần gán chính là các

từ loại:

[NP He] [VP reckons] [NP the current account deficit] [VP will narrow] [PP to] [NP only # 1.8 billion ] [PP in ] [NP September ]

Trong đó ý nghĩa của các nhãn là: NP: nounse phrase, VP: verb phrase…

CC Coordinating conjunction

e.g and,but,or

EX Existential there

IN Preposision or subordinating conjunction

JJR Adjective, comparative

JJS Adjective, superlative

LS List Item Marker

e.g can, could, might, may

NN Noun, singular or mass

NNP Proper Noun, singular

NNPS Proper Noun, plural

NNS Noun, plural

PDT Predeterminer

e.g all, both when they precede an article

POS Possessive Ending

e.g Nouns ending in 's

PRP Personal Pronoun

e.g I, me, you, he

PRP$ Possessive Pronoun

e.g my, your, mine, yours

Most words that end in -ly as well as degree words like quite, too and very RBR Adverb, comparative

Adverbs with the comparative ending -er, with a strictly comparative meaning

RBS Adverb, superlative

Trang 5

Should be used for mathematical, scientific or technical symbols

UH Interjection

e.g uh, well, yes, my

VB Verb, base form

subsumes imperatives, infinitives and subjunctives VBD Verb, past tense

includes the conditional form of the verb to be VBG Verb, gerund or persent participle

VBN Verb, past participle

VBP Verb, non-3rd person singular present

VBZ Verb, 3rd person singular present

WDT Wh-determiner

e.g which, and that when it is used as a relative pronoun

e.g what, who, whom

WP$ Possessive wh-pronoun

e.g

e.g how, where why

Punctuation Tags

#

$

''

(

)

,

:

``

- Một phát biểu khác về CRF: (Y|X) là một trường ngẫu nhiên điều kiện (Conditional Random Field) với điều kiện X khi ta chỉ tính được xác xuất có điều kiện P(Yi| Xi) với Yi⊂Y và Xi⊂ X và với mỗi Xi ta chọn được argmaxYi P(Yi|Xi) Trong bài toán dữ liệu dạng chuỗi, G có thể được biểu diễn như sau:

G = ( V={1,2,3,…m}, E={i,i+1}i=1…m-1)

Kí hiệu X=(X1, X2…Xn), Y=(Y1, Y2,…Yn) Ta có mô hình đồ thị vô hướng của CRF có dạng sau:

Trang 6

Hình: Đồ thị vô hướng mô tả cho CRF

3 Tính chất của trường ngẫu nhiên có điều kiện

- Mô hình phân biệt (discriminative models)

- Mô hình chuỗi (sequential models)

- Mô hình đồ thị vô hướng (Undirected graphical models)

4 Mục đích

- CRFs đã được chứng minh rất thành công cho các bài toán gán nhãn cho chuỗi như tách từ, gán nhãn cụm từ, xác định thực thể, gán nhãn cụm danh từ 

sử dụng phương pháp CRF kết hợp với một vài phương pháp xử lý khác (như xử lý ngôn ngữ tự nhiên) giúp nâng cao hiệu quả của trích xuất thông tin web

- Người ta thường huấn luyện CRFs bằng cách làm cực đại hóa hàm likelihood theo dữ liệu huấn luyện sử dụng các kĩ thuật tối ưu Việc lập luận (dựa trên mô hình đã học) là tìm ra chuỗi nhãn tương ứng của một chuỗi quan sát đầu vào Đối với CRFs, người ta thường sử dụng thuật toán qui hoạch động điển hình (Viterbi) để thực hiện lập luận với dữ liệu mới

- Cách giải quyết vấn đề: Giả sử cần rút trích thông tin từ trang web cho trước, khi đó cần xác định mục tiêu

+ Xác định trang web có chứa tin tức hay không?

+ Xác định vùng thông tin chứa tin tức?

+ Xác định tin tức thuộc loại tin tức nào?

 Có thể xem mục tiêu đặt ra được diễn giải như sau:

Cho một trang web x và tập DOM (document object model), nút lá cây x1,

…,xk trong x Đặt = y1,…,yk là nhãn có thể gán cho x1,…,xk với y1,…,yk là các nội dung của các nút x1,…,xk Lần lượt xét các nút đặc trưng chứa tin tức (xác định) để duyệt các nhãn của nó và chọn nhãn có nội dung là tin tức cần tìm

Trang 7

 Khi giải quyết các mục tiêu đề ra ta gặp các vấn đề cụ thể:

+ Công việc xác định trang web chứa tin tức nghĩa là khi nhập 1 trang web bất kỳ ta phải xác định trang web đó có nội dung chứa tin tức hay không?

+ Nếu như trang web có chứa tin tức, tìm kiếm các vùng dữ liệu mà nội dung của nó có chứa tin tức

+ Qua vùng tin tức ta cần xác định tin tức đó là tin tức thuộc thể loại nào

 Để giải quyết các vấn đề này ta có thể gặp 1 số khó khăn như:

+ Việc xác định vùng nội dung chứa tin tức được xác định dựa trên nội dung tin tức, điều này liên quan đến vấn đề xử lý văn bản tiếng Việt (nếu rút trích văn bản bằng tiếng Việt) Đây là một vấn đề khó khăn khi rút trích

+ Quá trình xử lý các trang web được thực hiện thông qua nhiều tầng lần, dễ xảy ra những sự cố

 Để giải quyết những khó khăn được nêu ở trên, phương pháp được áp dụng để xử lý là:

+ Xử lý tiếng việt chỉ xảy ra ở bước xác định từ loại điều này giúp vấn đề trở nên đơn giản hơn

+ Xác định ngữ pháp của câu

+ Sự giúp đỡ của bộ từ điển tiếng Việt

5 Thuật toán gán nhãn cho dữ liệu dạng chuỗi

- Hai vấn đề quan trọng cần phải được đề cập đến khi nghiên cứu về mô hình CRF đó là: thứ nhất khi đưa chuỗi nhãn y và một chuỗi quan sát x làm thế nào tìm

ra một tham số λ của CRF để làm cực đại hóa xác suất p(y|x, λ) vấn đề này tạm gọi

là huấn luyện (training) Thứ hai khi đưa ra một chuỗi quan xát x và một tham số λ làm thế nào để tìm được chuỗi các nhãn y phù hợp nhất tạm gọi vấn đề này quy nạp (inference)

- Mục đích của việc gán nhãn là làm sao tìm được chuỗi y* sao cho cực đại hóa xác suất p(y|x, λ) Hay nói cách khác mục đích của thuật toán là làm sao tìm ra chuỗi nhãn phù hợp nhất với chuỗi dữ liệu quan sát

- Thay việc tính xác suất tổng các xác suất ta chỉ cần tính giá trị lớn nhất của xác suất dịch chuyển Khi đó chuỗi trạng thái y* mô tả tốt nhất cho chuỗi dữ liệu quan sát x là nghiệm của phương trình

(**)

Trang 8

- Vì Z(x) không phụ thuộc vào nhãn riêng biệt x và số mũ là một hàm đơn điệu Nên ta bỏ qua Z(x) trong công thức (**) Để tìm được y*, thỏa mãn (**) thì gặp phải một khó khăn trong thời gian tính toán, vì thời gian tính toán là hàm mũ

- Chuỗi y* được xác định bằng thuật toán Virterbi Định nghĩa ∂i(y) là xác suất của chuỗi trạng thái độ dài i kết thúc bởi trạng thái y và có xác suất lớn nhất biết chuỗi quan sát là x Trong đó ∂1(yk) là xác suất đầu tiên của mỗi trạng thái yk

Ta định nghĩa Ψi(y) để ghi lại nhãn thứ i-1 có xác suất lớn nhất Thuật toán dừng khi

Ψi(y) có giá trị là 1

Thuật toán Viterbi có thể được mô tả qua các bước sau:

Bước 1: Khởi tạo

∂1(yk) =∑μk sk(y, x) , ∀y∈Y

Bước 2: Đệ quy

i+1(yk) = max (∂i(y’) + ∑λ k tk(y’, y, x) + ∑μk sk(y, x)), ∀y∈ Y

Ψi(y) = arg max(∂i(y’) + ∑λ k tk(y’, y, x) + ∑μk sk(y, x)), ∀y∈ Y

Bước 3: Dừng

Đệ quy dừng khi i=n bằng chiều dài của chuỗi

6 Ứng dụng

- Một trong các ứng dụng nổi trội của CRFs là rút trích thông tin (Information Extraction – IE) Dưới đây là module mô tả việc rút trích thông tin bằng phương pháp CRFs

Trang 9

Hình: Module rút trích thông tin bằng phương pháp CRFs

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

Trang 10

- Lợi ích của việc dùng CRF để trích chọn thông tin

+ Tiết kiệm thời gian Mỗi một bản tin đăng trên những website khác nhau thì

có những định dạng rất khác nhau: Có thể là định dạng văn bản thông thường, cũng có thể là dạng bảng biểu, hoặc các đường liên kết Với những cách thể hiện văn bản như vậy thì việc tìm ra những thông tin như văn bản loại gì: Kế hoạch, Công văn, Đề xuất; do đơn vị nào lập; Nội dung gì; Thời gian nào…là một việc tương đối khó khăn Với bài toán trích chọn thông tin văn bản thì sẽ tiết kiệm thời gian rất nhiều cho người quản lý văn bản

+ Có thể tìm kiếm thông tin chính xác hơn rất nhiều (Vấn đề ở đây là trong một bản tin có sự nhập nhằng giữa các nội dung chính của Kế hoạch hay Công văn v.v Việc trích chọn có thể giảm bớt sự nhập nhằng trong thông tin này)

+ Nói rộng hơn nữa bài toán trích chọn thông tin các văn bản chỉ là bài toán nhỏ Từ bài toán này ta cũng thấy được ý nghĩa của việc trích chọn thông tin trong tiếng Việt

+ Giúp cho việc tóm tắt văn bản chính xác nếu như chủ đề của văn bản được chỉ rõ

+ Tự tạo ra các trường liên quan một cách tự động trong cơ sở dữ liệu được lấy từ văn bản

+ Một số ứng dụng điển hình của trích chọn thông tin: sử dụng trích chọn thông tin trong thư viện số - DL (Digital Libraries) - thư viện số có thể hiểu là các văn bản hoặc hình ảnh… Rút trích thông tin từ thư điện tử Trích chọn tiểu sử người (có thể là chân dung, vịtrí, email, địa chỉ, số điện thoại, số fax…)

CHƯƠNG 2 GIỚI THIỆU CRF++ TOOLKIT

1 Giới thiệu

- CRF ++ là một công cụ cài đặt mô hình CRF và được phân phối dưới dạng

mã nguồn mở có thể dùng để phân đoạn và gán nhãn dữ liệu tuần tự

- CRF++ được thiết kế cho cùng một mục đích phổ dụng có thể ứng dụng trong những bài toán xử lý ngôn ngữ tự nhiên như nhận dạng thực thể tên, trích chọn thông tin và đóng khung văn bản

- Hệ thống được hoạt động theo phương pháp học nửa giám sát được thực hiện gồm các bước sau:

Trang 11

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

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 modulo chính có thể mô tả như hình như sau:

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

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

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 chmod 777 /configure

- make clean && make

Trang 12

4 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 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à 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

Ví dụ 1: Input: Data

He PRP B-NP reckons VBZ B-VP the DT B-NP

current JJ I-NP account NN I-NP deficit NN I-NP will MD B-VP narrow VB I-VP

to TO B-PP only RB B-NP

# # I-NP 1.8 CD I-NP billion CD I-NP

in IN B-PP September NNP B-NP O

Trang 13

He PRP B-NP reckons VBZ B-VP

Ví dụ 2:

Ke NN B-NP hoach NN I-NP bien VB B-VP soan VB I-VB giao NN B-NN trinh NN I-NN nam NN B-NN hoc NN I-NN

2011 CD B-CD

2012 CD I-VP

Template type

File này mô tả những đặc trưng sẽ sử dụng khi huấn luyện và kiểm tra Mỗi một dòng trong trong file template chỉ ra một template, mỗi một template có dạng

như sau %x[row,col] dùng để định nghĩa một từ trong dữ liệu đầu vào.

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

He PRP B-NP reckons VBZ B-VP the DT B-NP << CURRENT TOKEN current JJ I-NP

account NN I-NP

Ngày đăng: 21/05/2015, 12:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w