Trình duyệt Cốc Cốc sở hữu công nghệ Natural Language Processing và Tokenizer dành cho tiếng Việt đảm bảo nhanh và chính xác nhất hiện nay. Điều đáng ngạc nhiên hơn, Cốc Cốc chia sẻ rộng rãi Tokenizer – đứa con tinh thần của mình trên kho lưu trữ mã nguồn Github.
Thư viện tách từ Tokenizer luôn là giải pháp quan trọng nhất của việc xử lý ngôn ngữ
Xử lý ngôn ngữ tự nhiên là một thuật toán khó, nhưng lại là điều quan trọng của sự phát triển và ứng dụng công nghệ thông tin không chỉ ở Việt Nam, mà ở toàn thế giới. Như ông bà ta xưa nay vẫn nói: “Phong ba bão táp không bằng ngữ pháp Việt Nam”. Đôi khi, người bản ngữ còn gặp khó khăn khi sử dụng tiếng Việt, thế nên còn gian nan hơn là khi phải dạy máy tính dùng ngôn ngữ như con người.
Khẳng định vị thế trình duyệt thuần Việt, Cốc Cốc đi đầu trong lĩnh vực tìm kiếm thông tin bằng tiếng Việt ở nước nhà, nên việc nghiên cứu và phát triển lĩnh vực xử lý ngôn ngữ tự nhiên có thể nói là điều tất yếu. Đội ngũ Cốc Cốc đã chính thức ra mắt Tokenizer (thuật toán tách từ) vào ngày 17/4/2019. Cốc Cốc chia sẻ miễn phí mã nguồn mở (open source) của thư viện tách từ Tokenizer ngay trên Github, các kỹ sư và lập trình viên quan tâm đến có thể nâng cấp, chỉnh sửa và phát triển mã nguồn theo ý muốn.
Vậy thuật toán Tokenizer (tách từ) là gì?
Đối với thuật toán xử lý ngôn ngữ, điều trước tiên chúng ta cần là xác định cấu trúc ngữ pháp của câu, xác định từ loại của một từ trong câu và yêu cầu quan trọng nhất là phải xác định đâu là từ trong câu.
Tách từ là một quá trình xử lý nhằm xác định ranh giới các từ (từ đơn, từ ghép,…) trong câu văn. Văn bản tiếng Việt đặt dấu cách giữa các âm tiết chứ không phải giữa các từ. Một từ có thể có một, hai hoặc nhiều âm tiết nên có nhiều cách phân chia các âm tiết thành các từ, gây ra nhập nhằng. Việc phân giải nhập nhằng này gọi là bài toán tách từ.
Ví dụ, từ “đất nước” được tạo ra từ 2 âm tiết “đất” và “nước”, cả 2 âm tiết này đều có nghĩa riêng khi đứng độc lập, nhưng khi ghép lại sẽ mang một nghĩa hoàn toàn khác.
Vì thế, Tách từ được xem là bước xử lý quan trọng đối với các hệ thống Xử lý ngôn ngữ tự nhiên. Thư viện tách từ giúp cho trình duyệt Cốc Cốc có thể hiểu rõ và xử lý được các bài toán như:
- thêm dấu tự động khi bạn viết thiếu và bỏ sót dấu;
- kiểm tra chính tả giúp người dùng viết email hoặc đơn giản trạng thái trên facebook nhanh hơn;
- phân loại văn bản;
- xếp hạng kết quả tìm kiếm và nhiều bài toán khác…
Điều gì khiến Tokenizer của Cốc Cốc trở nên khác biệt?
Bắt đầu dự án với mục đích tối ưu khả năng xử lý ngôn ngữ tiếng Việt, Cốc Cốc đã đưa ra công cụ xử lý tiếng Việt mở với những tính năng nổi bật như:
- Tốc độ xử lý dữ liệu nhanh vượt bậc so với các thư viện hiện tại. Hơn thế nữa, tốc độ đã lên tới 15 triệu ký tự một giây cho một máy tính phổ thông;
- Xử lý tách các từ được viết liền, ví dụ như “dantri” thành “dan tri” hay “thethaovanhoa” thành “the thao van hoa”;
- Chức năng quan trọng nhất là tách từ tiếng Việt kể cả từ có dấu và thiếu dấu.
Ngoài ra, Cốc Cốc sử dụng hướng tiếp cận dựa trên từ điển (dictionary-based) với mục tiêu tách các từ hoàn chỉnh trong câu. Ý 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 so khớp với các từ trong từ điển. Điều tất nhiên, tiếng Việt là sinh ngữ luôn phát triển và thay đổi, các từ mới thuần Việt cũng như vay mượn được tạo ra hàng ngày. Vì vậy, từ điển Tiếng Việt ở đây luôn được tùy chỉnh và cập nhật thường xuyên.
Với Tokenizer, Cốc Cốc hy vọng tách từ không còn là một bài toán hóc búa, mà thay vào đó sẽ là giải pháp hiệu quả nhất cho các bài toán xử lý ngôn ngữ tiếng Việt khác (như dịch tự động, trích chọn thông tin, tìm kiếm thông tin, tóm tắt văn bản, …).
Để đóng góp ý kiến về đứa con tinh thần này của Cốc Cốc, bạn có thể tìm hiểu về thư viện Tokenizer trên Github và đặt câu hỏi cho các chuyên gia Cốc Cốc.
Còn chần chừ gì nữa, truy cập ngay tại link: https://github.com/coccoc/coccoc-tokenizer để biết thêm thông tin chi tiết nhé!