Thành p hn mã hóa ầ

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng ứng dụng chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu (Trang 29)

2.3.2.1 Vector hóa câu đầu vào

Cho đến nay máy tính không hi u đượể c ch vi t mà ch c đư c dư i d ng ữ ế ỉ đọ ợ ớ ạ s hóa, vì v y ta c n bi u di n các t ố ậ ầ ể ễ ừ dướ ại d ng vector. Vi c chuy n hóa các t ệ ể ừ thành d ng vector s d ng thu t toán Word2Vec [9], d ạ ử ụ ậ ữ liệu đầu vào s ẽ là các câu c a t p d ủ ậ ữ liệu huấn luy n, thu t toán d a vào v trí và ng c nh các t trong câu ệ ậ ự ị ữ ả ừ để tính toán s ự tương đồng, các t ừ có nghĩa tương đồng ho c b tr cho nhau s ặ ổ ợ ẽ có các vector tương đồng nhau trong không gian t v ng. Có 2 cách ti p c n ừ ự ế ậ Word2Vec là Continuous bag of words (CBOW) và Skip-gram model:

- CBOW: thu t toán d ậ ự đoán từ trung tâm ở giữa câu b ng cách s d ng ng ằ ử ụ ữ c nh c a các t xung quanh t d ả ủ ừ ừ ự đoán.

- Skip-gram model: ngược l i v i CBOW, thu t toán Skip-gram model s d ạ ớ ậ ẽ ự đoán các từ xung quanh t trung tâm ph thu c vào ng c nh c a t ừ ụ ộ ữ ả ủ ừ trung tâm đó trong câu.

2.3.2.2 Thành ph n mã hóa v trí (Positional Encoding) ầ ị

Mô hình Transformer không x lý các t trong câu m t cách tu n t , cho nên ử ừ ộ ầ ự c n mầ ột phương pháp để x lý th t c a các t trong chuử ứ ự ủ ừ ỗi đầu vào. Để giải quyết

bài toán này Tranformer c ng mộ ột vector kích thước b ng word embedding vào ằ

mỗi embedding đầu vào, v i vi c tính toán vector v ớ ệ ị trí ử ụs d ng hàm sinusoid:

Trong đó pos là v trí c a t trong câu, PE là giá tr ph n t th trong ị ủ ừ ị ầ ử ứ i embeddings có độ dài dmodel.

Hàm sin và cosin có dạng đồ thị ầ t n s và t n s này gi m dố ầ ố ả ần ở các chiều l n d n. Hình ớ ầ dưới bi u diể ễn được s ự biến thiên c a màu sủ ắc ở các v trí khác nhau ị c a t trong câu, ủ ừ ở chi u 0, giá tr ề ị thay đổi liên tục tương ứng v i màu sớ ắc thay đổi liên t c, và t n s ụ ầ ố thay đổi này gi m dả ần ở các chi u lề ớn hơn.

Hình 2.3 Minh h a biọ ểu đồ nhi t Positional Encoding ệ 2.3.2.3 Cơ chế ự t chú ý (Seft-Attention)

Cơ chế ự t chú ý hay Self-Attention là cơ chế giúp Transformer tìm ra được s liên quan gi a các t trong câu. Ví d trong câu ự ữ ừ ụ “The animal didn’t cross the street because it was too tired”. T ừ “it” trong câu trên đại di n cho cái gì, ệ “animal” hay “street”, đối với con người thì không khó để trả lời, nhưng lại không đơn giản v i các thu t toán. Seft-Attention cho phép t ớ ậ ừ“it” quan sát các từ ở các v ịtrí khác trong câu để tìm ra s liên quan gi a chúng vự ữ ới nhau. Đối v i các mớ ạng RNN duy trì m t tr ng thái ộ ạ ẩn cho phép nó k t hế ợp v i các t ớ ừ trướ ừ đang xửc t lý, còn đố ới v i Transformer s duy trì m i liên kẽ ố ế ốt đ i với tất cả các t trong câu. ừ

Hình 2.4. Minh h a mọ ức độ liên k t gi a các tế ữ ừ [10]

Khi mã hóa t ừ “it” ạ t i encoder th 2, t ứ ừ “it” liên k t r t m nh v i t ế ấ ạ ớ ừ “animal” và “too tired”.

