Xử lý ngôn ngữ tự nhiên (natural language processing - NLP)[1,20] là một nhánh con trong lĩnh vực trí tuệ nhân tạo, với mục đích tập trung vào các ứng dụng trên ngôn ngữ của con người. Xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất trong lĩnh vực trí tuệ nhân tạo vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - là công cụ của con người trong tư duy và giao tiếp. Trong xử lý ngôn ngữ tự nhiên thường có các bước xử lý sau, tuy nhiên khó có thể tách bạch từng bước mà phải dựa vào ngữ cảnh cụ thể để có thể tiến hành một hoặc nhiều bước cùng lúc:
- Phân tích hình thái: Trong bước này từng từ sẽ được phân tích và các ký tự không phải chữ (như các dấu câu) sẽ được tách ra khỏi các từ.
- Phân tích cú pháp: Dãy các từ sẽ được biến đổi thành các cấu trúc thể hiện sự liên kết giữa các từ này. Sẽ có những dãy từ bị loại do vi phạm các luật văn phạm.
- Phân tích ngữ nghĩa: Thêm ngữ nghĩa vào các cấu trúc được tạo ra bởi bộ phân tích cú pháp.
- Tích hợp văn bản: Ngữ 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 phía sau.
- Phân tích thực nghĩa: Cấu trúc thể hiện điều được phát ngôn sẽ được thông dịch lại để xác định nó thật sự có nghĩa là gì.
Xử lý ngôn ngữ tự nhiên được ứng dụng trên rất nhiều lĩnh vực khác nhau, có thể kể đến một số bài toán tiêu biểu sau:
- Nhận dạng chữ viết: Có hai kiểu nhận dạng chữ viết phổ biến là nhận dạng chữ in (ví dụ chữ trên sách báo) và phức tạp hơn nhiều là nhận dạng
chữ viết tay bởi khuôn dạng không rõ ràng và đường nét thay đổi tùy theo người viết khác nhau.
- 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, việc này 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; ví dụ thay vì gõ một tài liệu nào đó, chúng ta có thể đọ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 tương ứng. Ví dụ thay vì phải tự đọc một cuốn sách hay nội dung một trang web, một chương trình hỗ trợ sẽ tự động đọc cho chúng ta. Nhận dạng và tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm thị.
- Dịch tự động (machine translate): hay còn gọi là dịch máy, hỗ trợ dịch tự động từ ngôn ngữ này sang ngôn ngữ khác.
- Tìm kiếm thông tin: chúng ta đặt ra câu hỏi và chương trình tự tìm ra nội dung phù hợp nhất. Thông tin trên internet tăng cấp số nhân, tuy nhiên việc khó khăn lúc là tìm được thông tin mong muốn và đáng tin cậy. Có rất nhiều máy tìm kiếm khổng lồ trên giao diện web như Google hay Yahoo, song thực sự hiện nay chưa có cỗ máy tìm kiếm nào hoàn hảo cả. - 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 và vẫn thể hiện được nội dung cơ bản.
- Khai phá dữ liệu (data mining) và phát hiện tri thức: Từ rất nhiều tài liệu dường như không có quan hệ với nhau, phát hiện ra tri thức mới. Đây là một vấn đề khó, nó gần như là mô phỏng quá trình học tập, khám phá khoa học của con người.