Tản mạn về Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên


Trước tiên, một sự kiện quan trọng ngày hôm nay đã mang mình quay trở lại với blog này và đưa ra quyết định sẽ tiếp tục viết các bài viết bằng tiếng Việt chia sẻ với mọi người. Đó là vô tình có 1 người chị tag mình trên Facebook vào một bài note chia sẻ mình đã từng viết cách đây 2 năm. Ngồi đọc lại thì cảm thấy lúc đó mình viết cũng không đến nỗi quá tệ và cũng được nhiều anh chị đọc và comment khen. Điều này khiến mình cảm thấy một niềm thôi thúc nào đó trong cơ thể để ép buộc mình không nên ngừng viết và chia sẻ. Vì bản thân mình cũng hiểu rằng viết các bài blog cũng là một cách rất tốt để nâng cao được kỹ năng viết lách của bản thân.

Về chủ đề ngày hôm nay thì mình xin được chia sẻ đôi chút về Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên. Tại sao lại là 2 chủ đề này? Thứ nhất là bởi vì mình đang học Master tại Nhật Bản theo hướng nghiên cứu là xử lý ngôn ngữ tự nhiên (xin được phép gọi gọn là NLP – Natural Language Processing), và theo cách hiểu của bản thân thì hướng này là 1 phần trong lĩnh vực Trí tuệ nhân tạo (hay còn gọi là AI – Artificial Intelligence). Hơn nữa gần đây có nhiều sản phẩm nổi bật liên quan đến AI nên mình cũng muốn viết một chút về nó cho mọi người cùng đọc và biết thêm kiến thức gì đó bổ ích.

Trước tiên cần đề cập đến AI. Mục tiêu của AI về cơ bản là tạo ra các phần mềm hoặc máy tính có các hành vi “thông minh”. Trong thực tế thì các khả năng của con người thường được dùng làm chuẩn cho sự thông minh, ví dụ như khả năng nhận dạng được khuôn mặt, khả năng lái xe, khả năng giải toán, v.v.. Và các nhà khoa học luôn mong muốn nghiên cứu để máy tính có thể đạt được tới level thông minh đó giống như con người. Một số người cho rằng đôi khi máy tính đã được xem như “thông minh hơn” cả con người (các máy tính của IBM đã đánh bại con người trong môn cờ vua và môn Jeopardy), tuy nhiên thực tế không phải là như vậy, bởi vì máy tính có ưu điểm cực kỳ quan trọng là khả năng tính toán trong tích tắc, cho nên nó có thể tìm ra đáp án khá nhanh, mặc dù có thể còn có sai sót. Trong lĩnh vực AI thì người ta lại chia nhỏ nó thành rất nhiều lĩnh vực nhỏ khác nhau để giải quyết, ví dụ như Computer Vision, Natural Language Processing, … Lĩnh vực nào cũng đều có những bài toán phức tạp cần phải giải quyết, và cần có sự tham gia nghiên cứu của rất nhiều nhà khoa học từ khắp nơi trên thế giới.

Một đặc điểm của AI là có những bài toán cảm thấy rất dễ dàng với con người thì lại là 1 việc cực kỳ khó khăn đối với máy tính. Ví dụ như nhận dạng khuôn mặt. Con người từ nhỏ đã có thể phân biệt được đâu là một khuôn mặt quen thuộc, đâu là một gương mặt xa lạ. Còn đối với máy tính, xử lý một bức ảnh để biết được thông tin đó là chuyện không hề dễ dàng. Các công ty lớn trên thế giới như Google, Facebook, Microsoft… đều có những công trình nghiên cứu về lĩnh vực này và họ vẫn còn nhiều thứ cần làm để cải thiện hệ thống. Mặc dù một số lĩnh vực của AI chưa đạt được độ hoàn hảo như con người nhưng vẫn được áp dụng nhiều vào trong thực tế, đó là vì chúng ta có thể tận dụng khả năng của máy tính xử lý 1 lượng lớn dữ liệu hoặc xử lý 1 cách nhanh chóng mà không cần có con người can thiệp. Thử tưởng tượng 1 người bình thường phải xử lý hàng triệu bức ảnh khác nhau để phân loại ảnh nào là ảnh đồi trụy chẳng hạn, chắc chắc họ không thể có đủ sức để làm. Còn đối với máy tính thì đó chỉ là 1 khoảnh khắc rất ngắn, tất nhiên chúng ta cũng chấp nhận rằng đôi khi máy tính có thể sẽ phân loại sai.

