Tổng quan về Hệ thống sinh văn bản tự động (Natural Language Generation – NLG)

NLG

Trí tuệ nhân tạo giúp con người tạo ra công cụ để khai thác nhiều khía cạnh của cuộc sống và ngôn ngữ tự nhiên là một trong số đó. Để ứng dụng ngôn ngữ tự nhiên một cách hiệu quả, bên cạnh các công cụ giúp chúng ta hiểu hơn về ngôn ngữ (Natural Language Understanding – NLU) thì việc sinh văn văn tự động (Natural Language Generation – NLG) cũng là một thành phần không thể thiếu.

Trong các bài viết trước, VinBigData đã giới thiệu tổng quan về NLP và NLU. Bài viết số này hãy cùng tập trung vào NLG, định nghĩa, ứng dụng và kiến trúc hệ thống của NLG nhé. 

Sinh văn bản tự động (NLG) là gì?

Sinh văn bản tự động (Natural Language Generation) là quá trình tạo ra các cụm từ và câu có nghĩa dưới dạng ngôn ngữ giao tiếp của con người. Về bản chất, NLG tự động tạo ra các đoạn văn bản có thể mô tả, tóm tắt hoặc thậm chí giải thích một văn bản khác theo cách giống như con người với tốc độ hàng nghìn trang mỗi giây.

Tuy nhiên, các thuật toán NLG chỉ có khả năng tạo ra ngôn ngữ chứ không thể đọc và phân tích. Để có thể “đọc” hiểu được ngôn ngữ tự nhiên do con người tạo ra (dạng văn bản) thì chúng ta cần đến NLU. NLU có nhiệm vụ chuyển hóa ngôn ngữ tự nhiên (phi cấu trúc) thành dạng có cấu trúc mà máy tính có thể hiểu được.Đây là nhiệm vụ của NLP (Natural Language Processing) – xử lý ngôn ngữ tự nhiên. NLP đọc ngôn ngữ của con người và biến dữ liệu phi cấu trúc của nó thành dữ liệu có cấu trúc mà máy tính có thể hiểu được được gọi là NLU (Natural Language Understanding) – Hiểu ngôn ngữ tự nhiên.

Nói chung, NLG (Sinh văn bản tự động) và NLU (Hiểu ngôn ngữ tự nhiên) là các phần phụ của NLP , NLP bao gồm tất cả công cụ/ thuật toán thông dịch hoặc tạo ra ngôn ngữ con người, ở dạng nói hoặc viết:

  • NLU hiểu ngôn ngữ dựa trên ngữ pháp, ngữ cảnh và từ đó biết được ý định của câu và thực thể được nhắc đến trong câu.
  • NLP chuyển đổi một văn bản thành dữ liệu có cấu trúc.
  • NLG tạo văn bản dựa trên dữ liệu có cấu trúc.

Ứng dụng của NLG

NLG giúp cho dữ liệu dễ hiểu hơn, có thể đưa ra thống kê theo hướng dữ liệu, tóm tắt dữ liệu từ các nhà phân tích để tự động viết báo cáo phù hợp tùy theo mục đích và đối tượng cụ thể. Do đó, các ứng dụng thực tế chính của NLG ngày nay được kết nối với việc viết bài phân tích hoặc truyền đạt thông tin cần thiết cho khách hàng. 

Đồng thời, NLG có nhiều ứng dụng thiên về lý thuyết và trở thành một công cụ có giá trị không chỉ trong Khoa học và Kỹ thuật Máy tính mà còn trong Khoa học Nhận thức và Ngôn ngữ học Tâm lý. 

Sự phát triển của thiết kế và kiến trúc NLG

