Các mô hình xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì? Những điểm cơ bản bạn cần biết về Xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên (NLP) là gì?

Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) là một nhánh của lĩnh vực trí tuệ nhân tạo (AI), cho phép máy tính phân tích và hiểu ngôn ngữ của con người, cả ngôn ngữ viết và nói. Nó giúp xây dựng những phần mềm có khả năng tạo ra và hiểu các ngôn ngữ tự nhiên, qua đó cho phép người dùng có thể trò chuyện trực tiếp với máy tính thay vì phải thông qua các ngôn ngữ lập trình như Java hoặc C.

Hiểu về xử lý ngôn ngữ tự nhiên (NLP)

Xử lý ngôn ngữ tự nhiên (NLP) là một phần trong một nỗ lực của giới công nghệ nhằm dùng trí tuệ nhân tạo (AI) để đơn giản hóa cách thức hoạt động của thế giới. 

Thông qua AI, các lĩnh vực như học máy (machine learning) và học sâu (deep learning) đang mở ra vô vàn cơ hội cho thế giới. Học máy đang ngày càng được sử dụng nhiều hơn trong lĩnh vực phân tích dữ liệu nhằm hiểu biết về dữ liệu lớn (big data). Nó cũng được sử dụng để lập trình ra các chatbot nhằm mô phỏng các cuộc trò chuyện với khách hàng. Tuy nhiên, những ứng dụng này của học máy sẽ không thể thực hiện được nếu không có Xử lý ngôn ngữ tự nhiên (NLP).

Các giai đoạn trong Xử lý ngôn ngữ tự nhiên (NLP)

NLP kết hợp AI với ngôn ngữ học máy tính (computational linguistics) và khoa học máy tính để xử lý ngôn ngữ của con người. Quá trình này có thể được chia thành ba giai đoạn. Nhiệm vụ đầu tiên của NLP là hiểu được ngôn ngữ tự nhiên mà máy tính nhận được. Máy tính sử dụng một mô hình thống kê để thực hiện một quy trình nhận dạng giọng. Quy trình này chuyển đổi ngôn ngữ tự nhiên sang ngôn ngữ lập trình bằng cách chia nhỏ đoạn nói mà nó nghe được thành các đơn vị nhỏ, và sau đó so sánh các đơn vị này với các đơn vị của từ một đoạn nói trước đó.

Đầu ra hoặc kết quả ở định dạng văn bản xác định xem từ và câu nào có nhiều khả năng vừa được nói nhất. Nhiệm vụ này được gọi là quá trình chuyển lời nói thành văn bản (speech-to-text process).

Nhiệm vụ tiếp theo được gọi là Gán nhãn từ loại (part-of-speech tagging). Quá trình này nhận dạng các từ thành danh từ, động từ, tính từ, thì quá khứ, v.v. bằng cách sử dụng một bộ quy tắc từ vựng được mã hóa trong máy tính. Sau hai giai đoạn này, máy tính có thể hiểu được ý nghĩa của đoạn nói mà nó vừa nghe.

Bước thứ ba được thực hiện bởi NLP là chuyển đổi văn bản thành giọng nói. Ở giai đoạn này, ngôn ngữ lập trình máy tính được chuyển đổi thành định dạng văn bản hoặc âm thanh cho người dùng. Ví dụ: một chatbot về tin tức tài chính, khi được hỏi “Hôm nay Google thế nào?” rất có thể sẽ quét các trang web tài chính trực tuyến để tìm cổ phiếu của Google và có thể quyết định chỉ chọn lựa những thông tin như giá và lượng giao dịch để làm câu trả lời.

Tuy lĩnh vực NLP đã đạt được một số thành tựu nhất định, nhưng do các từ có thể được sử dụng trong các ngữ cảnh khác nhau và máy móc không có trải nghiệm thực tế của con người để truyền tải và mô tả các thực thể bằng lời, nên có lẽ sẽ mất một thời gian nữa trước khi thế giới có thể không cần đến ngôn ngữ lập trình.

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.

Các mô hình xử lý ngôn ngữ tự nhiên
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

Các mô hình xử lý ngôn ngữ tự nhiên
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.

Thế giới nói gì

Toàn cảnh về ánh xạ gen

VinBigData - 29/09/2021

Ánh xạ gen (Genetic mapping) giúp cung cấp bằng chứng về mối liên hệ của gen đối với một số bệnh di truyền, đồng...

Read more

Thế giới nói gì

Transformer Neural Network – Mô hình học máy biến đổi thế giới NLP

VinBigData - 10/08/2021

Năm 2017, Google công bố bài báo “Attention Is All You Need” thông tin về Transformer như tạo ra bước ngoặt mới trong lĩnh...

Read more

Thế giới nói gì

Dự báo chuỗi thời gian cùng công nghệ Học sâu

VinBigData - 04/08/2021

Dự báo chuỗi thời gian (Time series forecasting) hiện là lĩnh vực nghiên cứu rất phổ biến. Dễ dàng tìm thấy nhiều loại dữ...

Read more

Thế giới nói gì

08 khóa học Machine Learning miễn phí

VinBigData - 03/08/2021

Những khóa học Machine Learning dưới đây đều được triển khai bởi những trường đại học, viện nghiên cứu hay công ty công nghệ...