Để tính được Self-Attention, v i m i t ta s kh i t o 3 tr ng s Wớ ỗ ừ ẽ ở ạ ọ ố Q, Wk, Wv, sau đó nhân ớ v i ma trận đầu vào được 3 ma tr n Q (query), K (key), V (value) ậ v i s chi u b ng nhau và nh ớ ố ề ằ ỏ hơn vector embedding, chiều là 64 trong khi embedding t ừ đầu vào là 512. Bước tiếp theo nhân tích vô hướng ma tr n Q và K ậ r i th c hiồ ự ện kĩ thuật Scaled Dot-Product Attention, t c ứ là chia tích vô hướng 2 mà trận Q và K cho với là chi u c a K, và truy n k t qu qua hàm Softmax. ề ủ ề ế ả

Softmax chuẩn hóa các điểm để chúng là các s ố dương có nhỏ hơn 1. Bước cuối

2.3.2.4 Cơ chế đa đầu chú ý (Multi-Head Attention)

Với mỗi Attention mô hình học được m t ki u liên h gi a các t trong câu, ộ ể ệ ữ ừ để m r ng kh ở ộ ả năng học được nhiều m i liên h ố ệ hơn, tập trung vào các v trí khác ị nhau, Transformer s dử ụng cơ chế Multi-Head Attention, đơn giản là thêm nhiều Seft-Attention. Theo th c nghi m ự ệ chỉ ra r ng t o 8 b ma tr n tr ng s Wằ ạ ộ ậ ọ ố Q, Wk, Wv là phù h p ợ nhất. M i b ỗ ộ được kh i tở ạo ngẫu nhiên, nhân ma tr n vector ậ embedding đầu vào v i 8 b ớ ộ tương ứng ta được 8 ma tr n Head-ậ Attention. Sau đó n i các ma tr n v i nhau và nhân v i ma tr n tr ng s Wố ậ ớ ớ ậ ọ ố o để ra được k t qu có ế ả kích thước b ng v i ma trận embedding đầằ ớ u vào. Ta được công th c: ứ

(2.10) V iớ

2.3.2.5 M ng truy n th ng xuôi theo vạ ề ẳ ị trí

Ma tr n k t qu c a Multi-Head Attention s ậ ế ả ủ ẽ được truy n vào m ng truyề ạ ền thẳng xuôi theo v trí (Position-wise Feed-Forward Networks). T t c các v trí ị ấ ả ị khác nhau đều s d ng chung m t m ng truy n thử ụ ộ ạ ề ẳng và được tính toán song song. M ng truy n thạ ề ẳng này bao g m 2 lồ ớp và được chu n hóa v i ReLu. Các t ẩ ớ ừ đi qua cùng một mạng truy n th ng mề ẳ ột cách độc lập.

(2.11) 2.3.2.6 K thu kỹ ật ết nối phần dư và chuẩ n hóa l p ớ

Trong ki n trúc c a mô hình Transformer, k thu t k t n i phế ủ ỹ ậ ế ố ần dư (Residuals Connection) và chuẩn hóa l p ( yer Normalization) ớ La được s d ng sau ử ụ m i quá trình x ỗ ử lý, 2 k thu t giúp mô hình huỹ ậ ấn luy n nhanh h i t ệ ộ ụ hơn và tránh m t mát thông tin trong quá trình huấ ấn luy n mô hình. Layer Normalization (11) ệ có nhi m v ệ ụ chuẩn hóa d u nh m c i thi n kh ữ liệ ằ ả ệ ả năng hộ ụ ủi t c a mô hình. Với Residuals Connection (12) ngoài vi c giúp h i t tệ ộ ụ ốt hơn còn có nhiệm v giúp mô ụ hình Transformer gi ữ được thông tin v v trí các t trong câu (Position Encodingề ị ừ ) tốt hơn, bởi vì trong quá trình x lý dử ữ ệ li u thông tin v v trí các t s b m t mát ề ị ừ ẽ ị ấ dần.

2.3.3 Thành ph n gi i mã ầ ả