Hệ thống NLG được phát triển với mục đích nhằm tái tạo các câu thoại giao tiếp tự nhiên, bắt chước ngữ điệu giọng nói của con người. Để đạt được điều đó, NLG cần sử dụng các phương pháp và thủ thuật khác nhau để điều chỉnh phong cách viết, giọng điệu và cấu trúc ngôn ngữ theo từng đối tượng, bối cảnh và mục đích hội thoại khác nhau, Vào những năm 2000, kiến trúc của hệ thống NLG là sự kết hợp giữa Reiter và Dale với 3 giai đoạn chính. 

  • Lập kế hoạch tài liệu (Document Planning): quyết định những gì sẽ nói và tạo ra một tài liệu trừu tượng phác thảo cấu trúc của thông tin trong bài trình bày.
  • Lập kế hoạch vi mô (Microplanning): tạo ra các biểu thức giới thiệu, lựa chọn từ và tổng hợp để xác định các thông số kỹ thuật của tài liệu.
  • Hiện thực hóa (Realisation): chuyển đổi các thông số kỹ thuật của tài liệu trừu tượng thành văn bản thực, sử dụng kiến thức về cú pháp, sắc thái biểu đạt, v.v.

Đây là các mốc quan trọng của quá trình hình thành ngôn ngữ tự nhiên – hay hệ thống NLG. Tuy nhiên, các bước và cách tiếp cận cụ thể, cũng như các mô hình được sử dụng, có thể thay đổi đáng kể theo sự phát triển của công nghệ.

Phương pháp tiếp cận điền vào chỗ trống đơn giản (Simple Gap-Filling Approach)

Đây là một trong những cách tiếp cận lâu đời nhất. Trong các văn bản có cấu trúc được xác định trước và chỉ cần một lượng nhỏ dữ liệu được điền vào, phương pháp này có thể tự động lấp đầy những khoảng trống như vậy bằng dữ liệu được truy xuất từ ​​hàng bảng tính, hay bảng cơ sở dữ liệu, v.v. Về nguyên tắc, bạn có thể thay đổi một số khía cạnh nhất định của văn bản: ví dụ, bạn có thể quyết định phiên âm các số hay để nguyên, cách tiếp cận này khá hạn chế trong việc sử dụng và không được coi là NLG “đúng nghĩa”.

Kịch bản hoặc văn bản theo nguyên tắc (Scripts or Rules-Producing Text)

Phương pháp tiếp cận điền vào chỗ trống đơn giản đã được mở rộng với các cấu trúc lập trình có mục đích chung thông qua ngôn ngữ kịch bản hoặc bằng cách sử dụng các nguyên tắc nghiệp vụ. Phương pháp tiếp cận sử dụng kịch bản, chẳng hạn như sử dụng ngôn ngữ tạo khuôn mẫu web, nhúng mẫu vào bên trong ngôn ngữ viết lệnh có mục đích chung, vì vậy nó cho phép các điều kiện phức tạp, vòng lặp, quyền truy cập vào thư viện nguồn, v.v. Phương pháp tiếp cận quy tắc nghiệp vụ, được hầu hết các công cụ tạo tài liệu áp dụng , hoạt động tương tự, nhưng tập trung vào việc viết các quy tắc kinh doanh hơn là các kịch bản. Mặc dù mạnh mẽ hơn Phương pháp tiếp cận điền vào chỗ trống đơn giản, nhưng các hệ thống như vậy vẫn thiếu khả năng ngôn ngữ và không thể tạo ra các văn bản chất lượng cao, phức tạp một cách đáng tin cậy.

Các hàm ngữ pháp cấp độ từ (Word-Level Grammatical Functions)

Một sự phát triển hợp lý của các hệ thống dựa trên khuôn mẫu chính là bổ sung các chức năng ngữ pháp cấp độ từ để giải quyết các vấn đề về ngữ nghĩa và chính tả cũng như để xử lý các ngoại lệ có thể xảy ra. Các chức năng này giúp tạo ra các văn bản đúng ngữ pháp và viết các hệ thống khuôn mẫu phức tạp dễ dàng hơn.

Tạo câu động (Dynamic Sentence Generation)

