Tóm tắt văn bản trong học máy

365

1. Giới thiệu

Tóm tắt văn bản là một bài toán con trong lĩnh vực Xử Lý Ngôn Ngữ Tự Nhiên (Natural Language Processing) để tạo ra một văn bản ngắn nhưng chứa các ý chính của tài liệu tham khảo. Nó dường như là một nhiệm vụ bất khả thi nhưng nhờ sự phát triển của công nghệ nói chung và ở đây là Trí Tuệ Nhân Tạo (Arfitical Intelligent) nói riêng, ngày nay chúng ta có thể tạo ra một mô hình để thực hiện việc này.

Thường ngày, chúng ta thường tương tác với các ứng dụng có sử dụng phương pháp tóm tắt văn bản, nhiều ứng dụng trong đó là các platform cho xuất bản hay đưa ra các bài báo về nhiều lĩnh vực như tin tức, chính trị, giải trí,… Với cuộc sống ngày càng bận rộn như bây giờ thì mọi người thường thích đọc các bài tóm tắt ngắn gọn nội dung hơn là đọc toàn bộ cả bài.

Thay vì đọc tất cả các bài viết, đọc một bản tóm tắt sẽ cung cấp cho bạn một cái nhìn tổng quan về câu chuyện và tiết kiệm thời gian của bạn. Mặt khác, nó có thể sử dụng để chỉ định các chủ đề quan trọng nhất của tài liệu. Ví dụ, khi tóm tắt blog, có các cuộc thảo luận hoặc nhận xét sau khi bài đăng blog là nguồn thông tin tốt để xác định phần nào của blog là quan trọng và thú vị.

Có nhiều lý do giải thích tại sao việc Tóm tắt văn bản tự động giúp chúng ta rất nhiều :

  1. Tóm tắt giảm thiểu thời gian đọc.
  2. Khi đọc/nghiên cứu tài liệu, tóm tắt làm cho quá trình lựa chọn tài liệu trở nên dễ dàng hơn.
  3. Việc tự động tóm tắt văn bản cải thiện hiệu quả của việc lập chỉ mục.
  4. Thuật toán tóm tắt tự động ít sai lệch hơn so với việc tóm tắt của con người.
  5. Tóm tắt thông tin cá nhân rất hữu ích trong các hệ thống trả lời câu hỏi tự động vì chúng cung cấp thông tin cá nhân.
  6. Sử dụng các hệ thống tóm tắt tự động hoặc bán tự động cho phép các dịch vụ thương mại tăng số lượng tài liệu văn bản mà chúng có thể xử lý.

2. Hai cách tiếp cận chính trong bài toán tóm tắt văn bản

Có hai phương pháp chính thường được sử dụng để tóm tắt văn bản trong Xử Lý Ngôn Ngữ Tự Nhiên:

  • Phương pháp Extraction-based

Cách tiếp cận này chọn các đoạn văn bản mang ý chính để tạo ra một bản tóm tắt. Nó sẽ cân nhắc phần quan trọng của các tài liệu và xếp hạng chúng dựa trên mức độ quan trọng và tương đồng của chúng.

Văn bản đầu vào → độ tương tự của các câu → đánh giá mức độ quan trọng của các câu → lựa chọn các câu với level đánh giá cao.

Ý tưởng chính của phương phương pháp extraciton này là lấy các cụm từ chính (key phrase) từ tài liệu và kết hợp chúng để tạo ra một bản tóm tắt.

  • Phương pháp Abstraction-based

Các phương pháp abstractive chọn các từ dựa trên sự hiểu biết ngữ nghĩa, ngay cả những từ đó không xuất hiện trong các tài liệu gốc. Khi phương pháp này được áp dụng để tóm tắt văn bản trong deep learning, nó có thể khắc phục sự không nhất quán về ngữ pháp của phương pháp extractive.

Văn bản đầu vào  →  hiểu nội dung  →  phân tích về mặt ngữ nghĩa →  tạo văn bản tóm tắt.

