Luận văn tốt nghiệp
MỤC LỤC
MỤC LỤC.........................................................................................................1
LỜI NÓI ĐẦU...................................................................................................2
Chương 1. Giới thiệu chung xử lý ngôn ngữ tự nhiên và phân tích văn bản
tiếng Việt...........................................................................................................5
1.1. Tổng quan về xử lý ngôn ngữ tự nhiên..............................................5
1.2. Một số bài toán cơ bản phân tích văn bản .........................................7
1.2.1. Một số phương pháp giải các bài toán cơ bản: tách câu, tách từ,
gán nhãn từ loại và phân tích cú pháp.......................................................8
1.2.1.1. Bài toán tách câu......................................................................8
1.2.1.2. Bài toán tách từ.........................................................................9
1.2.1.3. Bài toán gán nhãn từ loại........................................................11
1.2.1.4. Bài toán phân tích cú pháp.....................................................12
1.3. Kho ngữ liệu.....................................................................................13
2.1. Bài toán tách câu và công cụ vnSentDetector..................................14
2.2. Bài toán tách từ và công cụ vnTokenizer.........................................15
2.3. Bài toán gán nhãn từ loại và công cụ vnQtag...................................17
2.4. Bài toán phân tích cú pháp và công cụ vnParser..............................20
3.1. Giới thiệu..........................................................................................24
3.2. Nội dung và quy trình dựng kho ngữ liệu có chú giải cú pháp
(treebank).................................................................................................25
3.3. Mô hình chú giải cú pháp SynAF.....................................................29
3.3.1. Một số mô hình mã hóa cấu trúc cú pháp......................................29
3.3.2. Mô hình chú giải cú pháp SynAF..................................................33
3.3.3 Mô hình chú giải cú pháp tiếng Việt - vnSynAF...........................35
3.4. Bộ công cụ hỗ trợ xây dựng kho ngữ liệu tiếng Việt - vnSynAF ....36
KẾT LUẬN.............................................................................................41
1
Luận văn tốt nghiệp
LỜI NÓI ĐẦU
Ngày nay cùng với sự bùng nổ thông tin trên Internet mà trong đó văn
bản là một trong những dạng chủ yếu thì nhu cầu xử lý ngôn ngữ tự nhiên trên
máy tính là rất lớn. Làm thế nào để máy tính có thể hiểu được ngôn ngữ của
con người vẫn là một trong những câu hỏi thách thức các nhà khoa học trong
suốt lịch sử nửa thế kỷ của ngành trí tuệ nhân tạo.
Những năm gần đây, với sự tiến bộ về năng lực tính toán và khả năng
lưu trữ của máy tính, các tiếp cận mới về xử lý ngôn ngữ tự nhiên đã thu được
những thành công đáng khích lệ, đặc biệt là cách tiếp cận sử dụng phương
pháp thống kê trên kho ngữ liệu lớn.
Xử lý ngôn ngữ tự nhiên là xử lý ngôn ngữ nói và ngôn ngữ viết của
con người nên nó mang nét đặc thù riêng cho mỗi ngôn ngữ, mỗi quốc gia.
Ngành xử lý ngôn ngữ tiếng Việt mới được quan tâm nghiên cứu. So với
nhiều nước thì sau họ rất nhiều năm. Tuy nhiên người đi sau cũng có những
thuận lợi, chúng ta có thể nhanh chóng học hỏi công nghệ, kinh nghiệm từ các
nước đi trước, định hướng được mục tiêu, cách thức tiến hành để sớm tiếp cận
được trình độ công nghệ tiên tiến một cách nhanh nhất.
Trong xử lý ngôn ngữ tự nhiên, kho ngữ liệu là một nguồn tài nguyên
quan trọng. Một mặt nó được dùng để huấn luyện các mô hình phân tích ngôn
ngữ như tách câu, tách từ, gán nhãn từ loại, phân tích cú pháp. Mặt khác, nó
còn được dùng để kiểm chứng độ tin cậy của các mô hình ngôn ngữ đó. Trong
khuôn khổ làm luận văn tốt nghiệp hệ cao học em xin trình bày đề tài nghiên
cứu “Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích văn
bản tiếng Việt”. Đây cũng là một phần việc trong đề tài cấp Nhà nước về xử
lý ngôn ngữ và tiếng nói tiếng Việt giai đoạn 2007-2009.
Bài luận văn trình bày một số nội dung nghiên cứu sau:
Chương 1 - Giới thiệu tổng quan một số vấn đề trong xử lý ngôn ngữ tự nhiên
nói chung và xử lý ngôn ngữ tiếng Việt nói riêng. Tìm hiểu khái quát một số
2
Luận văn tốt nghiệp
bài toán liên quan tới việc xây dựng kho ngữ liệu cho phân tích văn bản tiếng
Việt, các hướng tiếp cận để giải các bài toán đó.
Chương 2 – Giới thiệu một số công cụ trong xây dựng kho ngữ liệu cho phân
tích văn bản tiếng Việt.
• Công cụ cho bài toán tách từ
• Công cụ cho bài toán gán nhãn từ loại
• Công cụ cho bài toán phân cụm
• Công cụ cho bài toán phân tích cú pháp
Chương 3 – Phát triển bộ công cụ hỗ trợ xây dựng kho ngữ liệu cho phân tích
văn bản tiếng Việt vnSynAF.
• Giới thiệu về kho ngữ liệu có chú giải ngữ pháp
• Giới thiệu về mô hình SynAF - mô hình chuẩn quốc tể chú giải cú
pháp, mã hoá dựa trên định dạng XML có thể định dạng và mã hoá kho
ngữ liệu tiếng Việt.
• Bộ công cụ vnSynAF
Thực hiện được đề tài này, em đã vận dụng những kiến thức học được
trong giai đoạn học đại học, học cao học, những kiến thức tích luỹ trong quá
trình công tác thực tế, đồng thời học hỏi và nghiên cứu thêm về lĩnh vực ngôn
ngữ học, tiếng Việt. Những công việc em đã thực hiện là sản phẩm bước đầu
của quá trình nghiên cứu, song do kiến thức bản thân còn có hạn chế, thời
gian thực hiện đề tài ít mà công việc thì lại tương đối nhiều nên không tránh
được những hạn chế thiếu sót. Em rất mong muốn các thầy cô giáo, các nhà
chuyên môn hỗ trợ chỉ bảo thêm.
Em xin được tỏ lòng cảm ơn sâu sắc tới TS.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 về phương tiện và tài liệu
để em hoàn thành bài luận văn này. Em cũng xin chân thành cảm ơn tới các
thầy cô, các anh chị trong bộ môn Tin học đã ủng hộ, động viên giúp đỡ em
trong suốt quá trình học tập và làm luận văn.
3
Luận văn tốt nghiệp
Và cuối cùng em cũng xin được cảm ơn tới bạn bè, toàn thể gia đình và
người thân đã ủng hộ động viên em trong thời gian nghiên cứu học tập tại
trường Đại học Khoa học Tự nhiên.
Em xin chân thành cảm ơn!
Hà Nội, ngày 30 tháng 11 năm 2009.
Học viên
Lưu Văn Tăng
4
Luận văn tốt nghiệp
Chương 1. Giới thiệu chung xử lý ngôn ngữ tự nhiên và phân tích văn
bản tiếng Việt
1.1. Tổng quan về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên là một lĩnh vực nghiên cứu của Trí tuệ nhân
tạo nhằm xây dựng một hệ thống xử lý cho máy tính, làm cho máy tính có thể
“hiểu” được ngôn ngữ của con người gồm cả ngôn ngữ nói và viết. Nghĩa là,
khi chúng ta nói hay viết thì máy tính hiểu được là chúng ta đang nói gì, viết
gì. Không chỉ với một loại ngôn ngữ của một dân tộc, của một quốc gia máy
tính có thể hiểu được, máy tính có thể hiểu được ngôn ngữ của tất cả các dân
tộc, các quốc gia trên thế giới. Nhờ đó, mọi người trên thế giới dựa vào máy
tính cũng có thể hiểu, giao tiếp được với nhau mà không cần học, hiểu ngôn
ngữ của nhau… Và hơn thế nữa, máy tính có thể phân tích, tổng hợp ngôn
ngữ để đưa ra tri thức cho con người một cách nhanh và chính xác nhất. Nhất
là khi các dữ liệu liên quan đến ngôn ngữ đang dần trở nên là kiểu dữ liệu
chính của con người.
Để làm được những việc đó người ta đã xác định một số bài toán ứng
dụng cơ bản trong xử lý ngôn ngữ tự nhiên để giải quyết. Đó là:
- Bài toán tổng hợp tiếng nói: Bài toán này giải quyết vấn đề là làm cho máy
biết đọc các văn bản thành tiếng người.
- Bài toán nhận dạng tiếng nói: Tức việc làm cho máy biết chuyển tiếng nói
của người thành dãy các từ.
- Nhận dạng chữ viết: Từ một văn bản in trên giấy, máy tính chuyển thành
một tệp văn bản trên máy tính.
- Tóm tắt văn bản: Từ một văn bản dài, máy tính tóm tắt thành văn bản ngắn
hơn với những nội dung cơ bản nhất.
- Dịch tự động: Là việc dịch tự động từ tiếng này sang tiếng khác, chẳng hạn
dịch câu “ông già đi nhanh quá” sang tiếng Anh. Việc dịch này đòi hỏi máy
không những phải hiểu đúng nghĩa câu tiếng Việt mà còn phải tạo ra được câu
tiếng Anh tương ứng.
5
Luận văn tốt nghiệp
- Tìm kiếm thông tin trên mạng: Đây là lĩnh vực có sự chia sẻ nhiều nhất giữa
trí tuệ nhân tạo và Internet, và ngày càng trở nên hết sức quan trọng. Sẽ sớm
đến một ngày, mọi tri thức của con người được số hóa và để lên mạng hay các
thư viện số cực lớn.
- Phát triển tri thức và khai phá dữ liệu văn bản: Từ nhiều nguồn tài nguyên
khác nhau, thậm chí còn không có liên quan gì đến nhau, máy tính tìm ra
được những tri thức mới mà trước đó chưa có ai biết.
Còn nhiều bài toán và công nghệ xử lý ngôn ngữ tự nhiên khác, như giao diện
người-máy bằng ngôn ngữ tự nhiên, các hệ hỏi đáp, các hệ sinh ngôn ngữ, …
Về Công nghệ xử lý ngôn ngữ, nhất là xử lý văn bản, về đại thể bao gồm các
bước cơ bản sau:
(1) Tầng ngữ âm: Nghiên cứu về ngữ âm.
(2) Tầng hình thái: Nghiên cứu về các thành phần có nghĩa của từ (word),
như từ được tạo ra bởi các hình vị (morphemes) và từ được tách ra trong
một câu thế nào. Trong tiếng Việt, một bài toán quan trọng là phân tách từ
(word segmentation). Một thí dụ quen thuộc là câu “Ông già đi nhanh quá”
có thể phân tách thành (Ông già) (đi) (nhanh quá) hoặc (Ông) (già đi)
(nhanh quá) hoặc những cách khác nữa.
(3) Tầng ngữ pháp: Nghiên cứu các quan hệ cấu trúc giữa các từ, xem các
từ đi với nhau thế nào để tạo ra câu đúng. Quá trình này thường được cụ
thể trong các bước cơ bản sau:
(a) Xác định từ loại (POS tagging): Xem mỗi từ trong câu là loại gì (danh
từ, động từ, giới từ, …). Trong thí dụ trên, có thể “Ông già” là danh từ,
“đi” là động từ, “nhanh” là trạng từ, và “quá” là thán từ.
(b) Xác định cụm từ (chunking): Thí dụ “Ông già” là cụm danh từ, “đi” là
cụm động từ, “nhanh quá” là cụm trạng từ. Như vậy câu trên có hai phân
tích (Ông già) (đi) (nhanh quá) hoặc (Ông) (già đi) (nhanh quá).
6
Luận văn tốt nghiệp
(c) Xác định quan hệ ngữ pháp (parsing): (Ông già) (đi) (nhanh quá) là
quan hệ chủ ngữ-vị ngữ-trạng ngữ.
(4) Tầng ngữ nghĩa (semantic layer) : Nghiên cứu xác định nghĩa của từng
từ và tổ hợp của chúng để tạo nghĩa của câu. Thí dụ trong phân tích (Ông
già) (đi) (nhanh quá), động từ “đi” có thể có nghĩa “bước đi”, hay “chết”
hay “điều khiển” (khi dánh cờ), … và tương ứng ta có các nghĩa khác nhau
của câu.
(5) Tầng ngữ dụng (pragmatic layer): Nghiên cứu mối quan hệ giữa ngôn
ngữ và ngữ cảnh xử dụng ngôn ngữ (context-of-use). Ngữ dụng như vậy
nghiên cứu việc ngôn ngữ được dùng để nói về người và vật như thế nào.
Việc phân tích một câu nói hay một câu trong văn bản ở các tầng từ ngữ âm
(1) đến tầng ngữ pháp (3) gọi là phân tích sơ bộ (shallow parsing). Nếu phân
tích thêm cả tầng ngữ nghĩa (từ (1) đến (4)) ta sẽ có phân tích đầy đủ (fully
parsing). Trong các vấn đề của xử lí ngôn ngữ, có vấn đề cần đến phân tích
đầy đủ (như dịch tự động), nhưng cũng có những vấn đề chỉ với phân tích sơ
bộ cũng có thể đã xử lí được (như tìm kiếm thông tin, phân tích văn bản cho
tổng hợp tiếng nói, mô hình ngôn ngữ trong nhận dạng tiếng nói…).
1.2. Một số bài toán cơ bản phân tích văn bản
Phân tích văn bản là một bài toán lớn, phức tạp. Nó là nền tảng, tiền đề
cho việc xây dựng các ứng dụng quan trọng của xử lý ngôn ngữ như: nhận
dạng chữ viết, tóm tắt văn bản, dịch tự động, tìm kiếm thông tin trên mạng, …
Quá trình phân tích văn bản được chia thành các bước: phân tách văn
bản ra thành các câu. Với mỗi câu thực hiện phân tích cú pháp để xác định
ngữ nghĩa của câu. Từ đó người ta xác định được nội dung văn bản cần phân
tích. Việc phân tích câu cũng được chia thành các bước nhỏ hơn nữa như:
tách từ, xác định từ loại, xác định các thành phần ngữ pháp trong câu. Trong
xử lý ngôn ngữ tự nhiên, người ta đưa ra các bài toán cơ bản để thực hiện các
bài toán trong các bước phân tích văn bản đó. Đó là:
7
Luận văn tốt nghiệp
- Bài toán tách câu: tách một văn bản ra thành các câu.
- Bài toán tách từ: tách một câu thành các đơn vị từ có nghĩa.
- Bài toán gán nhãn từ loại: gán cho mỗi từ trong một câu một nhãn từ
loại.
- Bài toán phân tích cú pháp: phân tích câu thành các thành phần ngữ
pháp, xác định mối quan hệ ngữ nghĩa, quan hệ ngữ pháp giữa các thành
phần đó.
Để phân tích văn bản tốt thì việc giải quyết tốt các bài toán cơ bản này là rất
quan trọng. Đây cũng là những bài toán khó đối với ngôn ngữ tiếng Việt, đã
và vẫn đang được các nhà nghiên cứu quan tâm.
Phần sau là một số phương pháp để giải các bài toán cơ bản đó.
1.2.1. Một số phương pháp giải các bài toán cơ bản: tách câu, tách từ,
gán nhãn từ loại và phân tích cú pháp
1.2.1.1. Bài toán tách câu
Vấn đề tách một văn bản ra thành các đơn vi câu độc lập dường như
được ít các nhà nghiên cứu quan tâm nhất, mặc dù nó cũng là phần việc quan
trọng trong phân tích văn bản. Để tách một văn bản ra thành các đơn vi câu
độc lập đối với tiếng Việt không đơn thuần là chỉ dựa vào các dấu hiệu kết
câu (đấu chấm ‘.’, dấu chấm than ‘.’ và dấu chấm hỏi ‘?’). Vẫn có những câu
tiếng Việt mà các dấu hiệu kết câu đó vẫn chưa phải là kết câu. Ví dụ như
“Giá xăng mới tăng lên thành 16.000 đồng/lít”, hay “Tp.Hà Nội”, “TS.Phạm
Lan”,…
Theo tạp chí Computational Linguistics, đối với các ngôn ngữ Âu – Mỹ,
trong thời gần đây có một số bài báo giới thiệu một số phương pháp và hệ
thống tách câu. Các phương pháp chủ yếu là dựa trên luật, học máy có giám
sát và học máy không giám sát.
Với ngôn ngữ tiếng Việt có công trình nghiên cứu của nhóm tác giả Lê
Hồng Phương và Hồ Tường Vinh với phương pháp học máy thông kê, sử
8
Luận văn tốt nghiệp
dụng mô hình Maximum Entropy. Tức là dựa vào một tập văn mẫu các câu
được tách, mô hình sẽ học và đưa ra quyết định xem với mỗi vị trí có dấu hiệu
kết câu trong văn bản cần tách có đúng là ranh giới giữa các câu hay chưa.
Phương pháp này dễ thực hiện và độ tin cậy phụ thuộc vào tập văn mẫu các
câu đã được tách. Tập văn này càng lớn, chính xác thì độ tin cậy càng cao.
1.2.1.2. Bài toán tách từ
Trong những năm gần đây có nhiều công trình nghiên cứu để giải quyết
bài toán tách từ tiếng Việt. Các nghiên cứu này thường tập trung vào 2 hướng
tiếp cận lớn để giải quyết bài toán này là tách từ dựa trên đơn vị từ và tách từ
dựa trên âm tiết.
Hướng tiếp cận để giải bài toán dựa trên đơn vị từ:
Hướng tiếp cận dựa trên từ với mục tiêu tách được các từ hoàn chỉnh trong
câu. Hướng tiếp cận này có thể chia ra theo ba hướng: dựa trên thống kê
(statistics - based), dựa trên từ điển (dictionary – based) và hydrid (kết hợp
nhiều phương pháp với hy vọng đạt được những ưu điểm của các phương
pháp này)
• Hướng tiếp cận dựa trên thống kê: Dựa trên các thông tin như tần số
xuất hiện của từ trong tập huấn luyện ban đầu. Hướng tiếp cận này đặc
biệt dựa trên tập ngữ liệu huấn luyện, nhờ vậy nên hướng tiếp cận này
tỏ ra linh hoạt và hữu dụng trong nhiều lĩnh vực khác nhau.
• Hướng tiếp cận dựa trên từ điển: Ý tưởng của hướng tiếp cận này là
những cụm từ được tách ra từ văn bản phải được so khớp với các từ
trong từ điển. Do đó trong hướng tiếp cận này đòi hỏi từ điển riêng cho
từng lĩnh vực quan tâm. Hướng tiếp cận “full word / phrase” cần sử
dụng một từ điển hoàn chỉnh để có thể tách được đầy đủ các từ hoặc
ngữ trong văn bản, trong khi đó hướng tiếp cận thành phần
“component” lại sử dụng từ điển thành phần. Từ điển thành phần chỉ
chứa các thành phần của từ và ngữ như hình vị và các từ đơn giản.
9
Luận văn tốt nghiệp
Hướng tiếp cận theo từ điển vẫn còn một số hạn chế trong việc tách từ
vì thực hiện hoàn toàn dựa vào từ điển. Nếu như thực hiện thao tác tách
từ bằng cách sử dụng từ điển hoàn chỉnh thì trong thực tế việc xây dựng
một bộ từ điển hoàn chỉnh là khó thực hiện vì đòi hỏi nhiều thời gian và
công sức. Nếu tiếp cận theo hướng sử dụng từ điển thành phần thì sẽ
giảm nhẹ hạn chế, khó khăn khi xây dựng từ điển, vì khi đó chúng ta sẽ
sử dụng các hình vị từ và các từ đơn giản và các từ khác để hình thành
nên từ, cụm từ hoàn chỉnh.
• Hướng tiếp cận theo Hybrid: Với mục đích kết hợp các hướng tiếp
cận khác nhau để thừa hưởng được các ưu điểm của nhiều kỹ thuật và
các hướng tiếp cận khác nhau nhằm nâng cao kết qủa. Hướng tiếp cận
này thường kết hợp giữa hướng dựa trên thống kê và dựa trên từ điển
nhằm tận dụng các mặt mạnh của các phương pháp này. Tuy nhiên
hướng tiếp cận Hybrid lại mất nhiều thời gian xử lý, không gian đĩa và
đòi hỏi nhiều chi phí.
Hướng tiếp cận để giải bài toán dựa trên đơn vị âm tiết
Trong tiếng Việt, hình vị nhỏ nhất là âm tiết (tiếng) được hình thành bởi
nhiều ký tự trong bảng chữ cái. Hướng tiếp cận này đơn thuần rút trích ra
một số lượng nhất định các tiếng trong văn bản như rút trích từ 1 ký tự
(unigram) hay nhiều ký tự (n-gram) và cũng mang lại một số kết qủa nhất
định được minh chứng thông qua một số công trình nghiên cứu đã được
công bố, như của tác giả Lê An Hà [2003] xây dựng tập ngữ liệu thô
10MB bằng cách sử dụng phương pháp qui hoạch động để cựa đại hóa xác
suất xuất hiện của các ngữ. Rồi công trình nghiên cứu của H.Nguyễn
[2005] làm theo hướng tiếp cận là thay vì sử dụng ngữ liệu thô, công trình
tiếp cận theo hướng xem Internet như một kho ngữ liệu khổng lồ, sau đó
tiến hành thống kê và sử dụng thuật giải di truyền để tìm cách tách từ tối
ưu nhất, và một số công trình của một số tác giả khác. Khi so sánh kết qủa
của tác giả Lê An Hà và H.Nguyễn thì thấy công trình của H.Nguyễn cho
được kết qủa tốt hơn khi tiến hành tách từ, tuy nhiên thời gian xử lý lâu
10
Luận văn tốt nghiệp
hơn. Ưu điểm nổi bật của hướng tiếp cận dựa trên nhiều ký tự là tính đơn
giản, dễ ứng dụng, ngoài ra còn có thuận lợi là ít tốn chi phí cho thao tác
tạo chỉ mục và xử lý nhiều câu truy vấn. Qua nhiều công trình nghiên cứu
của các tác giả đã được công bố, hướng tiếp cận tách từ dựa trên nhiều ký
tự, cụ thể là cách tách từ hai ký tự được cho là sự lựa chọn thích hợp.
1.2.1.3. Bài toán gán nhãn từ loại
Gán nhãn từ loại chính là việc xác định chức năng ngữ pháp của từ
trong câu. Đây là bước cơ bản khi phân tích sâu văn phạm hay các vấn đề xử
lý ngôn ngữ phức tạp khác.
Quá trình gán nhãn có thể được chia thành các bước sau:
- Gán nhãn tiên nghiệm, 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 văn bản đã gán nhãn bằng tay. Đối với một từ mới chưa xuất
hiện trong cơ sở ngữ liệu thì có thể dùng một nhãn ngầm định hoặc gắn
cho nó tập tất cả các nhãn. Trong các ngôn ngữ biến đổi hình thái người
ta cũng dựa vào hình thái từ để đoán nhận lớp từ loại tương ứng của từ
đang xét.
- 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 tiên nghiệm. 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 . Ngoài ra còn có các hệ thống sử
dụng mạng nơ-ron, các hệ thống lai sử dụng kết hợp tính toán xác suất
và ràng buộc ngữ pháp, gán nhãn nhiều tầng.
Về mặt ngữ liệu, các phương pháp phân tích từ loại thông dụng hiện nay dùng
một trong các loại tài nguyên ngôn ngữ sau:
- Từ điển và các văn phạm loại bỏ nhập nhằng.
- Kho văn bản đã gán nhãn, có thể kèm theo các quy tắc ngữ pháp xây
dựng bằng tay.
11
Luận văn tốt nghiệp
- Kho văn bản chưa gán nhãn, có kèm theo các thông tin ngôn ngữ như là
tập từ loại và các thông tin mô tả quan hệ giữa từ loại và hậu tố.
- Kho văn bản chưa gán nhãn, với tập từ loại cũng được xây dựng tự
động nhờ các tính toán thống kê. Trong trường hợp này khó có thể dự
đoán trước về tập từ loại.
Các bộ gán nhãn từ loại dùng từ điển và văn phạm gần giống với một
bộ phân tích cú pháp. Các hệ thống học sử dụng kho văn bản để học cách
đoán nhận từ loại cho mỗi từ. Từ giữa những năm 1980 các hệ thống này
được triển khai rộng rãi vì việc xây dựng kho văn bản mẫu ít tốn kém hơn
nhiều so với việc xây dựng một từ điển chất lượng cao và một bộ quy tắc ngữ
pháp đầy đủ. Một số hệ thống sử dụng đồng thời từ điển để liệt kê các từ loại
có thể cho một từ, và một kho văn bản mẫu để loại bỏ nhập nhằng.
Các bộ gán nhãn thường được đánh giá bằng độ chính xác của kết quả:
[số từ được gán nhãn đúng] / [tổng số từ trong văn bản]. Các bộ gán nhãn tốt
nhất hiện nay có độ chính xác đạt tới 98%.
1.2.1.4. Bài toán phân tích cú pháp
Các hướng tiếp cận để giải bài toán phân tích cú pháp đều sử dụng văn
phạm phi ngữ cảnh để biểu diễn ngôn ngữ, sau đó dùng một số kỹ thuật phân
tích để xác định cây phân tích cú pháp. Sở dĩ vậy là vì nó biểu diễn được hầu
hết các ngôn ngữ tự nhiên, và nó cũng có đủ hạn chế để xây dựng các trình
phân tích câu hiệu quả.
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ừ vựng (chứa ít nhất một ký hiệu kết
thúc) và các qui tắc ngữ đoạn (không chứa ký hiệu kết thúc nào). Với mỗi từ
trong từ vựng có một tập các qui tắc sinh chứa từ này trong vế phải. Một cây
12
Luận văn tốt nghiệp
dẫn xuất cũng được gọi là cây cú pháp cho một phân tích của một ngữ đoạn
thành các thành phần kế tiếp.
1.3. Kho ngữ liệu
Trong các phương để giải các bài toán cơ bản của phân tích ngôn ngữ
thì phương pháp thống kê trên một tập dữ liệu mẫu được các nhà nghiên cứu
đặc biệt quan tâm hơn cả. Một mặt là do phương pháp dễ triển khai thực hiện
và được sử dụng rộng rãi trong nhiều ngôn ngữ khác nhau (Anh, Pháp, Trung,
Nhật, Thái,…). Mặt nữa là ngày nay với sự phát triển mạnh của công nghệ
phần cứng, những khó khăn hạn chế về không gian lưu trữ cũng như tốc độ
xử lý được cải thiện. Máy tính có thể tính toán và xử lý cho kết quả một cách
nhanh chóng. Và phương pháp thống kê này cho kết quả ổn định và độ chính
xác cao nếu có tập dữ liệu mẫu đủ lớn. Tập dữ liệu mẫu này chính là kho ngữ
liệu.
Có các loại kho ngữ liệu về câu, từ, từ được gán nhãn, câu được gán
nhãn cú pháp. Trong đó kho dữ liệu về các câu được gán nhãn cú pháp là đầy
đủ nhất, từ đây có thể đễ dàng rút được các dữ liệu mẫu về câu, từ hay từ
được gán nhãn. Các kho ngữ liệu này ngoài việc dùng để làm dữ liệu huấn
luyện các mô hình xử lý ngôn ngữ tự động, nó còn có một vai trò quan trọng
khác là để đánh giá, kiểm chứng hiệu quả của các mô hình.
Bộ công cụ trong đề tài nghiên cứu luận văn này chính là để hỗ trợ xây
dựng kho ngữ liệu câu tiếng Việt có chú giải cú pháp (gán nhãn cú pháp).
Việc xây dựng kho ngữ liệu này được thực hiện bởi các chuyên gia ngôn ngữ
là các nhà nghiên cứu xử lý ngôn ngữ, các nhà ngôn ngữ học. Việc thực hiện
là thủ công bằng tay hoặc bán tự động bằng việc sử dụng các công cụ đã có
như tách câu, tách từ, gán nhãn từ loại, gán nhãn cú pháp được tích hợp vào
chương trình.
13
Luận văn tốt nghiệp
Chương 2. Các công cụ phân tích văn bản tiếng Việt
Trong chương này em giới thiệu một số công cụ phân tích văn bản
tiếng Việt đã có áp dụng cho các bài toán cơ bản: tách câu, tách từ, gán nhãn
từ loại và phân tích cú pháp. Đây là những công cụ được xây dựng bằng ngôn
ngữ Java mã nguồn mở, có thể dễ dàng mở rộng, tích hợp được vào các hệ
thống khác.
2.1. Bài toán tách câu và công cụ vnSentDetector
Đặt bài toán
Cho một văn bản tiếng Việt bất kỳ. Hãy phân tách văn bản đó ra thành
các đơn vị câu độc lập.
Bài toán tách câu đặt ra với mục đích xây dựng công cụ tự động tách các câu
trong một văn bản tiếng Việt bất kỳ một cách chính xác nhất có thể.
Công cụ tách câu vnSententDetector của hai tác giả Lê Hồng Phương và Hồ
Tường Vinh được xây dựng dựa trên mô hình xác suất với Maximum
Entropy. Mô hình này được đào tạo trên tạp dữ liệu được huấn luyện gồm có
4.800 câu tiếng Việt. Bộ dữ liệu này được các nhà ngôn ngữ học thuộc trung
tâm từ điển học Việt Nam (Vietlex) xây dựng thủ công bằng tay. Với phương
pháp này, theo bài báo mà các tác giả đã công bố thì độ chính xác đạt được
95%.
Ý tưởng của phương pháp là xây dựng mô hình xác suất ước lượng lớp b xảy
ra trong ngữ cảnh c, p(b,c).
Trong đó: b {no, yes}, α
j
là những tham số chưa biết của mô hình và mỗi α
j
có ứng một đặc trưng mô hình f
j
, π là một hằng số.
14
Luận văn tốt nghiệp
Gọi ={no,yes} là tập khả năng của các lớp, là tập khả năng về các ngữ
cảnh. Khi đó các đặc trưng f
j
là hàm nhị phân . Các
hàm này dùng để mã hóa thông tin ngữ cảnh. Xác suất để biết ranh giới câu
trong ngữ cảnh c được cho bởi p(yes,c). α
j
được chọn để cực đại hàm
likelihood của tập dữ liệu mẫu.
Mô hình sử dụng luật quyết định đơn giản để xác định khả năng ranh giới câu.
Ranh giới hiện tại là khả năng ranh giới câu nếu và chỉ nếu p(yes,c) >0.5,
trong đó:
và c là ngữ cảnh có chứa khả năng là ranh giới câu.
Một phần quan trọng của phương pháp là lựa chọn các đặc trưng f
j
. Các đặc
trưng của mô hình Maximum Entropy có thể mã hóa bất kỳ thông tin nào có
ích cho việc xác định các ranh giới câu. Các khả năng ranh giới câu được xác
định bằng cách quét văn bản theo các chuỗi ký tự được ngăn cách bởi kí tự
trắng mà trong đó có chứa một trong các ký hiệu “.”, “!” hoặc “?”
2.2. Bài toán tách từ và công cụ vnTokenizer
Đặt bài toán
Cho một câu tiếng Việt bất kỳ, hãy tách câu đó thành những đơn vị từ
vựng (từ), hoặc chỉ ra những âm tiết nào không có trong từ điển (phát
hiện đơn vị từ vựng mới).
Giới thiệu công cụ vnTokenizer
vnTokenizer là công cụ tách từ tiếng Việt được nhóm tác giả Nguyễn
Thị Minh Huyền, Vũ Xuân Lương và Lê Hồng Phương phát triển dựa trên
phương pháp so khớp tối đa (Maximum Matching) với tập dữ liệu sử dụng là
bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt.
15
Luận văn tốt nghiệp
Công cụ được xây dựng bằng ngôn ngữ Java, mã nguồn mở. Có thể đễ dàng
sửa đổi nâng cấp và tích hợp vào các hệ thống phân tích văn bản tiếng Việt
khác.
Quy trình thực hiện tách từ theo phương pháp khớp tối đa:
Hình 1. Quy trình tách từ
- Đầu vào của công cụ tách từ vnTokenizer là một câu hoặc một văn bản
được lưu dưới dạng tệp.
- Đầu ra là một chuỗi các đơn vị từ được tách.
- Các đơn vị từ bao gồm các từ trong từ điển cũng như các chuỗi số,
chuỗi kí từ nước ngoài, các hình vị ràng buộc (gồm các phụ tố), các dấu
câu và các chuỗi kí tự hỗn tạp khác trong văn bản (ISO, 2008). Các đơn
vị từ không chỉ bao gồm các từ có trong từ điển, mà cả các từ mới hoặc
các từ được sinh tự do theo một quy tắc nào đó (như phương thức thêm
phụ tố hay phương thức láy) hoặc các chuỗi kí hiệu không được liệt kê
trong từ điển.
Công cụ sử dụng tập dữ liệu đi kèm là tập từ điển từ vựng tiếng Việt,
danh sách các đơn vị từ mới bổ sung, được biểu diễn bằng ôtômat tối tiểu hữu
hạn trạng thái, tệp chứa các biểu thức chính quy cho phép lọc các đơn vị từ
đặc biệt (xâu dạng số, ngày tháng,…), và các tệp chứa các thống kê unigram
và bigram trên kho văn bản tách từ mẫu.
16
Luận văn tốt nghiệp
Với các đơn vị từ đã có trong từ điển, khi thực hiện tách từ cũng được
xử lý hiện tượng nhập nhằng bằng cách kết hợp với các thống kê unigram và
bigram. Chẳng hạn trong tiếng Việt thường gặp các trường hợp nhập nhằng
như:
- Xâu AB vừa có thể hiểu là 1 đơn vị từ, vừa có thể là chuỗi 2 đơn vị từ A-B.
- Xâu ABC có thể tách thành 2 đơn vị AB-C hoặc A-BC.
Đánh giá kết quả
Kết quả đánh giá của công cụ được cho là ổn định đối với nhiều loại
văn bản/ văn phong khác nhau. Độ chính xác trung bình đạt được là khoảng
94%.
2.3. Bài toán gán nhãn từ loại và công cụ vnQtag
Đặt bài toán tổng quát
Cho một câu tiếng Việt đã được tách thành các đơn vị độc lập. Gán cho
mỗi đơn vị từ đó một nhãn từ loại ngôn ngữ.
Đã có một số công cụ gán nhãn từ loại được xây dựng như vnQtag,
vnTagger và JvnTagger. Trong đó vnQtag được xây dựng từ năm 2003 theo
phương pháp xác suất và đã được công bố rộng rãi trong cộng đồng các nhà
nghiên cứu xử lý ngôn ngữ tiếng Việt. Gần đây có vnTagger [Lê Hồng
Phương, 2009] và JvnTagger [Phan Xuân Hiếu, VLSP, 2009] được xây dựng
theo phương pháp học máy thống kê (Maxmimum Entropy và Conditional
Rundom Fields), sử dụng bộ ngữ liệu mẫu Vietreebank [Nguyễn Phương
Thái, VLSP] để huấn luyện mô hình học.
Trong đề tài này em mới sử dụng tích hợp công cụ gán nhãn vnQtag
vào công cụ hỗ trợ xây dựng kho ngữ liệu phân tích văn bản tiếng Việt.
Giới thiệu nguồn gốc công cụ vnQtag
17