Cách tiếp cận này tự động tạo ra các câu từ thông qua biểu diễn ngữ nghĩa và cấu trúc ngôn từ muốn truyền đạt. Tạo câu động có nghĩa là hệ thống có thể làm những điều hợp lý trong những trường hợp bất thường, cho phép hệ thống “tối ưu hóa” các câu về mặt ngôn ngữ theo một số cách, bao gồm tham chiếu, tổng hợp, sắp xếp thứ tự và liên kết.

Tạo tài liệu động (Dynamic Document Creation)

Tạo tài liệu động có cấp độ hoạt động lớn hơn Tạo câu động. Phương pháp tạo tài liệu động là tự động tạo ra một tài liệu có liên quan và hữu ích cho người đọc, với cấu trúc như một văn bản của con người. Quá trình thực hiện như thế nào phụ thuộc vào mục tiêu của văn bản. Ví dụ, một đoạn văn thuyết phục có thể dựa trên các mô hình lập luận và thay đổi hành vi để bắt chước cách hùng biện của con người; và một văn bản tóm tắt dữ liệu về thông tin kinh doanh có thể dựa trên phân tích các yếu tố chính ảnh hưởng đến việc ra quyết định của người tiêu dùng.

Mô hình NLG

Chuỗi Markov (Markov Chain)

Chuỗi Markov là một trong những thuật toán đầu tiên được sử dụng để tạo ngôn ngữ. Mô hình này dự đoán từ tiếp theo trong câu bằng cách sử dụng chuỗi n từ có sẵn và xem xét mối quan hệ giữa tất cả các từ khác so với chuỗi này để tính toán xác suất của từ tiếp theo. Trên thực tế, chúng ta đã gặp chuỗi Markov trên mục tự động gợi ý của bàn phím điện thoại thông minh, nơi chúng được sử dụng để tạo gợi ý cho từ tiếp theo trong câu.

Mạng nơron hồi quy (Recurrent Neural Network – RNN)

Mạng nơron là những mô hình cố gắng bắt chước hoạt động của bộ não con người. RNN chuyển từng mục của chuỗi thông qua mạng chuyển tiếp và sử dụng đầu ra của mô hình làm đầu vào cho mục tiếp theo trong chuỗi, cho phép lưu trữ thông tin ở bước trước. Trong mỗi lần lặp, mô hình lưu trữ các từ trước đó đã gặp trong bộ nhớ của nó và tính xác suất của từ tiếp theo. Đối với mỗi từ trong từ điển, mô hình sẽ ấn định xác suất dựa trên từ trước đó, chọn từ có xác suất cao nhất và lưu vào bộ nhớ. “Bộ nhớ” của RNN làm cho mô hình này trở nên lý tưởng cho việc tạo ngôn ngữ vì nó luôn nhớ được “nội dung” của cuộc hội thoại. Tuy nhiên, khi độ dài của chuỗi tăng lên, RNN không thể lưu trữ các từ đã gặp từ xa trong câu và chỉ đưa ra dự đoán dựa trên từ gần đây nhất. Do hạn chế này, RNN không thể tạo ra các câu dài mạch lạc.

LSTM (Long short-term memory)

Để giải quyết vấn đề phụ thuộc phạm vi dài, một biến thể của RNN được gọi là Bộ nhớ ngắn-dài hạn (LSTM) đã được giới thiệu. Bộ nhớ ngắn-dài hạn là một mạng thần kinh hồi quy nhân tạo được sử dụng trong lĩnh vực học sâu. Không giống như các mạng thần kinh truyền thẳng tiêu chuẩn, LSTM có chứa các kết nối phản hồi. Mạng không chỉ xử lý các điểm dữ liệu đơn lẻ, mà còn xử lý toàn bộ chuỗi dữ liệu. 

Mặc dù tương tự như RNN, các mô hình LSTM bao gồm một mạng nơ-ron bốn lớp. LSTM bao gồm bốn phần: đơn vị, cổng đầu vào, cổng đầu ra và cổng bỏ quên. Những điều này cho phép RNN nhớ hoặc quên từ bất kỳ lúc nào bằng cách điều chỉnh luồng thông tin của đơn vị. Khi gặp phải dấu chấm, Cổng bỏ quên nhận ra rằng ngữ cảnh của câu có thể thay đổi và có thể bỏ qua thông tin trạng thái đơn vị hiện tại. Điều này cho phép mạng chỉ theo dõi chọn lọc thông tin liên quan đồng thời giảm thiểu vấn đề độ dốc biến mất, cho phép mô hình ghi nhớ thông tin trong một khoảng thời gian dài hơn.

Tuy nhiên, dung lượng của bộ nhớ LSTM bị giới hạn ở vài trăm từ do các đường dẫn tuần tự phức tạp vốn có của chúng từ đơn vị trước đến đơn vị hiện tại. Sự phức tạp giống nhau dẫn đến các yêu cầu tính toán cao khiến LSTM khó đào tạo hoặc song song hóa.

Transformer

Một mô hình tương đối mới lần đầu tiên được giới thiệu trong bài báo của Google năm 2017, mô hình này đã đề xuất một phương pháp mới được gọi là “cơ chế tự chú ý”. Transformer bao gồm một khối nhiều bộ mã hóa để xử lý đầu vào có độ dài bất kỳ và một bộ giải mã khác để tạo ra các câu đầu ra. Ngược lại với LSTM, Transformer chỉ thực hiện một số bước nhỏ, không đổi, đồng thời áp dụng cơ chế tự chú ý mô phỏng trực tiếp mối quan hệ giữa tất cả các từ trong một câu. Không giống như các mô hình trước đó, Transformer sử dụng biểu diễn của tất cả các từ trong ngữ cảnh mà không cần phải nén tất cả thông tin vào một biểu diễn có độ dài cố định duy nhất cho phép hệ thống xử lý các câu dài hơn mà không cần yêu cầu tính toán tăng vọt.

Một trong những ví dụ nổi tiếng nhất về việc sử dụng Transformer để tạo ngôn ngữ là mô hình ngôn ngữ GPT-2 của OpenAI. Mô hình học cách dự đoán từ tiếp theo trong một câu bằng cách tập trung vào các từ đã được nhìn thấy trước đó và những từ liên quan đến từ sắp dự đoán. Bản nâng cấp gần đây hơn của Google, biểu diễn bộ mã hóa hai chiều Transformers (BERT), cung cấp kết quả nâng cao nhất cho các tác vụ NLP khác nhau.

Hệ thống sinh ngôn ngữ (NLG) đã được đội ngũ các chuyên gia, kỹ sư hàng đầu tại VinBigData phát triển và ứng dụng trong trợ lý ảo dành riêng cho người Việt ViVi. ViVi hiện đang được tích hợp trên ô tô điện thông minh VF e34 với nhiều kết quả vượt trội như nhận diện tiếng Việt chính xác tới 98%, độ trễ của hệ thống hỏi đáp chưa tới 1s…

Tìm hiểu thêm về ViVi: Tại đây   

Tư liệu tham khảo: Kdnuggets

Bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu

Bài viết liên quan

    Cảm ơn bạn đã quan tâm và ủng hộ.

    File hiện tại không thể tải xuống
    Vui lòng liên hệ hỗ trợ.

    VinOCR eKYC
    Chọn ảnh từ máy của bạn

    Chọn ảnh demo dưới đây hoặc tải ảnh lên từ máy của bạn

    Tải lên ảnh CMND/CCCD/Hộ chiếu,...

    your image
    Chọn ảnh khác
    Tiến hành xử lý
    Thông tin đã được xử lý
    Mức độ tin cậy: 0%
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    Xác thực thông tin thẻ CMND/CCCD

    Vui lòng sử dụng giấy tờ thật. Hãy đảm bảo ảnh chụp không bị mờ hoặc bóng, thông tin hiển thị rõ ràng, dễ đọc.

    your image
    Chọn ảnh khác

    Ảnh mặt trước CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh mặt sau CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh chân dung

    This site is registered on wpml.org as a development site.