Phương pháp abstractive có vẻ ưu việt hơn so với phương pháp extractive. Tuy nhiên, các thuật toán tóm tắt văn bản thực hiện theo phương pháp abstractive khó phát triển hơn và đó là lý do tại sao việc sử dụng phương pháp extractive vẫn còn phổ biến.

 3. Phương pháp tiếp cận theo phương pháp extraction

Thông thường, đây là cách mà phương pháp extractive hoạt động để tóm tắt các văn bản:

  1. Giới thiệu một phương pháp để trích xuất các cụm từ khóa từ tài liệu. Ví dụ: bạn có thể sử dụng part-of-speech tagging (POS – gắn thẻ các thành phần của từ) , words sequences (chuỗi từ) hoặc các mô hình ngôn ngữ khác để xác định các cụm từ chính.
  2. Tập hợp các tài liệu văn bản với các cụm từ chính được sẽ được gán nhãn. Các cụm từ khóa phải tương thích với kỹ thuật extractive. Để tăng độ chính xác, bạn cũng có thể gán nhãn cho các cụm từ không quan trọng.
  3. Huấn luyện một bộ phân loại học máy nhị phân để thực hiện tóm tắt văn bản. Một số tính năng bạn có thể sử dụng bao gồm:
    • Độ dài của cụm từ chính.
    • Tần suất của cụm từ chính.
    • Từ lặp lại nhiều nhất trong cụm từ chính.
    • Số lượng ký tự trong cụm từ chính.
  4. Cuối cùng, chúng ta phân loại các câu, cụm từ để tạo ra một đoạn văn tóm tắt.

3.1. Thuật toán TextRank

Thuật toán TextRank là một thuật toán cơ bản được sử dụng trong học máy để tóm tắt tài liệu. TextRank là một kỹ thuật tóm tắt văn bản theo phương pháp extractive và trong học máy thì là học không giám sát (Unsupervised Learning). TextRank không dựa trên bất kỳ dữ liệu đào tạo nào trước đó và có thể hoạt động với bất kỳ đoạn văn bản tùy ý nào.

  • Độ tương đồng giữa hai câu bất kỳ được sử dụng tương đương với xác suất chuyển tiếp tài liệu.
  • Điểm tương tự được lưu trữ trong một ma trận vuông, tương tự như ma trận M được sử dụng cho PageRank. Ma trận này cũng là một ma trận tương tự (Similarity matrix).
  • Bước đầu tiên là hợp tất cả các văn bản trong tài liệu làm một.
  • Sau đó, chia tài liệu này thành các câu riêng lẻ.
  • Sau đó, chúng ta sẽ tìm cách biểu diễn vector (word embedding) cho mỗi câu
  • Chúng ta sẽ sử dụng cosine similarity để tìm sự tương đồng giữa các câu. Sự giống nhau giữa các vector câu sau đó được tính toán và lưu trữ trong một ma trận.
  • Ma trận tương tự sau đó được chuyển đổi thành đồ thị, với các câu là các đỉnh và điểm tương tự là các cạnh, để tính thứ hạng câu.
  • Cuối cùng, chọn n câu để tạo thành bản tóm tắt cuối cùng.

4. Phương pháp tiếp cận theo Abstraction

Phương pháp này sẽ xây dựng một mạng neural để huấn luyện các mối quan hệ giữa đầu vào và đầu ra, không chỉ đơn thuần là sao chép các từ. Tóm tắt theo phương pháp abstractive là những gì bạn có thể làm khi giải thích một cuốn sách bạn đã đọc cho bạn bè của bạn, và máy tính khó thực hiện hơn nhiều so với tóm tắt khai thác. Máy tính chỉ cần aren mà tuyệt vời ở hành động sáng tạo. Đến nay, chưa có bất kỳ một sản phẩm hay model nào sử dụng kỹ thuật tóm tắt abstractive mà làm việc tốt trên các đoạn văn bản dài.

  • Ưu điểm: Bạn có thể sử dụng các từ không có trong đầu vào ban đầu. Nó cho phép thực hiện các bản tóm tắt trôi chảy và tự nhiên hơn.
  • Nhược điểm: Nhưng đây cũng là một vấn đề khó khăn hơn nhiều vì hiện tại bạn yêu cầu mô hình tạo ra các cụm từ và và kết nối giữa chúng phải mạch lạc.

