Máy học trong xử lý ngôn ngữ tự nhiên

Các bài toán trong Xử lý ngôn ngữ tự nhiên [NLP] từ cơ bản đến nâng cao bao gồm part-of-speech tagging, chunking, dependency parsing, dịch tự động, tóm tắt văn bản, trích xuất thông tin, hệ trả lời tự động.

Xử lý ngôn ngữ tự nhiên [NLP] là một lĩnh vực trong trí tuệ nhân tạo [AI], có nhiệm vụ xây dựng các công cụ phân tích và tổng hợp giúp máy tính có thể “hiểu” ngôn ngữ của con người thông qua văn bản hoặc tiếng nói. Các bài toán trong NLP từ cơ bản đến nâng cao bao gồm part-of-speech tagging, chunking, dependency parsing, dịch tự động, tóm tắt văn bản, trích xuất thông tin, hệ trả lời tự động. Trong đó, các bài toán liên quan đến trích xuất thông tin, hiểu ngôn ngữ [NLU], xây dựng hệ thống hỏi đáp tự động có nhiều ứng dụng thực tế trong các doanh nghiệp. Cụ thể, nội dung và tác vụ của từng bài toán là gì? Cùng VinBigdata tìm hiểu ngay dưới đây.

1, Trích xuất thông tin, xây dựng hệ cơ sở tri thức tự động

Nhiệm vụ của hệ thống này là tự động trích xuất các thông tin hoặc tri thức từ các nguồn dữ liệu có cấu trúc [như bảng biểu] hoặc dữ liệu phi cấu trúc [văn bản]. Các thông tin này cơ bản bao gồm các thực thể, và quan hệ giữa các thực thể đó. Do sự bùng nổ nhanh chóng của kho dữ liệu của nhân loại, yêu cầu quan trọng của hệ thống đó là tính chính xác cao giúp giảm công sức tìm kiếm cũng như kiểm tra của con người, và tính cập nhật [hàng ngày hàng giờ]. Các bài toán chính trong xây dựng hệ tri thức bao gồm trích xuất thực thể, trích xuất quan hệ giữa các thực thể, dự đoán quan hệ giữa các thực thể, xác định chủ đề của các thực thể và các quan hệ.

Hiện nay, có nhiều cách tiếp cận để tự động trích xuất thông tin:

  • Dựa trên luật [Rule-based Approach]: Cách tiếp cận này xây dựng các tập luật dựa trên quan hệ cú pháp của các từ trong câu để trích xuất các thực thể và quan hệ giữa chúng. Cách tiếp cận này có ưu điểm là chính xác vì tập luật được xây dựng từ tri thức của con người, tuy nhiên việc xây dựng tập luật đòi hỏi kiến thức về ngôn ngữ.
  • Tiếp cận dựa trên các mô hình học có giám sát: Với các mô hình này chúng ta có thể dự đoán đâu là các thực thể cũng như mối quan hệ giữa các thực thể. Tuy nhiên, hạn chế của các phương pháp này là đòi hỏi một lượng dữ liệu đã gán nhãn để huẩn luyện mô hình. Hiện nay, nhiều phương pháp xây dựng tập huấn luyện tự động cũng đang được nghiên cứu, một trong số đó có thể kể tới đó là distant supervision trong trích xuất quan hệ giữa các thực thể.
  • Tiếp cận dựa trên các mô hình học bán giám sát: Trong trường hợp quy mô bộ dữ liệu gán nhãn không đủ đáp ứng yêu cầu, việc kết hợp thêm các phương pháp trích dựa trên tập luật cũng giúp nâng cao độ chính xác của hệ thống.

2, NLU – Hiểu ngôn ngữ tự nhiên

Bản chất của hệ thống hiểu ngôn ngữ, NLU [Natural Language Understanding] là một tổ hợp các mô hình giúp trích xuất các thông tin quan trọng từ văn bản hay câu nói của người dùng trong một ngữ cảnh nhất định, nhằm giúp máy tính có thể phân tích được câu đó, rồi từ đó có thể đưa ra quyết định đúng đắn dựa trên suy diễn đã được lập trình cho máy. Các thông tin thông thường là thực thể, ý định người dùng [intent], quan điểm của người dùng [sentiment], v.v.