K t qu cế ả ủa thành ph n mã hóa (Encoder) s cho ra các b vector K và V, ầ ẽ ộ tiếp đến thành ph n gi i mã (Decoder) ầ ả thực hi n chệ ức năng giải mã vector c a câu ủ đầu vào thành câu đầu ra, do đó Decoder s nh n thông tin t 2 b vector này c a ẽ ậ ừ ộ ủ Encoder. Ki n trúc D oder r t gi ng v i Encoder, ngo i tr có thêm m t l p con ế ec ấ ố ớ ạ ừ ộ ớ Multi-Head Attention ở giữa dùng để ọ h c m i liên h ố ệ giữ ừ đang các từa t trong câu đầu ra v i các t ớ ừ trong câu đầu vào.

2.3.3.1 K thu Masked Multi-Head Attention ỹ ật

K thuỹ ật Masked Multi-Head Attention hoạt động gi ng Multi-Head ố Attention, nhưng thay vì việc truy n t t c các t ề ấ ả ừ câu đầu ra, Decoder s ẽ che đi các t ừ ở tương lai chưa được mô hình dịch đến và trong quá trình huấn luy n mô hình ệ s t ng d ẽ ự độ ự đoán các từ ị che đi, để làm đượ b c vi c này ệ ở bước Scaled Dot- Product ta c ng k t qu v i m t ma n mask ch a các giá tr âm vô cùng (-inf) ộ ế ả ớ ộ trậ ứ ị và 0. Lý do c a vi c c ng thêm ma trủ ệ ộ ận mask này để khi đi qua Softmax các giá trị âm vô cùng s ở ềẽtr v 0.

2.3.3.2 Cơ chế chú ý c a thành ph n mã hóa và gi i mã ủ ầ ả

Encoder-Decoder Attention hay t m dạ ịch là cơ chế chú ý c a thành ph n mã ủ ầ hóa và gi i mã, hoả ạt động gi ng vố ới cơ chế đa đầu chú ý, ngo i tr ạ ừ việc nó ạ t o ra các ma tr n Q t lậ ừ ớp phía dưới và l y các ma tr n K và V t u ra c a Encoder ấ ậ ừ đầ ủ để ự th c hi n tính toán. Nhi m v c a l p này giúp tệ ệ ụ ủ ớ ạo được m i liên k t gi a các ố ế ữ t ừ ở câu đầu ra v i các t ớ ừ ở câu đầu vào. Đầu ra c a lủ ớp Encoder-Decoder Attention s ẽ đi qua mạng truy n th ng gi ng về ẳ ố ới Encoder.

2.3.3.3 Phân lo i tuy n tính và ạ ế chuẩn hóa d u ữ liệ

Đầu ra c a l p Decoder cu i cùng s ủ ớ ố ẽ đi qua lớp phân lo i tuy n tính (Linear ạ ế Classifier) là m t m ng truy n th ng giúp chuyộ ạ ề ẳ ển đổi thành ma tr n có chiậ ều bằng s t vố ừ ựng mô hình đang sử ụ d ng. Gi s mô hình s d ng 10,000 t v ng, ta s ả ử ử ụ ừ ự ẽ được 1 vector có chiều dài tương ứng v i s t vớ ố ừ ựng. Đầu ra c a l p Linear s ủ ớ ẽ

được truy n vào lề ớp Softmax để ra được k t qu xác xu t trong kho ng t ế ả ấ ả ừ 0 đến 1.

K t qu ế ả đi qua Softmax sẽ dùng để tính xác su t c a t ấ ủ ừ xuất hi n tiệ ếp theo là bao nhiêu, so sánh v i k t qu ta mong mu n s ớ ế ả ố ẽ được giá tr hàm m t mát (Loss ị ấ function) và th c hiự ện bước truyền ngược (backpropagation) để quá trình huấn luy n ệ được di n ra. ễ

2.3 .4 Ưu điểm c a mô hình Transformer v i mô hình RNN ủ so ớ

Trước khi Transformer được giới thi u thì trong x lý ngôn ng t nhiên mô ệ ử ữ ự hình RNN được coi là hiện đại nh t. ấ Mô hình Transformer ra đời đã giải quy t ế được hiện tượng Vanishing Gradient, vấn đề ố ữ c h u mà RNN g p ph i, ặ ả Transformer x lý các t mử ừ ột cách đồng th i ch không ph i t ng t m t nên tờ ứ ả ừ ừ ộ ốc độ ử lý nhanh hơn rấ x t nhi u, và bề ằng kĩ thuật Self Attention và Positional Encoding s không gây mẽ ất mát thông tin trên câu có độ dài lớn, đặc bi t có th ệ ể x lý câu có dài vô hử độ ạn.

