Với một công cụ phân tích cú pháp tốt, chúng ta có thể tích hợp vào nhiều ứng dụng trong xử lý ngôn ngữ tự nhiên như dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp, … để tăng tính chính
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
─────── * ───────
BÀI TẬP LỚN MÔN :
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
ĐỀ TÀI :
PHÂN TÍCH CÚ PHÁP THỐNG KÊ
Gv h ướng dẫn: ng d n: ẫn: PGS.TS Lê Thanh Hương
Trang 2Hà Nội, tháng 5 năm 2012
M C L C ỤC LỤC ỤC LỤC
I.GIỚI THIỆU 3
II PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN 5
1 Hoạt động của bộ phân tích 5
2 Mô hình xác suất ME 8
2.1 Mô hình xác suất sử dụng ngữ cảnh để dự đoán hành động phân tích 8
2.2 Maximum Entropy Framework 9
3 Thuật toán tìm kiếm cây cú pháp có điểm số cao nhất 12
III.GIAO DIỆN CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ KẾT QUẢ 15
1 Giao diện chương trình DEMO 15
2 Demo 15
3 Đánh giá 16
IV.KẾT LUẬN 18
Trang 3V Tài liệu tham khảo 18
Trang 4I.GI I THI U ỚI THIỆU ỆU
Phân tích cú pháp là một vấn đề cơ bản và quan trọng trong xử lý ngôn ngữ tự nhiên Với một công cụ phân tích cú pháp tốt, chúng ta có thể tích hợp vào nhiều ứng dụng trong xử lý ngôn ngữ tự nhiên như dịch máy, tóm tắt văn bản, các hệ thống hỏi đáp, … để tăng tính chính xác của các ứng dụng đó
Mục tiêu của phân tích cú pháp là ngôn ngữ tự nhiên là cho một câu đầu vào, và đầu ra trả về một đại diện cú pháp tương ứng có khả năng giải thích ngữ nghĩa của câu Ví dụ, đầu vào, là câu sau:
I buy cars with tires
Đầu ra, trả ra một cây cú pháp có định dạng:
Trong đó các nhãn trung gian ( không phải nút lá và nút gốc) là các dạng của từ loại ( vd: PP: giới từ, VP: động từ…)
Phân tích cú pháp đúng đắn là một nhiệm vụ khó khăn bởi vì ngữ nghĩa của từ - từ quan điểm của bộ phân tích cú pháp – thay đổi trong ngữ cảnh của câu Trong bối cảnh ngữ pháp của Tiếng Anh, một câu có thể có nhiều các phân tích cú pháp được chấp nhận, tuy nhiên chỉ một trông số đó được coi là cách giải thích tương ứng có thể có của câu Một phân tích cú pháp thực sự cần biết chi tiết ngữ nghĩa của một số từ quan trọng trong câu
Trang 5Các phân tích cú pháp hiện nay cho thấy độ chính xác cao trên văn bản trên tất cả các lĩnh vực phân loại thống kê hoặc dựa trên ngữ liệu, vì họ sẽ tự động tìm hiểu kiến thức cú pháp và ngữ nghĩa gần đúng cho phân tích cú pháp
từ một ngữ liệu lớn của văn bản, được gọi là treebank, đã được chú thích bằng tay với thông tin cú pháp.Để đánh giá tính chính xác của một phân tích cú pháp thống kê, chúng tôi sẽ thực hiện trên một tập hợp con của treebank, thử nghiệm
nó trên một tập hợp con không chồng chéo, và sau đó so sánh các thành phần cú pháp dán nhãn nó đề xuất với thành phần cú pháp dán nhãn trong chú thích của treebank Độ chính xác thành phần có dán nhãn của các phân tích cú pháp tốt nhất tiếp cận khoảng 90% khi thử nghiệm tự do xảy ra các câu trong tạp chí miền Wall St.Journal
Trang 6II PH ƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN NG PHÁP GI I QUY T BÀI TOÁN ẢI QUYẾT BÀI TOÁN ẾT BÀI TOÁN
Giới thiệu phương pháp phân tích cú pháp với mô hình Maximum Entropy (MEM):
Bộ phân tích đưa ra ở đây xây dựng các cây cú pháp được gán nhãn gần giống như phương pháp của bộ phân tích chuẩn shift - reduce MEM được huấn luyện bởi tập dữ liệu là ngân hàng cây cú pháp TreeBank Khi phân tích một câu, bộ phân tích sử dụng một hàm tìm kiếm để tìm cây cú pháp phù hợp nhất (có điểm số cao nhất)
Phần 1 mô tả hoạt động của hàm xây dựng cây cú pháp, phần 2 mô tả mô hình xác suất ME, phần 3 mô tả thuật toán tìm kiếm cây cú pháp có điểm số cao nhất
1 Ho t đ ng c a b phân tích ạt động của bộ phân tích ộng của bộ phân tích ủa bộ phân tích ộng của bộ phân tích
Hoạt động của bộ phân tích biểu diễn bởi các procedures, mỗi hàm sử dụng độ lệch d={a1,a2, ,an) và sử dụng một số action an+1 để tạo một độ lệch mới mới d’={a1,a2….an+1) Chức năng của các hàm được thiết kế sao cho bất cứ cây cú pháp T nào hoàn chỉnh cũng có đúng một sai số
Các procedures ở đây là TAG, CHUNK, BUILD và CHECK, và được áp dụng trong ba giai đoạn từ trái sang phải trên câu đầu vào
Giai đoạn đầu tiên sử dụng TAG, giai đoạn 2 sử dụng CHUNK, giai đoạn
3 sử dụng BUILD và CHECK
Chức năng của các hàm được tổng hợp trong bảng dưới đây:
Trang 7Các phần dưới đây lấy ví dụ là câu: I saw the man with the telescope
1.1 First Pass:
Đầu tiên lấy câu đầu vào, sử dụng TAG để gán cho mỗi từ một nhãn từ loại Kết quả của TAG cho mỗi từ như dưới đây:
Giai đoạn này giống như bộ gán nhãn trong bài giảng của
(Weishedel,1993) nhưng tích hợp hàm tìm kiếm của bộ phân tích, do đó bộ phân tích không cần không cần thực hiện việc gán nhãn cho một chuỗi thẻ từ loại đơn
1.2 Second Pass:
Giai đoạn 2 lấy đầu ra của giai đoạn 1, sử dụng CHUNK để xác định các cụm từ nguyên tố của câu Đi từ trái, CHUNK gán nhãn mỗi cặp (word, POS tag) một nhãn “chunk”, có thể là Start X, Joint X hoặc Other, trong đó X là một nhãn phần tử nguyên tố, kết quả của giai đoạn này như sau:
Trang 81.3 Third Pass:
Giai đoạn này là kết hợp luân phiên của BUILD và CHECK, ghép hoàn toàn các nhãn nguyên tố lại BUILD luôn xử lý cây bên trái nhất mà không có Start X hoặc Join X, hình dưới là kết quả sau khi áp dụng BUILD được Join VP, sau khi BUILD, bộ điều khiển chuyển qua CHECK, để kết luận xem kết quả có được sử dụng:
Hình dưới đây là quá trình đi từ bên phải
Hình dưới là kết quả của CHECK tìm các cặp trong hình 7 và bỏ đi
Trang 92 Mô hình xác su t ME ất ME
2.1 Mô hình xác su t s d ng ng c nh đ d đoán hành đ ng phân ất sử dụng ngữ cảnh để dự đoán hành động phân ử dụng ngữ cảnh để dự đoán hành động phân ụng ngữ cảnh để dự đoán hành động phân ữ cảnh để dự đoán hành động phân ảnh để dự đoán hành động phân ể dự đoán hành động phân ự đoán hành động phân ộng phân tích.
Bộ phân tích sử dụng cách tiếp cận dựa trên lịch sử Trong đó xác suất
PX(a|b) được sử dụng để tính 1 sự kiện a trong thủ tục X∈{TAG, CHUNK, BUILD, CHECK}, phụ thuộc vào nguồn bộ phận b (cũng được gọi là ngữ cảnh hoặc lịch sử) mà sẵn có ở thời điểm quyết định Mô hình xác suất có điều kiện
PX được đánh giá theo Maximum Entropy Framework Lợi ích của Framework
là chúng ta có thể sử dụng tùy ý các thông tin trong ngữ cảnh b khi tính xác suất của hành động a trong thủ tục X
Khi mà ngữ cảnh b là 1 nguồn giàu thông tin , thật khó để xác định chính xác thông tin gì là hữu ích cho việc phân tích cú pháp Tuy nhiên , chúng ta muốn thực hiện những trực giác dưới đây về việc phân tích cú pháp
+ Sử dụng các từ đầu là hữu ích
+ Sử dụng tập hợp các từ đầu là hữu ích
+ Sử dụng các thông tin ít cụ thể là hữu ích
+ Cho phép giới hạn những từ phía trước là hữu ích
Trang 10Những trực giác bên trên được thực hiện trong Maximum Entropy Framework như là các đặc tính (features), mỗi features được gán 1 trọng số tương thích với sự hữu ích của nó trong mô hình dữ liệu
2.2 Maximum Entropy Framework:
a Ý tưởng:
Input : Đ u vào x và m t t p các đ c tr ng f, ràng bu c ầu vào x và một tập các đặc trưng f, ràng buộc ột tập các đặc trưng f, ràng buộc ập các đặc trưng f, ràng buộc ặc trưng f, ràng buộc ưng f, ràng buộc ột tập các đặc trưng f, ràng buộc
Output: x trong l p c (c a t p C) d a trên xác su t P(c | x) ớp c (của tập C) dựa trên xác suất P(c | x) ủa tập C) dựa trên xác suất P(c | x) ập các đặc trưng f, ràng buộc ựa trên xác suất P(c | x) ất P(c | x)
Ví d :ụ: x = race trong “I like to race.”
f = từ (race), từ trước (to)
c = VP
Mục tiêu : Ước lượng xác suất p
Chọn p có maximum entropy tùy thuộc vào ràng buộc đã biết trước:
Trong đó :
A: là tập các lớp biết trước
B: là tập ngữ cảnh
b Các đặc trưng :
Một đặc trưng là một ánh xạ được dùng để mô tả đặc trưng của thông tin
đã biết
Trang 11A: Tập các lớp có thể có (ví dụ các tag trong POS tagging)
B: Không gian ngữ cảnh (ví dụ: các từ kế cận
Ví dụ:
c Một số kí hiệu:
- Tập huấn luyện: S
- Xác suất được quan sát của x trong tập S:
- Mô hình xác suất p của x: P(x)
- Đặc trưng thứ j: fj.
- Mô hình xác suất mong đợi đã quan sát được của fj :
- Mô hình xác suất mong đợi của fj :
d Ràng buộc:
Mong đợi đặc trưng của mô hình = Mong đợi đặc trưng đã quan sát được
e Lựa chọn đặc trưng:
~p(x)
E ~p f j=∑
x∈ ε
~p( x )f j(x)
E p f j=∑
x∈ε
p( x)f j(x)
Training Data
Templates
GIS/IIS Algorithm Features Optimal Features
Trang 12+ Training Data (Tập huấn luyện)
={(a1, b1), (a2, b2), …, (aN, bN)}
Trong đó: a1, a2, …, aN: tập các lớp biết trước
b1, b2, …, bN: tập ngữ cảnh được phân lớp đúng
+ Templates (Tập khuôn mẫu)
- Là những điểm cần chú trọng để tạo ra các đặc trưng
- Template do người dùng định nghĩa
- Một số template trong bài tách câu:
+ GIS/IIS Algorithm: Giải thuật ước lượng tham số là giải thuật tính trọng số
cho tập fj
+ Thuật toán GIS:
- Khởi tạo:
- Lặp cho đến khi hội tụ: với mỗi j:
Tính :
λ(j0)
E
p(n)f j= ∑
x∈ε
p(n )
( x)f j( x )
Trang 13Khi :
Cập nhật:
Đặc điểm của GIS:
- L(p(n+1)) >= L(p(n))
- Bảo đảm hội tụ về p*
- Quá trình hội tụ có thể rất lâu
- Thời gian chạy của mỗi vòng lặp O(NPA):
N: kích thước tập huấn luyện P: Số lượng các lớp
A: số đặc trưng trung bình có liên quan cho một biến cố (a,b)
3 Thu t toán tìm ki m cây cú pháp có đi m s cao nh t: ật toán tìm kiếm cây cú pháp có điểm số cao nhất: ếm cây cú pháp có điểm số cao nhất: ểm số cao nhất: ố cao nhất: ất ME
Hàm heuristic để tìm kiếm cay tốt nhất T* định nghĩa như sau:
p(n )
j=1
k
α
j f j(x )
λ(j n+1 )
=λ(j n )
[ E~ p f j
E
p(n) f j]
1
C
Trang 14Trên là heuristic tìm kiếm theo chiều rộng K kết quả tốt nhất, trong đó trees(S) là tất cả các cú pháp hoàn chỉnh cho một câu đầu vào Nó sẽ lấy top K kết quả tốt nhất, dừng lại khi tìm thấy M kết quả hoàn chỉnh hoặc khi tập luật đã hết
Thời gian hoạt động của thuật toán này phụ thuộc vào độ dài câu và cấu hình máy:
Trang 16III.GIAO DI N CH ỆU ƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN NG TRÌNH VÀ ĐÁNH GIÁ
K T QU ẾT BÀI TOÁN ẢI QUYẾT BÀI TOÁN
1 Giao di n ch ện chương trình DEMO: ương trình DEMO: ng trình DEMO:
Chương trình được xây dựng trên nền tảng ngôn ngữ C#:
2 Demo:
Phân tích cú pháp câu:
Although it rain, i go to school
Trang 173 Đánh giá
Dựa trên tập mẫu hơn 40000 câu và test 2416 câu, sử dụng công thức đánh giá được công nhận:
Thu được kết quả đánh giá độ chính xác sau:
Trang 18Tốc độ của hàm tìm kiếm:
Trang 19IV.K T LU N ẾT BÀI TOÁN ẬN
- Mô hình maximum entropy tương đối hiệu quả trong bài toán phân loại
cú pháp thống kê
- Phương pháp phân tích cho kết quả tốt
- Thời gian trả kết quả tương đối nhanh
- Có thể dễ diễn giải với người dùng
- Hướng phát triển: ứng dụng cho ngôn ngữ Tiếng Việt
V Tài li u tham kh o ện chương trình DEMO: ảo
http://www.codeproject.com/Articles/12109/Statistical-parsing-of-English-sentences
3 Giáo trình “ Xử lý ngôn ngữ tự nhiên” – Lê Thanh Hương
4 Micheal Collins 2003 Head-Driven Statisticcal Models for Natural
Language Parsing MIT Artificial Intelligence Laboratory
5.Learning to Parse Natural Language with Maximum Entropy Models Dept,
of Computer and Information Science University of Pennsylvania 200 South 33rd Street Philadelphia, PA 19104-6389
6.Eugene Charniak 1997 Statistical parsing with a context-free grammar and word statistics Proceedings of the Fourteenth National Conference on Artificial Intelligence, AAAI Press/MIT Press, Menlo Park