BÀI TẬP LỚN
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Đề tài: Gán nhãn từ loại cho văn bản tiếng Anh
Giáo viên hướng dẫn: PGS TS Lê Thanh Hương
Sinh viên thực hiện: Lê Xuân Tùng 20083004
Nguyễn Hán Luân 20081642
Lương Thành Công 20080314
Đỗ Duy Quang 20082051
Ngô Quang Vịnh 20083571
I.Khái quát về gán nhãn từ loại
II.Cơ sở lý thuyết
!"#
$%&'()*+,-.
$/012#"3.
III.Mô hình Markov ẩn
4+56
IV.Chương trình
I.Khái quát về gán nhãn từ loại
1. Khái niệm về gán nhãn từ loại.
Gán nhãn từ loại là một vấn đề rất quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên, đây là bước tiền
xử lý của nhiều bài toán và một số hệ thống thông minh khác.
Công việc gán nhãn từ loại cho một văn bản là xác định từ loại của mỗi từ trong phạm vi văn bản đó,
tức là phân loại các từ thành các lớp từ loại dựa trên thực tiễn hoạt động ngôn ngữ.
Việc gán nhãn từ loại thường được thể hiện bằng cách gán cho mỗi từ một “nhãn” có sẵn theo tập
nhãn cho trước.
Từ loại là những lớp từ có cùng bản chất ngữ pháp, được phân chia theo ý nghĩa khái quát,
theo khả năng kết hợp với các từ ngữ khác trong ngữ lưu và thực hiện những chức năng ngữ
pháp nhất định ở trong câu.
Mô tả bài toán:
Input: Một chuỗi các từ và tập nhãn từ loại và tập nhãn từ loại (Penn Treebank của tiếng Anh)
Output: Một nhãn tốt nhất cho từng từ trong chuỗi từ đã được đưa ra (Ví dụ: đối với chuỗi từ
“Book that Right.” thì nhãn thích hợp tương ứng cho từng từ sẽ là Book/VB that/DT
Right/NN)
Quá trình gán nhãn từ loại:
Giai đoạn tiền xử lý: Phân tách xâu ký tự thành chuỗi các từ. Giai đoạn này có thể đơn giản hay
phức tạp tuỳ theo ngôn ngữ và quan niệm về đơn vị từ vựng.
Khởi tạo gán nhãn, tức là tìm cho mỗi từ tập tất cả các nhãn từ loại mà nó có thể có. Tập nhãn
này có thể thu được từ cơ sở dữ liệu từ điển hoặc kho ngữ liệu đã gán nhãn bằng tay.
Quyết định kết quả gán nhãn, đó là giai đoạn loại bỏ nhập nhằng, tức là lựa chọn cho mỗi từ
một nhãn phù hợp nhất với ngữ cảnh trong tập nhãn khởi tạo nói trên. Có nhiều phương pháp
để thực hiện việc này, trong đó người ta phân biệt chủ yếu các phương pháp dựa vào quy tắc
ngữ pháp và các phương pháp xác suất.
2. Ứng dụng của bài toán gán nhãn từ loại.
Một số ứng dụng quan trọng của gán nhãn từ loại:
Thành công của việc gán nhãn từ loại tiếng Việt sẽ là cơ sở cho việc giải quyết các bài toán xử lý
ngôn ngữ tự nhiên khác như tóm tắt văn bản, phân cụm, phân loại văn bản …
Ứng dụng rộng rãi trong các hệ thống tìm kiếm thông tin, trong các ứng dụng tổng hợp tiếng
nói, các hệ thống nhận dạng tiếng nói cũng như trong các hệ thống dịch máy …
Một trong những ứng dụng thường được nhắc đến nhiều nhất của gán nhãn từ loại là trong hệ
thống dịch máy.
Có ba cách để thực hiện bài toán dịch máy là:
Dịch trực tiếp.
Dịch thông qua ngôn ngữ trung gian.
Dịch dựa trên chuyển đổi.
Nếu cây cú pháp bị gán nhãn từ loại sai dẫn đến cây cú pháp của câu cũng bị sai.
Giả sử như hệ thống tiến hành dịch câu sau đây từ tiếng Anh sang tiếng Việt: “Jet planes Ry
about nine miles high”, nếu không có sự trợ giúp của công cụ gán nhãn từ loại, hệ thống dịch
máy chỉ dịch từ từ sang từ thì ta sẽ có được kết quả tiếng Việt là “Phản lực các phi cơ bay
khoảng chín dặm cao” trong khi phải dịch chính xác là “Các phi cơ phản lực bay cao khoảng
chín dặm”
3. Các khó khăn của bài toán gán nhãn từ loại.
Giả sử mỗi từ chỉ có một nhãn từ loại và chúng ta có thể xây dựng được một từ điển hữu hạn
các từ và nhãn tương ứng của nó thì chắc chắn chúng ta có thể giải quyết được bài toán gán
nhãn từ loại với kết quả tối ưu.
Trong thực tế một từ đôi khi có thể có nhiều hơn một nhãn từ loại thích hợp điều này dẫn đến
hai vấn đề mà bài toán gán nhãn từ loại phải đối mặt: Nhập nhằng từ loại và từ mới.
Thực tế thì vấn đề chủ yếu của bài toán gán nhãn từ loại thực chất là việc loại bỏ nhập nhằng
về từ loại, tức là khi một từ có nhiều từ loại, nhưng trong một ngữ cảnh cụ thể, nó chỉ có thể
có một từ loại đúng mà thôi.
Nhìn chung, các nhập nhằng từ loại thường được giải quyết bằng cách xét đến ngữ cảnh mà từ
đó xuất hiện, tuy nhiên trong một số trường hợp, ngay cả khi có thông tin về ngữ cảnh mà một
số từ vẫn còn sự nhập nhằng về từ loại.
Một vấn đề khác mà bài toán gán nhãn từ loại cần phải xử lý là khi gặp những từ mới mà bộ
gán nhãn không thể giải quyết được bằng những cách thông thường. Trong trường hợp này,
thường thì hệ thống sẽ để nguyên và đánh dấu một từ loại đặc biệt để chuyển sang phần xử lý
tên riêng (proper name) hay từ mới (unknown word).
II. CƠ SỞ LÝ THUYẾT.
1. Tập nhãn trong gán nhãn từ loại.
Các tập nhãn sử dụng cho việc gán nhãn từ loại thường được xây dựng và phát triển từ các lớp
cơ bản là các lớp từ đóng và lớp từ mở.
Các lớp từ đóng (Closed word class, function word class)còn được gọi là các từ chức năng, là
một tập cố định và không thể mở rộng. Chúng gồm có:
Giới từ (Prepositions): on, under, over,…
Tiểu từ (Particles): abroad, about, around, before, in, instead, since, without,…
Mạo từ (Articles): a, an, the
Liên từ (Conjunctions): and, or, but, that,…
Đại từ (Pronouns): you, me, I, your, what, who,…
Trợ động từ (Auxiliary verbs): can, will, may, should…
Lớp từ mở trong Tiếng Anh:
Danh từ (Noun): book, cat, Alexander…
Động từ (Verb): go, run…
Tính từ (Adjectives): red, green, blue…
Động từ (Adverb): very, slowly
Lớp từ mở còn gọi là Open class, là các lớp từ có khả năng mở rộng bằng cách tạo thêm từ
mới hoặc “mượn” từ các ngôn ngữ khác.
Số lượng từ của lớp từ mở lớn hơn rất nhiều so với lớp từ đóng.
2.Học máy và xử lý ngôn ngữ tự nhiên.
Các phương pháp máy học được áp dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên được phân
loại như sau:
Hướng tiếp cận theo thống kê (stochastic approach).
Hướng tiếp cận theo biểu trưng: học theo ví dụ (instance – based learning), cây quyết định
(decision tree), logic quy nạp (inductive logic ) Trong các phương pháp này, đáng chú ý nhất
là phương pháp học dựa trên các luật chuyển đổi (TBL–Transformation Based Learning).
Phương pháp này cho phép đưa ra tập các khung luậttổng quát có thể giải quyết các vấn đề
nhậpnhằng tương tự nhau ( như trong bài toán gán nhãn từ loại ).
Hướng tiếp cận theo biểu trưng thay thế (sybsymbolic approach): mạng nơ-ron (neural
network), thuật toán di tuyền (genetic algorithm)
Ở đây chúng ta tập trung vào hướng tiếp cận thống kê và mô hình Markov ẩn.
3.Hướng tiếp cận thống kê.
Hướng tiếp cận thống kê được xem là một hướng tiếp cận mô tả quá trình thế giới thực tạo ra
dữ liệu quan sát được.
Các mô hình trong hướng tiếpcậnthống kê thường được thể hiện dưới dạng một mạng thống
kê các mối quan hệ phụ thuộc giữa các biến ngẫu nhiên. Mỗi nút của mạng có một phân phối,
và từ những phân phối này chúng ta cố gắng tìm ra các phân phối chung của dữ liệu quan sát.
Có khá nhiều môhình trong hướng tiếp cận này được áp dụng trong lĩnh vực xử lý ngôn ngữ
tự nhiên: mô hình phân loại Bayes, nguyên lý hỗn loạn cực đại, mô hình Markov ẩn .
III. MÔ HÌNH MARKOV ẨN.
1.Khái niệm
Mô hình markov ẩn là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là
một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn
từ các tham số quan sát được, dựa trên sự thừa nhận này.
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát,
và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất. Mô hình Markov ẩn thêm
vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện đầu ra có thể.
Cơ chế của mô hình Markov ẩn là sử dụng tất cả những thông tin đã có và đoán.
Gán nhãn dựa trên xác suất theo mô hình Markov ẩn:
Chọn thẻ từ loại làm tối đa xác suất.
P(từ|từ loại).P(từ loại| n từ loại phía trước)
Ví dụ:
The/DT grand/JJ jury/NN commented/VBD on/IN a/DT number/NN of/IN other/NNS
P(jury|NN)=1/2
Công thức Bigram HMM: chọn t cho w có nhiều khả năng nhất khi biết t
i
và w
i
:
t
i
= argmax
j
P(t
j
|t
i-1
,w
i
)
Giả thiết đơn giản hóa HMM: Vấn đề có thể giải quyết bằng cách dựa trên các từ và thẻ từ bên
cạnh nó:
t
i
=argmax
j
P(t
j
|t
j-1
).P(w
i
|t
j
)
xschuỗi thẻ xs thường xuất hiện với thẻ t
j
IV. CHƯƠNG TRÌNH
Chương trình được viết bằng ngôn ngữ C#.
Chương trình tính xác suất từ loại lớn nhất ứng với mỗi từ trong câu nhập vào và quyết định
từ loại cho từng từ.
Tệp học là tệp có tên test.pos.
Trong tập học này có chứa các câu đã được gán nhãn từ loại sẵn.
Ngăn cách giữa hai câu đã được gán nhãn là <s><s>
Sau đây là giao diện và cách sử dụng chương trình
Giao diện chương trình:
Load dữ liệu học:
Nhập vào một câu tiếng Anh:
End
Thank for watching!