NLU giúp trích xuất các thông tin quan trọng từ văn bản hay câu nói của người dùng trong một ngữ cảnh nhất định. Nguồn ảnh: Waldron 2015.

Các bài toán phổ biến trong NLU đó là:

  • Nhận dạng tên thực thể [Named Entity Recognition]. Quy trình này bao gồm việc nhận dạng tên người, tên tổ chức, địa điểm, etc. Với bài toán này, các phương pháp gán nhãn chuỗi dựa trên thống kê [sequence tagging] được sử dụng phổ biến.
  • Nhận dạng ý định người dùng [Intent classification]. Mục tiêu của bài toán này là phát hiện ý định người dùng được thể hiện trong câu nói. Cách thông thường để giải quyết bài toán này đó là sử dụng các mô hình phân loại.
  • Entity linking: Bài toán này giải quyết vấn đề nhập nhằng về ý nghĩa của các thực thể. Ví dụ: “chỉ đường cho tôi tới Nguyễn Phong Sắc”, thì thực thể “Nguyễn Phong Sắc” trong ngữ cảnh này là chỉ tên con đường chứ không phải tên một nhân vật lịch sử.
  • Dialog Act classification: Xác định xem câu nói của người dùng thuộc loại gì, ví dụ câu trần thuật [Statement], câu hỏi [question].

3, Xây dựng hệ thống hỏi đáp tự động

Hệ thống hỏi đáp tự động nhằm xây dựng, hỗ trợ và phát triển tính năng giao tiếp của Trí tuệ nhân tạo AI.

Hệ thống hỏi đáp tự động [QA] là một bài toán lớn trong NLP, yêu cầu kết hợp nhiều tác vụ khác nhau, nhằm xây dựng, hỗ trợ và phát triển tính năng giao tiếp của Trí tuệ nhân tạo AI. Khác với các công cụ tìm kiếm, chỉ thực hiện “truy xuất tài liệu” có chứa từ khóa yêu cầu, hệ thống hỏi đáp tự động được thiết kế để đưa ra câu trả lời cụ thể cho các truy vấn. Hệ thống QA hiện nay được phân thành 02 loại chính: hệ thống QA miền mở [open-domain QA systems – gần như có khả năng trả lời mọi câu hỏi] và hệ thống QA miền đóng [closed- domain QA systems – chỉ phản hồi các câu hỏi trong một số lĩnh vực cụ thể]. Cấu trúc của hệ thống QA bao gồm 03 modules: Xử lý tài liệu; Xử lý câu hỏi và Hỏi đáp.

Hiện này có 2 cách tiếp cận chính cho bài toán xây dựng hệ hỏi đáp tự động đó là Hỏi đáp dựa trên hệ tri thức [Knowledge-based question answering] và Hỏi đáp dựa trên đọc hiểu [machine reading comprehension]:

  • Hỏi đáp dựa trên hệ tri thức: với cách tiếp cận này hệ thống cần trích xuất được thực thể cũng nhưng mối quan hệ của thực thể được đề cập trong câu hỏi. Dựa vào nhưng thông tin này, câu trả lời sẽ được tìm trong hệ tri thức dựa trên các suy diễn trong hệ đó.
  • Hỏi đáp dựa trên đọc hiểu: Đây là cách tiếp cận hiện đại cho bài toán hỏi đáp tự động, dựa trên cơ chế attention giữa câu hỏi và đoạn văn bản [chứa câu trả lời] để tìm ra các cụm từ là câu trả lời cho câu hỏi đó. Cách tiếp cận này mô phỏng quá trình chúng ta đọc một văn bản rồi trả lời các câu hỏi liên quan đến văn bản đó, nó giống như phần thi đọc hiểu trong các kì kiểm tra tiếng Anh thường gặp.

Chủ Đề