phân tích hình thái từ · chuyển đổi ⚫mục tiêu: ánh xạ đầu vào với đầu...
TRANSCRIPT
Phân tích hình thái từ
(morphology)
Lê Thanh Hương
Bộ môn Hệ thống Thông tin
Viện CNTT &TT – Trường ĐHBKHN
Email: [email protected]
1
2
Motivation
⚫ Cấu tạo từ
• Cats → CAT + N(oun) + PL(ural)
⚫ Ứng dụng:
• Tìm biên từ (e.g., Latin, Chinese)
• Tìm kiếm thông tin
• Phân loại văn bản
• …
3
Hình thái từ
⚫ Hình thái từ nghiên cứu cách từ được tạo ra từ các đơn vị nhỏ hơn gọi là hình vị (morpheme)
Vd:
disadvantages = dis + advantage + s
⚫ 2 lớp:
⚫ Hình thái học biến thể (inflectional morphology)
⚫ Hình thái học dẫn xuất (derivational morphology)
4
Hình thái học biến thể
⚫ Gốc từ + hình vị ngữ pháp → từ:⚫ Cùng lớp với từ gốc
⚫ Liên quan đến ngữ pháp của câu
Example: sự phù hợp giữa chủ thể - động từ
⚫ He hit-s the ball
⚫ We hit the ball
⚫ Số nhiều và sở hữu
⚫ Cats, cat’s
5
Hình thái học dẫn xuất
⚫Gốc từ + hình vị ngữ pháp → từ :
⚫ Khác lớp, vd, transmit->transmission (Verb thành Noun)
⚫ Đổi nghĩa
Hậu tố Động từ/tính từ gốc Dẫn xuất từ
-ation computerize(V) computerization(N)
-ee appoint(V) appointee(N)
-er love(V) lover(N)
-ness fuzzy(Adj) fuzziness
-less clue(N) clueless
6
Vấn đề
Xây dựng bộ phân tích hình thái từ
Đầu vào Đầu ra
Cats Cat + N + PL
Cat Cat + N + SG
Cities City + N + PL
Goose Goose + N + SG
Geese Goose + N + PL
Gooses Goose + V + 3SG
Merging Merge + V + PRES-PART
caught (catch + V + PAST-PART) or (catch + V + PAST-PART)
7
Giải pháp 1: Sử dụng từ điển
Không thực tế: một số ngôn ngữ kết nối các từ đơn
với nhau để tạo ra một từ có nghĩa.
German:
Leben+s+versichergun+gesellschaft+s+angestellter
(life+CmpAug+insurance+CmpAug+company+Comp
Aug+employee)
Từ ghép tiếng Tàu: ~3000 ‘từ’ được dùng để ghép nối
tạo ra hàng chục nghìn từ mới
8
Giải pháp 2: Phân tích từng
hình vị từ
⚫ mis + interpret + ation + s
MIS + INTERPRET + noun form + plural
Không thực tế: không thể thấy tất cả các phần trong từ điển
Ex: cities citie + s; cities citi + es
9
Định nghĩa bài toán
Các tri thức cần
✓ Các hậu tố nào theo sau từ gốc, và theo trật tự nào
⚫ Cat/cats (biến thể )
⚫ Dog/dogged (dẫn xuất)
✓ Mỗi đuôi chỉ đi với vài từ
⚫ Do+er ok; nhưng không có be + er
✓ Luật thay đổi vần điều chỉnh dạng biểu diễn bên ngoài
so với dạng từ vựng:
⚫ Get+er→ double the t → getter
⚫ Fox+s → insert e → foxes
⚫ Fly+s → insert e → flyes → Y to I → flies
10
Thuật ngữ cơ bản và động cơ
⚫ Gốc từ (stem): đơn vị mang nghĩa gốc của từ (morpheme)
⚫ Phụ tố (affixes): các đơn vị kết hợp với gốc từ để biến đổi ý nghĩa và chức năng ngữ pháp
⚫ Tiền tố (prefix): un- , anti-, ...
⚫ Hậu tố (suffix): -ity, -ation, ...
⚫ Trung tố (infix):
Tagalog: um+hinigi → humingi (borrow)
11
Cách thực hiện
⚫ Muốn mô hình hóa sự kết hợp các hình vị
⚫ Cần nhớ một số hình vị chỉ kết nối được với
một số hình vị khác
⚫ Sử dụng automat hữu hạn trạng thái
(finite-state automata - fsa)
12
Mô hình automat hữu hạn
trạng thái :
13
Cách thực hiện : máy 2 – tầng
f l
F L
Surface form
Underlying form
Y
Lexicon
+
i
S
se
Finite-state transducer
14
Định nghĩa automat hữu hạn
trạng thái
⚫ automat hữu hạn trạng thái (đơn định) là
một bộ 5 (Q,S,d, q0, F) với
⚫ Q : tập hữu hạn các trạng thái
⚫ S : tập hữu hạn các ký hiệu kết thúc (bảng chữ
cái)
⚫ q0 Q : trạng thái đầu
⚫ F Q : tập các trạng thái kết thúc
⚫ d : hàm ánh xạ từ Q x S sang Q, là hàm chuyển
15
Dùng fsa để xây dựng bộ nhận
dạng từ các hình vị
1. Xây dựng fsa để nhận dạng các dạng biến
thể của từ
2. Xây dựng fsa để nhận dạng các dẫn xuất
3. Sử dụng chúng để nhận dạng từ
4. Biến đổi chúng thành bộ chuyển đổi hữu
hạn trạng thái để phân tích hình thái từ
(transducer)
5. Bổ sung các qui luật biến đổi vần
16
FSA cho sự biến tố của danh
từ
⚫ 2 lớp từ:
⚫ Từ thông thường: cat, table, city: thêm s
⚫ Từ đặc biệt: goose, mouse, sheep (ghi nhớ)
17
FSA cho sự biến tố của danh
từ
18
Hình thái học dẫn xuất
(derivational morphology)
⚫ Phức tạp hơn hình thái học biến tố
⚫ Xét các tính từ:
⚫ Big, bigger, biggest
⚫ Cool, cooler, coolest, coolly
⚫ Clear, clearer, clearest, clearly, unclear, unclearly
⚫ Happy, happier, happiest, happily
⚫ Unhappy, unhappier, unhappiest, unhappily
19
FSA này có đáp ứng được
không?
20
FSA này có đáp ứng được
không? Không!
⚫ Chấp nhận tất cả các tính từ, nhưng
⚫ Chấp nhận cả unbig, readly, realest
⚫ Các vấn đề đặt ra: sinh thừa
⚫ Giải pháp?
Cần phân ra các lớp gốc từ, mỗi lớp đi với 1
dạng có thông tin từ nào có thể đi với phụ tố
nào
21
Cải tiến FSA
22
FSA ở mức ký tự
Aardvarks, foxs, …
Lấy gốc từ (Stemmer & Lemmatizer)
⚫ Các luật sử dụng phép đo 1 từ, kiểm tra số lượng âm tiết
có đủ dài không sau khi cắt.
⚫ Vd: ( ) EMENT chỉ áp dụng cho replacement→ replac,
không cement → c.
⚫ Stemmer sử dụng các luật ngôn ngữ ít hơn
⚫ Lemmatizer cần bộ từ vựng đầy đủ và phân tích hình
thái từ để lấy gốc từ. 23
⚫ Stemmer
Một số kết quả stemmer (1)
⚫ https://text-processing.com/demo/stem/
⚫ operational and research
⚫ Porter: oper and research
⚫ Lancaster: op and research
⚫ WordNet: operational and research
24
Một số kết quả stemmer (2)
⚫ Italy is extending its coronavirus quarantine measures,
which include a ban on public gatherings, to the entire
country.
⚫ Porter: Itali is extend it coronaviru quarantin measur ,
which includ a ban on public gather , to the entir countri .
⚫ Lancaster: ita is extend it coronavir quarantin meas ,
which includ a ban on publ gath , to the entir country .
⚫ WordNet: Italy is extending it coronavirus quarantine
measure , which include a ban on public gathering , to
the entire country .
25
Lấy gốc từ (Stemmer & Lemmatizer)
⚫ Cả Stemmer và Lemmatizer không cải thiện kết quả tìm
kiếm: tốt trong vài trường hợp, nhưng tệ trong nhiều TH
khác.
⚫ Stemming tăng độ phủ nhưng giảm độ chính xác.
⚫ Porter stemmer: operate operating operates operation
operative operatives operational → oper
⚫ operate có nhiều dạng động từ, chặt mất chính xác
⚫ “operational and research”, “operating and system”,
“operative and dentistry”, mỗi biến thể có ý nghĩa riêng
khi kết hợp từ khác. “operate and system” không ổn cho
truy vấn “operating and system”
⚫ Để lấy gốc từ tốt hơn là vấn đề thực chứng (pragmatic)
ho mỗi dạng hơn là phân tích hình thái từ. 26
27
Từ bộ nhận dạng đến bộ
chuyển đổi
⚫ Mục tiêu: ánh xạ đầu vào với đầu ra (vd: goose-
geese)
⚫ Bộ chuyển đổi hữu hạn trạng thái là 1 bộ 5:
⚫ Q – tập hữu hạn trạng thái
⚫ S - bảng chữ cái. Mỗi phần tử là 1 cặp đầu vào – đầu
ra i:o, i từ bảng chữ cái I và o từ bảng chữ cái O. Vì vậy
S I x O. I,O có thể chứ các ký tự rỗng hoặc l;
⚫ q0 - trạng thái khởi đầu
⚫ F - tập trạng thái hữu hạn, F Q
⚫ d – hàm chuyển đổi trạng thái
28
FSA vs. FST
⚫ FSA xác định 1 ngôn ngữ hình thức (1 tập
các xâu)
⚫ FST (finite state transducer): định nghĩa tập
các quan hệ giữa các xâu đó
29
FST trong phân tích hình thái
2 thao tác
⚫ Phép hợp thành: if bộ chuyển đổi T1 ánh xạ I1 sang
O1 và T2 từ I2 sang O2 then T1o T2 ánh xạ từ I1 sang
O2
⚫ Sử dụng để thay thế chuỗi các bộ chuyển đổi
⚫ Phép đảo: T(T-1) đảo đầu vào và đầu ra
⚫ Dùng để chuyển bộ phân tích (parser) sang bộ
sinh (generator)
30
Bộ chuyển các hậu tố số
ít/nhiều, gọi là Tnum
(geese#, goose N PL)
(cats#, cat N PL)
31
Automat cho các gốc từ, gọi là
Tstem
32
Tlex=TnumTstems
33
Các luật biến đổi đuôi
Tên Mô tả Ví dụ
Gấp đôi phụ âm Ký tự cuối là phụ âm thì
x2 trước -ing/ed
beg/begging
Xóa e Bỏ e câm trước -ing, -ed make/making
Thêm e Thêm e sau -s, -z, -ch, -
sh và trước -s
fox/foxes
Thay y -y thay bằng -ie trước -
ed
try/tries
Thay i I thay bằng y trước
nguyên âm
lie/lying
34
Fst đánh vần của
“foxes” “FOX+S”
f:f,o:o
s:s+:e e:ex:x
#:#
f o x e e s # surfaceF O X + e S # underlying
35
Two-level morphology parsing
(analysis) algorithm
1. Initialize set of paths to P = {}.
2. Read input symbols, one at a time.
3. At each symbol, generate all lexical symbols
possibly corresponding to the 0 (empty) symbol
4. Prolong all paths in P by all such possible (x:0)
pairs.
5. Check each new path extension against the
phonological FST and lexical FSA (lexical symbols
only); delete impossible paths prefixes.
6. Repeat 4-5 until max. # of consecutive 0s reached.
36
Parsing Algorithm, cont’d
7. Generate all possible lexical symbols (get from all
FSTs) for the current input symbol, form pairs.
8. Extend all paths from P using all such pairs.
9. Check all paths from P (next step in FST/FSA).
Delete all outright impossible paths.
10. Repeat from 3 until end of input.
11. Collect lexical “glosses” from all surviving paths.
37
Generation algorithm
⚫ Do not use the lexicon (well you have to put the “right” lexical strings together somehow!)
⚫ Start with a lexical string L.
⚫ Generate all possible pairs l:s for every symbol in L.
⚫ Find all (hopefully only 1!) traversals through the FST which end in a final state.
⚫ From all such traversals, print out the sequence of surface letters.