CHƯƠNG 1: XỬ LÝ NGÔN NGỮ TỰ NHIÊN VÀ XỬ LÝ VĂN BẢN TIẾNG VIỆT Con người hiện nay đang phải đối mặt với “cơn đại hồng thủy” dữ liệu: feedback của đối tác, thông tin của đối thủ cạnh tranh, facebook, emails, tweets, thông tin họp báo, các văn bản về sản phẩm và công nghệ. Khai thác những dữ liệu này một cách hiệu quả là một việc cực kỳ quan trọng. Vấn đề ở đây là gì? Vấn đề ở đây là ở chỗ có quá nhiều thông tin cần xử lý cùng một lúc. Vấn đề này sẽ được giải quyết bới các chương trình xử lý ngôn ngữ tự nhiên.
Các chương trình xử lý ngôn ngữ tự nhiên có khả năng đọc và hiểu văn bản với tốc độ cao để rút trích ra những tri thức đáng giá. Xử lý ngôn ngữ tự nhiên được ứng dụng cho hàng loạt công việc khác nhau, từ việc đảm bảo an ninh - quốc phòng cho đến các vấn đề kinh doanh và đời sống cá nhân.1 Xử lý ngôn ngữ tự nhiên Xử lý ngôn ngữ tự nhiên là một nhánh của trí tuệ nhân tạo thực hiện việc phân tích, đoán nhận và sinh ra ngôn ngữ con người một cách tự động hoặc bán tự động. Xử lý ngôn ngữ tự nhiên nghiên cứu sự tương tác giữa máy tính và ngôn ngữ của con người. Xử lý ngôn ngữ tự nhiên ra đời từ những năm 1940, với rất nhiều công trình nghiên cứu theo hai hướng chính là: 1) ô-tô-mát (automaton) và các mô hình xác suất (probabilistic models) vào những năm 1950; 2) các phương pháp dựa trên ký hiệu (symbolic) và các phương pháp ngẫu nhiên (stochastic) vào những năm 1970.
Giai đoạn tiếp theo (1970-1983) chứng kiến sự bùng nổ trong nghiên cứu về xử lý tiếng nói và ngôn ngữ. Ngày nay với sự phát triển nhanh chóng, học máy (machine learning) đã trở thành trung tâm của phần lớn các lĩnh vực thuộc khoa học máy tính, bao gồm xử lý ảnh và thị giác máy tính (computer vision), tin sinh học (bioinformatics), các hệ tư vấn (recommender systems), kỹ nghệ phần mềm, và xử lý ngôn ngữ tự nhiên. Các bước xử lý ngôn ngữ tự nhiên • Phân tích hình thái - Trong bước này toàn bộ văn bản sẽ được phân tách thành các từ, cụm từ. • Phân tích cú pháp - Phân tách các từ trong câu để thấy được sự liên hệ giữa các từ.
• Phân tích ngữ nghĩa - Các văn bản được kiểm tra ngữ nghĩa để rút ra ý nghĩa chính xác của các từ. • Tích hợp văn bản - Ý Nghĩa của một câu riêng biệt có thể phụ thuộc vào những câu đứng trước, đồng thời nó cũng có thể ảnh hưởng đến các câu đứng sau. • Phân tích thực nghĩa - Các câu được phân tách để tìm ra ý nghĩa thực sự của nó. Để làm được điều này cần phải có kiến thức thực tế.
4 Các ứng dụng của xử lý ngôn ngữ tự nhiên: • Nhận dạng chữ viết: Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in, ví dụ nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản điện tử. Với chương trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu sách trong thư viện thành văn bản điện tử trong thời gian ngắn. Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo mật thông tin. • Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn bản tương ứng.
Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn, chẳng hạn thay vì gõ một tài liệu nào đó bạn đọc nó lên và trình soạn thảo sẽ tự ghi nó ra. • Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói. Thay vì phải tự đọc một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng ta. • Dịch tự động (machine translate): Như tên gọi đây là chương trình dịch tự động từ ngôn ngữ này sang ngôn ngữ khác.
• Tìm kiếm thông tin: Đặt câu hỏi và chương trình tự tìm ra nội dung phù hợp nhất. Thông tin ngày càng đầy lên theo cấp số nhân, đặc biệt với sự trợ giúp của internet việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ hết. Việc khó khăn lúc này là tìm đúng nhất thông tin mình cần giữa bề bộn tri thức và đặc biệt thông tin đó phải đáng tin cậy. • Tóm tắt văn bản: Từ một văn bản dài tóm tắt thành một văn bản ngắn hơn theo mong muốn nhưng vẫn chứa những nội dung thiết yếu nhất.
• Khai phá dữ liệu (data mining) và phát hiện tri thức: Từ rất nhiều tài liệu khác nhau phát hiện ra tri thức mới.1 Nội dung xử lý ngôn ngữ tự nhiên a. Phân tích hình thái Phân tích hình thái có thể chia thành 3 khâu xử lý dưới đây: - Phân đoạn từ vựng (word segmentation) phân giải câu văn được nhập vào thành các từ có thứ tự. - Phân loại từ (part-of-speech tagging) quyết định từ loại của từ vựng - Phục hồi thể nguyên dạng của từ (lemmatization) làm trở lại nguyên dạng ban đầu các từ vựng bị biến đổi thể ( inflection) hoặc được kết hợp (conjugatetion). Trong tiếng Anh, các từ trong câu được sắp xếp với nhau bằng các khoảng trắng nhưng trong tiếng Nhật, tiếng Thái, tiếng Trung Quốc là ngôn ngữ mà giữa các từ vựng không có khoảng trắng.
Vì thế xử lý phân đoạn từ câu văn được nhập vào là cần thiết. Phân tích cú pháp Phân tích cú pháp là bước xử lý quan trọng trong các bài toán hiểu ngôn ngữ tự nhiên. Nó cung cấp một nền tảng vững chắc cho việc xử lý văn bản thông minh như các hệ thống hỏi đáp, khai phá văn bản và dịch máy. Việc phân tích cú pháp câu có thể chia làm hai mức chính.
Mức thứ nhất là tách từ và xác định thông tin từ loại. Mức thứ hai là sinh cấu trúc cú pháp cho câu dựa trên các từ và từ loại do bước trước cung cấp.2 Ứng dụng của xử lý ngôn ngữ tự nhiên a. Nhận dạng chữ viết Nhận dạng chữ viết tay được chia thành hai lớp bài toán lớn là nhận dạng chữ viết tay trực tuyến (online) và nhận dạng chữ viết tay ngoại tuyến (offline). Trong nhận dạng chữ viết tay ngoại tuyến, dữ liệu đầu vào được cho dưới dạng các ảnh được quét từ các giấy tờ, văn bản.
Ngược lại nhận dạng chữ viết tay trực tuyến là nhận dạng các chữ trên màn hình ngay khi nó được viết. Trong hệ nhận dạng này máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và tốc độ của nét… Các giai đoạn phát triển Giai đoạn 1: (1900 - 1980) - Nhận dạng chữ được biết đến từ năm 1900, khi nhà khoa học người Nga Tyuring phát triển một phương tiện trợ giúp cho những người mù. - Các sản phẩm nhận dạng chữ thương mại có từ những năm1950, khi máy tính lần đầu tiên được giới thiệu tính năng mới về nhập và lưu trữ dữ liệu hai chiều bằng cây bút viết trên một tấm bảng cảm ứng. Công nghệ mới này cho phép các nhà nghiên cứu làm việc trên các bài toán nhận dạng chữ viết tay on-line.
- Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minh của M. Sheppard được gọi là GISMO, một robot đọc-viết. - Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J. Rainbow dùng để đọc chữ in hoa nhưng rất chậm.
- Năm 1967, Công ty IBM đã thương mại hóa hệ thống nhận dạng chữ. Giai đoạn 2: (1980 - 1990) - Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triển trong giai đoạn trước, đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ. - Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều hệ thống nhận dạng chữ. 6 - Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa.
Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế. Giai đoạn 3: (Từ 1990 đến nay) - Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạn này. - Các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnh vực học máy (Machine Learning) được áp dụng rất hiệu quả. - Một số công cụ học máy hiệu quả như mạng nơ ron, mô hình Markov ẩn, SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên.
Nhận dạng tiếng nói Trên thế giới đã và đang có rất nhiều công trình nghiên cứu về vấn đề này với rất nhiều phương pháp nhận dạng tiếng nói khác nhau. Và những nghiên cứu đó cũng có những thành công đáng kể. Có thể kể đến như: hệ thống nhận dạng tiếng nói tiếng Anh Via Voice của IBM, Spoken Toolkit của CSLU (Central of Spoken Laguage Under- standing), Speech Recognition Engine của Microsoft, Hidden Markov Model toolkit của đại học Cambridge, CMU Sphinx của đại học Carnegie Mellon,… ngoài ra, một số hệ thống nhận dạng tiến nói tiếng Pháp, Đức, Trung Quốc,. cũng khá phát triển.
Ở Việt Nam thì hầu như chỉ mới có bộ phần mềm Vspeech của nhóm sinh viên trường Đại học Bách Khoa TP. HCM, các phần mềm khác chỉ thử nghiệm trong phòng thí nghiệm, chưa được sử dụng thực tế vì chưa đạt trên 100 từ. Phần mềm Vspeech được phát triển từ mã nguồn mở Microsoft Speech SDK nhận dạng tiếng Anh, thông qua dữ liệu, phương thức trung gian, việc nhận dạng được chuyển trong Vspeech để nhận biết tiếng Việt. Tổng hợp tiếng nói Tổng hợp tiếng nói (text-to-speech, TTS) có mục tiêu ngược với mục tiêu của nhận dạng tiếng nói.
Kiến trúc của một hệ thống TTS giống như kiến trúc đọc chữ của con người, bao gồm một môđun xử lý ngôn ngữ tự nhiên (bộ tiền xử lý nhằm tổ chức các câu thành danh sách, bộ phân tích hình thái, bộ phân tích ngữ cảnh, bộ phân tích câu cú pháp, ngôn điệu, …), có khả năng sinh ra phiên âm phù hợp với cách phát âm của quá trình đọc văn bản cùng với ngữ điệu, ngôn điệu; và một mô đun xử lý tín hiệu số, mô đun này chuyển thông tin tượng trưng nhận được thành tiếng nói (mô đun letter-to- sound và mô đun sinh ra ngôn điệu). Khi hai khối xử lý ngôn ngữ tự nhiên và xử lý tín hiệu số được định nghĩa rõ ràng, việc nghiên cứu về hai quá trình có thể được thực hiện riêng rẽ, độc lập với nhau.