Trong bài báo (8), tác gi ả đã thử nghiệm trên t p d u tiêu chu n WMT ậ ữ liệ ẩ 2014 English-German bao g m 4.5 tri u c p câu v i 37000 t v ng và t p dồ ệ ặ ớ ừ ự ậ ữ ệ li u l n WMT 2014 English-French bao g m 36 tri u câu. Ph n c ng th nghi m là ớ ồ ệ ầ ứ ử ệ m t máy tính v i 8 card GPU NVIDIA P100. Mô hình th nghi m trên 2 b d ộ ớ ử ệ ộ ữ liệu là base và big model, v i base model bao g m 6 l p m i b encoder và ớ ồ ớ ỗ ộ decoder, embedding có chi u 512, lề ớp ẩn c a m ng truy n th ng có chi u 2048, ủ ạ ề ẳ ề v i 8 Head-ớ Attention và trên big model cũng có 6 lớp cho m i b encoder và ỗ ộ decoder v i embedding 512 chi u, lớ ề ớp ẩn c a m ng truyủ ạ ền th ng có chi u 4096 và ẳ ề 8 Head-Attention. Thực nghiệm thu được k t qu ế ả như sau:

Hình 5. So sánh Transformer v i các mô hình khác d a trên k2. ớ ự ết qu ả đánh giá của bài báo [8]

Ở ph n d ch t p d li u WMT 2014 English-German, mô hình Transformer ầ ị ậ ữ ệ với big model cho được k t qu t t nh t v i cáế ả ố ấ ớ c mô hình được báo cáo trước đó với hơn 2.0 điểm BLEU, là mô hình tiên ti n nh t vế ấ ới điểm BLEU là 28.4, không những th chi phí ế huấn luyện (training cost) theo điểm FLOPs ch b ng 1/3 so vỉ ằ ới mô hình ConvS2S (là mô hình có điểm FLOPs th p nh t trên t p EN-DE). ấ ấ ậ

Trên t p d u lậ ữ liệ ớn hơn là WMT 2014 English French, điể- m BLUE c a big ủ model đạt được là 41.0 và là cao nh t so vấ ới các mô hình trước đó, v i ớ điểm FLOPs chỉ ằ b ng 1/4 so v i mô hình Deep-Att + PosUnk (là mô hình có FLOPs th p nh t ớ ấ ấ trên t p EN-FR). ậ

T ừ đó có th k t luể ế ận mô hình Transformer đang cho kết qu t t nh t v i thả ố ấ ớ ời gian huấn luy n ệ nhanh hơn đáng kể so v i các mô hình hiớ ện đại nh t hi n nay. ấ ệ

2.4 Mô hình DIET

DIET là vi t t t c a Dual Intent and Entity Transformer [13]ế ắ ủ , là m t mô hình ộ Transformer đa tác vụ ử, x lý c phân loả ại ý định và trích xu t th c th cùng lúc. ấ ự ể Đượ ạc t o b i nhi u thành phở ề ần cho phép chúng ta thay đổi các thành ph n m t ầ ộ cách d dàng. ễ

2.4.1 Đặc trưng hóa câu đầu vào (Featurization)

Câu đầu vào được tách thành các token, token có th là các t ho c các c m ể ừ ặ ụ t ừ phụ thu c vào thu t toán, và thêm m t token __CLS__ (special classification ộ ậ ộ token) ở cuối câu là tổng ủ c a các vector token trong câu có nhi m v tóm t t ý ệ ụ ắ định c a c ủ ảcâu. Mỗi token được đặc trưng hóa với kĩ thuật sparse features, dense feature. Dense features có th là bể ất kì word embeddings được huấn luy n s n ệ ẵ

(Pretrained Embedding). Spare features bao g m one-hot encoding và n-grams (n ồ

<= 5).

