LỜI NÓI ĐẦUNgày nay cùng với sự bùng nổ thông tin trên Internet mà trong đó văn bản là mộttrong 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à
Trang 1MỤC LỤC
Trang 2DANH MỤC HÌNH ẢNH
Trang 3LỜ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ộttrong 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 trongnhữ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ủamá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ệulớ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ườinê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ềună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ọchỏ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ứctiế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 quantrọ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áchcâ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ểmchứng độ tin cậy của các mô hình ngôn ngữ đó Trong khuôn khổ đồ án môn học, chúng
em xin trình bày đề tài nghiên cứu “Tách từ và gán nhãn từ Tiếng Việt tích hợp VnTokenizer và Viettagger”.
Bài báo cáo được chia làm các chương như sau:
Chương 1: Tổng quan về xử lý ngôn ngữ tự nhiên và phân tích văn bản tiếng việt
Chương 2: Các công cụ phân tích văn bản tiếng việt Chương 3: Xây dựng phần mềm tách từ tiếng việt sử dụng Viettagger.
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ
NHIÊN VÀ PHÂN TÍCH VĂN BẢN 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ằmxâ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ônngữ 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ủamộ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ônngữ 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ựavà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 trithứ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ảntrong 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ôngnhữ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 Anhtương ứng
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ộtngà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
Trang 5nhau, thậm chí còn không có liên quan gì đến nhau, máy tính tìm ra được nhữngtri 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ệnngườ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:
Tầng ngữ âm: Nghiên cứu về ngữ âm
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 (Ônggià) (đi) (nhanh quá) hoặc (Ông) (già đi) (nhanh quá) hoặc những cách khác nữa
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:
- 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ừ
- 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á)
- Xác định quan hệ ngữ pháp (parsing): (Ông già) (đi) (nhanh quá) là quan hệ
chủ ngữ-vị ngữ-trạng ngữ
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) (nhanhquá), động từ “đi” có thể có nghĩa “bước đi”, hay “chết” hay “điều khiển” (khidánh cờ), … và tương ứng ta có các nghĩa khác nhau của câu
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ệcngô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ả
Trang 6tầ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ôngtin, 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ếngnó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ệcxâ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ắtvă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ànhcá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 đượcchia 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ầnngữ 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à:
- 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 quantrọ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 đượccác nhà nghiên cứu quan tâm
1.2.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ácnhà 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íchvă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ấuchấ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”,…
Trang 7Theo 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ácphươ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ồngPhương và Hồ Tường Vinh với phương pháp học máy thông kê, sử dụng mô hìnhMaximum 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ì độ tincậy càng cao
1.2.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ántá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ảiquyế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 đó tronghướ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ếpcậ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ácthành phần của từ và ngữ như hình vị và các từ đơn giản 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ừ
Trang 8đ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ỏinhiề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ầnthì 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ậnkhá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ướngdự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ácphươ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 địnhcá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ìnhnghiê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ệncủ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 khongữ 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áchtá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ủatá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ốthơn khi tiến hành tách từ, tuy nhiên thời gian xử lý lâu hơn Ưu điểm nổi bật của hướngtiế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à íttố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ìnhnghiê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
Trang 91.2.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ônngữ 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ạitươ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ọncho 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ínhtoá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ộttrong 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ằngtay
- 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áctí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ỗitừ.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ựngkho 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
Trang 10Các bộ gán nhãn thường được đánh giá bằng độ chính xác của kết quả: [số từ đượcgá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.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 phingữ 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âyphâ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 ứngvớ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 sinhbiể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 ítnhấ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âydẫ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ácthành phần kế tiếp
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ệunà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
Trang 11Bộ 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 khongữ 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ônngữ, 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ằngviệ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.
Trang 12CHƯƠNG 2: MỘT SỐ 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
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ã
Trang 13hó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ưngcủ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ảntheo 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
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ị MinhHuyề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
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:
Trang 14Hình 2.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ắcnà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áchcá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ệpchứ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àythá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
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ệntượ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ạntrong 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ả
Trang 15Kế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ănphong 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ị
Giới thiệu nguồn gốc công cụ vnQtag
vnQtag là công cụ gán nhãn từ loại cho văn bản tiếng Việt đã tách từ, được pháttriển bởi nhóm tác giả Nguyễn Thị Minh Huyền, Vũ Xuân Lương và Lê Hồng Phươngdựa trên xác suất, 2003, sử dụng bộ ngữ liệu mẫu đã gán nhãn Việc thực hiện gán nhãnđược thực hiện qua thao tác dòng lệnh (môi trường DOS) và được tiến hành qua haibước: huấn luyện và gán nhãn
Gán nhãn theo xác suất
Ý tưởng của phương pháp gán nhãn từ loại xác suất là xác định phân bố xác suất
trong không gian kết hợp giữa dãy các từ S w và dãy các nhãn từ loại S t Sau khi đã cóphân bố xác suất này, bài toán loại bỏ nhập nhằng từ loại cho một dãy các từ được đưa về
bài toán lựa chọn một dãy từ loại sao cho xác suất điều kiện P(S t | S w) kết hợp dãy từ loại
đó với dãy từ đã cho đạt giá trị lớn nhất
Theo công thức xác suất Bayes ta có:
P(St | S w ) = P(S w | S t ).P(S t )/P(S w)
Ở đây dãy các từ Sw đã biết, nên thực tế chỉ cần cực đại hoá xác suất P(Sw |S t ).P(S t)
Với mọi dãy S t = t 1t2 tN và với mọi dãy S w = w 1w2 w N :
P(w1w2 w N |t 1t2 t N ) = P(w 1 |t 1t2 t N ) P(w 2 |w 1 ,t 1t2 t N ) P(w N |w 1 w N-1 , t 1t2 t N)
Trang 16P(t1t2 t N ) = P(t 1 )P(t 2 |t 1 ) P(t 3 | t 1t2 ) P(t N |t 1 t N-1)
Người ta đưa ra các giả thiết đơn giản hoá cho phép thu gọn mô hình xác suất vềmột số hữu hạn các tham biến
Đối với mỗi P(w i |w 1 w i-1 , t 1t2 t N), giả thiết khả năng xuất hiện một từ khi cho một
nhãn từ loại là hoàn toàn xác định khi biết nhãn đó, nghĩa là P(w i |w 1 w i-1 , t 1t2 t N ) = P(w i|
ti)
Như vậy xác suất P(w 1w2 w N |t 1t2 t N) chỉ phụ thuộc vào các xác suất cơ bản có
dạng P(w i | t i):
P(w1w2 w N | t 1t2 t N ) = P(w 1 | t 1 )P(w 2 | t 2 ) P(w N | t N)
Đối với các xác suất P(t i |t 1 t i-1), giả thiết khả năng xuất hiện của một từ loại là
hoàn toàn xác định khi biết các nhãn từ loại trong một lân cận có kích thước k cố định, nghĩa là: P(t i |t 1 t i-1 )= P(t i| ti-k t i-1 ) Nói chung, các bộ gán nhãn thường sử dụng giả thiết k bằng 1 (bigram) hoặc 2 (trigram).
Như vậy mô hình xác suất này tương đương với một mô hình Markov ẩn, trong đó
các trạng thái ẩn là các nhãn từ loại (hay các dãy gồm k nhãn nếu k> 1), và các trạng thái
hiện (quan sát được) là các từ trong từ điển Với một kho văn bản đa gán nhãn mẫu, cáctham số của mô hình này dễ dàng được xác định nhờ thuật toán Viterbi
Dữ liệu mẫu
Bộ gán nhãn QTAG là một bộ gán nhãn trigram QTAG sử dụng kết hợp hainguồn thông tin: một từ điển từ chứa các từ kèm theo danh sách các nhãn có thể củachúng cùng với tần suất xuất hiện tương ứng; và một ma trận gồm các bộ ba nhãn từ loại
có thể xuất hiện liền nhau trong văn bản với các tần số xuất hiện của chúng Cả hai loại
dữ liệu này thu được dễ dàng dựa vào kho văn bản mẫu đã gán nhãn Các loại dấu câu vàcác kí hiệu khác trong văn bản được xử lý như các đơn vị từ vựng, với nhãn chính là dấucâu tương ứng
Thuật toán gán nhãn từ loại