Có thể bạn đã nghe rất nhiều về Trí tuệ nhân tạo (AI), Học máy (Machine Learning), hay Xử lý ngôn ngữ tự nhiên (NLP). Và rất muốn được tiếp cận nhưng chưa biết phải bắt đầu từ đâu và cách tiếp cận như thế nào ? Bài viết này cũng là bài đầu tiên mà tôi muốn tìm hiểu tổng quan nhất về các lý thuyết, thuật toán và các ứng dụng cụ thể trong một domain nhỏ của AI, đó chính là NLP. Làm thế nào để máy tính có thể hiểu được ngôn ngữ tự nhiên ? Làm thế nào để máy tính có trí thông minh như con người ?

Tôi đã từng nghe rằng: Nếu bạn phải trả lời lần 2 cho cùng một câu hỏi, thì có lẽ 1 ý tưởng hay là đưa nó vào blog. Theo nguyên tắc này, tôi cũng muốn ghi chú lại các bước, câu trả lời cho câu hỏi: Tôi có kiến thức khoa học trong ngành (*), và tôi muốn học NLP. Vậy tôi nên bắt đầu từ đâu? Để chúng ta có bước khởi đầu thuận lợi và đầy cảm hứng.

Sau đây là các phương pháp mà tôi dự định tiếp cận theo cách của @Melanie Tosik và chia sẻ với các bạn, mà tôi nghĩ chúng ta có thể bắt đầu ngay bằng 1 khóa học căn bản, sau đó tự mình trải nghiệm và cài đặt lại các phương pháp để hiểu hơn về bản chất. Đây có thể đây là kim chỉ nam giúp tôi không bị lệch hướng và cũng hi vọng nó có ích cho những người mới như bạn và tôi:

Trước khi bắt đầu, chúng ta cần nhận thức được danh sách dưới đây thực sự là một điểm bắt đầu rất chung, cơ bản và có thể không đầy đủ. Để tránh tình huống bị ngập tràn trong một núi thông tin, tôi cố gắng thêm các chú thích bằng các mô tả ngắn gọn và ước lượng các mức độ khó khăn trong ngoặc đơn (sẽ được cập nhật chi tiết hơn khi tôi được trải nghiệm hết). Bằng cách tiếp cận từ trên xuống (Top-Down) và các kỹ thuật thực hành ngay bằng các ví dụ được cài đặt bằng Python có thể giúp chúng ta nắm được một cách tổng quát nhất. Hiểu từ thực tế đến (quay trở về) lý thuyết!

Khóa học Online

Các thư viện và mã nguồn mở

  • spaCy blog [Thư viện python mới nổi với những ví dụ tuyệt vời, các hướng dẫn và demo trực quan]
  • NLTK book [Thường được sử dụng cho việc giảng dạy, nghiên cứu học thuật]
  • Stanford CoreNLP [Bộ công cụ phân tích chất lượng cao, bằng Java]

Blog tiếng Anh

Blog tiếng Việt

Books

Kỹ thuật khác

DIY - Dữ liệu và các dự án (mục nhúng tay)

Với tập dữ liệu được tạo và public bởi Nicolas Iderhoff. Chúng ta là những người mới cần phải nhúng tay để thực sự bắt đầu làm việc trong lĩnh vực NLP. Dưới đây là danh sách các bài toán NLP cần giải được đề xuất bởi Melanie Tosik:

Chủ đề NLP trên mạng xã hội

Acknowledgment