Biéu diễn văn bản va đọc hiéu máy

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống hỏi đáp về quy định đào tạo đại học (Trang 23 - 43)

3. Đánh giá và phân tích hệ thống: tại thời điểm thực hiện khóa luận, một hệ

2.2 Biéu diễn văn bản va đọc hiéu máy

Biểu diễn văn ban bắt đầu từ những phương pháp đơn giản như Bag of Words (BoW), ở đó mỗi chiều không gian của vector biểu diễn ứng với một term trong tập từ vựng. Phương pháp này đơn giản, dễ hiểu và không cần chuẩn bị dữ liệu học, nhưng cũng có nhiều hạn chế. Các mô hình biểu diễn dựa trên BoW cho ra các biểu diễn là vector thưa, bởi so với độ lớn của tập từ vựng, độ dài của một văn bản được biểu diễn thường rất nhỏ, vector biểu diễn có các phần tử là 0 chiếm đa

số. Các vector thưa thường gây ra khó khăn cho các mô hình máy học, do đó việc

biểu diễn văn bản vào các không gian có số chiều nhỏ hơn là cần thiết.

Các kỹ thuật biểu diễn văn bản với số chiều vector nhỏ hơn kích cỡ tập từ vựng

thông qua các mô hình được pretrain đã cho ra các cải thiện vượt bậc với các bài

Hà Quốc Tiến 15 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

toán trong lĩnh vực xử lý ngôn ngữ tự nhiên. Biểu diễn văn bản qua các mô hình được pretrain cho phép bao gồm quan hệ ngữ nghĩa và ngữ cảnh của vào biểu diễn,

thay vì chỉ tính đến sự xuất hiện của từ trong văn bản như các phương pháp thuộc nhóm BoW, vốn chỉ xét tới tần suất xuất hiện của một token trong văn bản.

Việc biểu diễn văn bản vào không gian có số chiều nhỏ hơn nhiều so với kích cỡ tập từ vựng được gọi chung là word embedding, do đó có thể bao gồm việc sử dung

ma trận đồng xuất hiện được giảm chiều, các mô hình pretrain như word2vec hay

GPT, BERT. O khóa luận này, word embedding được dùng để chi những phương

pháp không phụ thuộc ngữ cảnh, sử dụng ma trận look-up từ mô hình pretrain để

mã hóa từ như word2vec và GloVe và không bao gồm các phương pháp phụ thuộc ngữ cảnh và cần xử lý token văn bản bằng một lần lan truyền xuôi qua mạng học

sâu như BERT.

2.2.1 Word embedding

