Vectơ hóa văn bản

Một phần của tài liệu Xây dựng Hệ thống Cố vấn Học tập Ảo (Trang 40 - 43)

Chương 3. PHƯƠNG PHÁP NGHIÊN CỨU

3.1 Xử lí ngôn ngữ tự nhiên

3.1.5 Vectơ hóa văn bản

Word Embedding là mô hình xử lý ngôn ngữ tự nhiên (NLP), các từ hoặc cụm từ được ánh xạ sang các vector số (thường là số thực). Đây là một công cụ đóng vai trò quan trọng đối với hầu hết các thuật toán, kiến trúc Machine Learning, Deep Learning trong việc xử lý Input ở dạng text, do chúng chỉ có thể hiểu được Input ở dạng là số, từ đó mới thực hiện các công việc phân loại.Word embbding có các mô hình nổi tiếng là One-hot vectơ, word2vec [15] Glove.

One-hot vectơ:

Giả sử chúng ta có từ điển là tập hợp gồm n từ vựng {Tín chỉ, học kỳ, học phần, ...}. Khi đó mỗi từ sẽ được đại diện bởi một giá trị chính là index của nó.

Từ “Tín chỉ” có index = 0, “học kỳ” có index = 2. One-hot véc tơ của từ vựng thứ i, i≤ (n - 1) sẽ là vectơ ei= [0, …, 0, 1, 0, …, 0] ∈Rn sao cho các phần tử eij của véc tơ thoả mãn:

ij 0, if i j

ii 1 e

e

 

  

 i, j N; 0i , jn-1

Giả sử ta có danh sách các từ sau: (Học phần có bao nhiêu tín chỉ?) khi vector hoá từ “có”, ta sẽ được:

Hình 3.6: Vector hóa từ

Word2vec:

Là một ý tưởng được đưa ra bởi Tomas Mikolov- một kỹ sư đang làm tại Google vào năm 2013 đã giải quyết được các vấn đề trên bằng một mô hình hoàn toàn khác. Mô hình được sử dụng tốt cho đến ngày nay và được gọi là mô hình Word2vec [15]. Word2vec học trực tiếp word vector có số chiều thấp trong quá trình dự đoán các từ xung quanh mỗi từ. Đặc điểm của phương pháp này là nhanh hơn và có thể dễ dàng kết hợp một câu, một văn bản mới hoặc thêm vào từ vựng.

Các word vectors được xác định trong không gian vector sao cho những từ có

29

chung ngữ cảnh trong corpus được đặt gần nhau trong không gian. Dự đoán chính xác cao về ý nghĩa của một từ dựa trên những lần xuất hiện trước đây.

Nếu ta gán nhãn các thuộc tính cho một vector từ giả thiết, thì các vector được biểu diễn theo word2vec sẽ có dạng như sau:

Hình 3.7: Kết quả thực nghiệm từ cùng ngữ cảnh [16]

Có 2 cách xây dựng word2vec:

Sử dụng ngữ cảnh để dự đoán mục tiêu (CBOW) [17].

Sử dụng một từ để dự đoán ngữ cảnh mục tiêu (skip-gram) [18] (cho kết quả tốt hơn với dữ liệu lớn).

Hình 3.8: Mô hình CBOW và Skip-Ngram [19]

GloVe:

GloVe [20] là viết tắt của Global Vectors, đây là một dự án mã nguồn mở của Standform đã nghiên cứu, phát triển ra một phương pháp mới để xây dựng vectơ từ (giới thiệu vào năm 2014), Glove được xây dựng dựa trên ma trận đồng xảy ra (Co-occurrence Matrix).

30

Hình 3.9: Hình biểu diễn câu trong không gian vector [21]

GloVe dựa trên ý tưởng tính tỉ lệ xác xuất:

( / )

( / )

p t i

p t j (3.1): xác xuất từ k trên ngữ cảnh của từ i và j.

Trong đó p(t/i) là xác xuất từ t xuất hiện trong ngữ cảnh của từ i, p(t/j) là xác xuất từ t xuất hiện trong ngữ cảnh của từ j.

( / )

X

it it

i im

x x

p t i

x m

 

 (3.2): xác xuất từ t trên ngữ cảnh của từ i Trong đó:

 Xit: số lần xuất hiện của từ t trong ngữ cảnh của từ i và ngược lại.

 Xi: số lần xuất hiện của từ i trong ngữ cảnh của toàn bộ các từ còn lại ngoại trừ i.

GloVe có ý tưởng dựa trên độ đo tương tự ngữ nghĩa giữa hai từ i, j được xác định thông qua độ tương tự ngữ nghĩa giữa từ t với mỗi từ i, j, những từ t có tính xác định ngữ nghĩa tốt chính là những từ làm cho giá trị được tính từ công thức (3.1) nằm trong khoảng [0 ,1]. Ví dụ, nếu từ i là “cái bàn”, từ j là “con mèo” và từ t là “cái ghế” thì công thức (3.1) sẽ cho giá trị tiệm cận đến 1 do “cái ghế” có nghĩa gần hơn với “cái bàn” hơn là “con mèo”, ở trường hợp khác, nếu ta thay từ t là “lặn” thì giá trị công thức (3.1) sẽ xấp xỉ bằng 0 do “lặn” hầu như chẳng liên quan gì tới “cái bàn” và “con mèo”.

Dựa vào công thức (3.1), GloVe khởi đầu bằng việc tìm một hàm f sao cho nó ánh xạ từ các vec-tơ từ trong vùng không gian V sang một giá trị tỉ lệ tính theo công thức (3.1). Việc tìm F không đơn giản, nhưng sau nhiều bước đơn giản hóa cũng như tối ưu, ta có thể đưa nó về bài toán hồi quy với việc tính hàm chi phí tối thiểu (minimum cost function) sau:

2

ij ij

ij 1 ( )(w w log x )

V T

i j i j

J   f xbb  (3.3) hàm chi phí tối thiểu.

Trong đó:

 Wi, Wj là những vectơ từ.

31

 bi, bj là những bias tương ứng được thêm vào ở các bước đơn giản hóa và tối ưu.

 xij là mục nhập tương ứng với cặp từ i, j trong ma trận đồng xảy ra.

Trọng số (weighting function), được thêm vào để giảm bớt sự ảnh hưởng của các cặp từ xuất hiện quá thường xuyên, hàm này thỏa mãn 3 tính chất:

 Có giới hạn tại 0.

 Là hàm không giảm.

 Có giá trị nhỏ khi x rất lớn.

Có nhiều hàm số thỏa các tính chất trên, nhưng ta sẽ lựa chọn hàm số sau:

( / max) ( )

1 max

x x

f x if x x oth w

er ise

 



 (3.4)

với  = 3/4 là hàm trọng số .

Một phần của tài liệu Xây dựng Hệ thống Cố vấn Học tập Ảo (Trang 40 - 43)

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

(86 trang)