Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,43 MB
Nội dung
Luậnvăntốt nghiệp
"Xử lýcácvănbản tiếng
Việt"
LỜI NÓI ĐẦU
Xử lý ngôn ngữ tự nhiên nói chung và phân tích cú pháp ngôn ngữ tự nhiên nói
riêng là những vấn đề quan trọng của trí tuệ nhân tạo, được nhiều nhà khoa học trên
thế giới quan tâm nghiên cứu trong suốt 50 năm qua. Các ứng dụng trong lĩnh vực
này rất phong phú. Ta có thể điểm qua một số ứng dụng chính như dịch máy, kiểm
tra và chữa lỗi văn bản, chuyển giao diện người – máy sang ngôn ngữ tự nhiên,
nhận dạng chữ viế
t, thiết kế người máy có khả năng hiểu và nói được tiếng của con
người…
Bài toán phân tích cú pháp ngôn ngữ tự nhiên bằng máy tính là bài toán lớn và
phức tạp. Với tiếng Việt - một ngôn ngữ rất phức tạp thì dường như bài toán này lại
càng khó khăn hơn. Chúng ta đã có một số công trình nghiên cứu về xử lýtiếng
Việt và đã đạt được một số thành công nhất định. Tuy nhiên, cho đến nay bài toán
phân tích cú pháp tiếng Việt v
ẫn chưa được giải quyết triệt để. Một trong những lý
do chính là vì chúng ta chưa nghiên cứu một cách có hệ thống ngữ pháp tiếng Việt
và cơ sở lý thuyết về xây dựng những trình phân tích cú pháp cho tiếng Việt còn
tương đối ít và chưa hoàn chỉnh.
Các mô hình văn phạm phi ngữ cảnh và mạng chuyển được sử dụng rộng rãi
trong mô tả cú pháp không chỉ của các ngôn ngữ lập trình mà cả các ngôn ngữ tự
nhiên. Trong khoá luậ
n này, em sẽ tập trung nghiên cứu việc vận dụng các mô hình
này cho bài toán cụ thể là phân tích cú pháp tiếng Việt. Ngôn ngữ Việt có nhiều
điểm khác so với các ngôn ngữ phổ biến, đã được nghiên cứu nhiều như tiếng Anh
hay tiếng Pháp. Do đó, chúng ta không thể áp dụng hoàn toàn những kết quả đã đạt
được đối với các ngôn ngữ này vào tiếng Việt.
Khoá luận trình bày cácvấn đề sau:
• Khái quát vấn đề phân tích vănbản
• Vận dụng các mô hình văn phạm phi ngữ cảnh và mạng chuyển đệ quy để
mô tả ngôn ngữ tự nhiên
• Nghiên cứu các thuật toán phân tích đối với cácvăn phạm phi ngữ cảnh
và các mạng chuyển
• Nghiên cứu một cách hệ thống các đặc điểm của ngữ pháp tiếng Việt
• Xây dựng một trình phân tích câu tiếng Anh đơn giản
• Xây dựng một trình phân tích câu tiếng Vi
ệt đơn giản
Khoá luậntốtnghiệp
1
• Đánh giá kết quả đã đạt được và hướng phát triển
Để thực hiện được đề tài này, em đã vận dụng những kiến thức được học trong
giai đoạn đại cương và chuyên ngành, đồng thời học hỏi và nghiên cứu thêm lĩnh
vực ngôn ngữ học và tiếng Việt. Để tạo ra một sản phẩm phần mềm tương đối khả
quan cần có sự
nghiên cứu lâu dài và có hệ thống trên cả ba lĩnh vực toán học, tin
học và ngôn ngữ học. Nếu chỉ có những kiến thức tin học thì sản phẩm tạo ra sẽ
không thể mang ứng dụng trong thực tế. Vì vậy, việc đồng thời trau dồi những kiến
thức toán học, tin học và ngôn ngữ học là rất cần thiết.
Những công việc em đã thực hiện mới chỉ là bước
đầu trong việc xử lýcácvăn
bản tiếng Việt. Em rất mong muốn tiếp tục nhận được sự hỗ trợ và chỉ bảo tận tình
của các thầy cô giáo, các nhà chuyên môn cùng toàn thể cácbạn sinh viên quan
tâm, yêu thích công việc xử lý ngôn ngữ tự nhiên, vốn rất khó khăn và phức tạp, cần
có lòng kiên trì và say mê cao độ.
Em xin được bày tỏ lòng cảm ơn sâu sắc tới TS. Lương Chi Mai và ThS.
Nguyễn Thị Minh Huyền đã tận tình hướng dẫ
n và giúp đỡ, tạo mọi điều kiện thuận
lợi về tàiliệu và phương tiện để em hoàn thành khoá luận này.
Trong quá trình thực hiện khoá luận, em còn nhận được sự ủng hộ, giúp đỡ và
động viên của các anh chị ở Phòng Nhận dạng và Công nghệ Tri thức, Viện Công
nghệ Thông tin, Trung tâm Khoa học Tự nhiên và Công nghệ Quốc gia, nơi em thực
tập trong thời gian qua. Em xin chân thành cảm ơn.
Em xin chân thành cảm ơn các thầy cô giáo trong và ngoài Khoa Toán-Cơ-Tin
học đã truyền đạt cho em những kiến thức, trang bị cho em những hành trang quý
giá trước khi em ra trường. Em xin chân thành cảm ơn các thầy cô giáo trong Bộ
môn Tin học đã tạo điều kiện cho em được thực hiện một số xêmina khoa học liên
quan đến đề tài, và đóng góp nhiều ý kiến quý báu, kịp thời. Xin cảm ơn cácbạn
sinh viên đã động viên, giúp đỡ tôi thực hiện đề tài này.
Hà Nội, ngày 10 tháng 5 năm 2002
Sinh viên
Lê Hồng Phươ
ng
Khoá luậntốtnghiệp
2
Mục lục
LỜI NÓI ĐẦU 1
Danh mục hình 5
Danh mục bảng 5
Chương 1. Mở đầu 7
1.1. Tổng quan về vấn đề phân tích vănbản 7
1.2. Bài toán phân tích cú pháp 7
1.3. Nội dung khoá luận 8
Chương 2. Văn phạm phi ngữ cảnh 9
2.1. Văn phạm và ngôn ngữ sinh bởi văn phạm 9
2.2. Văn phạm phi ngữ cảnh 10
2.3. Biểu diễn cấu trúc câu 11
2.4. Phân tích từ trên xuống 14
2.5. Phân tích từ dưới lên 15
2.6. Đánh giá hai phương pháp phân tích trên 20
2.7. Phương pháp phân tích tổng hợp 21
Chương 3. Các mạng chuyển 27
3.1. Văn phạm và ôtômát 27
3.2. Các yếu tố cơ sở của mạng chuyển đệ quy 29
3.3. Tính thủ tục của các RTN 33
3.4. Phân tích từ trên xuống cho mạng chuyển đệ quy 34
Chương 4. Xây dựng văn phạm tiếng Việt 37
4.1. Xây dựng tập từ loại tiếng Việt 37
4.2. Xây dựng văn phạm tiếng Việt 38
Khoá luậntốtnghiệp
3
4.2.1. Danh ngữ 39
4.2.2. Động ngữ 41
4.2.3. Tính ngữ 44
4.2.4. Câu đơn hai thành phần 45
4.2.5. Văn phạm tiếng Việt 47
Chương 5. Cài đặt chương trình 49
5.1. Cấu trúc dữ liệu 49
5.2. Cài đặt thuật toán 51
5.3. Thể hiện kết quả phân tích 52
5.4. Đánh giá kết quả 57
Phụ lục 58
Bài toán tách từ vựng tiếng Việt 58
1. Đặt bài toán 58
2. Các bước giải quyết 58
3. Đánh giá kết quả 60
Tài liệu tham khảo 63
Khoá luậntốtnghiệp
4
Danh mục hình
Hình 1. Phân loại văn phạm của Chomsky 11
Hình 2. Cây biểu diễn câu John ate the cat 14
Hình 3. Biểu đồ sau khi tìm thấy một ADJ tại vị trí 2 16
Hình 4. Sau khi phân tích can là NOUN 18
Hình 5. Biểu đồ sau khi thêm hold 19
Hình 6. Biểu đồ sau khi tìm được tất cả các NP 19
Hình 7. Biểu đồ cuối cùng 20
Hình 8. Vị trí và biểu đồ ban đầu 22
Hình 9. Biểu đồ sau khi phân tích cụm NP đầu tiên 24
Hình 10. Sau khi phân tích khả năng thứ hai của NP đầu tiên 25
Hình 11. Sau khi tìm kiếm một S theo quy tắc 1 bị thất bại 25
Hình 12. Cấu trúc của câu cần phân tích 26
Hình 13. Mạng chuyển đệ quy làm ví dụ trong phân tích từ trên xuống 35
Hình 14. Giao diện chương trình phân tích cú pháp tiếng Anh 53
Hình 15. Phương pháp xây dựng ôtômát âm tiết 59
Hình 16. Phương pháp xây dựng ôtômát từ vựng 59
Hình 17. Một tình huống nhập nhằng 60
Hình 18. Các phương án phân tích cho một câu tiếng Việt nhập nhằng 62
Hình 19. Cây phân tích ứng với cách tách từ đúng 62
Danh mục bảng
Bảng 1. Phân tích từ trên xuống, ưu tiên chiều sâu cho văn phạm phi ngữ cảnh 15
Bảng 2. Một văn phạm phi ngữ cảnh đơn giản 20
Bảng 3. Quá trình phân tích từ trên xuống 35
Bảng 4. Phân tích từ trên xuống kết hợp quay lui cho mạng chuyển đệ quy 36
Khoá luậntốtnghiệp
5
Bảng 5. Tập luật của văn phạm tiếng Việt 48
Bảng 6. Tập luật của văn phạm tiếng Anh 50
Khoá luậntốtnghiệp
6
Chương 1. Mở đầu
Khoá luậntốtnghiệp
Chương 1. Mở đầu
1.1. Tổng quan về vấn đề phân tích vănbản
Phân tích và kiểm tra tính chính xác của vănbản là một vấn đề lớn và phức tạp.
Quá trình này thường được chia thành 4 giai đoạn chính: phân tích từ vựng, phân tích
cú pháp, phân tích ngữ nghĩa và phân tích thực chứng.
•
•
•
•
Phân tích từ vựng. Là quá trình phân tích hình thái các từ vựng tạo nên văn
bản, từ đó kiểm tra được tính đúng đắn của âm tiết và từ.
Phân tích cú pháp. Là quá trình đưa ra mô tả quan hệ về vai trò ngữ pháp của
các từ, các cụm từ (hoặc ngữ) trong câu, từ đó xây dựng cấu trúc câu.
Phân tích ngữ nghĩa. Mục đích của phân tích ngữ nghĩa là kiểm tra ý nghĩa của
câu có mâu thuẫn với ý nghĩa cả đoạn hay không. Dựa trên mối liên hệ logic về
nghĩa giữa các cụm từ trong câu và mối liên hệ giữa các câu trong đoạn, hệ
thống sẽ xác định được một phần ý nghĩa của câu trong ngữ cảnh của cả đoạn.
Phân tích thực chứng. Là quá trình phân tích nhằm xác định ý nghĩa của câu
dựa trên mối liên hệ của câu với hiện thực. Ý nghĩa thực tế của câu phụ thuộc
rất nhiều vào ngữ cảnh diễn ra lời nói. Do vậy, quá trình phân tích này rất khó
thực hiện được bằng máy tính. Thường thì việc phân tích câu chỉ dừng ở phân
tích ngữ nghĩa, còn việc phân tích thực chứng do người dùng tự quyết định.
1.2. Bài toán phân tích cú pháp
Phân tích cú pháp đưa ra mô tả về quan hệ và vai trò ngữ pháp của các từ, các
cụm từ (hoặc ngữ) trong câu, đồng thời đưa ra hình thái của câu. Đầu vào của giai
đoạn này là câu đã được phân tách từ, trong đó mỗi từ có đặc điểm hình thái xác định.
Quá trình kiểm tra cú pháp tiến hành phân tích và tổ hợp các từ ở đầu vào, dựa trên
các luật cú pháp để loại bỏ các trường hợp bất quy tắc và từng bước dựng lên cấ
u trúc
cú pháp (cây phân tích) của câu. Kết quả cần đạt được là hình thái của câu.
Cú pháp là chủ đề nghiên cứu của hai cộng đồng gồm những người làm ngôn ngữ
và những người làm tin học. Với những người làm ngôn ngữ thì ngôn ngữ là đối
tượng nghiên cứu, cú pháp là một trong các cấp độ phải mô tả. Với những người làm
tin học thì cần làm cho máy tính phân tích được cú pháp với hai mục tiêu là xây dựng
các ứng dụng, qua đó phục vụ vi
ệc nghiên cứu ngôn ngữ; đối tượng nghiên cứu của họ
là các hệ hình thức và các thuật toán.
Chương 1. Mở đầu
Khoá luậntốtnghiệp
8
Khi xét về cấu trúc cú pháp có hai khía cạnh, một là thứ tự của các từ, trong đó có
những ràng buộc về cấu tạo câu đúng và chức năng của các thành phần trong câu (chủ
ngữ, vị ngữ ); hai là những biến tố (về hình thái, ví dụ các thì, số ít, số nhiều,
giống ) quy định ràng buộc về cấu tạo và chức năng ngữ pháp. Với tiếng Việt, không
có khía cạnh thứ hai.
Để phân tích cấu trúc của một câu ta cần đến hai thứ: Thứ nhất là ngữ pháp của
ngôn ngữ, là đặc tả hình thức cấu trúc của ngôn ngữ và thứ hai là các kỹ thuật phân
tích, là các phương thức phân tích để tìm ra cấu trúc ngữ pháp của câu, hoặc kết luận
câu sai ngữ pháp. Để đặc tả ngữ pháp, người ta đưa ra các mô hình cú pháp của ngôn
ngữ.
1.3. Nội dung khoá luận
Khoá luận gồm hai nội dung chính.
Nội dung thứ nhất là trình bày hai mô hình truyền thống dùng để phân tích cú
pháp của ngôn ngữ tự nhiên, gồm cácvăn phạm phi ngữ cảnh và các mạng chuyển đệ
quy. Trong khuôn khổ của khoá luận, em chỉ thực hiện phần nghiên cứu, cài đặt các
thuật toán phân tích cho văn phạm phi ngữ cảnh và mạng chuyển đệ quy nhằm nắm
chắc và làm chủ các kỹ thuật phân tích, các phần khác là triển vọng nghiên cứu trong
t
ương lai gần. Có ba kỹ thuật phân tích được nghiên cứu là phân tích từ trên xuống,
phân tích từ dưới lên và phân tích tổng hợp. Ðể tiện trong việc trình bày, toàn bộ các
thuật toán được giải thích và minh hoạ trên bộ văn phạm đơn giản của tiếng Anh.
Nội dung thứ hai là xây dựng tập từ loại và văn phạm đơn giản cho tiếng Việt,
thiết kế cấu trúc dữ liệu và cài đặt các thuật toán phân tích,
đánh giá kết quả. Vì khuôn
khổ của khoá luận có hạn, nên em chỉ trình bày phần cài đặt thuật toán phân tích từ
trên xuống cho văn phạm phi ngữ cảnh. Kết quả cần đạt được là hoàn thiện một
chương trình phân tích cú pháp tiếng Việt đơn giản viết bằng ngôn ngữ lập trình Java,
thể hiện kết quả phân tích bằng giao diện đồ hoạ dạng cây.
Phần phụ lục của khoá luận trình bày bài toán tách từ
vựng tiếng Việt - vấn đề tiền
xử lý quan trọng trước khi bước vào phân tích cú pháp.
Chương 2. Văn phạm phi ngữ cảnh
Khoá luậntốtnghiệp
Chương 2. Văn phạm phi ngữ cảnh
2.1. Văn phạm và ngôn ngữ sinh bởi văn phạm
Một tập hợp Χ ≠ φ (vô hạn hoặc hữu hạn) các đối tượng được gọi là một bảng chữ
cái. Mỗi phần tử thuộc tập Χ được gọi là một chữ cái hay một ký hiệu. Ví dụ, bảng
chữ cái tiếng Việt là Σ = {a, b, c, , y}.
Mỗi dãy ký hiệu các phần tử của Χ: α = a
i1
a
i2
a
it
, a
ij
∈ Χ, 1 ≤ j ≤ t được gọi là
một từ hay một xâu trên bảng chữ cái Χ. Ví dụ ba, ca, con, Tổng số vị trí của tất cả
các ký hiệu xuất hiện trong từ α được gọi là độ dài của α, ký hiệu là |α|. Từ có độ dài
bằng 0 được gọi là từ rỗng (trống), được ký hiệu là ε.
Gọi Σ* là tập hợp gồ
m tất cả các từ trên bảng chữ cái Σ, kể cả từ rỗng. Mỗi một
tập con của tập Σ* được gọi là một ngôn ngữ trên bảng chữ cái Σ. Tập rỗng cũng là
một ngôn ngữ trên bảng chữ cái tuỳ ý, được ký hiệu bằng φ.
Giả sử có bảng chữ cái Σ, một văn phạm là một bộ bốn G = (Σ, V,
σ, P), trong đó:
¾ Σ là bảng chữ cái chính hay bảng chữ cái từ hay tập ký hiệu kết
¾ V là bảng chữ cái phụ hay bảng chữ cái làm việc hay tập ký hiệu không kết
¾ σ ∈ V là một ký hiệu phụ, gọi là tiền đề hay ký hiệu xuất phát hay ký hiệu
khởi đầu
¾ P = {ϕ → ψ⎪ϕ∈(
Σ ∪V)*\{e}, ψ ∈(Σ ∪V)*, → ∉ (Σ ∪V)} gọi là tập quy
tắc sinh hay tập quy tắc thế của văn phạm G. r = ϕ → ψ là một quy tắc
sinh hay quy tắc thế của văn phạm G, ϕ, ψ theo thứ tự được gọi là vế trái
và vế phải của quy tắc r.
Ví dụ, G = ({a, b, c},
{S, A, B}, S, P), trong đó P là
S
→
ABBA
AB
→
BAA
AA
→
BcBa
BcB
→
Aab
A
→
B
B
→
A
B
→
C
[...]... diễn cấu trúc câu Văn phạm phi ngữ cảnh khi được sử dụng để biểu diễn cấu trúc cú pháp thì các ký hiệu kết thúc tương ứng với các từ trong ngôn ngữ, các ký hiệu không kết thúc tương ứng với các phân loại cú pháp (hay từ loại) Tiên đề biểu diễn phân loại "câu" Các quy tắc sinh biểu diễn các quy tắc ngữ pháp Ta có thể chia chúng thành các qui tắc từ Khoá luận tốtnghiệp 11 Chương 2 Văn phạm phi ngữ cảnh... đơn thuần nói trên; so với cách phân tích từ trên xuống thì cách phân tích này chỉ có một hạn chế là biểu đồ cần nhiều ô nhớ hơn Nhưng trong phần lớn các trường hợp, so với lợi thế về thời gian phân tích thì phần ô nhớ mất thêm này là không đáng kể Khoá luậntốtnghiệp 26 Chương 3 Các mạng chuyển Chương 3 Các mạng chuyển Ngoài các hệ văn phạm, các mô hình mạng chuyển, nhất là các mạng chuyển đệ quy cũng... nhận các câu sinh bởi cácvăn phạm cấu trúc câu RTN tương đương với PDA về khả năng đoán nhận ngôn ngữ sinh bởi văn phạm phi ngữ cảnh (CFG) của Chomsky Hoạt động của RTN cũng như FSA và PDA đều có thể được biểu diễn bằng các mạng chuyển Khác nhau: Các cung và các đỉnh (trạng thái): Trong khi các trạng thái trong mạng chuyển của FSA có nhãn là các từ không kết thúc của văn phạm tương đương với ôtômat, các. .. các cung có nhãn là các từ cuối (cũng như vậy với PDA, trừ các cung rỗng và cung kết thúc pop), thì các cung của RTN có nhãn là các từ không kết thúc (trừ một số cung đặc biệt cũng có nhãn là từ cuối) của văn phạm tương đương, với các trạng thái được đánh dấu tuỳ ý Các mạng con: Các mạng chuyển của FSA và PDA là các mạng đầy đủ, còn mạng chuyển của RTN thì được xử lý như là một tập các mạng con Với mỗi... luận tốtnghiệp 32 Chương 3 Các mạng chuyển 3.3 Tính thủ tục của các RTN Phương pháp biểu diễn nêu trên có mức độ trừu tượng tương đương với một hệ các quy tắc viết lại của văn phạm phi ngữ cảnh, theo nghĩa mọi quy tắc của văn phạm phi ngữ cảnh đều có thể chuyển thành một RTN tương đương Tuy nhiên, cách biểu diễn bằng RTN có một đặc điểm quan trọng mà trong các hệ quy tắc viết lại không có, đó là các. .. máy Turing (Turing Machines TMs) Văn phạm tương đương với nó là hệ thống viết lại không hạn chế, trong đó, các quy tắc sinh được phép viết lại bất kỳ cái gì cũng thành một thứ bất kỳ Các máy Turing là sự trừu tượng tương tự của các máy tính tuần tự đa nhiệm nguyên thuỷ Khoá luận tốtnghiệp 28 Chương 3 Các mạng chuyển Một trong những vấn đề đầu tiên của lý thuyết các ôtômát là câu hỏi về tính quyết... biệt ý nghĩa của các ký hiệu trong văn phạm, ta quy ước: dùng các chữ cái in hoa để chỉ các ký hiệu không kết, các chữ cái thường để chỉ các ký hiệu kết và dùng các ký tự Hy Lạp để chỉ các xâu 2.2 Văn phạm phi ngữ cảnh Theo cách phân loại của Chomsky, văn phạm được chia thành ba loại, gồm Văn phạm cảm ngữ cảnh, hoặc văn phạm biến đổi Độ dài của xâu α bên trái mỗi quy tắc phải nhỏ hơn hoặc bằng độ dài... quy tắc Ví dụ, xét văn phạm sau: 1 S → NP VP 2 NP → ART ADJ NOUN 3 NP → ART NOUN 4 NP → ADJ NOUN Khoá luận tốtnghiệp 15 Chương 2 Văn phạm phi ngữ cảnh 5 VP → AUX VERB NP 6 VP → VERB NP Nếu ta bắt đầu bằng khoá ART thì các quy tắc 2 và 3 là khớp Ta ghi lại điều này cho bước xử lý tiếp theo, các quy tắc 2, 3 có thể đi tiếp được ở sau điểm ART Ta biểu diễn điều này bằng cách viết lại các quy tắc đó cùng... xâu bất kỳ Văn phạm chính quy, hay văn phạm tuyến tính phải Mọi quy tắc đều có một trong hai dạng sau: A → t hoặc A → tN, trong đó A và N là các ký hiệu không kết, t là ký hiệu kết Cácvăn phạm chính quy không đủ mạnh để mô tả ngôn ngữ tự nhiên (thậm chí cả các ngôn ngữ lập trình) Chúng thường được dùng để mô tả các bộ phận của ngôn ngữ và có thế mạnh là tốc độ phân tích nhanh Khoá luận tốtnghiệp 10... rộng rãi để mô tả các cấu trúc cú pháp của ngôn ngữ tự nhiên Các mạng chuyển có cơ sở là các máy trừu tượng, chúng được coi là những thiết bị nhận dạng văn phạm Chính vì vậy, trước khi đi vào phần trình bày về các mạng chuyển, em trình bày khái quát về các máy trừu tượng, từ đơn giản nhất tới tổng quát nhất 3.1 Văn phạm và ôtômát Văn phạm một mặt có thể coi là những định nghĩa cho các câu của một ngôn . quy 36
Khoá luận tốt nghiệp
5
Bảng 5. Tập luật của văn phạm tiếng Việt 48
Bảng 6. Tập luật của văn phạm tiếng Anh 50
Khoá luận tốt nghiệp
6
Chương. Luận văn tốt nghiệp
"Xử lý các văn bản tiếng
Việt"
LỜI NÓI ĐẦU
Xử lý ngôn ngữ tự nhiên nói chung và phân