Tải bản đầy đủ (.docx) (45 trang)

TÓM TẮT ĐƠN VĂN BẢN HƯỚNG TÓM LƯỢC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (798.38 KB, 45 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG

ĐỒ ÁN TỐT NGHIỆP
Tóm tắt đơn văn bản hướng tóm
lược
LÊ VĂN SONG


Ngành Cơng nghệ thơng tin
Chun ngành Hệ thống thông tin

Giảng viên hướng dẫn:

PGS. TS. Lê Thanh Hương

Bộ môn:
Viện:

Hệ thống thông tin
Công nghệ thông tin và Truyền thông

Chữ ký của GVHD

HÀ NỘI, 12/2019

1


ĐỀ TÀI TỐT NGHIỆP


2


Lời cảm ơn
Lời đầu tiên, em xin cảm ơn tới quý thầy cô của Trường Đại học Bách Khoa Hà Nội,
cách riêng là quý thầy cô Viện Công nghệ thông tin và Truyền thông trong suốt 5
năm qua đã trau dồi và giúp đỡ em tích lũy rất nhiều kiến thức. Bách Khoa trong em
là nơi tôi luyện bản thân tốt nhất, rèn cho em rất nhiều kĩ năng và tích lũy cho em rất
rất nhiều điều quý giá. Tất cả những kiến thức, kỹ năng và tinh thần Bách Khoa đó
sẽ là hành trang giúp em vững bước hơn trong cuộc sống sau này.
Em cũng xin gửi lời cảm ơn sâu sắc tới cô PGS.TS Lê Thanh Hương, suốt 4 tháng
rịng rã làm Đồ án Tốt nghiệp với cơ, cơ đã tận tình giúp đỡ để em có thể hoàn thành
đề tài này. Những buổi seminar cùng các bạn trong lab của cô sẽ là dấu ấn và là nơi
tích lũy kiến thức cho em.
Cuối cùng con xin cảm ơn bố mẹ và bà, những người hun đúc tinh thần Bách Khoa
trong con, và giờ cũng là lúc gặt hái thành quả mà bố mẹ, bà vun vén nơi con. Cũng
không quên cảm ơn những người đã giúp đỡ động viên con lúc khó khăn nhất.
Tóm tắt nội dung đồ án
Bài tốn Tóm tắt đơn văn bản dài có cấu trúc diễn ngơn là một trong những bài tốn
cần thiết đang được nghiên cứu trong lĩnh vực Xử lý ngơn ngữ tự nhiên. Mục đích
của bài tốn là tóm tắt được nội dung của các văn bản dài có cấu trúc diễn ngơn sao
cho các thơng tin có trong văn bản đó khơng bị mất đi đồng thời giúp người đọc
nhanh chóng nắm bắt các thơng tin cần thiết với cú pháp và ngữ pháp không bị sai
lệch. Điển hình cho văn bản dài có cấu trúc diễn ngơn là các bài báo khoa học. Mơ
hình để giải quyết bài toán là Discourse-Aware Attention Model, về cơ bản dựa trên
mơ hình sequence to sequence with attention. Kết hợp với cơ chế Copying from
Source và Decode Coverage để giải quyết nhược điểm của seq2seq sử dụng cơ chế
attention. Ngoài ra đồ án đề xuất thêm phương pháp tích hợp các đặc trưng postion
và tần suất từ để cải thiện độ chính xác.


3


MỤC LỤC

4


DANH MỤC HÌNH VẼ

5


DANH MỤC BẢNG BIỂU

6


CHƯƠNG 1: MỞ ĐẦU
1.1. Đặt vấn đề.
Sự phát triển nhanh chóng của cách mạng cơng nghiệp 4.0 trong những năm gần
đây, đã tạo ra những bước tiến mạnh mẽ trong rất nhiều lĩnh vực trong đời sống.
Chính vì sự phát triển đó mà lượng thơng tin sẽ ngày càng khổng lồ, nó đã giúp ích
rất lớn cho con người. Tuy nhiên thơng tin sinh ra liên lục dẫn đến khó khăn trong
việc tìm kiếm cũng như tổng hợp thơng tin. Chính vì nhu cầu đó mà tóm tắt văn bản
tự động sẽ cùng với cách mạng công nghiệp 4.0 phát triển.
Tóm tắt văn bản là q trình trích rút những thông tin quan trọng nhất từ một
văn bản để tạo ra phiên bản ngắn gọn, xúc tích mang đầy đủ lượng thơng tin của văn
bản gốc kèm theo đó là tính đúng đắn về ngữ pháp và chính tả. Bản tóm tắt phải giữ
được những thơng tin quan trọng của tồn bộ văn bản chính. Bên cạnh đó, bản tóm

tắt cần phải có bố cục chặt chẽ có tính đến các thông số như độ dài câu, phong cách
viết và cú pháp văn bản. Phụ thuộc vào số lượng các văn bản, kỹ thuật tóm tắt có thể
chia làm hai lớp: đơn văn bản và đa văn bản. Còn nếu phụ thuộc vào phương pháp
xử lý tóm tắt văn bản tự động thì sẽ được phân loại thành: Tóm tắt hướng trích xuất
( Extractive Text Summarization ) và Tóm tắt hướng tóm lược ( Abstractive Text
Summarization).
1.2 Tóm tắt đơn văn bản
Tóm tắt đơn văn bản là một q trình tóm tắt tự động, với đầu vào là một văn
bản, và đầu ra của nó là một đoạn mơ tả ngắn gọn, khái quát được nội dung của văn
bản một cách chính xác. Văn bản đơn có thể là một trang Web, một bài báo, hoặc
một tài liệu với định dạng xác định (ví dụ: .doc, .txt) ... Tóm tắt đơn văn bản là bước
đệm cho việc xử lý tóm tắt đa văn bản và các bài tốn tóm tắt phức tạp hơn. Chính
vì thế những phương pháp tóm tắt văn bản ra đời đầu tiên đều là các phương pháp
tóm tắt cho đơn văn bản. Các phương pháp để giải quyết bài tốn tóm tắt văn bản tự
động là : Tóm tắt hướng trích xuất và Tóm tắt hướng tóm lược.


Tóm tắt hướng trích xuất (trích rút)
7


Phương pháp tóm tắt theo hướng trích xuất là phương pháp được sử dụng đầu
tiên để tóm tắt văn bản. Để tóm tắt văn bản, phương pháp này sẽ tiến hành trích xuất
các câu trong văn bản có độ quan trọng cao. Rồi sau đó gộp lại với nhau để sinh ra
một bản tóm tắt. Một số nghiên đầu tiên thường sử dụng các đặc trưng như đặc
trưng cấu trúc (vị trí của câu, độ dài câu, câu trích dẫn, term- frequency (tần số xuất
hiện của từ)) hay sử dụng các key phrase (cụm từ khóa) để xác định độ quan trọng
của mỗi câu, trích rút các câu quan trọng nhất để đưa vào bản tóm tắt. Các kỹ thuật
tóm từ xa xưa đã dùng các kĩ thuật học máy, xử lý ngơn ngữ tự nhiên nhằm hiểu và
trích chọn câu quan trọng của văn bản. Sử dụng các phương pháp học máy có thể kể

đến phương pháp của Kupiec,
Penderson and Chen (1995) [1] sử dụng phân lớp Bayes để kết hợp các đặc trưng lại
với nhau hay nghiên cứu của Lin và Hovy (1997) [2] áp dụng phương pháp học máy
nhằm xác định vị trí của các câu quan trọng trong văn bản. Bên cạnh đó việc áp
dụng các phương pháp phân tích ngơn ngữ tự nhiên như sử dụng mạng từ Wordnet
của Barzilay và Elhadad (1997).


Tóm tắt hướng tóm lược

Các phương pháp tóm tắt khơng sử dụng trích xuất để tạo ra tóm tắt có thể
xem như là một phương pháp tiếp cận tóm tắt theo tóm lược. Phương pháp tóm tắt
tóm lược xây dựng một biểu diễn ngữ nghĩa bên trong và sau đó sử dụng kỹ thuật xử
lý ngơn ngữ để tạo ra bản tóm tắt gần gũi hơn so với những gì con người có thể tạo
ra. Bản tóm tắt như vậy có thể chứa những từ khơng có trong bản gốc. Nghiên cứu
về phương pháp tóm tắt tóm lược là một bước tiến quan trọng và tạo sự chủ động,
tuy nhiên do các ràng buộc phức tạp nên các nghiên cứu cho đến nay chủ yếu tập
trung vào phương pháp tóm tắt trích chọn. Các hướng tiếp cận có thể kể đến như
dựa vào trích xuất thơng tin (information extraction), ontology, hợp nhất và nén
thơng tin... Một trong những phương pháp tóm tắt theo tóm lược cho kết quả tốt là
các phương pháp dựa vào việc học một mạng neuron như RNN hay LSTM với bộ
encoder- decoder để sinh tóm tắt theo một cách viết mới hay gần đây là Pointer Generator với Attention Mechanism.
8


Tuy nhiên, tính tới thời điểm hiện tại, do tính chất phải tự sinh một văn bản
mới với cách viết khác thì chưa có một thuật tốn nào có thể tóm lược một cách
hồn chỉnh như đáp ứng được vấn đề cú pháp, tính mạch lạc trong ngữ nghĩa, thơng
tin trùng lặp, sắp xếp các thơng tin đúng trình tự, …
1.3 Tóm tắt đa văn bản

Tóm tắt đa văn bản là một q trình tóm tắt tự động, với đầu vào là nhiều văn
bản có cùng chủ đề và đầu của nó là một đoạn văn tóm tắt khái quát nội dung của
tập văn bản đó. Tóm tắt đa văn bản được xác định là một bài tốn có độ phức tạp
cao, ngồi những thách như sự cơ đọng của thơng tin và mạch lạc về nội dung, tóm
tắt đa văn bản cịn có những thách thức như cần phải xác định những thông tin trùng
lặp giữa các văn bản, xác định thông tin quan trọng trong nhiều văn bản hay việc sắp
xếp các thơng tin trong văn bản tóm tắt. Do tóm tắt đa văn bản là một mở rộng của
tóm tắt đơn văn bản, cho nên cũng như tóm tắt văn bản đơn, các phương pháp giải
quyết tóm tắt đa văn bản cũng đi theo hai hướng tiếp cận: dựa vào trích xuất và dựa
vào tóm lược.
1.4. Các nghiên cứu liên quan trong bài tốn tóm tắt văn bản.
1.4.1 Nhóm phương pháp tóm tắt cổ điển
Phương pháp tóm tắt văn bản sử dụng mơ hình đồ thị vơ hướng có trọng số đã được
Güneş Erkan và Dragomir R. Radev sử dụng thuật tốn Lexrank trong tóm tắt văn
bản tiếng Anh. Trong bài báo này, văn bản được biểu diễn dưới dạng đồ thị, mỗi
đỉnh trong đồ thị biểu diễn một câu trong văn bản, các cạnh nối giữa hai đỉnh biểu
diễn độ tương cosin – tf – idf giữa hai đỉnh đó. Sau đó sử dụng thuật tốn PageRank
để tính tốn độ quan trọng của câu. Kết quả thực nghiệm trích dẫn bởi bài báo được
đánh giá trên bộ dữ liệu DUC 2004 cho thấy
LexRank tốt hơn phương pháp Centroid:

9


Hình 1.0.1 Độ đo ROUGE-1 trên DUC2004

Phương pháp tóm tắt kinh điển tiếp theo được Carbonell and Goldstein đưa ra là
MMR [8] (Maximal Marginal Relevance). Trong bài báo đó, văn bản được biểu diễn
dưới dạng mảng các vector câu (sử dụng trọng số tf-idf cho vector câu). Kế đến,
trích rút câu query gồm các từ có trọng số tf-idf lớn nhất cho tồn bộ văn bản. Cuối

cùng, trích rút những câu quan trọng theo tiêu chí: Giảm dư thừa thơng tin, đồng
thời gần với câu query nhất.
1.4.2 Nhóm phương pháp tóm tắt hiện đại.
Ngày nay, với sự phát triển của các phương pháp học máy, kèm với đó là học sâu
(học trên tập dữ liệu lớn), một số phương pháp tóm tắt đa văn bản đã cho kết quả
vượt trội. Nhóm phương pháp này sử dụng những mơ hình học sâu như:
BertSumExt, T5-11B, BertSum + Transformer, UniLM, Selector + Pointer
Generator,

mạng

neural

(Transformer+LRPE+PE+Reranking+Ensemble[9]),

encoder-decoder
hay

mạng

sequence-to-

sequence (EndDec+WFE [10]), encoder-decoder dựa trên mạng RNN (DRGD
[11]),... . Hình dưới thể hiện sự vượt trội của một trong số các phương pháp kể trên
tiến hành trên tập CNN/ Daily Mail

10


Hình 1.0.2Kết quả dẫn đầu tóm tắt văn bản trên tập CNN/ Daily Mail.


1.5 Tóm tắt văn bản có dài có cấu trúc.
1.5.1. Văn bản dài có cấu trúc.
Ngày nay, sự phát triển của các bài báo khoa học để giúp ích cho việc tìm hiểu và
nghiên cứu các cơng nghệ hiện đại, . Các bài báo khoa học có một số đặc điểm khác
biệt với các văn bản thông thường, nó thường được chia làm các phần, các mục một
cách rõ ràng, và độ dài của các bài báo khoa học chủ yếu dài hơn các văn bản thông
thường. Chính vì thế mà nhu cầu tóm lược nhanh thơng tin và nội dung chính của
các bài báo khoa học là rất cần thiết, không chỉ giảm thiểu sức lực của con người để
sinh ra văn bản tóm tắt mà nó cịn giúp sinh các văn bản tóm tắt tốt hơn và khái qt
chính xác hơn. Chính vì nhu cầu thực tế đó, mà đồ án đã tập trung nghiên cứu và tìm
hiểu phương pháp để có thể tóm tắt văn bản dài có cấu trúc thơng qua cấu trúc diễn
ngon của bài báo.
1.5.2. Giải pháp định hướng.
Phương pháp tiếp cận trong đồ án này là sử dụng tóm tắt theo hướng tóm lược, để
trích xuất các từ trong bài báo đầu vào, sau đó dùng các thuật tốn đánh giá và xếp
hạng chúng rồi sắp xếp lại thành văn bản tóm tắt. Gần đây các nghiên cứu này ngày
càng phát triển. Đặc biệt năm 2014 Bahdanau cùng cộng sự đã đưa ra mơ hình
sequence 2 sequence kết hơp cơ chế Attention, mơ hình này thực sự rất có hiệu quar
trong tóm tắt văn bản theo hướng tóm lược. Bên cạnh đó, mơ hình nàu cũng gặp một
số khuyết điểm như: lỗi lặp từ, lặp câu, lỗi mất mát thông tin. Hiện nay cấu hình
máy tính phát triển, ngồi ra cịn có một số cơng cụ hỗ trợ của google, nếu chúng ta
11


sử dụng deeplearning chắc chắn thu được kết quả khả quan. Trong đồ án tốt nghiệp
này, em trình bày phương pháp tóm tắt văn bản sử dụng mơ hình Discourse-Aware
Attention Model. Về cơ bản mơ hình cũng dựa trên moo hình sequence to sequence
kết hợp kĩ thuật Attention mức từ và mức đoạn. Ngồi ra có sử dụng thêm Kĩ thuật
Pointer-Gen, Coverage và kết hợp các đặc trưng như vị trí câu, tần suất từ nhằm mục

đích nâng cao chất lượng của bản tóm tắt được sinh ra.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Những nghiên cứu đầu tiên cho bài toán tóm tắt văn bản theo phương pháp mạng
nơ-ron thuộc về nhóm tác giả Alexander M. Rush [2]. Họ ước lượng một mơ hình
attention cục bộ, đưa ra một từ của bản tóm tắt dựa theo câu đầu vào. Nghiên cứu
dựa trên sự phát triển của các phương pháp dịch máy nơ-ron. Họ kết hợp mơ hình
xác suất với một thuật tốn sinh để đưa ra độ chính xác của tóm tắt. Mặc dù mơ hình
đơn giản về cấu trúc nhưng có thể dễ dàng được huấn luyện end-to-end và mở rộng
với một số lượng dữ liệu huấn luyện lớn hơn. Ngay sau đó, Submit Chorpa cùng
cộng sự [3] giới thiệu một mạng truy hồi RNN có điều kiện để đưa ra một tóm tắt.
Ràng buộc điều kiện được cung cấp bởi mạng xoắn convolution attention encoder
đảm bảo bộ giải mã tập trung ở các từ đầu vào phù hợp tại mỗi bước. Mơ hình dựa
vào khả năng học các đặc trưng và dễ dàng học end-to-end trên một lượng lớn dữ
liệu. Cùng với đó, nhóm của Ramesh Nallapti [19] đưa ra bản tóm tắt sử dụng mạng
RNN Attention Encoder-Decoder. Kết quả đạt cao nhất trên hai bộ dữ liệu khác
nhau.
2.1. Mạng Nơ ron.
Phần này cung cấp một cái nhìn tổng quan về mạng nơ-ron nhân tạo, với sự nhấn
mạnh vào ứng dụng vào các nhiệm vụ phân loại và ghi nhãn.
Mạng nơ-ron nhân tạo (ANNs) đã được phát triển như là mơ hình tốn học bằng
năng lực xử lý thơng tin của bộ não sinh học (McCulloch và Pitts, 1988; Rosenblatt,
1963; Rumelhart et al., 1986).
Cấu trúc cơ bản của một ANN là một mạng lưới các tế bào nhỏ, hoặc nút, tham gia
với nhau bởi các kết nối trọng số. Xét về mặt mơ hình sinh học gốc, các nút đại diện
12


cho tế bào nơ-ron, và các trọng số kết nối đại diện cho sức mạnh của các khớp nơron giữa các tế bào nơ-ron. Các mạng kích hoạt bằng cách cung cấp một đầu vào
cho một số hoặc tất cả các nút, và kích hoạt này sau đó lây lan khắp các mạng cùng
các kết nối trọng số.

Nhiều biến thể của mạng ANNs đã xuất hiện trong những năm qua, với tính chất rất
khác nhau. Một khác biệt quan trọng giữa ANNs là kết nối dạng chu kỳ và những
kết nối khác dạng mạch hở. ANNs với chu kỳ được gọi là mạng nơ-ron phản hồi đệ
quy. Mạng ANN không có chu trình được gọi là mạng lan truyền tiến (FNNs). Ví dụ
nổi tiếng của FNNs bao gồm perceptron (Rosenblatt, 1958), mạng hàm cơ sở xuyên
tâm (Broomhead và Lowe, 1988), bản đồ Kohonen (Kohonen, 1989) và Hopfield
lưới (Hopfield, 1982). Các hình thức sử dụng rộng rãi nhất của FNN và những gì ta
tập trung vào trong phần này, là Perceptron đa lớp (MLP, Rumelhart et al, 1986;
Werbos, 1988; Bishop, 1995).
Kiến trúc tổng quan của một ANN như sau:

Hình 2.0.3Kiến trúc tổng quan của ANN

Processing Elements (PE): Các PE của ANN gọi là Neuron, mỗi Nueron nhận các
dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (output) duy nhất. Kết quả xử
lý của một Neuron có thể làm Input cho các Neuron khác
Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer
và Output Layer (Xem hình trên)

13


Trong đó, lớp ẩn (Hidden Layer) gồm các Neuron, nhận dữ liệu input từ các Nueron
ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo.
Trong một ANN có thể có nhiều Hidden Layer.
Q trình xử lý thơng tin của ANN:

Hình 2.0.4Q trình xử lý thông tin của ANN

Inputs: Mỗi Input tương ứng với 1 thuộc tính (attribute) của dữ liệu (patterns). Ví

dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay
tiền hay khơng thì mỗi Input là một thuộc tính của khách hàng như thu nhập, nghề
nghiệp, tuổi, số con, …
Output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài
toán xem xét chấp nhận cho khách hàng vay tiền hay khơng thì output là yes (cho
vay) hoặc no (không cho vay).
Connection Weights (Trọng số liên kết): Đây là thành phần rất quan trọng của một
ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với q
trình xử lý thơng tin (quá trình chuyển đổi dữ liệu từ Layer này sang layer khác).
Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các
trọng số (Weight) của các input data để có được kết quả mong muốn.
Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input được
đưa vào mỗi Neuron (phần tử xử lý PE). Hàm tổng của một Neuron đối với n input
được tính theo cơng thức sau:
Đối với nhiều tầng thì hàm tổng sẽ là:
Transformation (Transfer) Function (Hàm chuyển đổi)
14


Hàm tổng (Summation Function) của một Neuron cho biết khả năng kích hoạt
(Activation) của neuron đó cịn gọi là kích hoạt bên trong (internal activation). Các
Nueron này có thể sinh ra một output hoặc khơng trong ANN (nói cách khác rằng có
thể output của 1 Neuron có thể được chuyển đến layer tiếp trong mạng Neuron theo
hoặc không). Mối quan hệ giữa Internal Activation và kết quả (output) được thể hiện
bằng hàm chuyển đổi (Transfer Function). Việc lựa chọn Transfer Function có tác
động lớn đến kết quả của ANN. Hàm chuyển đổi phi tuyến được sử dụng phổ biến
trong ANN là sigmoid (logical activation) function.
Một số kiến trúc mạng phổ biến hiện nay như:







Feed-forward Neural Network (RNN)
Deep Belief Network (DBN)
Deep Boltzmann Machine (DBM)
Recurrent Neural Network (RNN)
Convolution Neural Network (CNN)

Trong số các kiến trúc trên, em đã chọn kiến trúc mạng RNN để giải quyết cho bài
tốn tóm tắt của mình.
2.2. Recurrent Neural Network (RNN)
Mơ hình ANN khơng phù hợp với những bài tốn dạng chuỗi như mơ tả, tóm tắt,
hồn thành câu, … vì những dự đốn tiếp theo của nó phụ thuộc nhiều vào vị trí của
nó trong câu và những từ đằng trước nó. Như vậy RNN ra đời để giải quyết vấn đề
này, với ý tưởng chính là sử dụng bộ nhớ để lưu lại thông tin từ từ những bước tính
tốn xử lý trước, để dựa vào nó để có thể đưa ra dự đốn chính xác cao nhát cho
bước dự đốn hiện tại.

Hình 2.0.5 Mơ hình mạng RNN

15


Chuỗi các đầu vào x0, x1, ..., xt là những sự kiện xảy ra theo thứ tự thời gian. Những
sự kiện này đều có mối liên hệ về thơng tin với nhau và thông tin của chúng sẽ được
giữ lại để xử lý sự kiện tiếp theo trong mạng neural hồi quy. Vì tính chất này, mạng
neural hồi quy phù hợp cho những bài toán với dữ liệu đầu vào dưới dạng chuỗi với
các sự kiện trong chuỗi có mối liên hệ với nhau. Vì vậy, mạng neural hồi quy có ứng

dụng quan trọng trong các bài tốn xử lý ngôn ngữ tự nhiên như: Dịch máy - Neural
Machine Translation, Phân loại ngữ nghĩa - Semantic classification, Nhận dạng
giọng nói: Speech Recognition.
Có thể nhận thấy rằng độ dài các chuỗi đầu vào hay đầu ra tại mỗi trường hợp không
bắt buộc phải cố định vì kích thước vector trạng thái thông tin trao đổi trong mạng
neural hồi quy là cố định. Giờ chúng ta sẽ đi sâu hơn vào phương thức hoạt động
của mạng neural hồi quy.
Ví dụ ta có một câu như sau: “Tơi phải đi học”, thì mạng neural sẽ triển khai một
mạng neural gồm 6 tầng, mỗi chữ một tầng. Lúc đó, việc tính tốn bên trong RNN
như sau:
-

xt là đầu vào tại bước t. Ví dụ x1 là một one-hot vector tương ứng với từ thứ

-

hai của câu, là từ phải
st là trạng thái ẩn tại bước t. Nó chính là bộ nhớ của mạng, s t được tính tốn

-

dựa trên trạng thái ấn phái trước và đầu vào tại bước trước đó.
Ot là đầu vào tại bước t. Ví dụ ta muốn dự đốn từ tiếp theo có thể xuất hiện
trong câu thì ot chính là một vector xác suất của các từ trong danh sách từ

-

vựng: ot = softmax (Vs ).
Vector đầu ra ot sẽ được sử dụng cho những dự đoán tiếp theo của một câu.


Việc huấn luyện mạng neural hồi quy được thực hiện qua hai bước:
-

Duỗi thẳng mạng neural hồi quy.
Sử dụng thuật tốn backpropagation để tính đạo hàm của hàm mất mát.

16


Một trong những điểm mạng của mạng neural hồi quy là cho phép tính tốn trên một
chuỗi các vector. Dưới đây là các kiểu hoạt động của mạng neural hồi quy:

Hình 2.0.6Các kiểu hoạt động của RNN

Mỗi hình chữ nhật là 1 vector và các mũi tên thể hiện các hàm biến đổi. Vector đầu
vào có màu đỏ, vector đầu ra có màu xanh biển và vector trạng thái thơng tin trao
đổi giữa các mạng con có màu xanh lá. Từ trái sang phải ta có:
-

Mạng neural kiểu Vanilla: Đầu vào và đầu ra có kích thước cố định ( Bài tốn
nhận diện ảnh - Image Classification)

-

Đầu ra có dạng chuỗi: Đầu vào cố định và đầu ra là một chuỗi các vector
( Bài toán tạo tiêu đề cho ảnh - Image Captioning)

-

Đầu vào có dạng chuỗi: Đầu vào là một chuỗi vector và đầu ra cố định ( Bài

toán phân loại ngữ nghĩa - Sentiment Classification)

-

Đầu vào và đầu ra có dạng chuỗi: Bài tốn Dịch máy - Neural Machine
Translation

-

Đầu vào và đầu ra có dạng chuỗi đồng bộ: Đầu vào và đầu ra là một chuỗi
vector có độ dài bằng nhau (Bài toán phân loại video và gắn nhãn từng
frame- Video Classification)

RNN có thể xử lý các phụ thuộc xa. Tuy nhiên, trong thực tế, RNN không thể học
được các tham số đó vì sẽ bị vanishing gradient, hay nói cách khác model chỉ học
được các state gần đó. Ví dụ như trong bài tốn dự đốn từ tiếp theo trong đoạn văn.
17


Đoạn đầu tiên “Mặt trời mọc ở hướng …”, ta có thể chỉ sử dụng các từ trước trong
câu để dự đốn từ tiếp theo là “đơng”. Tuy nhiên với đoạn, “Tôi là người Việt Nam.
Tôi đang sống ở nước ngồi. Tơi có thể nói trơi chảy tiếng...”, thì rõ ràng là chỉ sử
dụng từ trong câu đấy, hoặc câu trước thì ta khơng thể dự đốn từ cần điền là “Việt”.
ta cần các thông tin từ các state ở cách đó rất xa. Cho nên cần Long Term Memory,
điều mà RNN khơng làm được. Cần mơ hình mới để giải quyết vấn đề này, Long
Short Term Memory (LSTM) ra đời.
2.3 Long Short Term Memory (LSTM)

Hình 2.0.7 Kiến trúc của mạng LSTM


Forget gate: có nhiệm vụ quyết định liệu thơng tin của Cell state ở timestep t-1 có
cần được lưu trữ hay không. Thông tin từ Current input và Hidden state được
chuyển qua Sigmoid function với output nằm trong khoảng [0, 1]. Do đó nếu giá trị
output gần bằng 1, tức là thơng tin cần được giữ lại cịn nếu output gần bằng 0 thì
phải loại bỏ thơng tin.
Input gate: có nhiệm vụ cập nhật thơng tin vào Cell state. Ở đây ta nhân output của
Sigmoid với output của Tanh để quyết định thông tin của Current input và Hidden
state có nên được cập nhật vào Cell state hay khơng.
Output gate: có nhiệm vụ tính giá trị của Hidden state cho timestep tiếp theo. Với
việc sử dụng Forget gate và Input gate, ta có thể tính được giá trị mới của Cell state
và từ đó kết hợp với Current input và Hidden state để tính giá trị của Hidden state
tiếp theo. Ở đây giá trị của Hidden state mới này cũng chính là giá trị Prediction.
18


Ở state thứ t của mơ hình LSTM:
-

Output: , , ta gọi là cell state, là hidden state.
Input: , , . Trong đó là input ở state thứ của model. và là output của layer
trước. đóng vai trị giống như ở RNN, trong khi là điểm mới của LSTM.

Ta thấy kí hiệu , ý là bước đấy dùng sigma, tanh activation function. Phép nhân ở
đây là element-wise multiplication, phép cộng là cộng ma trận. tương ứng với forget
gate, input gate và output gate.
• Forget gate:
• Input gate:
• Output gate:
Ở đây 0 < , , < 1; , , là các hệ số bias; hệ số giống trong RNN.
, bước này giống hệt như tính trong RNN.

ct = ft ∗ ct-1 + it ∗ c t, forget gate quyết định xem cần lấy bao nhiêu từ cell state
trước và in- put gate sẽ quyết định lấy bao nhiêu từ input của state và hidden layer
của layer trước.
output gate quyết định xem cần lấy bao nhiêu từ cell state để trở thành output của
hidden state. Ngoài ra ht cũng được dùng để tính ra output cho state
Nhận xét:, khá giống với RNN, nên model có short term memory. Trong khi đó
giống như một băng chuyền ở trên mơ hình RNN vậy, thơng tin nào cần quan trọng
và dùng ở sau sẽ được gửi vào và dùng khi cần => có thể mang thơng tin từ đi xa =>
long term memory. Do đó mơ hình LSTM có cả short term memory và long term
memory.

19


Hình 2.0.8 Kiến trúc của mạng LSTM-2

2.4 Bidirection Long Short Term Memory
Một kiến trúc LSTM truyền thống với một lớp duy nhất chỉ có thể dự đốn nhãn của
từ hiện tại dựa trên các thơng tin có được từ các từ nằm trước
đó.Bidirectional LSTM(BiLSTM) đã được tạo ra để khắc phục điểm yếu trên.
Một kiến trúc BiLSTM thường chứa 2 mạng LSTM đơn được sử dụng đồng thời và
độc lập để mơ hình hóa đầu vào theo 2 chiều:



Từ trái sang phải (forward LSTM)
Từ phải sang trái (backward LSTM)

20



Hình 2..0.9 Kiến trúc mạng BiLSTM

Việc nhận dạng chính xác tên riêng trong một đoạn văn bản phụ thuộc không chỉ
vào các thơng tin phía trước của từ đang xét mà cịn cả các thơng tin phía sau. Tuy
nhiên, một kiến trúc LSTM truyền thống với một lớp duy nhất chỉ có thể dự đốn
nhãn của từ hiện tại dựa trên thơng tin có được từ các từ nằm trước đó. Bidirectional
LSTM (bi-LSTM) đã được tạo ra để khắc phục điểm yếu trên. Một kiến trúc
BiLSTM thường chứa 2 mạng LSTM đơn được sử dụng đồng thời và độc lập để mơ
hình hố chuỗi đầu vào theo 2 hướng: từ trái sang phải (forward LSTM) và từ phải
sang trái (backward LSTM).
2.5 Mạng sequence to sequence
Sequence to Sequence Model (Seq2seq) là một mơ hình Deep Learning với mục
đích tạo ra một output sequence từ một input sequence mà độ dài của 2 sequences
này có thể khác nhau. Seq2seq được giới thiệu bởi nhóm nghiên cứu của Google vào
năm 2014 trong bài báo Sequence to Sequence with Neural Networks. Mặc dù mục
đích ban đầu của Model này là để áp dụng trong Machine Translation, tuy nhiên
hiện nay Seq2seq cũng được áp dụng nhiều trong các hệ thống khác như Speech
recognition, Text summarization, Image captioning, …
Seq2seq gồm 2 phần chính là Encoder và Decoder. Cả hai thành phần này đều được
hình thành từ các mạng Neural Networks, Tại bước encoder, đầu vào của Recurrent
Neural Networks (RNN) là các vector được tạo ra bằng cách mã hoá chuỗi từ với
21


mơ hình word embedding. Khi decoder, sử dụng một RNN để sinh ra chuỗi từ mới
dựa vào chuỗi đầu vào và các từ được sinh ra phía trước. Trong mơ hình tóm tắt văn
bản tự động, thay vì tìm ra xác suất lớn nhất của mỗi từ sinh ra tại bước decoder,
chúng ta tạo ra danh sách các từ ứng viên tại mỗi bước giải mã. Mơ hình sequence to
sequence được mơ tả như hình dưới đây.

Quay trở lại với mơ hình Encoder-Decoder, với mỗi input xt đầu vào, mạng RNN sẽ
xử lí đưa ra một vector ht mang thơng tin về từ đó và tính tuần tự của nó với những
từ phía trước. Kết quả của q trình xử lí cả câu sẽ là một vector trạng thái c cuối
cùng.

ở đây là trạng thái ẩn ở mốc thời gian . và là những hàm phi tuyến. Kết quả của q
trình Encoder chính là chính là vector trạng thái ẩn cuối cùng.

Hình 2.0.10 Mơ hình sequence to sequence

Sau khi đã có được vector Encode, q trình Decoder sẽ thực hiện dự đoán từ yt’ dựa
trên vector c và tất cả những từ được dự đốn trước đó y1,…,yt-1,c. Xác suất của cả
câu sau quá trình decode sẽ là:
Với xác suất của mỗi từ:

22


Ở đây, là một hàm phi tuyến cho kết quả đầu ra là xác suất của , là trạng thái ẩn của
mạng RNN. Vector được sử dụng với ý nghĩa rằng chúng ta sử dụng tất cả dữ liệu
trước đó để dự đoán từ tiếp theo.
2.6 Kĩ thuật attention
Những nghiên cứu gần đây chỉ ra rằng các quy trình tương tự được áp dụng trong
mơ hình mạng neural cho phép tập trung vào những thơng tin quan trọng và có thể
lọc được những thông tin không cần thiết. Kĩ thuật này được gọi là “attention”, nó
giúp chúng ta xây dựng các mạng neural có thể giải quyết hiệu quả các thách thức
trước đây với bài toán xử lý chuỗi như là dịch máy hay tóm tắt văn bản, điều mà mơ
hình seq2seq bình thường khơng thực hiện được.
Kỹ thuật attention được đưa ra lần đầu vào năm 2014 bới Bahdanau và cộng sự [6]
trong cơng trình nghiên cứu về dịch máy. Ở mức trừu tượng, kỹ thuật attention nới

lỏng điều kiện rằng tồn bộ chuỗi đầu vào được mã hóa bằng một vector duy nhất.
Thay vào đó các từ trong chuỗi đầu vào sẽ được RNN encoder mã hóa thành một
dãy các vector. Sau đó RNN decoder áp dụng kỹ thuật attention mềm dẻo (soft
attention) bằng cách lấy tổng có trọng số của dãy các vector mã hóa. Các trọng số
trong mơ hình này được tính bằng một mạng neural truyền thẳng. RNN encoder,
RNN decoder và các tham số trong kỹ thuật attention được huấn luyện đồng thời từ
dữ liệu.

23


Hình 2.0.11 Cơ chế attention

Ngồi phương pháp soft attention, kỹ thuật attention cịn có một số các kiểu
attention

khác

khác

như additive

attention, multiplicative

attention, self-

attention, key-value attention (người viết để nguyên các thuật ngữ tiếng Anh vì chưa
tìm ra tên tiếng Việt tương ứng.) Chi tiết về các phương pháp này, bạn đọc có thể
đọc thêm tài liệu.
Tuy nhiên, việc tóm tắt những văn bản dài khi sử dụng mơ hình sequence to

sequence cho kết quả xấu. Chủ yếu là lỗi lặp từ, lặp câu. Ngồi ra cịn có vấn đề mất
mát thơng tin như: số, tên người (đây được coi là những từ Out of Vocabulary
OOV). Mơ hình sẽ đưa ra 2 đề xuất để giải quyết nhược điểm này. Đó là dùng cơ
chế Copying From Source và Cơ chế Decoder Coverage.
2.8. Thuật tốn BeamSearch
Trong mơ hình Sequence-to-Sequence, bộ giải mã được điều khiển bởi một câu đã
được mã hoá đểtạo ra một câu mới. Tại mỗi bước lặp t, bộ giải mã cần đưa ra quyết
định từ nào để sinh ra như từ thứ t trong câu. Vấn đề là chúng ta khơng biết chính
xác chuỗi từ cần phải sinh ra để cực đại hố xác suất có điều kiện tổng thể. Để giải
quyết vấn đề này, thuật toán Beam Search Optimization đã được Sam Wiseman và
24


Alexander M. Rush đề xuất (2016). Beam Search với độ rộng K sao cho tại mỗi
bước đưa ra K đề xuất và tiếp tục giải mã với một trong số chúng.
Thay vì tính xác suất của từ kế tiếp, chúng ta sử dụng cách tạo ra điểm số (không
phải xác suất) cho các chuỗi câu. Mặc định điểm số của một chuỗi bao gồm các từ
đứng trước theo sau bởi một từ là với là một hàm kiểm tra trạng thái ẩn tại thời
điểm của một RNN. Ở đây, hàm không phải là một hàm softmax để tránh các vấn
đề sai lệch nhãn. Thuật toán Beam Search sử dụng trong mơ hình Sequence-toSequence cụ thể gồm 3 bước chính:


Search-Based Loss: sử dụng một hàm tính điểm để tính tổng điểm của mỗi

chuỗi
• Forward: (Find Violations) xây dựng tập chuỗi St và tìm kiếm vi phạm lề
• Backward: (Merge Sequences) sử dụng lan truyền ngược để tối ưu hàm lỗi
của mô hình RNN
Giải thuật Beam Search được hiểu như sau: tại mỗi decoding step, chúng ta chọn nwords (n được gọi là beam_size, những words đó được gọi là các hypothesis, tạm
dịch là các giả thuyết) với phân bố xác suất (probability distribution) cao nhất. Ví dụ

khi chúng ta chọn beam_size =3 thì tại mỗi decoding step, ta sẽ giữ lại 3 từ có phân
bố xác suất cao nhất rồi lấy từng từ một làm đầu vào cho decoding step tiếp theo. Cứ
như thế lặp lại cho đến khi ta gặp <EOS> đánh dấu việc kết thúc câu. Câu có tổng
trung bình cao nhất sẽ được chọn.
2.9. Phương pháp đánh giá kết quả ROUGE
Đánh giá kết quả tóm tắt văn bản là một cơng việc khó khăn bởi để đánh giá chính
xác, ta cần các chun gia ngơn ngữ đánh giá thủ cơng vì vậy tốn rất nhiều chi phí.
Bên cạnh đó, vấn đề đánh giá tự động (chương trình đánh giá kết quả tóm tắt) cũng
nhận được nhiều sự quan tâm. NIST kể từ năm 2000 đã tổ chức hội nghị DUC mỗi
năm một lần để thực hiện việc đánh giá với quy mơ lớn các hệ thống tóm tắt văn
bản. Việc đánh giá tự động này nhằm mục đích là tìm ra được một độ đo đánh giá
tóm tắt gần với những đánh giá của con người nhất. Recall Oriented Understudy of
25


×