Các mô hình pretrain ra đời đầu tiên đáng chú ý bao gồm word2vec [8| và GloVe [9]. Các mô hình nay được huấn luyện dưới hình thức học không giám sát và hoạt động trên một giả thiết rằng các từ xuất hiện gần nhau thường có ý nghĩa tương

tự nhau. Mô hình đơn giản là một ma trận embedding có kích cỡ mxn, trong đó m

là số từ được biểu diễn và ứ là số chiều khụng gian vector dựng để biểu diễn từ.

Ma trận này đóng vai trò như một look-up table dùng để biểu diễn từ.

O bước huấn luyện, ma trận word2vec được gắn thêm một mang multi-layer

perceptron (MLP) dé học được biểu diễn từ qua một bài toán "giả", bộ phân lớp

với kiến trúc MLP được bỏ đi và ma trận embedding được giữ lại sau huấn luyện.

Hà Quốc Tiến 16 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

Word2vec sử dụng hai kiến trúc khác nhau là continuous bag of words (CBOW) va

skip gram. O kiến trúc CBOW, mô hình được huấn luyện dé dự đoán một từ bằng

AAA LSD Tem xẻ KZ X32 TẠI Ale mene Tes T--Ế-. Leeann 44 1.2 424.2 T1 !À.. từ

kK

j

3 8 o : Eo.04

bu ơ ee

& 4 7 ae + y L

+ : ‘la? khgảng gắng “

“4 x °. 2 F S&S Ƒ 0.00

< *

A - “ PE ‘A f [-0.02

° ˆ a 2-8, % ằ 2 khoảng trắng ,

4 ° -

wv khoang trang ‘Ue g = J

nh" a k 0.04

b 0.02

ZL Ki

¿khoảng trang Lạy khoangth@agg trắng

Ji l — E10

".. ae P Los

5 ° ihe oh o

e., sa” j + 0.0

ae: Si 6 Los

<s = v ô F-—1.0

re cổ n F-15

1.0

1.5 -2.0

(b) Sau huấn luyện

Hình 2.1: Không gian biểu diễn word2vec trước và sau huấn luyện

Một ví dụ đơn giản minh họa cho word2vec, ta huấn luyện một mô hình dự

Hà Quốc Tiến 17 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

đoán ký tự dựa trên những ký tự xung quanh trên dữ liệu báo mạng tiếng Viet [|

được tiền xử lý đưa về không dấu, với ma trận embedding chứa các vector 3 chiều. Trên thực tế, các mạng word2vec cho từ cần có số chiều cao hơn do số từ vựng trong một ngôn ngữ là rất nhiều, tuy nhiên với ví dụ này ta cố học một mô hình

mã hóa ký tự trong không gian ba chiều cho mục đích trực quan hóa. Với số ký

tự bao gồm chữ cái, chấm câu, số, khoảng trắng và ký tự đặc biệt là 55 và không

gian biểu diễn 3 chiều, ma trận embedding có 3 cột và 55 dòng. Ta gắn thêm một

mạng MLP với đầu vào là 4 vector biểu diễn kí tự i, lo, lạ, ls và đầu ra là một

phân bố xác suất giúp dự đoán kí tự is ở giữa, theo CBOW. Nhu ở hình [2. 1a} ma

tran embedding được khởi tạo ngẫu nhiên trước khi huấn luyện cho ta không gian

biểu diễn ngẫu nhiên như mong đợi. Sau huấn luyện, ta thay được những loại ký tự

khác nhau như chữ số, dấu câu và khoảng trắng và chữ cái phân bố tương đối có quy luật so với trước khi được huấn luyện, các loại ký tự tương tự nhau nằm gần nhau trong không gian. Ngoài ra có thể thấy những nguyên âm nằm cùng nhau về

một phía so với những phụ âm.

GloVe không sử dụng cơ chế huấn luyện một mạng MLP cho bài toán dự đoán

từ để học ma trận embedding mà thay vào đó sử dụng thống kê đồng xuất hiện và tối thiểu hóa chênh lệch giữa một tích vô hướng của hai vector biểu diễn hai từ và tuần suất đồng xuất hiện giữa hai từ được biểu diễn bởi hai vector đó.

Hạn chế của word2vec và GloVe là các mô hình này biểu diễn từ không phụ thuộc vào ngữ cảnh, bởi vì một từ được biểu diễn bằng một vector dòng duy nhất

trong ma trận embedding bất ké từ này nằm trong ngữ cảnh nào. Vi dụ từ đậu

Thttps://www.kaggle.com/yuiikin /vietnamese-vnexpress-news

Hà Quốc Tiến 18 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

trong Con đậu vao trường Dai hoc UIT rồi! và Chè đậu vita rẻ vita ngon được gan cho cùng một vector biểu diễn, dù cho hai từ này là khác nhau một cách rõ ràng.

2.22 BERT

Các mô hình như ELMo [[1|, GPT và BERT là những mô hình phụ thuộc

ngữ cảnh phổ biến. Trong đó, ELMo mã hóa ngữ cảnh hai chiều nhưng dùng kiến

trúc khác nhau cho những bài toán khác nhau, GPT là mô hình không phụ thuộc

vào bài toán nhưng chỉ mã hóa ngữ cảnh một chiều [14]. BERT kết hợp hai điểm

mạnh của GPT và ELMo, cho phép mã hóa ngữ cảnh hai chiều và yêu cầu thay

đổi kiến trúc mô hình không đáng kể cho hàng loạt các bài toán khác nhau. BERT

cải thiện state-of-the-art trên 11 bài toán xử lý ngôn ngữ tự nhiên, bao gồm các bài toán về phân loại văn bản, phân loại quan hệ cặp câu, gắn nhãn văn bản và

đọc hiểu máy. Khóa luận này sử dụng mô hình BERT để đảm nhận vai trò trả lời

câu hỏi liên quan tới quy định đào tạo đại học. BERT được xây dựng dựa trên

Transformer [5], tại thời điểm công bố ở bài báo gốc BERT có hai biến thể là

BERT hase và BERTiarge, trong đó:

e BERThase gồm 12 lớp Transformer và 110 triệu đối số, độ dài vector biểu diễn

đầu ra là 768.

© BERTharge gồm 24 lớp Transformer và 340 triệu đối số, độ dai vector biểu diễn

đầu ra là 1024.

Đầu vào của BERT là tổng của các embedding: token embedding, segment embed- ding va positional embedding. Cu thể, token embedding dùng WordPiece embedding

Hà Quốc Tiến 19 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thống hỏi đáp quy định đào tạo đại học

Token Embedding

4

4

Positional Embedding

+ + +++ 4+ +

+ + +++ 4+ +

EHE=ơ - saw

<CLS> AI A2 .. <ôSEP> B1 B2

Hình 2.2: Dau vào BERT

Ví dụ đầu vào trong trường hợp là hai văn bản A và B, An va Bn lần lượt là token thứ n của A và B

và luôn bắt đầu bởi token <cls>, biểu diễn của token này được dùng cho các bài

toán phân loại. Khi đầu vào của BERT là hai chuỗi thay vì một, một token <sep>

được thêm vào chính giữa những token của hai chuỗi để phân biệt hai chuối. Thêm

vào đó, segment embedding xác định mỗi token thuộc về chuỗi thứ nhất hay thứ

hai. Bằng cách này, BERT luôn có thể tách biệt minh bạch trường hợp đầu vào là

một hay hai chuỗi. Cuối cùng, positional embedding được sử dụng giống như trong kiến trúc Transformer, tuy nhiên với BERT lớp embedding này được học.

BERT được pretrain trên hai bài toán xử lý ngôn ngữ tự nhiên: mask filling va

next sentence prediction.

Dé dat được sự hai chiều sâu, bài toán mask filling được chon làm một trong

Hà Quốc Tiến 20 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

hai bài toán dùng để pretrain BERT, so với GPT được huấn luyện để dự đoán từ

kế tiếp trong câu (ngữ cảnh một chiều) hay ELMo, nối hai mô hình LTSM được huấn luyện từ trái sang phải và ngược lại.

Thay vào đó, với bài toán mask filling, mô hình đồng thời phải dùng thông tin

từ trước và sau token được che giấu đi để có thể dự đoán được từ, từ đó học được ngữ cảnh hai chiều khi huấn luyện. Biểu diễn vector tương ứng với token bị an di được đi qua một hàm softmax để trở thành một phân bố xác suất trên bộ từ vựng.

Cu thể, các tác giả chọn ra ngẫu nhiên 15% vị trí token để an đi. Tuy nhiên, để

giảm việc thiếu cân xứng do dữ liệu thực tế sẽ không chứa token [MASK], chỉ 80%

các token bị an đi được thay bằng token /MA®SKj, trong khi đó 10% token được

thay bằng một token ngẫu nhiên trong bộ từ vựng và 10% token được giữ nguyên.

Bài toán thứ hai là next sentence prediction. Vector biểu diễn token <cls> được dùng làm đầu vào cho mô hình phân loại này. Mô hình phân loại nhị phân xác định

hai quan hệ giữa hai câu A va B, trong đó có hai nhãn JsNezt nghĩa là B là câu

theo sau A và NotNezt khi A và B là hai câu không liên quan. Việc huấn luyện cho

BERT học được quan hệ giữa hai câu là quan trọng cho các bài toán downstream

sử dụng các biểu diễn văn bản của mô hình BERT làm đầu vào, như bài toán đọc hiểu máy.

2.2.3 BERT cho bài toán đọc hiểu máy

Một trong những bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên có kết quả được

cải thiện đáng kể bằng việc ứng dụng BERT là bài toán đọc hiểu máy.

Bài toán nhận đầu vào là đoạn văn bản đóng vai trò như một ngữ cảnh C và

Hà Quốc Tiến 21 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thống hỏi đáp quy định đào tạo đại học

DMOG MGM TOU TIGIMED ALY _ˆ L1 ONG NOV COP PUY CANN GO BGO OM NOC

Sinh vién cò JLPT N4 " Sinh viên .. JLPT N4

Hình 2.3: Mô hình đọc hiểu máy với BERT

một câu hỏi Q, đầu ra là một đoạn văn bản liên tục nằm trong C, cung cấp câu tra

lời cho Q.

Mô hình giải quyết bài toán này với BERT có kiến trúc như sau. Do BERT có

thể nhận hai đoạn văn bản làm đầu vào, Q và C theo thứ tự lần lượt được mã hóa thành các embedding, phân cách bởi token <sep> và đưa vào BERT để các token của chúng được biểu diễn thành các vector. Các vector biểu diễn token thuộc về C sau đó được đi qua một lớp tổ hợp tuyến tính và một hàm kích hoạt softmax để trỏ

Hà Quốc Tiến 22 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

thành một phân bố xác suất trên các token, xác định vị trí bắt đầu câu trả lời cho

Q có khả năng cao nhất nằm trong C, ta gọi phần này của mô hình là lớp START. Tương tự, lớp END của mô hình xác định vi trí kết thúc của câu trả lời.

Ta muốn đặt câu hỏi Q: Chuẩn đầu ra tiếng Nhật của chương trành đại trà là

ứ›?. Nờu mụ hỡnh hoạt động như mong đợi, đầu ra của START sau khi đi qua hàm softmax sẽ cho ra xác suất cao nhất ở vị trí token JLPT, tương tự ở đầu ra của

END với token N4, như được minh họa ở hình Từ đó ta có được câu trả lời cho câu hỏi là JEPT N4.

2.3 Chatbot và máy học trong chatbot Rasa

2.3.1 Chatbot hướng nhiệm vụ

Chatbot có thể được sử dụng như một hệ thong dùng để tán gẫu, giải trí đơn thuần hay dùng để hoàn thành một nhiệm vụ cụ thể như đặt hàng hay cung cấp thông

tin dưới hình thức hỏi đáp. Tùy thuộc vào mục đích sử dụng là tan gẫu hay hướng

nhiệm vụ, chatbot được xây dựng với kiến trúc khác nhau.

Chatbot hướng nhiệm vụ thường được xây dựng dựa trên một pipeline gồm các

mô-đun như sau:

e Hiểu ngôn ngữ tự nhiên hay NLU, mô-đun này giúp xử lý thông điệp người

dùng và chuyển thông điệp thành một biểu diễn mà các mô-đun sau có thể sử dụng được, chẳắng hạn như một nhãn ý định.

e Quản lý hội thoại, mô-đun nay theo dõi trạng thái cuộc trò chuyện, lưu giữ

các thông tin hiện tại và quá khứ của cuộc trò chuyện để giúp một chiến lược

Hà Quốc Tiến 23 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

hội thoại, thường là một mô hình phân loại, quyết định hành động kế tiếp. Chiến lược hội thoại dùng những thông tin có được từ mô-đun NLU và trạng

thái cuộc trò chuyện hiện tại để đưa ra quyết định về hành động kế tiếp của chatbot, chang hạn như một phản hồi cu thể hay một lệnh truy vấn dữ liệu.

Để thực hiện hóa những mô-đun nói trên, có rất nhiều cách tiếp cận khác nhau

về mặt thuật toán. Cách tiếp cận trong khóa luận này dựa trên phần lý thuyết

ngay sau đây và được trình bày cụ thể hơn ở phần

2.3.2 Bài toán phân loại ý định thông điệp

Bài toán phân loại ý định thông điệp có đầu vào là một thông điệp dưới dạng văn bản và đầu ra là một nhãn ý định. Mô hình phân loại ý định là một phần của

mô-đun Hiểu ngôn ngữ tự nhiên của chatbot và cung cấp một trong những đầu ra của mô-đun này, cụ thể là nhãn ý định. Có nhiều cách tiếp cận cho bài toán phân loại ý định thông điệp, ở đó các phương pháp biểu diễn thông điệp người dùng vào

không gian vector và các thuật toán phân loại khác nhau được kết hợp sử dụng.

Các phương pháp biểu diễn thông điệp người dùng, vốn ở dạng văn bản, bao gồm các phương pháp cổ điển như BoW hay các word embedding như GloVe, word2vec

hay mới hơn là bằng những mô hình ngôn ngữ pretrain như BERT. Trước khi được

biểu diễn bằng một trong những phương pháp trên, thông điệp người dùng có thể

được trải qua các bước tiền xử lý như đưa về ký tự viết thường, bỏ ký tự đặc biệt,

tách token....

Có nhiều bộ phân lớp khác nhau được sử dụng cho việc gán nhãn ý định cho thông điệp người dùng. Tương tự như những hệ thống quyết định phan hồi chatbot

Hà Quốc Tiến 24 KHTN2017

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

dựa trên luật, các mẫu có sẵn có thể được tìm kiếm và so khớp để xác định ý định người dùng, trong trường hợp này biểu diễn thông điệp là không cần thiết. Ví dụ một regex expression đơn giản ^Chào có thể khớp được với những thông điệp bắt đầu bằng Chào như Chào bạn!, Chào anh, Chào buổi sáng. Giống như những cách

tiếp cận dựa trên luật định nghĩa sẵn, phương pháp này không linh hoạt trước dit

liệu mới.

Để chatbot có thể linh hoạt trong việc xác định ý định người dùng, các mô hình máy học được sử dụng để phân loại ý định người dùng với đầu vào là những biểu diễn vector ứng với thông điệp người dùng. Một mô hình máy học cổ điển thường

được sử dụng là Support Vector Machine (SVM). SVM học ra cách phân loại qua

việc cố tìm một hay nhiều siêu phẳng chia các điểm dữ liệu huấn luyện thành các miền mà ở đó, các điểm dữ liệu thuộc về cùng một lớp sẽ nằm về cùng một miền.

Gần đây, các mô hình học sâu đã được ứng dụng cho bài toán phân loại ý định và

đạt được những kết quả state-of-the-art. O khóa luận này, một cách tiếp cận kết

hợp giữa phương pháp biểu diễn thông điệp người dùng subword semantic hashing

[15] va mô hình phân loại học sâu Dual Intent Entity Tranformer [16] (DIET) dựa trên kiến trúc Transformer được sử dung.

2.3.2.1 Subword semantic hashing

Các mô hình biểu diễn văn bản dựa trên học sâu như BERT đã dat được nhiều

state-of-the-art trên hàng loạt các bài toán xử lý ngôn ngữ tự nhiên. Tuy nhiên,

biểu diễn văn bản cho bài toán phân loại ý định thông điệp người dùng cho các hệ

thống chatbot hướng nhiệm vụ là một trong những bài toán chưa thật sự phù hợp

Hà Quốc Tiến 25 KHTN2017

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống hỏi đáp về quy định đào tạo đại học (Trang 23 - 43)

Tải bản đầy đủ (PDF)

(90 trang)