Bài giảng xử lý ngôn ngữ tự nhiên Viện công nghệ thông tin và truyền thôngĐại học Bách Khoa Hà NộiBài giảng xử lý ngôn ngữ tự nhiên Viện công nghệ thông tin và truyền thôngĐại học Bách Khoa Hà NộiBài giảng xử lý ngôn ngữ tự nhiên Viện công nghệ thông tin và truyền thôngĐại học Bách Khoa Hà NộiBài giảng xử lý ngôn ngữ tự nhiên Viện công nghệ thông tin và truyền thôngĐại học Bách Khoa Hà NộiBài giảng xử lý ngôn ngữ tự nhiên Viện công nghệ thông tin và truyền thôngĐại học Bách Khoa Hà Nội
Trang 11
1
Xử lý ngôn ngữ tự nhiên
(Natural Language Processing)
Bộ môn Hệ thống Thông tin Viện CNTT &TT – Trường ĐHBKHN
2
Mục đích môn học
Hiểu các nguyên tắc cơ bản và các cách tiếp cận trong XLNNTN
Học các kỹ thuật và công cụ có thể dùng để phát triển các hệ thống
hiểu văn bản hoặc nói chuyện với con người
Thu được một số ý tưởng về các vấn đề mở trong XLNN
Tài liệu tham khảo
Christopher Manning and Hinrich Schütze 1999 Foundations of
Statistical Natural Language Processing The MIT Press
Dan Jurafsky and James Martin 2000 Speech and Language
Processing PrenticeHall
James Allen 1994 Natural Language Understanding The
Benjamins/Cummings Publishing Company Inc
Cuối kỳ: thi viết 70%
Điều kiện được thi cuối kỳ:
Có tất cả các loại điểm giữa kỳ
Bài tập lớn:
Viết tiểu luận hoặc cài đặt chương trình theo nhóm (4sv)
Bảo vệ kết quả trong 3 tuần cuối của học kỳ
Trang 2 Mục đích: hiểu được nhiều ngôn ngữ
Không chỉ đơn giản là xử lý xâu hoặc so khớp từ khoá
Trang 33
Các ứng dụng của XLNNTN
Trang 55
13
Trích rút thông tin
October 14, 2002, 4:00 a.m PT
For years, Microsoft Corporation CEO Bill Gates
railed against the economic philosophy of
open-source software with Orwellian fervor, denouncing
its communal licensing as a "cancer" that stifled
technological innovation
Today, Microsoft claims to "love" the open-source
concept, by which software code is made public to
encourage improvement and development by
outside programmers Gates himself says
Microsoft will gladly disclose its crown jewels the
coveted code behind the Windows operating
system to select customers
"We can be open source We love the concept of
shared source," said Bill Veghte , a Microsoft VP
"That's a super-important shift for us in terms of
code access.“
Richard Stallman , founder of the Free Software
Foundation , countered saying…
NAME TITLE ORGANIZATION Bill Gates CEO Microsoft Bill Veghte VP Microsoft Richard Stallman founder Free Soft
IE
Newsinessence [Radev & al 01]
Trang 66
16
Google News [02]
Trang 7Nói chuyện với Eliza
E: how are you today?
H: not so good
E: why do you say not so good?
H: i suffer from allergies?
E: that’s interesting
H: i come out in spots
E: i’m not sure i know what you’re talking about
Nói chuyện với Eliza
H: you’re a program, aren’t you?
E: does it please you to believe i am a program, am not i?
H: it sure does
E: i see
H: yup
E: a while back you talk about your face
H: what about your face?
E: what is it you really want to know?
H: are you my kind of girl?
E: perhaps in your fantasies i am your kind of girl
H: in my fantasies you are blonde
Trang 88
22
Nói chuyện với Eliza
E: what makes you think i am blonde?
Tại sao nghiên cứu XLNNTN
Nghiên cứu cách con người xác định từ
Nghiên cứu cách con người phân tích câu
Nghiên cứu cách con người học một ngôn
ngữ
Nghiên cứu cách ngôn ngữ tiến hóa
24
Trang 9nhập nhằng từ, phânt ích cấu trúc diễn ngôn, …
dựa trên tri thức, …
dịch máy, hỏi đáp, hiểu ngôn ngữ tự nhiên, …
26
Các mức phân tích
các tiền tố và hậu tố của từ
sử dụng ngôn ngữ trong giao tiếp
thế giới, các tri thức ngầm
27
Hình thái học
Tiếng Anh: ngôn ngữ biến hình, đa âm tiết
kick, kicks, kicked, kicking
sit, sits, sat, sitting
Cánh tay Quân đội
v: nhồi nhét; n: những cái đã ăn, hẻm núi
Trang 10 Giải pháp đơn giản: lấy chuỗi âm tiết dài nhất bắt
đầu từ vị trí hiện tại và có trong từ điển từ
Vấn đề: chồng chéo từ
Học sinh | học sinh | học
Học sinh | học | sinh học
Liệt kê tất cả các khả năng có thể và thiết kế một
giải pháp để lựa chọn cái tốt nhất
29
Gán nhãn từ loại
The boy threw a ball to the brown dog
The /DT boy /NN threw /VBD a /DT ball /NN to /IN
the /DT brown /JJ dog /NN /
DT – determiner từ chỉ định
NN – noun, danh từ, số ít hoặc số nhiều
VBD – verb, past tense động từ, quá khứ
Con ngựa đá con ngựa đá
quá/trạng_từ
Trang 1111
31
Ngữ pháp: nhập nhằng cấu
trúc (từ loại)
Time flies like an arrow
Time // flies like an arrow
Ông già // đi nhanh quá
Ông // già đi nhanh quá
I saw the man on the hill with a telescope
I saw the man on the hill with a telescope
Trang 12Nhưng ngữ pháp không nói
lên nhiều điều…
Colorless green ideas sleep furiously
[Chomsky]
fire match arson hotel
plastic cat food can cover
Trang 13 The bug in the room
was planted by spies
flew out the window
I work for John Hancock
and he is a good boss
which is a good company
38
Diễn ngôn: đồng tham chiếu
President John F Kennedy was assassinated
The president was shot yesterday
Relatives said that John was a good father
JFK was the youngest president in history
His family will bury him tomorrow
Friends of the Massachusetts native will hold a
candlelight service in Mr Kennedy ’s home
Luật hội thoại
Bạn ơi mấy giờ rồi?
Anh đưa cho em lọ muối được không?
Nói kèm theo diễn tả
Tôi cá với bạn 500.000 là đội Việt Nam sẽ
thắng
Trang 14 Mai ăn gì vào bữa tối?
Ai mang bữa tối đến cho Mai?
Các từ phải xuất hiện theo một trình tự nhất định:
a Chó kem ăn b Chó ăn kem
Hai câu “Mai nói chó ăn kem” và “Mai phủ nhận chó ăn
kem” không logic với nhau
Câu và thế giới: biết 1 câu là đúng hay sai – có thể trong
một vài trường hợp cụ thể nó đúng
“Tôi uống cà phê espresso sáng nay, nhưng Mai thông
minh” không hợp lý
Trang 1515
Tri thức ẩn
1 I want to solve the problem
I wanna solve the problem
2 I understand these students
These students I understand
I want these students to solve the problem
These students I want [x] to solve the
Singing Sing+ing; Bringing bring+ing
Cần phải biết duckl không phải là từ
Nhưng không thể nhớ tất cả vì quá nhiều
45
Ngoài bộ nhớ, ta cần gì?
Số nhiều trong tiếng Anh:
Toy+s -> toyz ; add z
Book+s -> books ; add s
Church+s -> churchiz ; add iz
Box+s-> boxiz ; add iz
Cần có hệ thống luật để sinh/xử lý các
trường hợp này
Trang 1616
46
“Phân tích” = gắn bề ngoài với
cách biểu diễn trong của nó
Vì sao XLNNTN khó: không có tương ứng
1-1 với bất kỳ cách biểu diễn nào
Ta cần biết cấu trúc dữ liệu và thuật toán để
thực hiện, mặc dù có thể xảy ra bùng nổ tổ
hợp ở bất cứ công đoạn xử lý nào
47
Phân tích câu hỏi
LSAT / (former) GRE
Sáu tượng điêu khắc – C, D, E, F, G, H – được triển lãm trong các
phòng 1, 2, 3 của một triển lãm
Tượng C và E có thể không trong cùng phòng
Tượng D và G phải trong một phòng
Nếu tượng E và F trong cùng phòng thì không có tượng nào khác
trong phòng đó
Có ít nhất 1 tượng triển lãm trong một phòng, không có nhiều hơn
3 tượng trong bất cứ phòng nào
Nếu tượng D được triển lãm trong phòng 3 và các tượng E, F trong
phòng 1, trong các phát biểu dưới đây, phát biểu nào đúng:
S: A Bug’s Life được chiếu ở rạp Summit
U: Khi nào nó được chiếu ở đó ?
S: Nó được chiếu lúc 2pm, 5pm, và 8pm
U: Tôi muốn 1 người lớn , 2 trẻ con cho buổi chiếu đầu
tiên Nó giá bao nhiêu?
Giải quyết đồng tham chiếu
Các nguồn tri thức:
Tri thức miền (Domain knowledge)
Tri thức về diễn ngôn (Discourse knowledge)
Tri thức thế giới (World knowledge)
Trang 17 Giải pháp tiềm năng:
Các mô hình xác suất xây dựng từ dữ liệu
P(“maison” “house”) cao
P(“L’avocat general” “the general avocado”) thấp
Nhắc lại các bài toán trong
XLNNTN
51
Trang 18 Kết hợp các thành phần cấu tạo nên từ
Loại hình thái từ (từ biến tố, từ phái sinh, từ ghép)
Ví dụ: quotations ~ quote/V + -ation(der.V->N) +
NNS
52
Phân tích cú pháp
Vào: chuỗi các cặp (từ/từ loại)
Ra: cấu trúc ngữ pháp của câu với các nút
được gán nhãn (từ, từ loại, vai trò ngữ pháp)
Vấn đề:
Quan hệ giữa từ, từ loại, và cấu trúc câu
Sử dụng nhãn cú pháp (Chủ ngữ, vị ngữ, bổ ngữ,
….)
Ví dụ: Tôi/ĐaT nhìn thấy/ĐgT Mai/DT
((Tôi/ĐaT)CN ((nhìn thấy/ĐgT) (Mai/DT)OBJ)VN)C
53
Ngữ nghĩa
Vào: cấu trúc ngữ pháp của câu
Ra: cấu trúc ngữ nghĩa của câu
Vấn đề:
Quan hệ giữa các đối tượng như chủ thể
(Subject), đối tượng (Object), tác nhân (Agent),
hậu quả (Effect) và các loại khác
((Học sinh/DT)CN ((học/ĐgT sinh học/DT)ĐgN)VN)C
(Học sinh/DT)Sbj (học/ĐgT)action (sinh học/DT)Obj
54
Trang 19Tách từ tiếng Việt
Bộ môn Hệ thống Thông tin
Viện CNTT &TT – Trường ĐHBKHN
1
Tách từ
Mục đích: xác định ranh giới của các từ trong câu
Là bước xử lý quan trọng đối với các hệ thống XLNNTN, đặc biệt là đối với các ngôn ngữ đơn lập, ví dụ: âm tiết Trung Quốc, âm tiết Nhật, âm tiết Thái, và tiếng Việt
Với các ngôn ngữ đơn lập, một từ có thể có một hoặc nhiều âm tiết
Vấn đề của bài toán tách từ là khử được sự nhập nhằng trong ranh giới từ
2
Từ vựng
tiếng Việt là ngôn ngữ không biến hình
Từ điển từ tiếng Việt (Vietlex): >40.000 từ, trong đó:
81.55% âm tiết là từ : từ đơn
15.69% các từ trong từ điển là từ đơn
70.72% từ ghép có 2 âm tiết
13.59% từ ghép ≥ 3 âm tiết
1.04% từ ghép ≥ 4 âm tiết
Trang 20Bảng 1 Độ dài của từ tính theo âm tiết
Qui tắc cấu tạo từ tiếng Việt
Từ đơn: dùng một âm tiết làm một từ
Ví dụ: tôi, bác, người, cây, hoa, đi, chạy, vì, đã, à, nhỉ, nhé
Từ ghép: tổ hợp (ghép) các âm tiết lại, giữa các âm tiết
đó có quan hệ về nghĩa với nhau
Từ ghép đẳng lập các thành tố cấu tạo có quan hệ bình đẳng với
nhau về nghĩa
Ví dụ: chợ búa, bếp núc
Từ ghép chính phụ các thành tố cấu tạo này phụ thuộc vào thành
tố cấu tạo kia Thành tố phụ có vai trò phân loại, chuyên biệt hoá
và sắc thái hoá cho thành tố chính
Ví dụ: tàu hoả, đường sắt, xấu bụng, tốt mã, ngay đơ, thằng tắp, sưng vù
5
Qui tắc cấu tạo từ tiếng Việt
Từ láy: các yếu tố cấu tạo có thành phần ngữ âm được lặp lại; nhưng vừa lặp vừa biến đổi Một từ được lặp lại cũng cho
ta từ láy
Biến thể của từ: được coi là dạng lâm thời biến động hoặc dạng "lời nói" của từ
Rút gọn một từ dài thành từ ngắn hơn
ki-lô-gam → ki lô/ kí lô
Lâm thời phá vỡ cấu trúc của từ, phân bố lại yếu tố tạo từ với những yếu tố khác ngoài từ chen vào Ví dụ:
khổ sở → lo khổ lo sở
ngặt nghẽo → cười ngặt cười nghẽo
danh lợi + ham chuộng → ham danh chuộng lợi
Trang 21Qui tắc cấu tạo từ tiếng Việt
Các diễn tả gồm nhiều từ (vd, “bởi vì”) cũng được coi là
Tiếp cận dựa trên từ điển
Tiếp cận theo phương pháp thống kê
Kết hợp hai phương pháp trên
8
Các phương pháp
So khớp từ dài nhất (Longest Matching)
Học dựa trên sự cải biến (Transformation-based Learning – TBL)
Chuyển đổi trạng thái trọng số hữu hạn (Weighted Finite State Transducer – WFST)
Độ hỗn loạn cực đại (Maximum Entropy – ME)
Học máy sử dụng mô hình Markov ẩn (Hidden Markov Models- HMM)
Học máy sử dụng vectơ hỗ trợ (Support Vector Machines)
Kết hợp các phương pháp trên
9
Trang 22Tiếp cận dựa trên từ điển
<Lê Thanh Hương, Phân tích cú pháp tiếng Việt, Luận văn cao học, 1999>
Xây dựng từ điển
Mỗi mục từ lưu thông tin về từ, từ loại, nghĩa loại
Tổ chức sao cho tốn ít bộ nhớ và thuận tiện trong việc tìm kiếm
Mã hóa từ điển: Từ loại và nghĩa loại kiểu byte được lưu dưới dạng một ký tự
VD: danh từ -112 – p, <loại từ> - 115 – s
10
Tiếp cận dựa trên từ điển
Phân trang theo hai chữ cái đầu của từ, sắp tăng Với mỗi trang, các từ lại được sắp theo vần ABC
Độ dài tối đa của từ? 3? 4? 5?
Vấn đề: nếu ngắn (vd 3), không xử lý được các tổ hợp từ cố định, vd "ông chẳng bà chuộc“
Đưa ra tất cả các từ ghép có trong từ điển trùng với phần đầu của xâu vào
Trang 23 Lấy tất cả các cách phân tích, nếu phân tích
cú pháp cho ra cây đúng thì đó là cách phân tích đúng
14
Cách tiếp cận lai
<Phuong Le-Hong et al., A hybrid approach to word segmentation of Vietnamese texts, Proceedings of the 2nd International Conference on Language and Automat Theory and Applications, LATA 2008, Tarragona, Spain, 2008.>
Kết hợp phân tích automat hữu hạn + biểu thức chính quy + so khớp từ dài nhất + thống kê (để giải quyết nhập nhằng)
Trang 24 ‘*John’ -> ‘John’, ‘Ajohn’, “Decker John”
Biểu thức chính quy được sử dụng đặc biệt nhiều trong:
Trang 25Automat hữu hạn
Lớp ngôn ngữ chính qui, được đoán nhận bởi máy ảo, gọi tên là automat hữu hạn
Automat hữu hạn đơn định (Deterministic Finite Automat a– DFA
Automat hữu hạn không đơn định (Nondeterministic Finite Automat a– NFA)
Automat hữu hạn không đơn định, chấp nhận phép truyền rỗng (ε-NFA)
19
Giới thiệu phi hình thức về
automat hữu hạn
Một bài toán trong automat là nhận diện
chuỗi w có thuộc về ngôn ngữ L hay không
Chuỗi nhập được xử lý tuần tự từng ký hiệu một từ trái sang phải
Trong quá trình thực thi, automat cần phải nhớ thông tin đã qua xử lý
20
Ví dụ về automat hữu hạn
L = {w {0, 1}* | w kết thúc bằng chuỗi con 10}
Trang 26Automat hữu hạn cho các từ tiếng Anh
Hệ thống chọn chuỗi âm tiết dài nhất từ vị trí hiện tại và
có trong từ điển, chọn cách tách có ít từ nhất
Hạn chế: có thể đưa ra cách phân tích không đúng
Giải quyết: liệt kê tất, có 1 chiến lược để chọn cách tách tốt nhất
Trang 27Lựa chọn cách tách từ
Biểu diễn đoạn gồm chuỗi các âm tiết s1 s2 … sn
Trường hợp nhập nhằng thường xuyên nhất là 3 âm tiết liền nhau
Trang 28Phân giải nhập nhằng
Khi n = 2, tính giá trị P(wi|wi-1) lớn nhất maximum likelihood (ML)
c(s): số lần xâu s xuất hiện; N: tổng số từ trong tập luyện
Khi dữ liệu luyện nhỏ hơn kích cỡ toàn bộ tập dữ liệu
Từ tập dữ liệu mẫu, định nghĩa C(wi-1,wi) là số lần (wi-1,
wi) xuất hiện trong tập mẫu Ta cần chọn 1 2 để làm cực đại giá trị
với 1 + 2 = 1 và 1, 2 ≥ 0
Trang 29Thuật toán
31
Kết quả
Sử dụng tập dữ liệu gồm 1264 bài trong báo Tuổi trẻ, có 507,358 từ
Lấy = 0.03, các giá trị hội tụ sau 4 vòng lặp
Độ chính xác = số từ hệ thống xác định đúng/tổng số từ hệ thống xác định = 95%
Trang 301
Gán nhãn từ loại
Bộ môn Hệ thống Thông tin
Viện CNTT &TT – Trường ĐHBKHN
2
Định nghĩa
Gán nhãn từ loại (Part of Speech tagging - POS tagging): mỗi từ trong câu được gán nhãn thẻ từ loại tương ứng của nó
Vào : 1 đoạn văn bản đã tách từ + tập nhãn
Nhận dạng tiếng nói, PTCP, tìm kiếm, v.v…
Dễ đánh giá (có bao nhiêu thẻ được gán nhãn đúng?)
Trang 314
Tập từ loại tiếng Anh
Lớp đóng (các từ chức năng): số lượng cố định
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,…
adverbs adjectives
nouns common nouns
count nouns : book, ticket mass nouns : snow, salt auxiliaries
Color : red, white Age : old, young Value : good, bad
Degree adverbs : extremely, very, somewhat Manner adverbs : slowly, delicately Temporal adverbs : yesterday, Monday Locatives adverbs : home, here, downhill
6
Tập nhãn cho tiếng Anh
tập ngữ liệu Brown: 87 nhãn
3 tập thường được sử dụng:
Nhỏ: 45 nhãn - Penn treebank (slide sau)
Trung bình: 61 nhãn, British national corpus
Trang 327 8
I know that blocks the sun
Penn Treebank – ví dụ
The grand jury commented on a number of
other topics
The/ DT grand/ JJ jury/ NN commented/ VBD
on/ IN a/ DT number/ NN of/ IN other/ JJ
topics/ NNS /
Trang 33nhất, dựa trên mô hình Markov ẩn (hidden markov model – HMM)
đoán, chỉ loại trừ những khả năng sai”
có thể thay đổi”
Trang 3413
Gán nhãn dựa trên xác suất
Cho câu hoặc 1 xâu các từ, gán nhãn từ loại
thường xảy ra nhất cho các từ trong xâu đó
Cách thực hiện:
Hidden Markov model (HMM):
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)
The/DT grand/JJ jury/NN commented/VBD on/IN a/DT
number/NN of/IN other/JJ topics/NNS /
Giả thiết đơn giản hóa HMM: vấn đề gán nhãn
có thể giải quyết bằng cách dựa trên các từ và thẻ từ loại bên cạnh nó
ti = argmaxj P(tj | ti-1 ) P(wi | tj ) (2)
xs chuỗi thẻ (các thẻ đồng xuất hiện) xs từ thường xuất hiện với thẻ tj
Trang 3516
Ví dụ
1. Secretariat/NNP is/VBZ expected/VBN to/TOrace/VB
tomorrow/NN
2. People/NNS continue/VBP to/TO inquire/VB the/DT
reason/NN for/IN the/DTrace/NN for/IN outer/JJ
space/NN
Không thể đánh giá bằng cách chỉ đếm từ trong tập ngữ
liệu (và chuẩn hóa)
Muốn 1 động từ theo sau TO nhiều hơn 1 danh từ (to
race, to walk) Nhưng 1 danh từ cũng có thể theo sau
TO (run to school)
17
Giả sử chúng ta có tất cả các từ loại trừ từ race
Chỉ nhìn vào từ đứng trước(bigram):
to/TO race/??? NN or VB?
the/DT race/???
Áp dụng (2):
Chọn thẻ có xác suất lớn hơn giữa 2 xác suất:
P(VB|TO)P(race|VB) hoặc P(NN|TO)P(race|NN)
xác suất của 1 từ là race khi biết từ loại là VB
P(VB|TO)P(race|VB) = 0.00001
P(NN|TO)P (race|NN) = 0.000007
race cần phải là động từ nếu đi sau “TO”
Trang 3619
Mô hình đầy đủ
Chúng ta cần tìm chuỗi thẻ tốt nhất cho toàn xâu
Cho xâu từ W, cần tính chuỗi từ loại có xác suất lớn
P(A,B,C,D…) = P(A)P(B|A)P(C|A,B)P(D|A,B,C )
1 1 1 1 1 1 1 1 1
Giả thiết trigram
Xác suất 1 từ chỉ phụ thuộc vào nhãn của nó
Ta lấy lịch sử nhãn thông qua 2 nhãn gần nhất (trigram: 2 nhãn gần nhất + nhãn hiện tại)
Trang 38 Sử dụng tìm kiếm kiểu best-first (A*)
1. Tại mỗi bước, chọn k giá trị tốt nhất ( ) Mỗi giá trị trong k giá trị này ứng với 1 khả năng kết hợp nhãn của tất cả các từ
2. Khi gán từ tiếp theo, tính lại xác suất Quay lại bước 1
Ưu: nhanh (không cần kiểm tra tất cả các khả năng
kết hợp, chỉ k cái tiềm năng nhất)
Nhược: có thể không trả về kết quả tốt nhất mà chỉ
chấp nhận được
Trang 39Gán từ chưa biết = danh từ
Người: 97%+/- 3% ; nếu có thảo luận: 100%
29
Cách tiếp cận thứ 2: gán nhãn dựa trên chuyển đổi
Transformation-based Learning (TBL):
Kết hợp cách tiếp cận dựa trên luật và cách tiếp cận xác suất: sử dụng học máy để chỉnh lại thẻ thông qua vài lần duyệt
Gán nhãn sử dụng tập luật tổng quát nhất, sau đó đến tập luật hẹp hơn, thay đổi một số nhãn, và tiếp tục
30
Ví dụ với TBL
Trang 402 …expected/VBZ to/ TO race/NN tomorrow/NN
…the/DT race/NN for/IN outer/JJ space/NN
3 Sử dụng luật chuyển đổi:
pos: ‘NN’>’VB’ pos: ‘TO’ @[-1] o