Việc s d ng Pretrain Embedding s t t cho quá trình hu n luy nử ụ ẽ ố ấ ệ , nhưng chưa đủ để ử x lý thông tin trong mi n ng d ng c th , ví d t ề ứ ụ ụ ể ụ ừ “chín” có thể là s ố lượng, ho c tính ch t c a thặ ấ ủ ức ăn, thậm chí tên người tùy vào ng c nh c ữ ả ụ thể, do v y s ậ ẽ phải đi qua mạng truy n thề ẳng để huấn luy n ệ mô hình chính xác hơn cũng như chuẩn hóa d liữ ệu đầu ra truy n vào l p ti p theo. ề ớ ế

Điểm đặc bi t là m ng truy n th ng gi ng nhau t t c các v trí. M ng ệ ạ ề ẳ ố ở ấ ả ị ạ truy n thề ẳng thông thường các nơ-ron trong lớp trước được liên kế ết đ n t t c ấ ả các nơ-ron c a l p sau, vi c này khi n quá trình huy n luy n ủ ớ ệ ế ế ệ diễn ra lâu hơn. Ở mô hình DIET s ẽ loạ ỏ ngẫi b u nhiên 80% liên k t gi a các l p giúp th i gian huế ữ ớ ờ ấn luyện nhanh hơn đáng kể.

2.4.2 H c chuy n giao (Transfer Learning) ọ ể

Học sâu đang ngày càng được ph ổ biến và đạt được nh ng thành t u nhữ ự ất định, nhưng để ạ t o ra m t mô hình h c sâu hi u qu c n m t lư ng d li u kh ng ộ ọ ệ ả ầ ộ ợ ữ ệ ổ lồ. Để xây d ng t p d u hu n luy n t ự ậ ữ liệ ấ ệ ừ ban đầu không ph i m t vi c d dàng, ả ộ ệ ễ do v y ậ Transfer Learning đã được ra đời nh m c i thiằ ả ện h n ch này c a quá trình ạ ế ủ h c sâu. ọ

H c chuy n giao (Transfer Learning) là quá trình áp d ng tri thọ ể ụ ức đã được h c t ọ ừ mô hình trước đó, khai thác và tái sử ụng để giả d i quy t m t bài toán mế ộ ới mà không c n xây d ng m t mô hình hu n luy n t ầ ự ộ ấ ệ ừ ban đầu.

Ví d trong bài toán phân lo i chó và mèo. N u hu n luy n tụ ạ ế ấ ệ ừ u, ta c n rđầ ầ ất nhiều d li u mữ ệ ẫu cũng như ấ m t nhi u th i gian hu n luyề ờ ấ ện để đạt được độ chính xác cao. Tuy nhiên n u t n d ng l i các t p d ế ậ ụ ạ ậ ữ liệu đã được huấn luy n s n ệ ẵ (pretrained-model) thì s c n ít ẽ ầ thời gian huấn luyện hơn để đạt được một độ chính xác mong đợi. Thậm chí độ chính xác có th lể ớn hơn so với khi không áp d ng ụ Transfer learning.

Hình 2.7. Minh h a so sánh s d ng và không s d ng h c chuy n giaoọ ử ụ ử ụ ọ ể Trong x lý ngôn ng t nhiên, nhử ữ ự ững mô hình được huấn luy n s n n i tiệ ẵ ổ ếng

như Word2Vec, ConveRT, BERT hay spaCy, giúp vi c hu n luy n Chatbot tr ệ ấ ệ ở

nên đơn giản hơn rất nhi u, thay vì vi c ph i thu thề ệ ả ập hàng trăm nghìn ữd liệu câu tho i, ta ch ạ ỉ việ ậc t n d ng l i nh ng mô hình hu n luy n sụ ạ ữ ấ ệ ẵn đó kế ợt h p d ữ liệu trong miền ứng dụng thu thập được s ẽ đạt được k t qu t t và giế ả ố ảm đáng kể thời gian hu n luy n so v i viấ ệ ớ ệc huấn luy n l i d u t ệ ạ ữ liệ ừ ban đầu. Các mô hình huấn luy n s n nệ ẵ ổi tiếng h ỗ trợ cho Ti ng Vi ế ệt:

- word2vecVN [14]: t p d ậ ữ liệu được hu n luy n trên 7.1GB d u bao ấ ệ ữ liệ g m 1,675,819 t và t ng h p t 97,440 tài li u, s d ng k thu t Word2Vec. ồ ừ ổ ợ ừ ệ ử ụ ỹ ậ

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng ứng dụng chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu (Trang 29)

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

(72 trang)