4.1. Encoder-Decoder model và Sequence model

Mô hình encoder-decoder bao gồm 2 bộ mã hóa (encoder) và bộ giải mã (decoder) đúng như tên gọi của nó vậy. Bộ mã hóa chuyển đổi một tài liệu đầu vào thành vector và bộ giải mã tạo thành đoạn tóm tắt từ vector đó.

Ngày nay, mô hình mã hóa và giải mã (encoder-decoder) là một trong những mô hình mạng neural được sử dụng nhiều nhất trong dịch máy (machine translation). Chính vì lẽ đó nên nó được sử dụng rộng rãi trong các mô hình theo kiểu abstractive.

Encoder:

  • Một tập hợp các đơn vị hồi quy (mạng LSTM or GRU có thể có hiệu suất tốt hơn) trong đó thì mỗi phần tử sẽ chỉ chấp nhận một phần tử duy nhất của chuỗi đầu vào, thu thập các thông tin cho phần tử đó và truyền nó đi (forward propagation).
  • Trong hệ thống question-answer, chuỗi đầu vào là tập hợp tất cả các từ trong câu hỏi. Mỗi từ được biểu diễn dưới dạng \(xi\) trong đó \(i\) là thứ tự của từ đó.
  • Các state ẩn \(hi\) được tính bởi công thức:

\begin{align*}h_t &= f(W^{(hh)}h_{t-1}+W^{(hx)}x_t)\end{align*}

Công thức này đại diện cho kết quả của một mạng hồi quy thông thường. Chúng chỉ áp dụng các trọng số phù hợp cho hidden state trước đó \(h_{t-1}\) và vector đầu vào \(x_t\).

Encoder Vector:

  • Đây là hidden state cùng được tạo từ phần mã hóa của mô hình. Nó được tính bằng công thức trên.
  • Vector này nhằm mục đích đóng gói thông tin cho tất cả các yếu tố đầu vào để giúp bộ giải mã đưa ra dự đoán chính xác.
  • Nó hoạt động như hidden state ban đầu của phần giải mã của mô hình.

Decoder:

  • Một ngăn xếp của một vài recurrent units trong đó lưu lại một predict output \(y_t\) tại thời điểm \(t\).
  • Mỗi recurrent unit sẽ chấp nhận một hidden state từ các unit trc đó và tính toán cũng như xử lý để tạo ra một hidden state mới dựa trên hidden state cũ.
  • Trong question-answer problem thì chuỗi đầu ra là tập hợp tất cả các từ có trong câu trả lời. Mỗi từ được biểu diễn dưới dạng  \(h_t\) trong đó \(t\) là thứ tự của từ đó.
  • Các hidden state được tính bởi công thức sau:

\begin{align*}h_t &= f(W^{(hh)}h_{t-1})\end{align*}

Như bạn có thể thấy thì ta sử dụng hidden state trước để tính hidden state tiếp theo.

  • Output \(y_t\) tại thời điểm \(t\) được tính bởi công thức:

\begin{align*}y_t &= softmax(W^sh_t)\end{align*}

Chúng ta có thể tính toán output bằng cách sử dụng hidden state ở bước thời điểm hiện tại với các trọng số tương ứng W(S). Softmax được sử dụng để tạo ra một vector xác suất giúp chúng ta xác định được ra đầu ra cuối cùng.

5. Kết Luận

Để tính toán độ chính xác của việc Tóm tắt văn bản, người ta thường sử dụng độ đo ROUGE. ROUGE là viết tắt của Recall-Oriented Understudy. Nó thực chất là một tập hợp các số liệu để đánh giá tự động cho việc tóm tắt các văn bản cũng như dịch máy. Nó hoạt động bằng cách so sánh một bản tóm tắt hoặc bản dịch được tạo tự động so với một tập hợp các bản tóm tắt tham chiếu.

Bùi Ngọc Bảo – BaoBN – FPT Software

Tin liên quan: