Xử lý ngôn ngữ tự nhiên có thể hiểu đơn giản là ngôn ngữ của con người. Máy tính được lập trình để xử lý tốt đối với dữ liệu có cấu trúc như các bảng số hay database. Nhưng ngôn ngữ của con người lại được thể hiện trên từ ngữ. Dữ liệu được biểu diễn dưới dạng phi cấu trúc – những dòng chữ.
Để máy tính có thể hiểu và xử lý được ngôn ngữ con người, chúng ta cần có quy trình được gọi là Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP).
Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực thuộc Trí tuệ nhân tạo với mục tiêu giúp máy tính có thể hiểu được ngôn ngữ của con người. Chúng ta hãy cùng tìm hiểu NLP hoạt động như thế nào và thực hiện chúng trên Python như thế nào nhé.
Máy tính hiểu được ngôn ngữ tự nhiên
Ngày nay, mục tiêu sử dụng máy tính của con người không chỉ dừng lại để hiểu các con số, mà đang dần phát triển để hiểu các chữ viết của con người. Nguyên do thực sự đơn giả. Chữ viết là công cụ con người sử dụng để giao tiếp với nhau hàng ngàn năm nay. Chúng được truyền từ đời này qua đời khác. Nó là nguồn dữ liệu dồi dào và rất có ích, Các lập trình viên ngày nay cũng càng ngày càng cố gắng lập trình cho máy tính hiểu được ngôn ngữ tự nhiên.
Máy tính ngày nay chưa thực sự hiểu được ngôn ngữ tự nhiên như con người. Nhưng chúng đã thực hiện được rất nhiều. Trong một số lĩnh vực, những gì NLP thực hiện được có thể coi là một phép màu. Trong mỗi hoạt động, bạn có thể tiết kiệm rất nhiều thời gian nếu bạn áp dụng được NLP cho riêng bạn.
Hiện nay, có rất nhiều các thư viện có hỗ trợ NLP trên Python sẽ hỗ trợ bạn rất nhiều trong việc này. Bạn có thể tham khảo những thư viện mã nguồn mở như spaCy, textacy, hay neuralcoref. Bạn có thể thực hiện NLP chỉ với vài dòng code ngắn.
Điểm khó của NLP
Qúa trình đọc và hiểu được ngôn ngữ tự nhiên thực sự rất phức tạp. Ngôn ngữ không có những quy tắc và logic xác định. Ví dụ, bạn có thể nhìn câu văn sau:
“Environmental regulators grill business owner over illegal coal fires.”
Có phải là cơ quan quản lý về môi trường đang đặt câu hỏi cho các doanh nghiệp về vấn đề đốt than bất hợp pháp. Hay theo nghĩa đen là các nhà quản lý về mô trường đang “grill” các chủ doanh nghiệp? Như bạn có thể thấy, phân tích ngôn ngữ tự nhiên thực sự phức tạp.
Trong Machine Learning, bất kì vấn đề phức tạp nào cũng được xử lý bằng cách xây dựng một quy trình. Ý tưởng là chia nhỏ các vấn đề và sau đó sử dụng các phương pháp để giải quyết từng vấn đề đó.
Và đó là ý tưởng chúng ta sẽ thực hiện với NLP. Chúng ta hãy chia nhỏ vấn đề trong NLP và xem xét cách giải quyết của chúng.
Mời các bạn đọc tiếp phần 2 tại đây.