Xử lý ngôn ngữ tự nhiên, một nhánh nghiên cứu của trí tuệ nhân tạo, được phát triển nhằm xây dựng các chương trình máy tính có khả năng phân tích, xử lý, và hiểu ngôn ngữ con người. Công nghệ này đã và đang mang lại những ứng dụng hỗ trợ thiết thực trong các hoạt động vận hành doanh nghiệp cũng như nâng cao trải nghiệm khách hàng. Một trong những mong muốn mãnh liệt, xuất hiện từ rất sớm của các nhà khoa học máy tính (computer science) nói chung và trí tuệ nhân tạo (artificial intelligence) nói riêng là xây dựng thành công các hệ thống, chương trình máy tính có khả năng giao tiếp với con người thông qua ngôn ngữ tự nhiên (natural language), tức thứ ngôn ngữ con người sử dụng hàng ngày thay vì các ngôn ngữ lập trình (programming language) hay ngôn ngữ máy (computer language) bậc thấp. Xử lý ngôn ngữ tự nhiên (natural language processing), một nhánh nghiên cứu của trí tuệ nhân tạo, trong đó phát triển các thuật toán, xây dựng các chương trình máy tính có khả năng phân tích, xử lý, và hiểu ngôn ngữ của con người, chính là lĩnh vực nhằm hiện thực hóa mục tiêu này. Do đó ngay từ khi trí tuệ nhân tạo mới ra đời (năm 1956), các nhà nghiên cứu đã đặt xử lý ngôn ngữ tự nhiên là một trong hai nhiệm vụ trọng tâm của trí tuệ nhân tạo, bên cạnh việc phát triển các chương trình máy tính có khả năng chiến thắng con người trong các trò chơi trí tuệ đối kháng. Bài viết này sẽ giới thiệu về lĩnh vực xử lý ngôn ngữ tự nhiên, các bước cơ bản trong xử lý ngôn ngữ tự nhiên, một số ứng dụng của xử lý ngôn ngữ tự nhiên, và cách thức công nghệ này giúp máy tính giao tiếp với con người. Giới thiệu về xử lý ngôn ngữ tự nhiên (NLP)Xử lý ngôn ngữ tự nhiên là một nhánh của Trí tuệ nhân tạo, tập trung vào việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tự nhiên của con người, dưới dạng tiếng nói (speech) hoặc văn bản (text). Mục tiêu của lĩnh vực này là giúp máy tính hiểu và thực hiện hiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con người như: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữa con người với con người, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói. Xử lý ngôn ngữ tự nhiên ra đời từ những năm 40 của thế kỷ 20, trải qua các giai đoạn phát triển với nhiều phương pháp và mô hình xử lý khác nhau. Có thể kể tới các phương pháp sử dụng ô-tô-mát và mô hình xác suất (những năm 50), các phương pháp dựa trên ký hiệu, các phương pháp ngẫu nhiên (những năm 70), các phương pháp sử dụng học máy truyền thống (những năm đầu thế kỷ 21), và đặc biệt là sự bùng nổ của học sâu trong thập kỷ vừa qua. Xử lý ngôn ngữ tự nhiên có thể được chia ra thành hai nhánh lớn, không hoàn toàn độc lập, bao gồm xử lý tiếng nói (speech processing) và xử lý văn bản (text processing). Xử lý tiếng nói tập trung nghiên cứu, phát triển các thuật toán, chương trình máy tính xử lý ngôn ngữ của con người ở dạng tiếng nói (dữ liệu âm thanh). Các ứng dụng quan trọng của xử lý tiếng nói bao gồm nhận dạng tiếng nói và tổng hợp tiếng nói. Nếu như nhận dạng tiếng nói là chuyển ngôn ngữ từ dạng tiếng nói sang dạng văn bản thì ngược lại, tổng hợp tiếng nói chuyển ngôn ngữ từ dạng văn bản thành tiếng nói. Xử lý văn bản tập trung vào phân tích dữ liệu văn bản. Các ứng dụng quan trọng của xử lý văn bản bao gồm tìm kiếm và truy xuất thông tin, dịch máy, tóm tắt văn bản tự động, hay kiểm lỗi chính tả tự động. Xử lý văn bản đôi khi được chia tiếp thành hai nhánh nhỏ hơn bao gồm hiểu văn bản và sinh văn bản. Nếu như hiểu liên quan tới các bài toán phân tích văn bản thì sinh liên quan tới nhiệm vụ tạo ra văn bản mới như trong các ứng dụng về dịch máy hoặc tóm tắt văn bản tự động. Xử lý văn bản bao gồm 4 bước chính sau:
Điều gì khiến NLP là một lĩnh vực khó?Có nhiều lý do khiến xử lý ngôn ngữ tự nhiên là một nhiệm vụ khó như tập từ vựng rộng lớp và được cập nhật thường xuyên, cấu trúc ngữ pháp linh hoạt và đôi khi khá lỏng lẻo, ngôn ngữ đôi khi thể hiện cảm xúc, ẩn ý của người viết. Tuy nhiên có hai lý do cơ bản nhất là tính nhập nhằng của ngôn ngữ (ambiguity) và sự cần thiết của tri thức nền (background knowledge). Tính nhập nhằng ta sẽ trao đổi ở phần sau, trước hết nói về tri thức nền. Một đứa trẻ, từ khi sinh ra cho tới khi tập nói, tập đọc trải qua một giai đoạn dài phát triển. Trong giai đoạn này đứa trẻ không ngừng tiếp xúc với thế giới bên ngoài, có các trải nghiệm và tiếp thu kiến thức từ thế giới xung quanh. Những tri thức cơ bản dần dần được hình thành như lửa thì nóng, nước đá thì lạnh, đi đường đèn đỏ thì dừng, đèn xanh thì đi, nhưng không có đèn tím. Những tri thức này giúp ích rất nhiều cho con người trong việc hiểu ngôn ngữ. Việc đưa các tri thức nền này vào máy tính là thách thức lớn, đến nay vẫn chưa có giải pháp tốt. Tiếp đến, về tính nhập nhằng của ngôn ngữ, nhập nhằng là hiện tượng xảy ra khi ngôn ngữ có thể được hiểu theo nhiều cách khác nhau, tùy thuộc vào ngữ cảnh mà nó xuất hiện. Trong xử lý ngôn ngữ tự nhiên, nhập nhằng có thể xuất hiện ở nhiều cấp độ, từ vựng, ngữ pháp, ngữ nghĩa, dẫn tới khó khăn trong việc xử lý trên máy tính. Xét các ví dụ sau: Ví dụ 1: They book that hotel.
(S1) Đầu tiên, từ book là nhập nhằng về mặt từ loại. Book có thể là một động từ (trong câu S1) hoặc một danh từ (trong câu S2) tùy thuộc vào ngữ cảnh xuất hiện của nó. Hiện tượng này gây khó khăn cho bài toán gán nhãn từ loại, một bước trong phân tích cú pháp. Không chỉ vậy, book cũng nhập nhằng về mặt ngữ nghĩa. Book có thể là một hành động đặt hàng thứ gì đó (trong câu S1) hoặc có thể là một văn bản viết được xuất bản dưới dạng in ấn hay điện tử (trong câu S2). Hiện tượng này gây khó khăn cho bài toán xác định nghĩa của từ, là một bước trong phân tích ngữ nghĩa. Ví dụ 2: Hình 1: Một ví dụ về sự nhập nhằng trong cú pháp.Ở góc độ ngữ pháp, câu này có thể được giải thích theo hai cây cú pháp như trên Hình 1. Những cấu trúc khác nhau dẫn đến những cách hiểu khác nhau: “a computer understands you like your mother does” hoặc “a computer understands that you like your mother”. Hiện tượng này gây khó khăn cho cả hai bài toán là phân tích cú pháp và phân tích ngữ nghĩa. Bài đọc nhiều nhất Artificial Intelligent 16/09/2022 Một số ứng dụng của NLPNLP ngày càng được ứng dụng nhiều. Một số ứng dụng có thể kể đến như:
Giao tiếp giữa người và máy dựa trên NLPNgày nay, nhiều hệ thống/chương trình máy tính có khả năng giao tiếp với con người thông qua ngôn ngữ tự nhiên, hoặc dưới dạng văn bản, hoặc dưới dạng tiếng nói. Các ứng dụng tiêu biểu giao tiếp dưới dạng văn bản có thể kể đến như tìm kiếm thông tin, chatbot, dịch máy. Các ứng dụng giao tiếp qua tiếng nói như trợ lý ảo, tìm kiếm bằng giọng nói (điện thoại, tivi), và điều khiển qua giọng nói (điện thoại, các thiết bị gia đình). Hình 2 mô tả kiến trúc tiêu biểu của một chương trình máy tính giao tiếp với con người qua tiếng nói. Chương trình sẽ bao gồm các bước cơ bản sau:
Công nghệ xử lý ngôn ngữ tự nhiên ngày càng có nhiều ứng dụng tốt, dần phổ biến, và gần gũi với cuộc sống hàng ngày. Với sự tiến bộ không ngừng về mặt kỹ thuật, tốc độ xử lý, độ chính xác được cải thiện, xử lý ngôn ngữ tự nhiên đã từng bước trở thành công nghệ giúp máy tính hiểu và giao tiếp với con người thông qua ngôn ngữ của chính chúng ta. Nguồn tham
khảo |