Xem mẫu
- Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIV về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), TP HCM, ngày 23-24/12/2021
DOI: 10.15625/vap.2021.0096
SỬ DỤNG BERT VÀ META-PATH ĐỂ NÂNG CAO KHẢ NĂNG
TRẢ LỜI CHO HỆ HỎI ĐÁP
Phan Hồ Viết Trường1, 3, Phan Hồng Trung1, 2, Đỗ Phúc1
1
Đại học Công nghệ thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
2
Đại học Hoa Sen, Thành phố Hồ Chí Minh
3
Đại học Văn Lang, Thành phố Hồ Chí Minh
phucdo@uit.edu.vn, trungphansg@gmail.com, truong.phv@vlu.edu.vn
TÓM TẮT: Đọc hiểu tự động có sự hỗ trợ máy tính là một lĩnh vực nghiên cứu ngày càng phát triển trong những năm gần
đây và đóng một vai trò quan trọng trong hệ thống hỏi đáp bằng ngôn ngữ tự nhiên. Các tiếp cận xây dựng hệ hỏi đáp hiện nay đã
mang đến những kết quả tốt như tiếp cận dựa trên phân tích ngôn ngữ, mạng LSTM và BERT. Tuy nhiên, các tiếp cận này chỉ mới
giải quyết vấn đề tìm câu trả lời có trong văn bản cho trước mà chưa giải quyết vấn đề suy luận những câu trả lời không nằm trong
văn bản. Bài báo này sử dụng mô hình ngôn ngữ huấn luyện sẵn BERT và đồ thị tri thức (KG) để giải quyết những hạn chế nêu trên
nhằm cải thiện khả năng trả lời của hệ thống hỏi đáp. Cụ thể, chúng tôi tập trung nghiên cứu về meta-path của một đồ thị tri thức để
rút bộ ba mối quan hệ giữa các thực thể. Giải pháp này kết hợp thông tin dựa trên nội dung và liên kết của các bộ ba trong đồ thị tri
thức để giải quyết vấn đề trên. Chúng tôi đã sử dụng meta path để tạo các path instance và mô hình BERT để phân loại các bộ ba
theo các mô tả các thành phần trong bộ ba. Phương pháp của chúng tôi đạt độ chính xác trung bình là 93,34 %, trong khi đó,
TEKE, DistMult có độ chính xác thấp hơn 86 %, TransSparse, AATE, DisMult-HRS có độ chính xác từ 86 % đến 90 % và KG-BERT
có độ chính xác là 92,23 %.
Từ khóa: học sâu, đồ thị tri thức, hệ hỏi đáp, meta path, BERT.
I. GIỚI THIỆU
Sử dụng đồ thị tri thức (KG) để cải thiện hệ thống trả lời câu hỏi là một nghiên cứu tiềm năng trong những năm
gần đây và đóng một vai trò quan trọng trong hệ thống Hỏi và Đáp bằng ngôn ngữ tự nhiên (Galkin, 2020). Hơn nữa,
sự xuất hiện của mô hình ngôn ngữ huấn luyện sẵn BERT đã cải tiến đáng kể cho hệ hỏi đáp. Việc dùng đồ thị giúp
việc tìm mối quan hệ giữa các thực thể trong đồ thị, trong khi việc dùng BERT giúp việc xử lý nội dung văn bản đạt độ
chính xác cao. Chúng tôi kết hợp BERT và đồ thị tri thức để sử dụng những ưu điểm của các tiếp cận này cho hệ hỏi
đáp. Trước nghiên cứu của chúng tôi, Liang Yao. et al. (Liang Yao, 2019) đã kết hợp đồ thị tri thức và BERT để kiểm
tra tính đầy đủ của đồ thị tri thức. Nghiên cứu của họ có hai đặc điểm: Thứ nhất, họ tạo bộ ba từ các thực thể đầu và
cuối theo cách thủ công, trong khi chúng chúng tôi sử dụng meta-path và path instance để tạo các bộ ba dùng
GraphFrames. Thứ hai, Liang Yao đã sử dụng mô hình BERT để kiểm tra xem các bộ ba mới có hợp lệ hay không.
Trong khi đó, chúng tôi đã áp dụng BERT để phân loại các bộ ba theo các văn bản mô tả chúng. Chúng tôi dùng mô
hình này để xây dựng mô hình phân loại bộ ba. Mỗi bộ ba được chuyển đổi thành văn bản dựa trên các mô tả
h, p, t và chúng tôi sử dụng văn bản này và nhãn lớp làm đầu vào cho mô hình phân loại bộ ba dựa trên BERT. Mô
hình này tương tự như mô hình phân loại văn bản dựa trên BERT (Chi Sun, 2020). Sau khi huấn luyện mô hình phân
loại bộ ba, mô hình có thể phân loại bộ ba thành một trong 3 lớp. Chúng tôi kết hợp thông tin dựa trên meta-
path và dựa trên nội dung (mô tả h, p, t) làm đặc trưng cho bộ ba để xây dựng mô hình phân loại bộ ba. Mô hình BERT
được sử dụng để tạo vectơ nhúng theo mô tả bộ ba được tạo từ đồ thị tri thức. Những đóng góp chính của chúng tôi
được tóm tắt như sau:
• Tạo bộ ba từ tất cả các meta-path của HIN bằng cách quét lược đồ mạng và sử dụng Motif Finding của
GraphFrames trên HIN lớn.
• Xây dựng mô hình phân loại bộ ba dựa trên BERT để phân loại bộ ba bằng cách sử dụng tất cả bộ ba được tạo
ra từ tất cả các path instance của meta path.
• Xây dựng mô hình phân loại văn bản dựa trên BERT cho nội dung của các bộ ba bằng cách chuyển các bộ ba
đã tạo thành văn bản để phân loại văn bản bằng BERT.
II. NGHIÊN CỨU LIÊN QUAN
Trong đồ thị tri thức (KG), tất cả các thực thể có nhiều kiểu khác nhau được coi là một hệ thông tin không đồng
nhất (HIN) (Chuan Shi, 2017) (Do, 2019). Trong HIN, một meta path là một khái niệm quan trọng để truy xuất thông
tin. Meta-path là một chuỗi các thực thể và liên kết giữa các thực thể. Ví dụ, trong VNTKG, (Beauti-ful_Sight)→
[location_at]→ (Province) là meta path có độ dài 1, (Beautiful_Sight) → [location_at] → (Province) → [Is_In] →
(Region) là một meta path có độ dài 2. Mỗi meta-path xác định mối quan hệ giữa các thực thể. Ví dụ về quan hệ trực
tiếp là liên kết "location_at" trong meta-path (Beautiful_Sight) → [location_at] → (Province) và quan hệ gián tiếp
"location_at_is_in" trong meta-path (Beautiful_Sight) → [location_at] → (Province) → [is_in]→ (Region). Do đó, một
quan hệ trực tiếp hoặc gián tiếp sẽ được xác định bởi một meta-path, trong đó quan hệ trực tiếp có cùng tên với tên của
- Đỗ Phúc, Phan Hồng Trung, Phan Hồ Viết Trường 507
liên kết trong meta-path và quan hệ gián tiếp có tên được tạo bằng cách nối các liên kết trong meta-path. Mỗi meta path
có một tập hợp các path instance. Một path instance là đường đi qua các đỉnh trong đồ thị tri thức.
BERT (Jacob Devlin, 2018) và XLNet (Zhilin Yang, 2019) có những kết quả tốt trong xử lý ngôn ngữ tự nhiên
(NLP), những mô hình này có thể học cách nhúng từ theo ngữ cảnh với lượng lớn dữ liệu văn bản. Trong số đó, BERT
nổi bật nhất bởi việc huấn luyện trước mô hình BERT thông qua mô hình ngôn ngữ mặt nạ và dự đoán câu tiếp theo.
BERT đã được áp dụng trong nhiều lĩnh vực như phân loại văn bản (Chi Sun, 2020), phân loại ngữ nghĩa (Jianfei Yu,
2019) và hệ thống trả lời câu hỏi (Siva Reddy, 2019).
Path instance của các meta–path trong HIN
Meta-path là một khái niệm quan trọng của HIN. Khám phá meta-path, path instance và phân tích HIN là những
chủ đề nghiên cứu thu hút nhiều nhà nghiên cứu (Phuc Do, 2018). Đã có một số nghiên cứu về việc tự động phát hiện
ra các meta-path của HIN, Trong (Changping Meng, 2015), các tác giả đã đề xuất một thuật toán dựa trên Breadth-First
Search để tìm tất cả các meta-path của HIN. Trong (Lijun Chang, 2015), các tác giả đã đề xuất các thuật toán để tính
toán các đường đi ngắn nhất trên k. Trong các nghiên cứu trên, giải pháp tìm kiếm tất cả path instance của meta-path
giữa hai đỉnh được thực hiện với các HIN đầu vào trong bộ nhớ của một máy tính. Các giải pháp này có thể bị hạn chế
khi làm việc với HIN lớn với hàng triệu đỉnh và cạnh như DBLP, YAGO, FreeBase, VNTKG ...
Phân lớp văn bản dựa trên đồ thị nhúng
Wang và cộng sự (Zhigang Wang, 2016) đề xuất một phương pháp TEKE cho việc học biểu diễn đồ thị tri thức.
Phương pháp này sử dụng đồ thị tri thức và tập văn bản làm đầu vào, sau đó gán nghĩa cho các thực thể trong nội dung
văn bản. Cuối cùng, thủ tục tối ưu biên dịch được sử dụng cho việc học nhúng thực thể và quan hệ.
Phân lớp văn bản dựa trên BERT
Trong những năm gần đây, mô hình ngôn ngữ huấn luyện sẵn BERT đã cho những kết quả cao trong các bài
toán phân lớp, đồ thị tri thức đầy đủ, phân tích cảm xúc,… (Manish Munikar, 2020). Với bài toán phân lớp, trong
(Santiago Gonzalez-Carvajal, 2020), các tác giả so sánh vài mô hình với BERT. Họ thực nghiệm để chứng minh tính
chính xác của mô hình BERT cho bài toán phân lớp văn bản. Họ kết luận mô hình BERT đạt độ chính xác cao. Trong
(Chi Sun, 2020), tác giả trình bày cách tinh chỉnh mô hình BERT và thử nghiệm để tìm cách giải quyết tốt nhất cho bài
toán phân lớp với 8 bộ dữ liệu khác nhau bằng cách thêm một tầng softmax để cấu hình BERT.
III. CÁC ĐỊNH NGHĨA CƠ BẢN
Mạng thông tin
Một mạng thông tin là một đồ thị có hướng G = (V, E) kết hợp với hàm ánh xạ loại đối tượng ϕ: V −→ A và hàm
ánh xạ loại liên kết ψ: E −→ R. Mỗi đối tượng v ∈ V thuộc một loại đối tượng cụ thể trong tập hợp A: ϕ(v) ∈ A và mỗi
liên kết e ∈ E thuộc một loại quan hệ cụ thể trong tập hợp R : ψ(e) ∈ R .
Mạng thông tin không đồng nhất HIN
Một mạng thông tin được gọi là mạng thông tin không đồng nhất nếu số loại đối tượng |A| > 1 hoặc số loại quan
hệ |R| > 1; ngược lại, nó là một mạng thông tin đồng nhất [27].
Lược đồ mạng (Network Schema)
Cho trước HIN G = (V, E) cùng với ánh xạ kiểu đối tượng ϕ: V−→ A và ánh xạ kiểu liên kết ψ: E → R. Lược đồ mạng
của HIN là một đồ thị có hướng được định nghĩa trên các loại đối tượng A và các loại quan hệ R, ký hiệu TG = (A, R)
Chúng tôi đã xây dựng HIN về Du lịch Việt Nam. Lược đồ mạng của HIN này được hiển thị trong Hình 1. Trong
HIN này, chúng tôi có một tập hợp các loại đối tượng A = {Beautiful_Sight, Ethnic_Group, Province, Dish,
National_Hero, Folk_Song, Traditional_Music, Festival, Region...} và một tập hợp các loại quan hệ R =
{Organized_At, Located_At, Folk_Song_Of, Born_In, Specialty_Dish...}.
Meta-path
Một meta-path P là một con đường được định nghĩa trên lược đồ mạng TG = (A, R) của một HIN cho trước,
được ký hiệu bằng A1 −R→1 A2 −R→2 ... −R→l Al+1, định nghĩa một quan hệ kết hợp R = R1 ◦ R2 ◦ ... ◦ Rl giữa kiểu A1 và
Al+1, trong đó ◦ là phép toán kết hợp trên quan hệ, l là chiều dài của meta-path.
Như vậy, nếu l = 1 thì R là quan hệ trực tiếp, nếu l > 1 thì R là quan hệ gián tiếp. Bảng 1 trình bày một số meta-
path được rút trích ra từ lược đồ mạng của HIN về Du lịch Việt Nam.
Path-instance
𝑹𝟏 𝑹𝟐 𝑹𝒍 𝑹𝟏 𝑹𝟐
Một path-instance của một meta-path A1 �� A2 ��... →Al+1 là con đường p của HIN với p: a1 �� a2 ��...
𝑹𝒍 𝑹𝒋
→al+1 và ai là đỉnh của HIN, aj → aj+1 là cung có đỉnh nguồn là aj và đỉnh đích là aj+1 của HIN.
- 508 SỬ DỤNG BERT VÀ META-PATH ĐỂ NÂNG CAO KHẢ NĂNG TRẢ LỜI CHO HỆ HỎI ĐÁP
Đồ thị tri thức
Đồ thị tri thức G = (V, E) là một đồ thị có hướng với các đỉnh là thực thể và các cạnh là bộ ba có dạng . Mỗi bộ ba được ký hiệu là để biểu diễn mối quan hệ p từ thực thể h đến thực thể t.
Có thể dùng đồ thị tri thức nhằm cung cấp tri thức cho hệ hỏi đáp (QAS). Khi kết hợp đồ thị tri thức với một tập
luật, chúng ta có thể suy luận ra những tri thức mới từ những tri thức có sẵn. Chúng ta cũng có thể thu thập thông tin tự
động từ những nguồn tin cậy, phân tích thành những bộ ba và bổ sung vào đồ thị tri thức để tạo QAS có khả năng tự
học. Với cơ chế suy luận và khả năng tự học 24x7, QAS sẽ ngày càng thông minh hơn; chắc chắn một ngày không xa
sẽ vượt qua khả năng của con người.
IV. PHƯƠNG PHÁP
Giải pháp của chúng tôi gồm bốn thành phần được mô tả sau đây. Trước tiên, chúng tôi tìm tất cả các meta-path
tồn tại trong HIN. Sau đó, chúng tôi dùng Motif search của Apache Spark để tìm các path instance và sinh các bộ ba từ
các meta-path đã tìm được. Tiếp theo, chúng tôi xây dựng mô hình phân lớp bộ ba dựa trên BERT. Mỗi bộ ba
được chuyển thành văn bản. Cuối cùng, sử dụng mô hình BERT để phân lớp bộ ba vào trong 3 lớp chính là {base class,
derived class, non-existed class}. Chi tiết các bước được trình bày cụ thể như sau.
A. Xác định các meta-path trong mạng HIN
Chúng tôi sử dụng thuật toán “Breadth-First Search” để tìm tất cả các meta-path giữa hai đỉnh của lược đồ
mạng (Hình 1). Hai đỉnh này là hai kiểu thực thể trong đồ thị tri thức. Mỗi meta-path biểu diễn một loại quan hệ giữa
hai kiểu thực thể. Bảng 1 liệt kê một số meta-path được rút ra từ VNTKG.
LocatedAt
Bảng 1. Minh họa các path instance của một meta-path Beautiful_Sight �⎯⎯⎯⎯⎯⎯�Province
# Path instance
1 LocatedAt
(Ngu Binh Mountain) �⎯⎯⎯⎯⎯⎯� (Hue)
2 LocatedAt
(Ngu Hanh Mountain) �⎯⎯⎯⎯⎯⎯� (Da Nang)
3 LocatedAt
(Hoan Kiem Lake) �⎯⎯⎯⎯⎯⎯� (Ha Noi)
B. Dùng Motif Finding của Apache Spark để tìm tất cả path instances của một meta-path
Để giải quyết tất cả các hạn chế nêu trên của đồ thị tri thức và BERT, chúng tôi đã sử dụng Apache Spark do
Matei Zaharia phát triển vào năm 2009 tại Phòng thí nghiệm AMPLab thuộc Đại học Berkeley để xử lý dữ liệu khổng
lồ (Tomasz Drabas, 2017). Apache Spark chạy trên Spark Cluster chứa một nút chính và một số nút công nhân. Chúng
tôi tận dụng khả năng xử lý đồ thị lớn của Motif Finding trên Apache Spark để tìm tất cả các path instance của meta-
path và bộ ba của một meta-path nhất định của một mạng HIN lớn. Do đồ thị tri thức là đồ thị lớn, chúng tôi dùng
Motif Finding để tìm kiếm các mẫu cấu trúc trong một đồ thị. Motif Finding là một chức năng của GraphFrames. Motif
Finding làm việc trong môi trường phân tán và có thể hoạt động với đồ thị tri thức lớn. Motif Finding sử dụng Ngôn
ngữ đặc tả miền (DSL) để biểu diễn các truy vấn cấu trúc. Bảng 2 minh họa một số meta-path và chức năng Tìm kiếm
của GraphFrames để tìm các path instance của meta-path theo tính toán phân tán. Trong Bảng 2, đồ thị g là cấu trúc
GraphFrames để biểu diễn HIN.
Bảng 2. Minh họa meta-path và Motif Finding của Apache Spark GraphFrames
Meta-path Motif Finding
Musical_Instrument → Ethnic_Group g.find("(a)-[e]->(b)").filter(“a.type=’Musical_Instrument’ and
b.type=’Ethnic_Group’”
Musical_Instrument → Ethnic Group → g.find("(a)-[e1]->(b);
Province (b)-[e2]->(c)").filter(“a.type=’Musical_Instrument’ and
b.type=’Ethnic_Group’ and c.type=’ Province’”
Folk_Song → Province → Region g.find("(a)-[e1]->(b); (b)-[e2]->(c)").filter(“a.type=’Folk_Song’ and
b.type=’Province’ and c.type=’ Region’”
Gán nhãn cho các quan hệ
Sau khi xác định các meta-path biểu diễn mối quan hệ giữa các kiểu thực thể, chúng tôi gán nhãn cho các quan
hệ như trong Bảng 3 để chuẩn bị cho việc huấn luyện mô hình BERT.
Bảng 3. Minh họa gán nhãn cho quan hệ
# Meta-path Relation label Relation type
1 Beautiful_Sight→Province Located_At Directed
2 National_Hero→Province Born_In Directed
3 Dish→Province Specialty_Dish Directed
- Đỗ Phúc, Phan Hồng Trung, Phan Hồ Viết Trường 509
Những quan hệ gián tiếp được dùng để trả lời cho câu hỏi phức tạp. Ví dụ, để trả lời cho câu hỏi “Núi Ngũ Hành là
cảnh đẹp của vùng nào?”, chúng tôi sẽ dùng quan hệ “Beautiful_Sight_of_Region” tương ứng với meta-path
“Beautiful_Sight → Province → Region” để xác định câu trả lời.
C. Tìm bộ ba của path instances
R1
Path instance của meta-path A1 �� A2 là cung nối 2 đỉnh. Đỉnh gốc là thực thể đầu (head entity) của bộ ba
(triple), đỉnh ngọn là thực thể cuối (tail entity) của triple. Liên kết R1 là vị từ của bộ ba. Bộ ba này được gọi là bộ ba cơ
R1 R2 Rl
sở (base triple). Path instance của meta-path A1 �� A2 ��.. . →Al+1 là con đường chứa (l+1) đỉnh. Đỉnh gốc A1 của
con đường là thực thể đầu của triple, đỉnh ngọn Al+1 của con đường là thực thể cuối. Phép hợp R1_R2_..._Rl+1 là vị
từ của bộ ba. Bộ ba này được gọi là bộ ba suy diễn (derived triple) Bảng 4.
Bảng 4. Minh họa các bộ ba cơ sở và bộ ba suy diễn của các meta-paths
Bộ ba cơ sở Bộ ba suy diễn
Beautiful_Sight→Province Beautiful_Sight→Province→Region
D. Mô hình phân loại bộ ba dựa trên BERT
Mô hình này được huấn luyện dựa trên tất cả các bộ ba được tạo bằng cách sử dụng các path instance. Mỗi bộ
ba được thay bằng văn bản mô tả của thực thể h, thực thể đuôi t và vị từ p. Đoạn văn này được gọi là nội dung
của triple và được gán nhãn tùy thuộc vào một lớp được xác định trước là {bộ ba cơ sở, bộ ba dẫn xuất, bộ ba không
tồn tại}. Sau đó, tập hợp các văn bản được tạo từ bộ ba và nhãn bộ ba sẽ được sử dụng để huấn luyện mô hình phân
loại văn bản dựa trên BERT. Với bộ ba , chúng tôi chuyển bộ ba này sang văn bản là
“Núi Ngự Bình là một ngọn núi ở Huế. Núi Ngự Bình nằm cách trung tâm Huế 30 km. Núi Ngự Bình tọa lạc tại Huế.
Huế là thành phố cổ kính của Việt Nam. Có rất nhiều cảnh đẹp ở Huế “. Sau đó, chúng tôi gán nhãn “bộ ba cơ sở” cho
văn bản này. Chúng tôi cũng tạo bộ ba không hợp lệ như sau đó chuyển bộ ba này
sang văn bản ngôn ngữ tự nhiên là “Núi Ngự Bình là một ngọn núi ở Huế. Núi Ngự Bình nằm cách trung tâm Huế 30
km. Núi Ngự Bình tọa lạc tại Đà Nẵng. Đà Nẵng là một thành phố ven biển ở miền Trung Việt Nam. Đà Nẵng là trung
tâm thương mại và giáo dục của miền Trung Việt Nam”. Chúng tôi gán nhãn "bộ ba không tồn tại" cho văn bản này.
Bên cạnh nhãn “bộ ba không tồn tại”, chúng ta cũng cần biết liệu bộ ba này là bộ ba cơ sở hay bộ ba suy diễn. Chúng ta
cần phân loại các bộ ba thành 3 lớp như Bảng 5.
Bảng 5. Minh họa nhãn của bộ phân lớp bộ ba
Triple Text Class
, is located at Hue. Hue is the ancient city of Vietnam
, is located at Hue. Hue is the ancient city of Vietnam. Hue is in
the Central Region of Vietnam
, is located at Hue. Hue is the ancient city of Vietnam. Hue is in
the North Region of Vietnam
E. Mô hình BERT để phân lớp văn bản
Chúng tôi sử dụng mô hình phân loại bộ ba dựa trên BERT để phân loại bộ ba theo một trong ba lớp. Văn bản
biểu diễn bộ ba được biểu diễn bằng vectơ nhúng theo ngữ cảnh của mô hình BERT. Chi Sun et al., 2020 các tác giả đã
phát triển mô hình phân loại văn bản dựa trên BERT, bộ phân loại Softmax được thêm vào đầu kiến trúc BERT để dự
đoán xác suất của nhãn Các tác giả đã sử dụng mô hình dựa trên BERT chứa 12 transformer blocks, 12 self-attention
heads và kích thước ẩn là 768. Các tác giả đã tinh chỉnh tất cả các tham số của mô hình BERT bằng cách tối đa hóa xác
suất log của nhãn chính xác. Chúng tôi tận dụng mô hình này cho mô hình phân loại bộ ba dựa trên BERT. Kết quả
nhúng của mô tả triple và nhãn triple sau đó sẽ được đưa vào dropout và Softmax Classifier để phân loại bộ ba. Các mô
tả văn bản của các thực thể được lựa chọn cẩn thận từ Wikipedia và kiến thức của chúng tôi về du lịch
Việt Nam.
F. Tăng cường khả năng của hệ thống trả lời câu hỏi bằng cách sử dụng phân loại bộ ba dựa trên BERT
Để trả lời các câu hỏi trong Bảng 6, chúng ta cần phân loại bộ ba được tạo ra từ câu hỏi thích hợp. Ví dụ, với
câu hỏi “Núi Ngự Bình có ở Huế không?”, Chúng tôi tìm meta-path có dạng Beautiful_SightProvince. Sau đó, chúng
tôi sinh những path-instance có Beautiful_Sight = “Ngu Binh Mountain” và được kết quả bộ ba . Tiếp theo, chúng tôi phân loại bộ ba . Nếu bộ ba này là bộ ba không tồn tại,
- 510 SỬ DỤNG BERT VÀ META-PATH ĐỂ NÂNG CAO KHẢ NĂNG TRẢ LỜI CHO HỆ HỎI ĐÁP
câu trả lời cho câu hỏi này sẽ là "không đúng". Nếu bộ ba này là bộ ba cơ sở hoặc bộ ba suy diễn, câu trả lời cho câu
hỏi này sẽ là "đúng".
Bảng 6. Minh họa câu hỏi tự nhiện và bộ ba tương ứng để kiểm tra hỏi đáp
Câu hỏi ngôn ngữ tự nhiên Bộ ba tương ứng
Is Ngu Binh Mountain located at Hue?
Is Chau Van Song the Folk Song of Hue?
Is Sesame the specialty food of Hue?
Để trả lời câu hỏi tổng hợp như “Huế có những điểm tham quan đẹp nào?”. Câu hỏi này tạo ra một bộ ba trong đó p là “location_at”, t là “Hue”. Chúng ta cần tìm tất cả các thực thể đầu h trong một tập các thực thể của KG,
sao cho bộ ba là bộ ba cơ sở. Có thể sử dụng Bộ phân loại bộ ba dựa trên BERT để phân loại bộ ba .
Câu trả lời cho một câu hỏi tổng hợp là một tập hợp các yếu tố như {Núi Ngự Bình, Đồi Vọng Cảnh, Vịnh Lăng Cô,
Bãi biển Thuận An} như trong Hình 1.
Hình 1. trả lời câu hỏi tổng hợp
Trong Hình 1, để trả lời câu hỏi “How many beautiful signs does Hue has?”, hệ thống xác định các bộ ba có
chứa thực thể “Hue” và quan hệ “Beautiful_sign_of”. Sau đó, hệ thống sẽ trả về kết quả là các thắng cảnh của Hue.
Chúng tôi dùng meta-path để sinh tập câu hỏi (bao gồm phần trả lời) dùng cho việc huấn luyện QAS.
V. THỬ NGHIỆM
Dataset
Trong nghiên cứu này, chúng tôi đã tiến hành thử nghiệm trên tập dữ liệu 1.200.000 câu hỏi được tạo ra dựa vào
tập thực thể và quan hệ (vị từ) mà chúng tôi đã thu thập. Chúng tôi chia nó thành hai phần: tập dữ liệu huấn luyện và
tập dữ liệu kiểm thử để huấn luyện và đánh giá mô hình BERT. Tập dữ liệu kiểm thử bao gồm 200.000 câu hỏi được
chọn ngẫu nhiên trong số 1.200.000 câu hỏi, nhưng nó phải bao gồm tất cả các biến thể của tất cả các loại quan hệ. Tập
dữ liệu huấn luyện bao gồm 1.000.000 câu hỏi còn lại.
Cấu hình hệ thống thực nghiệm
Chúng tôi đã tiến hành thực nghiệm trong hai môi trường: cục bộ và Spark Cluster. Cấu hình chi tiết của hai môi
trường này như sau.
Cấu hình của hệ thống cục bộ
Cấu hình của máy tính dùng để thực nghiệm:
− Processor: Intel(R) Core i5-6500 CPU @ 3.20GHz 3.20GHz.
− RAM: 8.0 GB
Cấu hình của Spark Cluster
Chúng tôi đã xây dựng cụm Spark bao gồm 5 máy tính. Trong đó một máy tính làm master node và bốn máy
tính làm worker node. Cấu hình của các máy trong cụm:
− Processor: Intel(R) Core i5-6500 CPU @ 3.20GHz 3.20GHz.
− RAM: 8.0 GB
− Master Node: là máy tính chạy chương trình chính, gửi mã đến các worker node để thực thi song song và thu
thập kết quả.
- Đỗ Phúc, Phan Hồng Trung, Phan Hồ Viết Trường 511
− Worker Node: là máy tính tham gia xử lý các yêu cầu của master node.
− Cluster Manager: là một thành phần quản lý cụm máy tính có nhiệm vụ cấp phát tài nguyên cho các ứng dụng.
Tinh chỉnh mô hình BERT
Chúng tôi chia tập dữ liệu huấn luyện (bao gồm 1.000.000 câu hỏi) thành 10 tập dữ liệu với kích thước từ
100.000 đến 1.000.000 câu hỏi. Sau đó, chúng tôi tiến hành huấn luyện mô hình bằng cách sử dụng 10 tập dữ liệu trên
trong cả môi trường cục bộ và môi trường phân tán và đo thời gian huấn luyện. Bảng 1 trình bày kết quả thử nghiệm
chi tiết. Hình 2 trình bày biểu đồ thể hiện mối quan hệ giữa kích thước của tập dữ liệu và thời gian huấn luyện mô hình.
Biểu đồ cho thấy thời gian huấn luyện tỷ lệ thuận với kích thước của tập dữ liệu và thời gian huấn luyện khá chậm.
Hình 2. Thời gian huấn luyện BERT trên môi trường cục bộ và phân tán
Bảng 7. Training Time
Number of Questions Local Mode Distributed Mode
(thousands) seconds minutes hours seconds minutes hours
100 511 8,52 0,14 2.300 38,33 0,64
200 1.586 26,43 0,44 3.410 56,83 0,95
300 2.111 35,18 0,59 3.800 63,33 1,06
400 3.109 51,82 0,86 4.664 77,73 1,30
500 4.046 67,43 1,12 4.855 80,92 1,35
600 4.335 72,25 1,20 5.502 91,70 1,53
700 4.923 82,05 1,37 5.615 93,58 1,56
800 5.684 94,73 1,58 5.880 98,00 1,63
900 6.281 104,68 1,74 5.983 99,72 1,66
1000 7.043 117,38 1,96 6.234 103,90 1,73
Trong Hình 2 và Bảng 7, với tập 1.000.000 câu hỏi, thời gian huấn luyện trong môi trường cục bộ là 7.043 giây
(khoảng 117,38 phút hay 1,96 giờ), trong môi trường phân tán là 6.234 giây (khoảng 103,90 phút hay 1,73 giờ). Lúc
đầu, thời gian huấn luyện trong môi trường cục bộ nhanh hơn nhiều so với trong môi trường phân tán. Nhưng khi tập
dữ liệu huấn luyện đủ lớn, từ 900.000 câu hỏi trở lên, thì môi trường phân tán tỏ ra hiệu quả hơn môi trường cục bộ.
Điều này có thể được giải thích như sau: khi huấn luyện mô hình trong môi trường phân tán, ngoài chi phí xử lý hệ
thống phải chịu thêm các chi phí như chi phí quản lý cụm, chi phí chuyển dữ liệu và mã giữa các máy tính trong cụm.
Khi tập dữ liệu huấn luyện nhỏ, hiệu quả của quá trình xử lý song song trong môi trường phân tán không thể bù đắp
cho các chi phí bổ sung ở trên, làm cho hệ thống kém hiệu quả hơn. Tuy nhiên, khi tập dữ liệu huấn luyện đủ lớn, hiệu
quả của quá trình xử lý song song trong môi trường phân tán có thể bù đắp cho các chi phí bổ sung do đó hệ thống sẽ
hiệu quả hơn. Nhìn vào biểu đồ, chúng ta cũng thấy rằng đường biểu diễn chế độ huấn luyện cục bộ có xu hướng tăng
nhanh (hướng lên và gần như tuyến tính), trong khi đường biểu diễn chế độ huấn luyện phân tán có xu hướng tăng
chậm (di chuyển theo chiều ngang gần như theo lôgarit). Qua đó, chúng ta có thể kết luận rằng: 1) Chỉ huấn luyện mô
hình trong môi trường phân tán khi tập dữ liệu huấn luyện đủ lớn; 2) Tập dữ liệu huấn luyện càng lớn thì việc huấn
luyện mô hình trong môi trường phân tán càng hiệu quả.
- 512 SỬ DỤNG BERT VÀ META-PATH ĐỂ NÂNG CAO KHẢ NĂNG TRẢ LỜI CHO HỆ HỎI ĐÁP
Đánh giá mô hình
Để đánh giá mô hình, chúng tôi sử dụng tập dữ liệu kiểm thử bao gồm 200.000 câu hỏi, thuộc 10 loại câu hỏi,
tương ứng với 10 loại vị từ. Chúng tôi thực hiện hai cấp độ đánh giá, cấp độ loại câu hỏi và cấp độ tổng thể, bằng
Classification Report, như trong Bảng 8, được tạo bằng công cụ “sklearn.metrics.classification_report” 1. Trong đó, 0F
“Type” là loại câu hỏi (hoặc loại vị từ), “Support” là số lượng câu hỏi của mỗi loại và các cột còn lại tương ứng với
Precision(P), Recall(R) và chỉ số F1−score được dùng để đánh giá mô hình cho từng loại câu hỏi từ 1 đến 10. Ba dòng
cuối cùng của bảng hiển thị các chỉ số “accuracy”, “macro average” và “weighted average” được dùng để đánh giá
mô hình ở cấp độ tổng thể. Trong bảng 8, các chỉ số đánh giá ở cấp độ loại câu hỏi hoặc cấp độ tổng thể đều cao. Ở cấp
độ tổng thể, các chỉ số đều trên 80%. Điều này chứng tỏ rằng mô hình phân loại là hiệu quả.
Bảng 8. Classification Report
Type Precision Recall F1-score Support
1 0,860 0,850 0,855 20.000
2 0,950 0,800 0,869 25.000
3 0,960 0,870 0,913 10.000
4 0,930 0,780 0,779 15.000
5 0,970 0,815 0,793 25.000
6 0,840 0,860 0,850 20.000
7 0,940 0,760 0,840 20.000
8 0,890 0,750 0,814 20.000
9 0,910 0,750 0,822 20.000
10 0,920 0,800 0,856 25.000
Accuracy 0,801 200.000
Macro avg 0,917 0,804 0,839
Weighted avg 0,917 0,801 0,837
Khái niệm tập dữ liệu lớn ở đây là tương đối. Tập dữ liệu lớn hay nhỏ phụ thuộc vào hệ thống triển khai ứng
dụng và hiệu suất xử lý. Cùng một tập dữ liệu có thể lớn trên hệ thống này nhưng nhỏ trên hệ thống khác. Ví dụ: tập dữ
liệu với 900.000 câu hỏi ở trên là lớn cho hệ thống cục bộ nhưng là nhỏ đối với hệ thống phân tán ở trên. Để đánh giá
một tập dữ liệu là lớn hay nhỏ đối với một hệ thống, ngoài kích thước vật lý của nó, chúng ta còn phải dựa vào hiệu
suất xử lý. Nếu một hệ thống xử lý một tập dữ liệu không hiệu quả (mất quá nhiều thời gian) thì tập dữ liệu đó có thể
được coi là quá lớn đối với hệ thống. Phát triển một bộ tiêu chuẩn để xác định xem một tập dữ liệu là lớn hay nhỏ và có
phù hợp với một hệ thống hay không là một chủ đề nghiên cứu thú vị.
VI. KẾT LUẬN
Trong bài viết này, chúng tôi phát triển một hệ thống phân loại bộ ba để nâng cao khả năng trả lời câu hỏi. Đồ
thị tri thức chứa các bộ ba có dạng trong đó h, t là các thực thể đầu và đuôi, p là vị từ chỉ mối quan hệ giữa các
thực thể đầu và đuôi. Chúng tôi xây dựng một đồ thị tri thức về Du lịch Việt Nam. Chúng tôi xem đồ thị tri thức này
như một HIN. Trong HIN, meta-path đóng một vai trò quan trọng. Chúng tôi sử dụng Breadth-First Search để khám
phá tất cả các meta-path của HIN bằng cách sử dụng lược đồ mạng. Chúng tôi sử dụng Motif Finding của
GraphFrames để tạo các path instance của meta-path trong một HIN có quy mô lớn. Từ các meta-path này, chúng tôi
tạo ra các bộ ba cơ sở và các bộ ba suy diễn từ các path instance. Đây là thông tin liên kết của bộ ba. Mỗi bộ ba sẽ được chuyển đổi thành văn bản mô tả bộ ba. Văn bản này là mô tả của thực thể và vị từ của bộ ba. Đây là thông
tin cơ sở nội dung của bộ ba. Chúng tôi sử dụng văn bản được tạo từ bộ ba để huấn luyện mô hình phân loại bộ ba dựa
trên BERT. Chúng tôi sử dụng mô hình dựa trên BERT này để phân loại bộ ba nhằm cải thiện năng lực của hệ hỏi đáp.
Chúng tôi đã thử nghiệm Motif Search của GraphFrames và mô hình phân loại bộ ba dựa trên BERT của chúng tôi với
một số đồ thị tri thức như FB13, WN11 và VNTKG để chứng minh hiệu suất của thuật toán đề xuất của chúng tôi
TÀI LIỆU THAM KHẢO
[1] Changping Meng, R. C., Discovering Meta-paths in large heterogeneous information networks. WWW. Florence, Italy, 2015.
[2] Chi Sun, X. Q,. How to fine-tune BERT for text classification. Retrieved 2 12, 2020, from arXiv:1905.05583v3 [cs.CL] 5 Feb
2020, 2020.
[3] Chuan Shi, Y. L., A Survey of heterogeneous information network analysis. IEEE Transactions on Knowledge and Data
Engineering, 29(1), 17-37, 2017.
[4] Do, P., A System for Natural language interaction with the heterogeneous information network. In B. B. Gupta, Handbook of
Research on Cloud Computing and Big Data Applications in IoT (pp. 271-301). IGI Global Publishing, 2019.
1
https://scikit-learn.org/stable/modules/model_evaluation.html#classification-metrics
- Đỗ Phúc, Phan Hồng Trung, Phan Hồ Viết Trường 513
[5] Galkin, M. Knowledge graphs in natural language processing @ ACL 2020. Retrieved June 30, 2020, from
https://towardsdatascience.com/knowledge-graphs-in-natural-language-processing-acl-2020-ebb1f0a6e0b1, 2020.
[6] Jacob Devlin, M. W. C., BERT: Pre-training of Deep bidirectional transformers for language understanding.
arXiv:1810.04805, 2018.
[7] Jianfei Yu, J. J., Adapting BERT for target-oriented multimodal sentiment classification. Proceedings of the Twenty-Eighth
International Joint Conference on Artificial Intelligence, 2019.
[8] Liang Yao, C. M., KG-BERT: BERT for knowledge graph completion. arXiv:1909.03193v2 [cs.CL] 11 Sep 2019, 2019.
[9] Lijun Chang, X. L., Efficiently computing top-K shortest path join. 18th International Conference on Extending Database
Technology (EDBT), Brussels, Belgium, 2015.
[10] Manish Munikar, S. S. (2020, 3 15). Fine-grained sentiment classification using BERT. Retrieved from arXiv:1910.03474v1
[cs.CL] 4 Oct 2019.
[11] Phuc Do, P. P., DW-PathSim: a distributed computing model for topic-driven weighted meta-path-based similarity measure in
a large-scale content-based heterogeneous information network. Journal of Information and Telecommunication, 1-20, 2018.
[12] Santiago Gonzalez-Carvajal, E. C. M. Comparing BERT against traditional machine. Retrieved 5 17, 2020, from
arXiv:2005.13012v1 [cs.CL] 26 May 2020, 2020.
[13] Siva Reddy, D. C., CoQA: A Conversational question answering challenge. arXiv:1808.07042v2, 2019.
[14] Tomasz Drabas, D. L., Learning PySpark. Packt, 2017.
[15] Zhigang Wang, a. J., Text-Enhanced representation learning for knowledge graph. Proceedings of the Twenty-Fifth
International Joint Conference on Artificial Intelligence (IJCAI-16), 1293-1300, 2016.
USING BERT AND META-PATH TO IMPROVE QUESTION ANSWERING
Phan Ho Viet Truong, Phan Hong Trung, Do Phuc
ABSTRACT: Machine reading comprehension is an emerging field in the past few years, and has an important role in
natural language question answering. The current question answering systems have achieved state-of-the-art results such as rules,
LSTM and BERT. However, these approaches only find the answer which appears in given passages but hasn’t find answers from
external sources. This paper used a pre-trained language model named BERT and knowledge graph (KG) to solve the above
drawbacks. Specifically, we focused on knowledge graph completion. This solution combined information based on content and
links of triples to improve our question answering. We used meta-path to generate path instances, and BERT to classify triples with
a description of each component. Our proposed method achieved an average accuracy of 93.34%, meanwhile, TEKE, DistMult have
an accuracy of 86%, TransSparse, AATE, DisMult-HRS have the accuracy from 86% to 90% and KG-BERT has an accuracy of
92.23%.
nguon tai.lieu . vn