Nói về NLP thì mặc dù là 1 vấn đề trong AI, nhưng nó cũng rộng lớn không kém. Vì thế nếu tìm hiểu sâu hơn, bạn sẽ nhanh chóng nhận ra hàng trăm vấn đề con nằm trong NLP. Ví dụ 1 số bài toán như kiểm tra ngữ pháp, kiểm tra lỗi chính tả, tóm tắt văn bản tự động, tìm kiếm văn bản, v.v… Ngay cả speech recognition cũng được coi là NLP vì đó là ngôn ngữ thể hiện ở dạng âm thanh. Đặc điểm nổi bật của NLP chính là phụ thuộc rất nhiều vào ngôn ngữ. Một giải pháp cho vấn đề A trong tiếng Anh sẽ không chắc là giải pháp cho vấn đề A trong tiếng Việt, và tương tự cho các ngôn ngữ khác. Chính về thế mà nếu bạn nào từng tìm hiểu thì sẽ thấy rất nhiều giáo sư, tiến sĩ chuyên ngành NLP ở Việt Nam tập trung vào tiếng Việt. Vì có thể là vấn đề A đã được nghiên cứu rất nhiều trong tiếng Anh và có rất nhiều giải pháp khác nhau, nhưng khi áp dụng cho tiếng Việt thì lại không hiệu quả. Cho nên các nhà nghiên cứu của Việt Nam thường cố gắng nghiên cứu các kỹ thuật áp dụng trên tiếng Anh và cải tiến hoặc đề xuất giải pháp tương tự cho tiếng Việt. Trước đây, khi còn đang học trong trường đại học, mình thường không đánh giá cao cách làm như thế này vì nó giống như là mình chỉ copy lại 1 cái đã được thế giới phát minh ra. Tuy nhiên sau này khi nghiên cứu sâu hơn vào lĩnh vực này thì mình đã nhận ra rằng mọi chuyện nó phức tạp hơn nhiều.

Để dễ hiểu thì các bạn xem thử 1 ví dụ rất đơn giản trong NLP cho 2 ngôn ngữ tiếng Anh và tiếng Việt: tách từ trong 1 câu. Trong tiếng Anh, chỉ cần đơn giản phân tách theo khoảng trắng là được, còn tiếng Việt thì phải phân biệt từ đơn và từ ghép. Như câu: “Tôi đi lang thang” thì chỉ gồm có 3 từ là “tôi”, “đi” và “lang thang”. Làm sao để có thể tách các từ chính xác như vậy cũng là một vấn đề cần nghiên cứu (trong tiếng Anh thì đây gọi là word segmentation, các bạn có thể search Google để có thêm thông tin).

Một số lĩnh vực nghiên cứu trong NLP có thể được liệt kê ra như: Text Summarization (Tóm tắt văn bản), Sentiment Analysis (Không biết dịch như thế nào cho đúng, mục tiêu của hướng nghiên cứu này là hiểu được 1 đoạn văn bản mang ý nghĩa tiêu cực hay tích cực về 1 vấn đề nào đó), Machine Translation (dịch tự động đoạn văn bản từ ngôn ngữ này sang ngôn ngữ khác). Tất nhiên còn nhiều nhiều nhiều lĩnh vực khác mà hiện tại thì kiến thức của mình cũng chưa đủ để có thể nắm được.

Ứng dụng của NLP? 

Đến thời điểm hiện nay thì NLP xuất hiện rất nhiều trong các công nghệ mới. Chẳng hạn như hệ thống tìm kiếm Google, nó nhận vào 1 câu văn bản và tìm kiếm các tài liệu web chứa các từ khóa cần tìm. Hoặc như hệ thống trợ giúp của Siri trên iPhone, hoặc là ứng dụng điều khiển xe hơi bằng giọng nói.v.v.. Có thể nói rằng rất nhiều ứng dụng của thế giới có sự góp mặt của NLP trong đó mà đa số người dùng cũng chả cần quan tâm🙂.

Đến đây thì đã hết ý để viết ra thêm rồi nên xin được tạm dừng gõ phím. Hy vọng bài viết không quá lan man và không đến nỗi chán ngắt cho những ai đang đọc. Và cũng mong rằng bạn có thể hiểu thêm được một chút về AI cũng như NLP và biết đâu nó có thể khơi dậy một động lực nghiên cứu nào đó đang có trong con người bạn. Và cuối cùng xin chân thành cảm ơn bạn đã và đang đọc những dòng cuối cùng trong bài viết này.

Happy life!

Tác giả: xuanchien

Tran Xuan Chien. Japan Advanced Institute of Science and Technology - Japan. Senior Developer - NUS Technology.

4 thoughts on “Tản mạn về Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên”

  1. Thanks anh, bài viết rất hay và bổ ích🙂

    Sentiment Analysis theo ngu ý của em thì nó nên là một ứng dụng của Data Mining nhiều hơn, có sử dụng những kĩ thuật của NLP để tách từ, xử lí ngữ pháp,..

    1. Anh thấy ngày nay thì lĩnh vực nào nó cũng lai với nhau nên sẽ hoàn toàn không có một ranh giới rõ ràng cho từng lĩnh vực. Nếu đã có liên quan tới từ, câu, ngữ pháp,v.v.. thì đã coi như dính tới NLP.

      Và như em nói đó, kỹ thuật của bên này vẫn áp dụng được vào lĩnh vực của bên kia. Riêng data mining thì nó liên quan đến xử lý dữ liệu nên nó sử dụng kỹ thuật của nhiều cái khác như machine learning, computer vision (cho dữ liệu video), v.v…

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s