nghiÊn cỨu cÁc phƯƠng phÁp tÍnh toÁn ĐỘ tƯƠng tỰ …
TRANSCRIPT
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH MẠNH
NGHIÊN CỨU CÁC PHƯƠNG PHÁP
TÍNH TOÁN ĐỘ TƯƠNG TỰ CỦA VĂN BẢN LUẬT
TIẾNG VIỆT
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HÀ NỘI, 12/2020
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH MẠNH
NGHIÊN CỨU CÁC PHƯƠNG PHÁP
TÍNH TOÁN ĐỘ TƯƠNG TỰ CỦA VĂN BẢN LUẬT
TIẾNG VIỆT
Ngành: Khoa học máy tính
Chuyên ngành: Khoa học máy tính
Mã Số: 8480101.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN PHƯƠNG THÁI
HÀ NỘI, 12/2020
MỤC LỤC
MỤC LỤC ....................................................................................................................... 3
LỜI CẢM ƠN ................................................................................................................. 6
LỜI CAM ĐOAN ........................................................................................................... 7
DANH MỤC KÝ HIỆU, VIẾT TẮT .............................................................................. 8
DANH MỤC CÁC BẢNG ............................................................................................. 9
DANH MỤC ĐỒ THỊ, HÌNH VẼ ................................................................................ 10
MỞ ĐẦU ....................................................................................................................... 11
CHƯƠNG 1. GIỚI THIỆU ........................................................................................... 12
1.1. Lý do chọn đề tài ......................................................................................... 12
1.2. Mục đích đề tài ............................................................................................ 12
1.3. Đối tượng đề tài ........................................................................................... 13
1.4. Phương pháp nghiên cứu ............................................................................. 13
CHƯƠNG 2. KIẾN THỨC NỀN TẢNG ..................................................................... 14
2.1. Đặc điểm của văn bản tiếng Việt ................................................................ 14
2.1.1. Cấu tạo từ tiếng Việt............................................................................. 14
2.1.2. Biến hình từ tiếng Việt ......................................................................... 15
2.1.3. Từ đồng nghĩa ....................................................................................... 15
2.1.4. Đặc điểm chính tả ................................................................................. 15
2.2. Đặc điểm của văn bản Luật tiếng Việt ........................................................ 16
2.3. Sự khác nhau giữa văn bản tiếng Việt và văn bản luật tiếng Việt .............. 17
2.4. Tổng quan về bài toán đô độ tương tự văn bản ........................................... 17
2.4.1. Khái niệm về độ tương tự văn bản ....................................................... 17
2.4.2. Ứng dụng của bài toán đo độ tương tự giữa hai văn bản. .................... 18
2.5. Phương pháp dựa trên thống kê. ................................................................. 18
4
2.5.1. Khái niệm ............................................................................................. 18
2.5.2. Độ đo tương tự Jaccard ........................................................................ 19
2.5.3. Độ đo TF-IDF ....................................................................................... 19
2.6. Phương pháp dựa trên mạng nơron học sâu. ............................................... 19
2.6.1. Khái niệm học sâu ................................................................................ 19
2.6.2. Một số ứng dụng của học sâu (Deep Learning) ................................... 20
2.6.3. Một số phương pháp theo hướng tiếp cận học sâu ............................... 22
2.6.3.1. Mô hình biểu diễn từ bằng vector (Word2Vec). .................................. 22
2.6.3.2. Học chuyển (Transfer Learning) .......................................................... 29
CHƯƠNG 3. CÁC PHƯƠNG PHÁP ĐO ĐỘ TƯƠNG TỰ GIỮA CÁC VĂN BẢN 33
3.1. Tiền xử lý dữ liệu ........................................................................................ 33
3.2. Vector hóa văn bản và tính độ tương tự văn bản ........................................ 33
3.2.1. Mộ số phương pháp theo tiếp cận thống kê ......................................... 33
3.2.2. Phương pháp học sâu ............................................................................ 38
3.2.2.1. Sử dụng Word2Vec .............................................................................. 38
3.2.2.2. Học biểu diễn vector cho các văn bản .................................................. 39
3.2.2.3. Áp dụng học chuyển (transfer learning) để tăng chất lượng vector biểu
diễn văn bản ............................................................................................................. 40
3.3. Đánh giá mô hình ........................................................................................ 40
CHƯƠNG 4. THỰC NGHIỆM VÀ KẾT QUẢ ........................................................... 42
4.1. Môi trường thực nghiệm và các công cụ sử dụng trong thực nghiệm ........ 42
4.2. Dữ liệu ......................................................................................................... 42
4.2.1. Thu thập dữ liệu.................................................................................... 42
4.2.2. Xử lý dữ liệu ......................................................................................... 43
4.3. Thực nghiệm ............................................................................................... 43
5
4.3.1. Thực nghiệm với Phương pháp Jacard ................................................. 44
4.3.2. Thực nghiệm với phương pháp TF-IDF ............................................... 44
4.3.3. Thực nghiệm với phương pháp Word2Vec .......................................... 44
4.3.4. Thực nghiệm với phương pháp Doc2Vec ............................................ 45
4.3.5. Phương pháp học chuyển ..................................................................... 45
4.4. Kết quả ........................................................................................................ 45
4.4.1. Đánh giá các phương pháp trên văn bản tiếng Anh ............................. 45
4.4.2. Đánh giá các phương pháp với truy vấn là 1 văn bản .......................... 45
4.4.3. Đánh giá các phương pháp với truy vấn là 1 đoạn văn ngắn. .............. 49
CHƯƠNG 5: KẾT LUẬN VÀ CÔNG VIỆC TRONG TƯƠNG LAI ......................... 51
5.1. Kết luận ....................................................................................................... 51
5.2. Công việc trong tương lai ............................................................................ 51
TÀI LIỆU THAM KHẢO............................................................................................. 52
6
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn đặc biệt tới PGS. TS Nguyễn Phương Thái, người đã định
hướng đề tài và tận tình hướng dẫn chỉ bảo tôi trong suốt quá trình thực hiện Luận văn cao
học này.
Tôi xin chân thành cảm ơn các Thầy, các Cô trường Đại học Công nghệ, Đại học
Quốc gia Hà Nội đã tận tình giảng dạy và truyền đạt những kiến thức, kinh nghịm quý báu
trong suốt khóa học của tôi.
Cuối cùng, tôi xin cảm ơn tới nhưng người thân, bạn bè luôn ở bên cạnh, động viên,
chia sẻ cùng tôi trong quá trình học cao học cũng như quá trình thực hiện luận văn cao học.
Xin chân thành cảm ơn!
7
LỜI CAM ĐOAN
Tôi- Nguyễn Đình Mạnh – cam đoan luận văn này là công trình nghiên cứu của bản
thân tôi dưới sự hướng dẫn và chỉ bảo của PGS. TS Nguyễn Phương Thái.
Các kết quả nêu trong luận văn là trung thực và không sao chép toàn văn của bất kỳ
công trình nào khác.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho
lời cam đoan này.
Hà Nội, ngày 16 tháng 12 năm 2020
8
DANH MỤC KÝ HIỆU, VIẾT TẮT
Kí hiệu Giải thích
CNTT Công Nghệ Thông Tin
NLP Neuro – Linguistic – Programming
RNN Recurrent Neural Network
LSTM Long Short Term Memory networks
PCFG Probabilistic Context Free Grammar
AI Artificial intelligence
DNN Deep Neural Network
9
DANH MỤC CÁC BẢNG
Bảng 1: Biểu diễn văn bản theo TF.................................................................................... 35
Bảng 2:Biểu diễn văn bản theo IDF ................................................................................... 37
Bảng 3: Thống kê dữ liệu của văn bản luật ....................................................................... 43
Bảng 4: So sánh kết quả 2 phương pháp Word2Vec và Doc2Vec. .................................. 45
Bảng 5: Kết quả các phương pháp theo tiếp cận thống kê. ............................................... 46
Bảng 6: Kết quả các phương pháp theo tiếp cận học sâu. ................................................. 46
Bảng 7: Kết quả của các phương pháp học chuyển cải tiến và chưa có cải tiến ............... 47
Bảng 8: Kết quả các phương pháp theo tiếp cận thống kê và học sâu. .............................. 50
10
DANH MỤC ĐỒ THỊ, HÌNH VẼ
Hình 2.1: Mô hình Word2Vec .......................................................................................... 23
Hình 2.2: Mô hình Skip-gram dạng tổng quát .................................................................. 23
Hình 2.3: Minh họa đầu vào và đầu ra của mô hình Skip-gram ....................................... 24
Hình 2.4: Minh họa đầu vào và đầu ra của mô hình CBOW............................................ 25
Hình 2.5: Mô hình CBOW dạng tổng quát ....................................................................... 26
Hình 2.6: Mô hình học chuyển ......................................................................................... 29
11
MỞ ĐẦU
Nghị quyết số 08-NQ/TW ngày 02/01/2002 của Bộ Chính trị về “Một số nhiệm vụ
trọng tâm công tác tư pháp trong thời gian tới” và Nghị quyết số 49-NQ/TW ngày
02/06/2005 của Bộ Chính trị về “Chiến lược cải cách tư pháp đến năm 2020” đã đề ra các
nhiệm vụ cải cách nền tư pháp của nước ta, trong đó có nhiệm vụ “đổi mới thủ tục hành
chính trong cơ quan tư pháp tư pháp nhằm tạo điều kiện thuận lợi cho người dân tiếp cận
công lý; … từng bước thực hiện việc công khai hóa các bản án…”. Thực hiện theo chỉ đạo
này các văn bản Luật đã được số hóa và phổ biến đến người dân ngày một nhiều. Lãnh đạo
ngành Tòa án cũng chỉ đạo sát sao việc ứng dụng CNTT để nâng cao hiệu quả công việc
của ngành Tòa án, cụ thể là việc phần mềm Công khai bản án đã được ra đời cung cấp bản
án tới người dân, để họ có thể tìm kiếm các bản án có trường hợp pháp lý tương tự trường
hợp mình đang gặp phải. Họ có thể biết trược được kết quả của việc kiện tụng, khi đó thay
vì phải đưa vụ việc ra Tòa thì một giải pháp khả thi hơn đó là hòa giải để 2 bên đều có lơi,
cũng là giảm bớt áp lực công việc cho ngành Tòa án. Để làm được như vậy thì phần mềm
cần phải hỗ trợ người dùng nhiều hơn nữa, không chỉ dừng lại ở việc tra cứu theo từ khóa
cơ bản mà phải hỗ trợ việc tra cứu theo nội dung ngữ nghĩa của văn bản.
Hiện nay, cũng có một vài công trình nghiên cứu để xuất các phương pháp khác nhau
để xác định độ tương đồng của văn bản tiếng Việt song vẫn chiếm tỉ lệ khá khiêm tốn so
với các công trình nghiên cứu trên văn bản tiếng Anh. Do đặc điểm của từ tiếng Việt cũng
có nhiều điểm khác với tiếng Anh, đặc biệt là văn bản Luật tiếng Việt. Việc xử lý văn bản
và xây dựng kho ngữ liệu chuẩn và đầy đủ là một thách thức lớn. Vì những lý do này,
chúng tôi đã chọn đề tài luận văn là “Nghiên cứu các phương pháp tính toán độ tương
tự của văn bản luật tiếng Việt” nhằm nghiên cứu các phương pháp đo độ tương tự và thử
nghiện các mô hình tính toán độ tương tự, từ đây đưa ra để xuất mô hình phù hợp nhất với
miền dữ liệu văn bản luật tiếng Việt.
Nội dung luật văn gồm:
Chương 1. Giới thiệu tổng quan luận văn, mục đích và nội dung nghiên cứu.
Chương 2. Đưa ra một cái nhìn tổng quan về các kiến thức nền tảng trong bài
toán đo độ tương tự giữa các văn bản.
Chương 3. Các phương pháp tính toán độ tương tự cho miền dữ liệu văn bản
Luật tiếng Việt.
Chương 4. Thể hiện chi tiết về tập dữ liệu được sử dụng, các cài đặt cho thực
nghiệm và kết quả của thực nghiệm.
Chương 5. Tóm tắt lại công việc của luận văn và đưa ra các công việc trong
tương lai.
12
CHƯƠNG 1. GIỚI THIỆU
1.1. Lý do chọn đề tài
Nghị quyết số 08-NQ/TW ngày 02/01/2002 của Bộ Chính trị về “Một số nhiệm vụ
trọng tâm công tác tư pháp trong thời gian tới” và Nghị quyết số 49-NQ/TW ngày
02/06/2005 của Bộ Chính trị về “Chiến lược cải cách tư pháp đến năm 2020” đã đề ra các
nhiệm vụ cải cách nền tư pháp của nước ta, trong đó có nhiệm vụ “đổi mới thủ tục hành
chính trong cơ quan tư pháp tư pháp nhằm tạo điều kiện thuận lợi cho người dân tiếp cận
công lý; … từng bước thực hiện việc công khai hóa các bản án…”. Thực hiện theo chỉ đạo
này, các văn bản Luật đã được số hóa và phổ biến đến người dân ngày một nhiều.
Tuy nhiên, việc khai thác các thông tin tài liệu pháp lý cũng gặp rất nhiều khó khăn
do các phần mềm mới chỉ dừng lại ở mức cho phép người dùng tìm kiếm theo từ khóa,
phân loại tố tụng mà chưa cung cấp được một công cụ tìm kiếm theo tình huống pháp lý
mà người dân mô tả để đưa ra được văn bản pháp lý (Bản án) có độ tương tự nhất với
trường hợp pháp lý mình đang gặp phải. Hay việc đối sánh chính xác văn bản với nhau để
tìm ra sự sai sót trong áp dụng pháp luật. Nếu làm được điều này thì sẽ giải quyết được
nhưng vấn đề sau:
- Thay vì đưa nhau ra Tòa, các bên tham gia vụ việc sẽ tiến hành hòa giải bởi họ
biết trước được kết quả nếu đưa vụ án ra xét xử thông qua bản án đã từng giải
quyết trước đó. Qua đó giảm bớt áp lực công việc cho ngành Tòa án.
- Các nhà quản lý sẽ biết được các bản án đã ra có áp dụng pháp luật đúng hay không
thông qua việc đối sánh các bản án với nhau, nếu 2 bản án có độ tương đồng cao
mà lại có kết quả xét xử khác nhau như vậy việc áp dụng pháp luật tại 1 trong 2
bản án có vấn đề. Từ đây họ sẽ điều chỉnh để hạn chế oan sai cho người dân,
Hiện nay, cũng có một vài công trình nghiên cứu để xuất các phương pháp khác nhau
để xác định độ tương đồng của văn bản tiếng Việt song vẫn chiếm tỉ lệ khá khiêm tốn so
với các công trình nghiên cứu trên văn bản tiếng Anh. Do đặc điểm của từ tiếng Việt cũng
có nhiều điểm khác với tiếng Anh, đặc biệt lại là văn bản Luật tiếng Việt. Việc xử lý văn
bản và xây dựng được kho ngữ liệu chuẩn và đầy đủ là một vấn đến lớn. Vì những lý do
này, chúng tôi đã chọn tài liệu pháp lý làm miền dữ liệu chính cho luận văn.
1.2. Mục đích đề tài
Nghiên cứu tổng quan vấn đề xử lý văn bản tiếng Việt và một số phương pháp đánh
giá độ tương tự văn bản tiếng Việt.
Nghiên cứu đặc điểm của văn bản luật tiếng Việt, xây dựng mô hình biểu diễn văn
bản luật tiếng Việt nhằm cải tiến các phép đo độ tương đồng. Thử nghiệm các phương
pháp tính toán độ tương tự văn bản và đề xuất một phương pháp phù hợp nhất với miền
dữ liệu văn bản luật tiếng Việt.
Xây dựng bộ dữ liệu văn bản luật tiếng Việt (Bản án) phục vụ cho các nghiên cứu về
sau.
13
1.3. Đối tượng đề tài
Nghiên cứu một số mô hình tính toán độ tương tự văn bản cả về cú pháp và ngữ nghĩa,
xác định sự tương đồng của văn bản dựa trên từ, câu và toàn bộ văn bản và ứng dụng trong
văn bản luật tiếng Việt.
Thực nghiệm các phép đo độ tương tự đang được áp dụng từ đây đề xuất ra phương
pháp để cải thiện phép đo độ tương tự với miền dữ liệu văn bản luật tiếng Việt.
1.4. Phương pháp nghiên cứu
Nghiên cứu lý thuyết về mô hình tính độ tương đồng văn bản, các mô hình biểu diễn
văn bản và ứng dụng các mô hình vào việc thử nghiệm các phương pháp đo độ tương tự
văn bản luật tiếng Việt.
Đề xuất giải pháp nhằm nâng cao hiệu xuất tính toán độ tương tự của văn bản luật
tiếng Việt.
14
CHƯƠNG 2. KIẾN THỨC NỀN TẢNG
2.1. Đặc điểm của văn bản tiếng Việt
Văn bản tiếng Việt là một loại hình phương tiện để ghi nhận, lưu giữ và truyền đạt
các thông tin từ chủ thể này sang chủ thể khác bằng ký hiệu gọi là chữ viết tiếng Việt. Nó
gồm tập hợp các câu có tính trọn vẹn về nội dung, hoàn chỉnh về hình thức, có tính liên
kết chặt chẽ và hướng tới một mục tiêu giao tiếp nhất định. Hay nói cách khác, văn bản
tiếng Việt là một dạng sản phẩm của hoạt động giao tiếp bằng ngôn ngữ được thể hiện ở
dạng viết trên một chất liệu nào đó (giấy, bia đá,...). Văn bản bao gồm các tài liệu, tư liệu,
giấy tờ có giá trị pháp lý nhất định, được sử dụng trong hoạt động của các cơ quan Nhà
nước, các tổ chức chính trị, chính trị - xã hội, các tổ chức kinh tế... như: các văn bản pháp
luật, các công văn, tài liệu, giấy tờ.
Do văn bản được viết bằng ngôn ngữ tiếng Việt vậy nên nó mang mọi đặc điểm của
ngôn ngữ tiếng Việt.
2.1.1. Cấu tạo từ tiếng Việt
Tiếng Việt là ngôn ngữ không biến hình từ và âm tiết tính, tức là mỗi một tiếng (âm
tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết [3]. Hai đặc trưng
này chi phối toàn bộ toàn bộ tổ chức bên trong của hệ thống ngôn ngữ Việt và cần được
chú ý khi xử lý tiếng Việt trên máy tính.
a) Tiếng
Tiếng là đơn vị cơ sở để cấu tạo lên từ. Tiếng là đơn vị nhỏ nhất có nội dung được thể
hiện. Xét về mặt ý nghĩa, các tiếng có thể chia thành các loại sau [2]:
- Tiếng tự thân nó đã có ý nghĩa, thường được quy chiếu vào một đối tượng, khái
niệm. Ví dụ: trời, đất, nước, cây, cỏ…
- Tiếng tự thân nó không có ý nghĩa, không được quy chiếu vào đối tượng, khái niệm
nào cả mà chúng thường đi cùng với một tiếng khác có nghĩa và làm thay đổi sắc thái
của tiếng đó, ví dụ như: (xanh) lè, (đường) xá, (nắng) nôi…
- Tiếng tự thân nó không có ý nghĩa nhưng có thể ghép với nhau để tạo thành từ có
nghĩa, thường xuyên gặp ở những từ mượn như phéc-mơ-tuya, a-pa-tít, mì-chính...
Trong tiếng Việt các tiếng thuộc nhóm đầu tiên chiếm đa số, các tiếng thuộc hai nhóm
sau thường chỉ chiếm số ít, đặc biệt là nhóm thứ 3, chúng thường được gọi là tiếng vô
nghĩa.
b) Từ, cụm từ
Từ được cấu tạo từ một hoặc nhiều tiếng. Từ cấu tạo từ một tiếng gọi là từ đơn, ví dụ:
tôi, bạn, nhà, hoa… Từ cấu tạo bởi nhiều tiếng là từ ghép, giữa các tiếng có mối quan hệ
về nghĩa.
15
Từ ghép được phân thành từ ghép đẳng lập và từ ghép chính phụ. Đối với từ ghép
đẳng lập các thành phần cấu tạo từ có mối quan hệ bình đẳng với nhau về nghĩa, ví dụ: ăn
nói, bơi lội… Đối với từ ghép chính phụ, các thành phần cấu tạo từ có mối quan hệ phụ
thuộc với nhau về nghĩa, thành phần phụ có vai trò làm chuyên biệt hóa, tạo sắc thái cho
thành phần chính, ví dụ: hoa hồng, đường sắt…
Cụm từ là những kiến trúc gồm hai từ trở lên kết hợp với nhau theo những quan hệ
ngữ pháp nhất định. Ví dụ:
- Từ “học” là từ gồm một tiếng.
- Từ “đại học” là từ gồm hai tiếng.
- Cụm từ “khoa học máy tính” gồm 2 từ hay 4 tiếng.
2.1.2. Biến hình từ tiếng Việt
Tiếng Việt không có hiện tượng biến hình từ bằng những phụ tố mang ý nghĩa ngữ
pháp bên trong từ như tiếng Anh [3]. Tuy nhiên, tiếng Việt cũng có một số hình thức biến
hình như trường hợp thêm từ “sự” trước một động từ để biến nó thành danh từ hay thêm
tiếng “hóa” sau một danh từ để biến nó thành động từ tương đương, ví dụ như “lựa chọn”
và “sự lựa chọn”, “tin học” và “tin học hóa”.
2.1.3. Từ đồng nghĩa
Từ đồng nghĩa là những từ tương đồng với nhau về nghĩa nhưng khác nhau về âm
thanh và phân biệt với nhau về một vài sắc thái ngữ nghĩa hoặc phong cách nào đó, hoặc
đồng thời cả hai [3]. Những từ đồng nghĩa với nhau lập thành một nhóm gọi là nhóm đồng
nghĩa. Ví dụ: dễ, dễ dàng, dễ dãi là những nhóm từ đồng nghĩa.
Từ đồng nghĩa thực chất không phải là những từ trùng nhau hoàn toàn về nghĩa mà
có những khác biệt nhất định. Chính sự khác biệt đó là lí do tồn tại và làm nên sự khác
nhau giữa các từ trong một nhóm từ đồng nghĩa.
Thông thường các từ chỉ đồng nghĩa ở một nghĩa, một ngữ cảnh nào đó. Vì thế, một
từ có nhiều nghĩa (đa nghĩa) có thể tham gia vào nhiều nhóm đồng nghĩa khác nhau. Ví
dụ, từ “coi” có thể tham gia vào các nhóm như coi – xem (coi hát, xem hát), coi – giữ (coi
nhà, giữ nhà).
2.1.4. Đặc điểm chính tả
Đặc điểm chính tả tiếng Việt có ý nghĩa rất quan trọng trong các hệ thống xử lý dữ
liệu văn bản. Một số đặc điểm chính tả tiếng Việt cần quan tâm như [3]:
- Các tiếng đồng âm: kĩ/kỹ, lí, lý… thường bị sử dụng lẫn nhau như: lý luận, lí luận,
kĩ thuật, kỹ thuật…
- Các từ địa phương: một số từ địa phương sử dụng thay cho các từ phổ thông, chẳng
hạn: cây kiểng/cây cảnh, đờn/đàn, đậu phộng/lạc…
- Vị trí dấu thanh: theo quy định đánh dấu tiếng Việt, dấu được đặt trên nguyên âm
có ưu tiên cao nhất. Tuy nhiên, khi soạn thảo văn bản nhiều bộ gõ không tuân thủ
16
nguyên tắc này nên có hiện tượng dấu được đặt ở các vị trí khác nhau, chẳng hạn:
toán, tóan, thuý, thúy…
- Cách viết hoa: theo quy định, chữ cái đầu câu và tên riêng phải viết hoa, tuy nhiên
vẫn tồn tại một số cách viết tuỳ tiện.
- Phiên âm tiếng nước ngoài: tồn tại cách viết giữ nguyên gốc tiếng nước ngoài và
phiên âm ra tiếng Việt, ví dụ: Singapore/Xin−ga−po.
- Từ gạch nối: do cách viết dấu gạch nối tuỳ tiện, không phân biệt được giữa nối tên
riêng hay chú thích.
Ký tự ngắt câu: sử dụng nhiều loại ký tự đặc biệt như “.”, “;”, “!”, “?”, “…” ngăn cách
giữa các câu hoặc các vế câu trong câu ghép.
2.2. Đặc điểm của văn bản Luật tiếng Việt
a) Khái niệm
Văn bản luật tiếng Việt là một bộ phận của văn bản tiếng Việt, nó mang đầy đủ đặc
tính của văn bản tiếng Việt. Văn bản luật tiếng Việt hay văn bản pháp luật [4] “là một hình
thức để chủ thể mang thẩm quyền thể hiện ý chí, được thể hiện dưới dạng ngôn ngữ viết
thông qua văn bản, bàn hành qua các hình thức, thủ tục mà pháp luật đã quy định”.
Văn bản luật tiếng Việt là được chia làm 03 nhóm gồm: văn bản pháp luật, văn bản
áp dụng pháp luật và văn bản hành chính. Mỗi nhóm trong hệ thống VBPL còn có một số
nét đặc thù về nội dung, tính chất và vai trò trong quản lý nhà nước.
Văn bản quy phạm pháp luật
Văn bản quy phạm pháp luật [4] là văn bản do cơ quan nhà nước ban hành hoặc phối
hợp ban hành theo thẩm quyền, hình thức, trình tự, thủ tục được quy định trong Luật này
hoặc trong Luật ban hành văn bản quy phạm pháp luật của Hội đồng nhân dân, Uỷ ban
nhân dân, trong đó có quy tắc xử sự chung, có hiệu lực bắt buộc chung, được Nhà nước
bảo đảm thực hiện để điều chỉnh các quan hệ xã hội.
Có hai cách để nhận biết đâu là một văn bản Quy phạm pháp luật.
- Thứ nhất là nhìn vào cách trình bày văn bản, như trong mỗi văn bản luật đều có chứa
kèm theo số năm ban hành văn bản hay có mô típ quen thuộc như sau: Nghị quyết số
01/2005/NQ-HĐTP; điểm a và e khoản 1 Điều 93; khoản 1 Điều 133…
- Thứ hai, có thể nhận biết văn bản luật là gì thông qua hai yếu tố là cơ quan ban hành
và loại văn bản, cụ thể như sau:
Quốc hội ban hành Hiến pháp, luật, Nghị quyết.
Ủy ban Thường vụ Quốc hội ban hành Nghị quyết, Pháp lệnh, Nghị quyết liên
tịch.
Hội đồng thẩm phán Tòa án Nhân dân tối cao ban hành Nghị quyết.
Chánh án Tòa án Nhân dân tối cao ban hành Thông tư và Thông tư liên tịch.
…
Văn bản áp dụng pháp luật
17
- Thứ nhất, văn bản áp dụng pháp luật ban hành ra dưới dạng quy định do những cơ
quan nhà nước, cá nhân hoặc tổ chức xã hội được nhà nước ủy quyền áp dụng pháp luật
ban hành và được bảo đảm thực hiện trong trường hợp cần thiết bằng cưỡng chế nhà nước.
Chỉ những chủ thể có có thẩm quyền về những nội dung trong văn bản do pháp luật quy
định mới có thẩm quyền ban hành văn bản áp dụng pháp luật. Nếu văn bản áp dụng pháp
luật mà nội dung ban hành xác định về nội dung được ban hành bởi cá nhân hay tổ chức
mà pháp luật không quy định về thẩm quyền ban hành thuộc cá nhân hay cơ quan tổ chức
ban hành đó thì văn bản áp dụng pháp luật đó không có hiệu lực pháp luật.
- Thứ hai, văn bản áp dụng pháp luật được thể hiện trong những hình thức pháp lý
dưới các dang hình thức nhất định nhất định như: bản án, quyết định, lệnh,…
- Hình thức của văn bản pháp luật bao gồm tên gọi và thể thức của văn bản pháp luật.
Đối với văn bản áp dụng pháp luật thì tên gọi do pháp luật quy định, tùy thuộc vào tính
chất công việc mà văn bản áp dụng pháp luật có tên gọi khác nhau, đồng thời thông qua
tên gọi của văn bản áp dụng pháp luật ta có thể nhận biết được cơ quan nào có thẩm quyền
ban hành văn bản áp dụng pháp luật đó.
Văn bản hành chính
- là loại văn bản thường dùng để truyền đạt những nội dung và yêu cầu nào đó từ cấp
trên xuống hoặc bày tỏ những ý kiến, nguyện vọng của cá nhân hay tập thể tới các cơ quan
và người có quyền hạn để giải quyết.
- Văn bản hành chính là loại văn bản mang tính thông tin quy phạm Nhà nước, cụ thể
hóa việc thi hành văn bản pháp quy, giải quyết những vụ việc cụ thể trong khâu quản lý,
như: quyết định nâng lương, quyết định kỉ luật, thông báo, giấy mời họp...
2.3. Sự khác nhau giữa văn bản tiếng Việt và văn bản luật tiếng Việt
Văn bản luật tiếng Việt là bộ phận của văn bản tiếng Việt do đó nó mang đầy đủ đặc
tính của văn bản tiếng Việt, chỉ khác nó chứa nhiều thuật ngữ pháp lý. Những thuật ngữ
dùng để chỉ về những khái niệm thường dùng trong khoa học pháp lý hoặc các văn bản
pháp luật và dùng để chỉ, mô tả một cách khái quát nhất, cô đọng nhất các hiện tượng, nội
dung, trạng thái pháp lý. Thuật ngữ pháp lý cốt lõi chính là những định nghĩa, khái niệm
về các hiện tượng, sự vật trong hệ quy chiếu pháp luật.
Thuật ngữ pháp lý có ý nghĩa rất lớn đối với việc nghiên cứu khoa học pháp lý cũng
có ý nghĩa quan trọng trong việc giải thích các quy định của pháp luật.
2.4. Tổng quan về bài toán đô độ tương tự văn bản
2.4.1. Khái niệm về độ tương tự văn bản
Độ tương tự văn bản (document similarity) hay khoảng cách giữa các văn bản là một
trong những bài toán trọng tâm của truy hồi thông tin (information retrieval) [11]. Việc
đo lường mức độ giống nhau của các văn bản đóng một vai trò quan trọng trong nhiều bài
toán như: tìm kiếm thông tin dựa trên nội dung của tài liệu [12], phân nhóm tài liệu dựa
vào sự tương đồng về nội dung [13][14], … Độ tương tự văn bản là một đại lượng dùng
18
để so sánh hai hay nhiều tài liệu văn bản với nhau. Đại lượng này đặc trưng cho mức độ
liên quan về ngữ nghĩa giữa các văn bản.
Xét ví dụ gồm hai câu “Tôi thích xem phim” và “Tôi yêu phim”, Có thể thấy rằng hai
câu trên có độ tương đồng về ngữ nghĩa rất cao.
Theo tác giả Nguyễn Kim Anh [5] thì độ tương tự giữa hai văn bản ngoài việc so khớp
từ đơn giản, điểm tương tự còn được xác định dựa trên số đơn vị từ vựng xuất hiện ở cả
hai văn bản. Đặc biệt cần phải quan tâm tới hiện tượng đồng nghĩa của từ, tầm quan trọng
của từ như tần suất xuất hiện, vị trí xuất hiện của từ và câu trong văn bản.
Để xem xét độ tương tự văn bản, ta cần xét văn bản ở trong 2 khía cạnh là độ tương
tự giữa từ của hai văn bản và độ tương tự về ngữ nghĩa.
Độ tương tự của từ là khái niệm thể hiện tỷ lệ dựa trên tập từ chung của hai văn
bản.
Độ tương tự ngữ nghĩa là khái niệm thể hiện tỷ lệ dựa trên sự giống nhau về nội
dung ý nghĩa của tập các văn bản. Độ tương tự về ngữ nghĩa giữa 2 văn bản thể
hiện mối quan hệ về ngữ nghĩa giữa các từ, các câu trong văn bản.
Theo tác giả Đỗ Thị Thanh Nga thì độ tương tự ngữ nghĩa là khái niệm thể hiện tỷ lệ
dựa trên sự giống nhau về nội dung ý nghĩa của tập các tài liệu hoặc các thuật ngữ trong
một danh sách các thuật ngữ [1]. Độ tương đồng ngữ nghĩa phản ánh mối quan hệ ngữ
nghĩa giữa các câu và các tài liệu văn bản. Xét hai văn bản d1 và d2. Mục tiêu của luận văn
này nhắm đến việc đo lường giá trị S(d1,d2), thể hiện hiện độ tương tự giữa hai văn bản d1
và d2. Giá trị S càng cao thì sự giống nhau về ngữ nghĩa của hai văn bản càng cao.
2.4.2. Ứng dụng của bài toán đo độ tương tự giữa hai văn bản.
Bài toán đo độ tương tự giữa văn bản và văn bản được cả thế giới quan tâm nghiên
cứu từ rất lâu trong các ứng dụng của xử lý ngôn ngữ tự nhiên và các lĩnh vực liên quan.
Các ứng dụng phải kể đến như tìm kiếm thông tin, các tài liệu liên quan sẽ được xếp hạng
theo thứ tự của độ tương tự. Ngoài ra, độ tương tự văn bản còn được ứng dụng cho bài
toán phân lớp văn bản, tóm tăt văn bản, bài toán xác định đạo văn... Gần đây nhất là bài
toán hỗ trợ pháp lý cũng đặc biệt được quan tâm và nghiên cứu.
Các phép đo độ tương tự giữa văn bản và văn bản chủ yếu dựa trên hai tiếp cận chính
là các tiếp cận thống kê và các tiếp cận dựa trên mạng nơron học sâu (deep learning)
2.5. Phương pháp dựa trên thống kê.
2.5.1. Khái niệm
Các phương pháp theo tiếp cận thống kê đánh giá độ tương tự giữa hai văn bản dựa
trên tần suất xuất hiện của các từ trong câu. Độ tương tự đo được tỷ lệ thuận với kích
thước của tập từ chung giữa hai văn bản. Một số phương pháp tiêu biểu theo tiếp cận này
như: các phương pháp sử dụng độ đo Cosine, độ đo khoảng cách Eclide, Manhattan,
phương pháp độ đo Jaccard, phương pháp TF-IDF[19],… Các phương pháp này tốc độ
19
xử lý nhanh, tốn ít chi phí nhưng độ chính xác không cao về mặt ngữ nghĩa, do chưa quan
tâm đến ngữ nghĩa trong văn bản mà chỉ quan tâm đến số lượng từ chung giữa hai văn
bản.
2.5.2. Độ đo tương tự Jaccard
Đây là một trong những độ đo đầu tiên được sử dụng để đánh giá mức độ tương đồng
ngữ nghĩa giữa các văn bản bằng cách so khớp mức độ trùng lặp giữa các từ của hai văn
bản với nhau. Ưu điểm của phương pháp này là tốc độ nhanh và không cần phải huấn
luyện mô hình trước. Nhược điểm của phương pháp này là không so khớp được mức độ
ngữ nghĩa giữa các văn bản cũng như không biết được mức độ quan trọng khác nhau của
các từ trong văn bản. Chi tiết về phương pháp này được trình bày trong phần sau của luận
văn.
2.5.3. Độ đo TF-IDF
Đây là độ đo rất nổi tiếng, được sử dụng trong nhiều bài toán NLP và khai phá dữ liệu
dạng văn bản với mục đích: tính weight (độ quan trọng) của từ (word) trong một văn bản
cụ thể, văn bản đó nằm trong một tập nhiều văn bản khác nhau. Cách tiếp cận này được
sử dụng rộng rãi bởi tốc độ tính toán nhanh và kết quả nó đem lại cũng khá tốt. Nó thường
được sử dụng để làm một bước lọc cho nhiều bài toán. Ví dụ như bài toán hỏi-đáp theo
tiếp cận truy hồi câu trả lời [17]. Trong bài toán này, ta đã có một ngân hàng chứa hàng
tỷ câu trả lời thuộc mọi lĩnh vực, mỗi khi có một câu hỏi, chương trình sẽ tìm câu trả lời
thích hợp trong ngân hàng câu trả lời đó. Nếu sử dụng các kĩ thuật học sâu phức tạp thì
việc tìm kiếm trong tập câu trả lời khổng lồ như vậy là không hiệu quả trong một khoảng
thời gian nhất định (các hệ thống hỏi đáp thường yêu cầu realtime). Chính vì thế, bước
đầu tiên chúng ta cần rút gọn tập câu trả lời tiềm năng bằng cách dùng độ đo TF-IDF để
chọn ra tốp k câu trả lời tốt nhất, sau đó mới áp dụng các kĩ thuật phức tạp khác để tìm ra
câu trả lời tốt nhất trong k câu trả lời tiềm năng kia.
Đây cũng là một tiếp cận được lựa chọn để thử nghiệm cho bài toán của chúng tôi và
chi tiết phương pháp sẽ được trình bày trong phần sau.
2.6. Phương pháp dựa trên mạng nơron học sâu.
2.6.1. Khái niệm học sâu
Học sâu (deep learning) là một chi của ngành máy học dựa trên một tập hợp các thuật
toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp
xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến.
Học sâu là một phần của một họ các phương pháp học máy rộng hơn dựa trên đại diện
học của dữ liệu. ví dụ như, một hình ảnh có thể được biểu diễn bằng nhiều cách như một
vector của các giá trị cường độ cho mỗi điểm ảnh, hoặc một cách trừu tượng hơn như là
một tập hợp các cạnh, các khu vực hình dạng cụ thể, vv
20
Các nghiên cứu trong lĩnh vực này cố gắng thực hiện các đại diện tốt hơn và tạo ra
các mô hình để tìm hiểu các đại diện này từ dữ liệu không dán nhãn quy mô lớn. Một số
đại diện được lấy cảm hứng bởi những tiến bộ trong khoa học thần kinh và được dựa trên
các giải thích của mô hình xử lý và truyền thông thông tin trong một hệ thống thần kinh,
chẳng hạn như mã hóa thần kinh để cố gắng để xác định các mối quan hệ giữa các kích
thích khác nhau và các phản ứng liên quan đến thần kinh trong não.
Nhiều kiến trúc mạng nơron học sâu khác đã được áp dụng cho các lĩnh vực như thị
giác máy tính, tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng tiếng nói
và tin sinh học. Các mô hình học sâu đã đạt được kết quả rất tốt đối với nhiều nhiệm vụ
NLP khác nhau
Hướng tiếp cận này có nhiều ứng dụng như: Hệ thống nhận diện hình ảnh như Google
Photos, Google Search, Google Drive; hay các hệ thống nhận dạng giọng nói thương mại
như Cortana, Xbox, Skype Translator…
2.6.2. Một số ứng dụng của học sâu (Deep Learning)
a. Nhân dạng giọng nói
Nhận dạng giọng nói tự động quy mô lớn là trường hợp thành công dầu tiên và thuyết
phục nhất của học sâu. Các mạng nơ ron hồi quy LSTM có thể học các nhiệm vụ “học rất
sâu” liên quan đến các khoảng thời gian nhiều giây có chứa các sự kiện lời nói cách nhau
bởi hàng ngàn bước thời gian riêng biệt, trong đó một bước thời gian tương ứng với 10
ms. Sự ra đời của DNN (Deep Neural Network – mạng nơ ron sâu) để nhận dạng giọng
nói và LSTM đã đẩy nhanh quá trình phát triển học sâu. Ngày nay tất cả các hệ thống nhận
dạng giọng nói thương mại như Cortana, Xbox, Skype Translator… đều dựa trên học sâu.
b. Dịch các ngôn ngữ
Các mạng nơ-ron đã được sử dụng để thực hiện các mô hình ngôn ngữ từ những năm
2000. LSTM đã giúp cải thiện các hệ thống dịch máy và mô hình hóa ngôn ngữ. Các kỹ
thuật quan trọng khác trong lĩnh vực này là lấy mẫu âm tính và nhúng từ. Nhúng từ, chẳng
hạn như Word2Vec [15], có thể được coi là một lớp biểu diễn trong kiến trúc học sâu,
biến một từ nguyên tử thành một biểu diễn vị trí của từ so với các từ khác trong tập dữ
liệu; vị trí được biểu diễn dưới dạng một điểm trong không gian vector. Sử dụng nhúng từ
làm lớp đầu vào của RNN cho phép phân tích các câu và cụm từ bằng cách sử dụng một
ngữ pháp vector thành phần hiệu quả. Một ngữ pháp vector thành phần có thể được coi là
ngữ pháp tự do ngữ cảnh xác suất (PCFG) được thực hiện bởi một RNN. Bộ mã hóa tự
động đệ quy được xây dựng trên các từ nhúng để đánh giá độ tương tự của câu và phát
hiện phép diễn giải. Các kiến trúc Deep learning cung cấp kết quả tốt nhất cho phân tích
cấu thành, phân tích tình cảm, truy xuất thông tin, hiểu ngôn ngữ nói, dịch máy, liên kết
thực thể theo ngữ cảnh, phân loại văn bản và các loại khác.
c. Y khoa
21
Trí tuệ nhân tạo đang tạo ra những tiến bộ lớn trong lĩnh vực y học. Với khả năng chuẩn
đoán bệnh ở giai đoạn sớm, AI giúp tăng khả năng ngăn chặn và chữa trị cũng như giảm chi phí
điều trị bệnh. Ngoài ra AI hỗ trợ các nhà nghiên cứu khám phá ra các phương pháp, thuốc điều
trị bệnh mới một cách hiệu quả. Mặc dùng AI đã xuất hiện nhiều trong thập kỷ qua, nhưng
những tiến bộ mới đã kích hoạt sự bùng nổ trong học sâu. Học sâu giúp các nhà nghiên
cứu phân tích dữ liệu ý tế để điều trị bệnh. Nó giúp tăng cường khả năng phân tích hình
ảnh y khoa của các bác sĩ để chuẩn đoán bệnh.
d. Thị giác máy
Thị giác máy tính đã xuất hiện trong nhiều năm qua và đã đóng góp quan trọng trong
nhiều lĩnh vực sản xuất công nghiệp, y tế, quân sự, giao thông,… Học sâu bằng cách sử
dụng các mạng nơ-ron khổng lồ là các máy dạy học để tự động hóa các nhiệm vụ được
thực hiện bởi các hệ thống thị giác máy của con người. Một số ứng dụng của Deep learning
trong lĩnh vực thị giác máy tính: Phân loại ảnh (image classification); phát hiện đối tượng
(object detection); phân đoạn đối tượng (object segmentation); chuyển phong cách; màu
hóa ảnh, khôi phục ảnh.
22
2.6.3. Một số phương pháp theo hướng tiếp cận học sâu
2.6.3.1. Mô hình biểu diễn từ bằng vector (Word2Vec).
Để khắc phục nhược điểm của phương pháp thống kê là số chiều của một vector quá
lớn (bằng độ dài của từ điển, có thể đến cả triệu từ) và không quan tâm đến ngữ nghĩa của
văn bản. Tác giả Tomas Mikolov và các công sự đã công bố phương pháp Word2Vec trong
bài báo “Distributed Representations of Words and Phrasesand their Compositionality)”
[10]. Đây là thuật toán theo phương pháp dự đoán (Prediction-based embedding), dự đoán
học biểu diễn vector từ thông qua những từ ngữ cảnh xung quanh nhằm cải thiện khả năng
dự đoán ý nghĩa các từ.
Word2Vec là một mạng neural 2 lớp với duy nhất 1 tầng ẩn, lấy đầu vào là một corpus
lớn và sinh ra không gian vector (với số chiều khoảng vài trăm), với mỗi từ duy nhất trong
corpus được gắn với một vector tương ứng trong không gian. Các word vectors được xác
định trong không gian vector sao cho những từ có 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:
Hai kiến trúc mạng nơron của Word2Vec:
- Mô hình CBOW, sử dụng từ ngữ cảnh (từ xung quanh) để dự đoán từ đích (target
word). Mô hình này giả thiết vị trí của các từ ngữ cảnh không ảnh hưởng tới việc dự đoán
từ target. Ngược lại, mô hình Skip-gram, sử dụng từ target để dự đoán những từ ngữ cảnh
xung quang nó.
- Mô hình Skip-gram, sử dụng một từ để dự đoán ngữ cảnh mục tiêu hay các từ xung
quanh (Continuous skip-gram) xem xét những từ ngữ cảnh xung quanh sẽ được đánh giá
tốt hơn so với những từ trong ngữ cảnh nhưng ở vị trí xa hơn. Mặc dù thứ tự từ vẫn không
được xem xét, mỗi vector của từ bối cảnh được xem xét và cân nhắc.
23
Hình 2.1: Mô hình Word2Vec
Thuật toán CBOW tốn ít thời gian huấn luyện mô hình hơn Skip-gram. Tuy nhiên,
Skip-gram có độ chính xác cao hơn và có chứa cả những từ ít xuất hiện
a) Mô hình Skip-gram
Mục tiêu: Học các vector biểu diễn cho từ
Cho một từ cụ thể ở giữa câu (input word), nhìn vào những từ ở gần và chọn ngẫu
nhiên. Mạng neural sẽ cho chúng ta biết xác suất của mỗi từ trong từ vựng về việc trở thành
từ gần đó mà chúng ta chọn.
Dưới đây là mô hình kiến trúc của mạng Skip-gram và cách xây dựng Dữ liệu huấn
luyện mô hình word embeddings.
Hình 2.2: Mô hình Skip-gram dạng tổng quát
24
Ví dụ: Xây dựng training data với windows size = 2. Ở đây windows được hiểu như
một cửa sổ trượt qua mỗi từ. Windows size = 2 tức là lấy 2 từ bên trái và bên phải mỗi từ
trung tâm.
Hình 2.3: Minh họa đầu vào và đầu ra của mô hình Skip-gram
Chi tiết về mô hình
- Xây dựng bộ từ vựng.
- Biểu diễn mỗi từ thành các one-hot-vector.
- Đầu ra là một vector duy nhất, có kích thước bằng kích thước của bộ từ vựng, thể
hiện xác suất của mỗi từ được là lân cận của từ đầu vào.
- Không có hàm kích hoạt trên tầng ẩn.
- Hàm kích hoạt trên tầng output là softmax.
- Trong quá trình huấn luyện, input là 1 one-hot-vector, ouput cũng là 1 one-hot-
vector.
- Trong quá trình đánh giá sau khi huấn luyện, đầu ra phải là 1 phân bố xác suất.
Vấn đề:
- Kích thước mạng nơron khá lớn: Khi số chiều của vector nhúng từ được thiết lập
là 300, tập từ vựng là 10.000 từ thi mô hình cần 3 triệu tham số. Đòi hỏi chi phí
thời gian lớn để huấn luyện mô hình bằng thuật toán giảm gradient với kho ngữ
liệu lớn.
Một số cải tiến cho mô hình Word2Vec
Có 3 cải tiến cơ bản cho mô hình Word2Vec truyền thống:
Xử lý các cặp từ thông dụng hoặc cụm từ như là một từ đơn.
Loại bỏ các từ thường xuyên lặp lại để giảm số lượng các ví dụ huấn luyện.
25
Sửa đổi mục tiêu tối ưu hóa bằng một kỹ thuật gọi là “Negative Sampling”.
Cải tiến 1: Xử lý cụm từ như một từ đơn: Ví dụ các từ như “thành_phố_Cảng” có
nghĩa khác nhau với từng từ “thành_phố” và “cảng”,... Chúng ta sẽ coi như đó là một từ
duy nhất, với word vector của riêng mình. Điều này sẽ làm tăng kích thước từ vựng.
Cải tiến 2: Loại bỏ các từ thường xuyên lặp lại: Các từ thường xuyên lặp lại như
“các”, “những”,… không cho chúng ta biết thêm nhiều hơn về ý nghĩa của những từ đi
kèm nó và chúng cũng xuất hiện trong ngữ cảnh của khá nhiều từ. Chúng ta sẽ xác định
xác suất loại bỏ và giữ lại một từ trong từ vựng thông qua tần suất xuất hiện của nó.
Cải tiến 3: Negative Sampling: Mỗi mẫu huấn luyện chỉ thay đổi một tỷ lệ phần trăm
nhỏ các trọng số, thay vì tất cả chúng. Khi huấn luyện mạng với 1 cặp từ, đầu ra của mạng
sẽ là 1 one-hot vector, neural đúng thì đưa ra 1 còn hàng ngàn neural khác thì đưa ra 0.
Chọn ngẫu nhiên 1 số lượng nhỏ các neural “negative” kết hợp với neural “positive” để
cập nhật trọng số (chọn số negative là 5-20 hoạt động tốt với các bộ dữ liệu nhỏ, với bộ
dữ liệu lớn, số negative được thiết lập từ 2 đến5là phù hợp).
b) Mô hình CBOW
Ý tưởng của mô hình là dự đoán từ mục tiêu dựa vào các từ ngữ cảnh xung quanh nó
trong một phạm vi nhất định. Cho từ mục tiêu wc tại vị trí c trong câu văn bản, khi đó đầu
vào là các từ ngữ cảnh (wc-m, …,wc-1, wc+1, …, wc+m) xung quanh từ wc trong phạm vi m.
Hình 2.4: Minh họa đầu vào và đầu ra của mô hình CBOW
26
trên câu văn bản “I have a big dog and horse” với m =1
Mô hình CBOW
Hình 2.5: Mô hình CBOW dạng tổng quát
Đầu vào gồm C từ ngữ cảnh,V là kích thước của tập từ vựng và hyperparameter; N là
kích thước của hidden layer. Các unit thuộc các layer kế cận nhau được kết nối theo kiểu
kết nối đầy đủ (fully connected), tức mỗi node trong hidden layer được kết nối với tất cả
các node trong layer trước.
Mỗi từ đầu vào ở vị trí thứ k trong tập từ vựng được biểu diễn bằng một one-hot vector
có dạng:
𝑥(𝑘) =
[ 𝑥1
𝑥2
.𝑥𝑘
.𝑥𝑉]
(1)
Tương tự với mỗi vector 𝑥(𝑘) chỉ có một phần tử 𝑥𝑘 của nó có giá trị bằng 1 và giá trị
của tất cả các phần tử còn lại đều bằng 0. Các trọng số giữa input layer và hidden layer
cũng được biểu diễn thành ma trận W kích thước V x N như sau:
27
𝑊𝑉×𝑁 = [
𝑤11 𝑤12 ⋯ 𝑤1𝑁
𝑤21 𝑤22 … 𝑤2𝑁
⋮ ⋮ ⋱ ⋮𝑤𝑉1 𝑤𝑉2 ⋯ 𝑤𝑉𝑁
] (2)
Mỗi hàng của ma trận W là một biểu diễn vector 𝑣𝑤 có số chiều là N tương ứng với
một từ w trong tập từ vựng. Ma trận h với kích thước N x 1 có dạng như sau:
ℎ =
[ ℎ1
ℎ2
.
.
.ℎ𝑁]
(3)
Mỗi phần tử của ma trận h tương ứng với output của mỗi hidden layer unit. Activation
function của các hidden layer unit đều là hàm tuyến tính 𝜑(𝑥) = 𝑥. Ta có:
𝑊𝑇𝑥(𝑘) = [
𝑤11 𝑤12 ⋯ 𝑤1𝑁
𝑤21 𝑤22 … 𝑤2𝑁
⋮ ⋮ ⋱ ⋮𝑤𝑉1 𝑤𝑉2 ⋯ 𝑤𝑉𝑁
]
[ 𝑥1
𝑥2
.𝑥𝑘
.𝑥𝑉]
(4)
=
[ 𝑤𝑘1𝑥𝑘
𝑤𝑘2𝑥𝑘
.
.
.𝑤𝑘𝑁𝑥𝑘]
=
[ 𝑤𝑘1
𝑤𝑘2
.
.
.𝑤𝑘𝑁]
=𝑊(𝑘)𝑇 = 𝑣𝑤𝑘
𝑇
Sử dụng kết quả này, ta tính được h như sau:
ℎ = 1
𝐶𝑊𝑇(𝑥(1) + 𝑥(2) + ⋯+ 𝑥(𝐶)) (5)
= 1
𝐶(𝑣𝑤𝐼,1
𝑇 + 𝑣𝑤𝐼,2𝑇 + ⋯+ 𝑣𝑤𝐼,𝐶
𝑇 )
= 1
𝐶(𝑣𝑤𝐼,1
+ 𝑣𝑤𝐼,2+ ⋯+ 𝑣𝑤𝐼,𝐶
)T
28
Trong đó các one-hot vector x(1), …, x(c) tương ứng lần lượt với các từ ngữ cảnh đầu
vào wI,1,…, wI,C và w0 là từ ở đầu ra của mô hình. Từ hidden layer đến output layer là các
trọng số được biểu diễn bằng một ma trận W’ = {𝑤′𝑖𝑗} khác với kích thước N x V có dạng
như sau:
𝑊′𝑉×𝑁 = [
𝑤11′ 𝑤12
′ ⋯ 𝑤1𝑉′
𝑤21′ 𝑤22
′ … 𝑤2𝑉′
⋮ ⋮ ⋱ ⋮𝑤𝑁1
′ 𝑤𝑁2′ ⋯ 𝑤𝑁𝑉
′
] (6)
Chúng ta sẽ tính điểm số 𝑢𝑗 cho mỗi từ thứ j trong tập từ vựng theo công thức sau:
𝑢𝑗 = 𝑣′𝑤𝑗
𝑇 ℎ (7)
Trong đó 𝑤′𝑤𝑗 là cột thứ j của ma trậ W’. Điểm số 𝑢𝑗 chính là thước đo độ khớp giữa
C từ ngữ cảnh đầu vào cho trước và từ wj . Chúng ta sẽ sử dụng hàm softmax để chuẩn hóa
phân phối hậu nghiệm (posterior distribution) của mỗi từ trong tập từ vựng như sau:
𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶) = 𝑦𝑗 = exp (𝑢𝑗)
∑ exp (𝑢𝑗′)𝑉𝐽′
(8)
Trong đó yj cũng chính là output của unit thứ j trong output layer. Mục tiêu của quá
trình huấn luyện là điều chỉnh các trọng số để cực đại hóa hàm phân phối trên đối với từ
wo và các từ ngữ cảnh wI,1,…, wI,C cho trước:
max (𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶)) = max (log (𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶)))
= min (−log(𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶)))
= min(E)
(9)
Trong đó E là hàm lỗi cần được cực tiểu hóa và có công thức sau:
𝐸 = −log (𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶))
= − 𝑢𝑗∗ + log (∑ exp (𝑢𝑗′)
𝑉
𝑗′=1
)
= −𝑣𝑤𝑜′ 𝑇ℎ + log(∑ exp (𝑢𝑤𝑗
′ 𝑇 ℎ)𝑉𝑗′=1 )
(10)
29
Trong đó j* là vị trí hiện có của từ đầu ra trong output layer. Phương trình cập nhật
các trọng số từ hidden layer đến output layer:
𝑣𝑤𝑗
′(𝑛𝑒𝑤)
= 𝑣𝑤𝑗
′(𝑜𝑙𝑑)
− 𝜂 .𝜕𝐸
𝜕𝑢𝑗 . ℎ với j = 1,2,...,V (11)
Phương trình cập nhật các trọng số từ input layer đến hidden layer:
𝑣𝑤𝑐
(𝑛𝑒𝑤)= 𝑣𝑤𝑐
(𝑜𝑙𝑑)−
1
𝐶 . 𝜂. (
𝜕𝐸
𝜕ℎ𝑖)
𝑇
với c=1,2,...,C (12)
Trong đó 𝑣𝑤𝑐 là input vector tương ứng với từ thứ c trong C từ ngữ cảnh đầu vào và 𝜂
là learning rate. Sau khi quá trình huấn luyện hoàn tất, chúng ta thu được kết quả cuối
cùng của ma trận W và trận W’. Tương tự với mỗi từ 𝑤𝑗 trong tập từ vựng đều tồn tại 𝑣𝑤𝑗
và 𝑣′𝑤𝑗 là hai vector khác nhau cùng đại diện cho nó. Vector 𝑣𝑤𝑗
được gọi là input vector
và tương ứng với hàng thứ j trong ma trận W. Vector 𝑣′𝑤𝑗 được gọi là output vector và
tương ứng với cột thứ j trong ma trận W’. Quá trình huấn luyện cho các input vector tốn
ít chi phí hơn trong khi quá trình huấn luyện output vector tốn khá nhiều chi phí.
2.6.3.2. Học chuyển (Transfer Learning)
Hình 2.6: Mô hình học chuyển
Tranfer learning [16] là một phương pháp học máy mà trong đó, một mô hình đã
được phát triển cho một task (pretrained network) được tái sử dụng ở một task khác.
Phương pháp này mang đến một cách tiếp cận phổ biến và hiệu quả cao trong deep
learning khi bạn có một tập dữ liệu vừa và nhỏ. Pretrained network là một mạng đã lưu
trước đó, được đào tạo trên một tập dữ liệu lớn (thường là trên một task phân loại ảnh quy
mô lớn). Một số mạng pretrained thường được sử dụng như: VGG, ResNet, Inception,
Inception-ResNet, Xception....
Ví dụ. Một giáo viên có nhiều năm kinh nghiệm trong chủ đề cụ thể mà họ giảng dạy.
Với tất cả kiến thức mà học tích lũy được sẽ được truyền tải tới sinh viên qua bài giảng
của mình, như vậy sinh viên sẽ nhận được một cái nhìn tổng quan, ngắn gọn và súc tích
30
về chủ đề. Như vậy, đây có thể được coi là sự chuyển giao thông tin từ người đã học sang
người mới học. Thông qua transfer learning, mô hình không phải học lại từ con số không
nữa, mà dựa trên những chi thức mình đã biết mà học lên tiếp, từ đó giảm chi phí huấn
luyện mô hình giải quyết một nhiệm vụ mới.
Có 2 cách để sử dụng một pretrained network, đó là "Feature extraction", và "Fine
tuning"[8].
a) Feature Extraction
Trước năm 2012, hầu hết mọi mô hình AI đều được tạo thành bởi 2 giai đoạn (hoặc
hai pha) độc lập với nhau:
- Feature Engineering: là quá trình dựa trên những hiểu biết của con người về vấn
đề cần giải quyết (domain knowledge) để từ đó rút ra những đặc trưng (features)
của dataset mà có thể giúp ích cho việc giải quyết vấn đề đó. Các đặc trưng này
được xây dựng một cách thủ công (hand-crafted features). Feature extractor là một
phần của mô hình dùng để trích xuất ra đặc trưng nói chung.
- Classifier/Regressor: dùng các thuật toán Machine Learning để học và dự đoán các
kết quả từ những đặc trưng được tạo ra ở bước trên.
So sánh phương pháp Featuriser của các hình thức cổ điển và Deep Learning hiện
đại.
Các mô hình Deep Learning tự nó đã kết hợp hai pha này lại, các lớp ở phần đầu của
mô hình được gọi là Feature Extractor và phần còn lại là để Classify/Regress các đặc trưng
từ phần Feature Extractor để tạo ra kết quả. Do đó phần Feature Extractor này có thể lấy
ra được những đặc trưng từ trong dataset một cách tự động trong quá trình học mà không
cần con người định nghĩa các đặc trưng như trong phương pháp Feature Engineering.
Có nhiều lý do khiến cho các Deep Networks hiện đại hiệu quả hơn các phương pháp
cổ điển như trên (không kể đến các nguyên nhân chung như lượng dữ liệu lớn hay khả
năng tính toán song song, …), bao gồm:
31
- Deep Network là end-to-end trainable model: điều này cho phép các Feature Layers
tự điều chỉnh những đặc trưng mà nó cần trích xuất để phù hợp với nhiệm vụ tương
ứng (do kết quả backpropagation từ các Classifier/Regressor cho phép Extractor
thích ứng theo yêu cầu của chúng), trong khi các cách cổ điển chỉ trích xuất đặc
trưng theo ý nghĩ của con người, một cách cố định.
- Khả năng mã hóa: Tương tự mô hình Autoencoder, các lớp mạng đầu của các kiến
trúc mạng nơron học sâu sẽ mã hóa dữ liệu thành một tập latent variables. Các lớp
đầu đóng vai trò như Feature Layers lọc ra những đặc trưng cần thiết và mã hóa nó
(nói ngắn gọn là nén nó) thành một tập dữ liệu nhỏ hơn mà chỉ Decoder Layers của
cùng Network mới giải được. Tương tự cho các Feature Extractor khác, nó có
nhiệm vụ mã hóa input thành một mẫu phù hợp cho các lớp tiếp theo, khi cần thiết
nó sẽ thay đổi để đảm bảo những lớp kế sẽ nhận input tốt nhất.
- Đặc trưng: Mỗi loại Deep Networks riêng đều có một nền tảng lý thuyết cụ thể lý
giải tại sao loại Networks đó là Feature Extractor tốt trên loại dữ liệu nào đó.
Đây là nền tảng của Học chuyển: chúng ta có thể sử dụng các bộ trích xuất đặc trưng
đã được huấn luyện để trích xuất các đặc trưng cho mô hình của chúng ta thay vì phải tạo
ra một bộ trích xuất đặc trưng mới và huấn luyện lại từ đầu. Có thể nói là thay vì chạy bộ
từ đầu đến cuối đường, chúng ta bắt taxi đến đoạn mà taxi không thể đi được thì chúng ta
tự đi tiếp.
b) Tinh chỉnh mô hình (Fine-Tuning)
Để sử dụng các mô hình đã được huấn luyện sẵn một cách hiệu quả, chúng ta cần phải
có 2 điều sau:
- Thêm các tầng phù hợp với bài toán đích của chúng ta, loại bỏ các tầng của mô
hình đã được huấn luyện mà chúng ta không dùng đến, nhưng phải khiến cho mô
hình trở nên hiệu quả hơn, đây là một vấn đề khó (rất rất khó) cần phải có những
nghiên cứu chuyên sâu về từng tầng và mục đích của chúng.
- Có chiến lược huấn luyện thật tốt, điều này cũng không phải là dễ, vì nếu các bạn
huấn luyện không tốt thì sẽ làm mất đi tính hiệu quả của mô hình đã được huấn
luyện (pretrained model), do đó giảm khả năng của mô hình mà chúng ta đang huấn
luyện, thậm chí còn tệ hơn là huấn luyện hết lại từ đầu.
Do đó, việc tinh chỉnh tham số ra đời để giúp cho có chiến lược huấn luyện hiệu quả
trên các mô hình chuyển (transfered model) của mình.
Tinh chỉnh tham số không phải chỉ giúp cho các bạn điều chỉnh trọng số của mô hình
đã được huấn luyện cho phù hợp với các bài toán cụ thể mà xa hơn đó, nó đưa ra cách tối
ưu để huấn luyện cả mô hình cũ và mô hình mới nhằm đạt được độ chính xác cao trên các
bài toán cụ thể, khiến cho 2 phần phù hợp với nhau hoàn chỉnh thành một mô hình mới.
32
Tóm lại, Tinh chỉnh tham số là việc huấn luyện một mộ hình đã được huấn luyện
trước đó nhằm mục đích tối ưu hóa độ chính xác của mô hình này trên bài toán cụ thể.
Dưới đây là các chiến lược thường dùng:
Khi tập dữ liệu cho bài toán cụ thể lớn và tương tự với tập dữ liệu cho bài toán gốc:
đây là trường hợp lý tưởng, khi bạn có thể dùng trọng số của mô hình đã được huấn
luyện để khởi tạo cho phần đã được huấn luyện, sau đó huấn luyện cả transfered
model hay chỉ với phần được thêm vào, tùy bạn.
Khi tập dữ liệu cho bài toán cụ thể nhỏ và tương tự với tập dữ liệu cho bài toán gốc:
vì tập dữ liệu là nhỏ, nếu huấn luyện lại phần đã huấn luyện trước đó sẽ dẫn đến việc
bị overfitting (quá khớp), do đó chúng ta chỉ huấn luyện những lớp được thêm vào
với trọng số khởi tạo cho phần đã được huấn luyện như trên.
Khi tập dữ liệu cho bài toán cụ thể lớn và khác biệt với tập dữ liệu cho bài toán gốc:
bởi vì tập dữ liệu của chúng ta có sự khác biệt nên khi dùng trọng số từ các mô hình
đã được huấn luyện sẽ làm giảm độ chính xác vì sự khác biệt trong các bài toán và
tập dữ liệu, nhưng cũng chính vì tập dữ liệu lớn nên việc huấn luyện toàn bộ
transfered model từ đầu là hiệu quả nhất, giúp cho mô hình thích nghi tốt hơn với
tập dữ liệu này.
Học chuyển mang đến những mô hình mới với độ chính xác cao trong thời gian ngắn,
hầu hết các mô hình dùng học chuyển được sử dụng trong các nghiên cứu về Computer
Vision (Thị giác máy), chú trọng vào việc trích xuất các đặc trưng từ ảnh hoặc video một
cách hiệu quả như một cách thay thế cho các phương pháp cũ (AKAZE, ORB, BRISK,
…) và kết hợp những ý tưởng mới để tận dụng các đặc trưng này (Object Detection, Object
Recognition, Human Pose Estimation, …).
33
CHƯƠNG 3. CÁC PHƯƠNG PHÁP ĐO ĐỘ TƯƠNG TỰ GIỮA CÁC VĂN BẢN
Trong chương này chúng tôi sẽ trình bày phương pháp tiền xử lý dữ liệu, các phương
pháp tính độ tương đồng của văn bản, cũng như đưa ra độ đo để đánh giá sự hiệu quả của
các phương pháp đo độ tương tự trên. Qua đó có những cải tiến để làm tăng độ chính xác
của phương pháp.
3.1. Tiền xử lý dữ liệu
Để các phương pháp đo độ tương tự giữa các văn bản thực hiện chính xác hơn, dữ liệu
đầu vào sẽ được đưa qua một số bước tiền xử lý như sau:
Chuyển văn bản sang dạng chữ viết thường: bước này để giảm lượng từ vựng
trong không gian dữ liệu, làm tăng tốc độ tính toán của nhiều phương pháp mà
sử dụng từ vựng để biểu diễn vectơ cho từ.
Tách từ: Nhiều ngôn ngữ không có kí tự rõ ràng để phân tách giữa các từ như
tiếng Nhật, tiếng Trung Quốc. Vì vậy ta cần thực hiện tách từ trong câu. Trong
tiếng Việt, có thể sử dụng đấu khoảng trắng “ ” làm kí tự phân tách cho các từ.
Xóa từ dừng (stop word): Từ dừng là những từ xuất hiện phổ biến trong hầu
hết các văn bản, chúng không mang nhiều ý nghĩa nội dung trong câu cũng như
trong đoạn văn.
Xóa kí tự đặc biệt, dấu câu: chỉ giữ lại những dấu câu chính như dấu chấm “.”,
dấu phẩy “,”, dấu hỏi chấm “?”. Còn những kí tự khác như @, #, … sẽ được
bỏ đi hết khỏi văn bản đầu vào.
Các thao tác khác: Một số ngôn ngữ biến đổi hình thái như tiếng Anh, có thêm
thao tác tiền xử lý đưa các dạng biến thể về dạng gốc của chúng
(Lemmatization).
Sử dụng từ điển pháp lý để giữ lại những từ ngữ pháp lý.
3.2. Vector hóa văn bản và tính độ tương tự văn bản
Giai đoạn này có nhiệm vụ xây dựng vector biểu diễn văn bản gồm vector đặc trưng
ngữ nghĩa và vector thứ tự từ, sử dụng danh sách các câu và các từ đã được xử lý ở trên.
Sau đó tính toán độ tương tự của văn bản.
3.2.1. Mộ số phương pháp theo tiếp cận thống kê
a) Phương pháp Jaccard
Phương pháp Jaccard là phương pháp độ đo tương tự của hai tài liệu theo tiếp cận
thống kê. Jaccard xác định sự giống nhau giữa hai tài liệu bằng cách đo khoảng cách hai
tài liệu, khoảng cách càng gần nhau về ngữ cảnh của chúng thì hai tài liệu càng giống
nhau, tức là có bao nhiêu từ chung tồn tại trên tổng số từ.
Độ tương tự Jaccard được định nghĩa là giao điểm của hai tài liệu được chia cho tổ
hợp của hai tài liệu đó tham chiếu đến số lượng từ chung trên tổng số từ. Ở đây, chúng ta
sẽ sử dụng tập hợp các từ để tìm giao điểm và liên kết của tài liệu.
34
Biểu diễn toán học của Độ tương tự Jaccard giữa hai câu A và B như sau (Paul
Jaccard, “Etude comparative de la distribution oracle dans une portion des Alpes et des
Jura”. In Bulletin del la Socit Vaudoise dé Sciences Naturelles, volume 37, pages 547-
579):
Sim(A, B) = 𝐴∩𝐵
𝐴∪𝐵
Nếu 2 tài liệu giống hệt nhau thì Sim(A, B) = 1; nếu 2 tài liệu không có từ nào chung
thì Sim(A,B)=0.
Ví dụ:
doc_1 = "Xây dựng mô hình tóm tắt văn bản tiếng Việt"
doc_2 = "Văn bản tiếng Việt"
Tách từ:
words_doc1= {‘Xây dựng’, ‘mô hình’, ‘tóm tắt’, ‘văn bản’, ‘tiếng Việt’}
words_doc2= { ‘Văn bản’, ‘tiếng Việt’}
J(doc_1,doc_2) ={‘𝑋â𝑦𝑑ự𝑛𝑔’,‘𝑚ôℎì𝑛ℎ’,‘𝑡ó𝑚𝑡ắ𝑡’,‘𝑣ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’}∩{‘𝑉ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’}
{‘𝑋â𝑦𝑑ự𝑛𝑔’,‘𝑚ôℎì𝑛ℎ’,‘𝑡ó𝑚𝑡ắ𝑡’,‘𝑣ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’}∪{‘𝑉ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’}
= {‘𝑉ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’}
{‘𝑋â𝑦𝑑ự𝑛𝑔’,‘𝑚ôℎì𝑛ℎ’,‘𝑡ó𝑚𝑡ắ𝑡’,‘𝑣ă𝑛𝑏ả𝑛’,‘𝑡𝑖ế𝑛𝑔𝑉𝑖ệ𝑡’} =
2
5 = 0,4
Đây là phương pháp không cần phải huấn luyện trước, với mỗi văn bản cần truy vấn
chúng tôi lặp qua toàn bộ văn bản luật trong kho dữ liệu để tính toán và trả về tập 10 văn
bản liên quan nhất với văn bản truy vấn. Tất cả các văn bản được tách từ và xử lý trước
khi đưa vào tính toán theo phương pháp jaccard.
b) Phương pháp TF-IDF
Đây là phương pháp rất nổi tiếng, được sử dụng trong nhiều bài toàn NLP và khai phá
dữ liệu dạng văn bản với mục đích: tính weight (độ quan trọng) của từ (word) trong một
văn bản cụ thể, văn bản đó nằm trong một tập nhiều văn bản khác nhau.
Cách tiếp cận TF-IDF sẽ ước lượng độ quan trọng của một từ đối với văn bản trong
danh sách tập văn bản. Nguyên lý của TF-IDF là “độ quan trọng của một từ sẽ tăng lên
cùng với số lần xuất hiện của nó trong văn bàn và sẽ giảm xuống nếu từ đó xuất hiện
trong nhiều văn bản khác nhau”. Lý do là vì nếu từ đó xuất hiện trong nhiều văn bản khác
nhau nghĩa là từ đó rất thông dụng, tức nó giá trị của nó sẽ giảm xuống. ví dụ như các từ
sau: vì thế, nhưng, và ….
TF-IDF là độ đo kết hợp của hai độ đo TF và IDF
TF-IDF(t,d,D) = tf(t,d) * idf(t,D)
35
- Những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bản này, và
xuất hiện ít trong các văn bản khác. Việc này giúp lọc ra những từ phổ biến và giữ lại
những từ có giá trị cao (từ khoá của văn bản đó).
- Trọng số wij được tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ
hiếm của từ khóa ti trong tập văn bản.
- Công thức tính wij:
Weigh(i,j) = {(1 + log(𝑓𝑖𝑗)) log (
𝑁
𝑑𝑓𝑖) 𝑛ế𝑢 𝑓𝑖𝑗 ≥ 1
0 𝑛ế𝑢 𝑓𝑖𝑗 = 0
Trong đó:
weigh(i,j): trọng số của từ thứ i trong văn bản thứ j.
fij (term frequency): số lần xuất hiện của từ thứ i trong văn bản thứ j, fij
càng cao thì từ đó càng miêu tả tốt nội dung văn bản.
dfi (document frequency): số văn bản có chứa từ thứ i.
Ví dụ: cho 3 văn bản sau:
Doc1: Người lên ngựa kẻ chia bào. Rừng phong thu đã nhốm màu quan san.
Doc2: Ô hay buồn vương cây ngô đồng. Vàng rơi vàng rơi thu mênh mông.
Doc3: Mùa thu lá vàng rơi.
Muc tiêu của chúng ta là tìm xem Doc3 giống với Doc2 hay Doc1 nhất.
Bước 1: Ta tính TF –Tuần số xuất hiện của một từ
Tính số lần xuât hiện của một từ trong một văn bản. ta có bảng sau:
Doc1 Người Lên Ngựa Kẻ Chia Bào Rừng Phong Thu Đã Nhuốm Màu Quan
san
san
TF 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Doc2 Ô Hay Buồn Vương Cây Ngô Đồng Vàng Rơi Thu Mênh mông
TF 1 1 1 1 1 1 1 2 2 1 1 1
Bảng 1: Biểu diễn văn bản theo TF
Do tổng số từ trong 2 văn bản khác nhau. Trong đó văn bản nào có kích thước lớn thì
tần số xuất hiện của một từ có thể sẽ nhiều hơn so với các văn bản có kích thước nhỏ hơn.
36
Để giải quyết việc này chúng ta cần chuẩn hóa tần số xuất hiện của một từ trong văn bản
dựa theo kích thước của văn bản đó.
Để làm việc này ta chia số lần xuất hiện của một từ cho tổng số từ trong văn bản. Cụ
thể với Doc1 và Doc2 sau khi chuẩn hóa ta được như sau:
Doc1 Người Lên Ngựa Kẻ Chia Bào Rừng Phong Thu Đã Nhuốm Màu Quan san
TF 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07
Doc2 Ô Hay Buồn Vương Cây Ngô Đồng Vàng Rơi Thu Mênh mông
TF 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.14 0.14 0.07 0.07 0.07
Bước 2: Tính IDF – tần số nghịch của một từ trong một văn bản
Ta biết rằng trong văn bản có một số từ xuất hiện nhiều nhưng vai trò quyết định đến
độ liên quan giữa hai văn bản lại không cao. Để giảm việc này chúng ta cần.
Chúng ta tính IDF cho từng từ trong tập văn bản của chúng ta (ở đây gồm 2 văn bản
Doc1 và Doc2).
IDF(Người) = 1 + ln(Tổng số văn bản / số văn bản chứa từ “Người”)
= 1 + ln(2/1) = 1.693
Tương tự ta có bảng IDF cho các từ thuộc tập văn bản ta đang sét là Doc1 và Doc2
Từ IDF
Người 1.693
Lên 1.393
Ngựa 1.693
…. ……
Đồng 1.693
Vàng 1.693
Rời 1.693
37
Thu 1
… ….
Bảng 2:Biểu diễn văn bản theo IDF
Bước 3: Tính TF*IDF
Mục đích của ta là tìm xem Doc3 liên quan nhất tới Doc1 hay Doc2, ta có bảng sau:
Doc3: Mùa thu lá vàng rơi.
Doc1 Doc2
Mùa 0 0
Thu 1.693 1.693
Lá 0 0
Vàng 0 0.14*1.693= 0.237
Rơi 0 0.14*1.693= 0.237
Bước 4 : Áp dụng độ đo Cosine để tính độ tương tự văn bản
Ở đây ta mô tả tài liệu như một vector. Một tập hợp các tài liệu được mô hình hóa
thành các vector trong không gian vector. Mỗi từ trong không gian vector sẽ có trục của
riêng nó. Bằng cách sử dụng công thức ở trên, chúng ta có thể tìm ra độ tương đồng của
bất kì tài liệu nào.
Mô hình hóa Doc3 thành vector và tính TF*IDF ta có bảng sau:
TF IDF TF*IDF
Mùa 0.2 0 0
Thu 0.2 1 0.2
Lá 0.2 0 0
Vàng 0.2 1.693 0.3386
Rơi 0.2 1.693 0.3386
Ta có:
38
Cosine Similarity(Doc3, Doc1) =𝑫𝒐𝒄𝟑 .𝑫𝒐𝒄𝟏
|𝑫𝒐𝒄𝟑|∗|𝑫𝒐𝒄𝟏|= 0.3854
Dot Product(Doc3, Doc1) = (0*0 + 0.2*1.693 + 0*0 + 0.3386*0.237 + 0.3386*0.237)
= 0.3386
|Doc3| = √(02 + 0.22 + 02 + 0.33862 + 0.33862)2 = 0.5189
|Doc1| = √(02 + 1.6932 + 02 + 02 + 02)2 = 1.693
Cosine Similarity(Doc3, Doc2) = 𝑫𝒐𝒄𝟑 .𝑫𝒐𝒄𝟐
|𝑫𝒐𝒄𝟑|∗|𝑫𝒐𝒄𝟐| = 0.5572
Dot Product(Doc3,Doc2) = (0*0 + 0.2*1.693 + 0*0 + 0.3386*0 + 0.3386*0)
= 0.499
|Doc3| = √(02 + 0.22 + 02 + 0.33862 + 0.33862)2 = 0.5189
|Doc2| = √(02 + 1.6932 + 02 + 0.2372 + 0.2372)2 = 1.7258
Doc3-Doc1 Doc3-Doc2
Cosine Similarity 0.3854 0.5572
Bảng trên cho thấy độ tương tự tính theo độ đo cosine giữa Doc3 với Doc2 có giá trị
cao hơn giữa Doc3 với Doc1. Điều này thể hiện Doc2 chia sẻ nhiều thông tin chung với
Doc3 hơn Doc1.
Sau khi văn bản được tách từ, ta tiến hành xây dựng từ điển các từ xuất hiện trong
từng văn bản. Dựa trên từ điển vừa tạo ra, ta tiến hành tạo vector lưu trữ số lần xuất hiện
của từ trong mỗi văn bản. Số lượng từ có trong từ điển phụ thuộc vào số lượng từ trong
toàn bộ tập văn bản. Sau đó thực hiện tính TF-IDF của từng văn bản và sử dụng độ đo
cosine để tính độ tương tự giữa văn bản mẫu với các văn bản để đưa ra 10 văn bản có độ
tương tự nhất với văn bản mẫu.
3.2.2. Phương pháp học sâu
Ý tưởng chính của phương pháp này là biểu diễn văn bản dưới dạng 1 vector với số
chiều cố định như 300 hoặc 500. Sau đó tính độ tương tự giữa các văn bản thông qua các
vector văn bản đó bằng cách sử dụng độ đo cosine. Dưới đây chúng tôi sẽ trình bày một
số phương pháp biểu diễn văn bản bằng các vector ngữ nghĩa.
3.2.2.1. Sử dụng Word2Vec
Như đã trình bày ở phần 2, Word2Vec là phương pháp học biểu diễn các từ dưới dạng
vector và các từ này mang ngữ nghĩa trong các ngữ cảnh cụ thể. Một trong những cách
đơn giản nhất để biểu diễn văn bản dưới dạng vector là lấy tổng vector của các từ trong
văn bản đó, như công thức dưới đây, trong đó Ei là vector của từ i trong văn bản:
39
�⃗�𝐷𝑜𝑐 = ∑�⃗⃗�𝑖
Nhưng trong 1 văn bản, giá trị của các từ là khác nhau, có những từ quan trọng mang
ý nghĩa chính của cả đoạn, có những từ ít quan trọng hơn, vì thế một phương pháp sử dụng
thêm giá trị TF-IDF của các từ được đưa ra. Vector của văn bản được biểu diễn bằng tổng
của các vector từ nhân mới giá trị TF-IDF của chúng, được tính bởi công thức dưới đây
�⃗�𝐷𝑜𝑐 = ∑𝑇𝐹 − 𝐼𝐷𝐹(𝑖) × �⃗⃗�𝑖
Trong đó, TF-IDF(i) là giá trị TF-IDF của từ thứ i, và Ei là vector của từ thứ i trong
văng bản.
3.2.2.2. Học biểu diễn vector cho các văn bản
Trong phần này chúng tôi sẽ giới thiệu phương pháp học trực tiếp biểu diễn vector
cho văn bản gọi là mô hình Doc2Vec [8], nó tương tự như mô hình Word2Vec, nhưng
thay vì biểu diễn từ thành những vector, phương pháp Doc2Vec biểu diễn văn bản thành
những vector tương ứng. Khác với cấp độ từ, cấp độ văn bản không có những cấu trúc
logic như từ ngữ.
Doc2Vec được chia làm 2 model chính là: DBOW và DM
- DBOW (distributed bag of words)[8]: Mô hình này đơn giản là không quan
tâm thứ tự các từ, training nhanh hơn, không sử dụng local-context/neighboring. Mô
hình chèn thêm 1 “word” là ParagraphID, ParagraphID này đại diện cho văn bản được
training. Sau khi training xong có thể hiểu các vector ParagraphID này là vector nhúng
của các văn bản.
Mô hình DBOW dạng tổng quát
- DM (distributed memory)[8]: xem một paragraph là một từ, sau đó nối từ
này vào tập các từ trong câu. Trong quá trình training, vector của paragraph và vector
từ đều được update.
40
Mô hình DM dạng tổng quát
3.2.2.3. Áp dụng học chuyển (transfer learning) để tăng chất lượng vector biểu diễn
văn bản
Hai phương pháp DBOW và DM ở trên giúp ta học được 1 vector cho văn bản trực
tiếp từ dữ liệu huấn luyện, nhưng nó chỉ tốt và hiệu quả khi dữ liệu huấn luyện đủ lớn,
thường cần tới vài triệu văn bản hoặc chục triệu, thậm chí trăm triệu văn bản. Đây thực sự
là một khó khăn cho những miền cụ thể, đặc biệt là trong miền luật, số lượng các văn bản
lại rất hạn chế, trong nghiên cứu này bộ dữ liệu thu thập gồm có 25,000 văn bản. Đây là
một vấn đề không chỉ cho bài toán này nói riêng mà trong nhiều bài toán học máy khác
nói chung đều phải đối mặt với vấn đề thiếu dữ liệu, ví dụ như bài toán dịch máy, gán
nhãn dữ liệu, tóm tắt văn bản.
Để giải quyết cho vấn đề này, phương pháp học chuyển (transfer learning) [9] đã được
đưa ra và đem lại nhiều kết quả hứa hẹn trong nhiều ứng dụng. Trong đó bài toán đo độ
tương tự giữa các văn bản cũng không phải là ngoại lệ. Ý tưởng của phương pháp này là
tận dụng tri thức học được từ các miền dữ liệu lớn để nâng cao chất lượng cho các miền
dữ liệu hạn chế.
Để áp dụng phương pháp học chuyển cho bài toán đo độ tương tự giữa các văn bản
luật tiếng Việt chúng tôi thực hiện đơn giản như sau:
Bước 1: Thu thập dữ liệu các văn bản từ trên internet như các bài báo trên
wikipedia, trên các trang báo mạng như baomoi, vnexpress,... Tại bước này ta sẽ
thu thập được 1 lượng lớn các văn bản tiếng Việt gồm nhiều các chủ đề khác nhau.
Bước 2: Tiền xử lý dữ liệu và huấn luyện mô hình vector hóa cho các văn bản thu
được ở bước 1 bằng 2 mô hình DBOW và DM.
Bước 3: Sử dụng mô hình đã huấn luyện ở bước 2 để tiếp tục huấn luyện trên dữ
liệu miền luật (fine-tuning) ở đây là trên 25,000 văn bản luật tiếng Việt đã được
thu thập.
3.3. Đánh giá mô hình
Để đánh giá độ chính xác của các phương pháp đo độ tương tự giữa các văn bản đầu
tiên chúng tôi xây tập dữ liệu kiểm thử (testing) như sau. Chúng tôi tạo 150 mẫu dữ liệu
41
được thực hiện bởi 10 chuyên gia (Thẩm phán) có chuyên môn luật tốt, những người đã
làm việc nhiều năm với các văn bản luật (Bản án). Mỗi mẫu dữ liệu gồm 1 văn bản luật
(bản án) được chọn ngẫu nhiên, sau đó các chuyên gia sẽ lựa chọn 10 văn bản luật khác
tương đồng nhất trong tổng số 25.000 văn bản luật khác. Một ràng buộc khi lựa chọn các
văn bản tương đồng là không được lựa chọn các văn bản quá giống với văn bản đưa ra về
mặt từ vựng. Mục đích khi xây dựng tập kiểm thử này là chúng tối muốn nhắm đến việc
đánh giá các mô hình đo độ tương tự giữa các văn bản dựa trên ngữ nghĩa của chúng. Bởi
bộ dữ liệu 25.000 văn bản luật trên chủ yếu là bản án mà bản án theo tôi đánh giá và thống
kê thì có rất nhiều bản án có số lượng từ chung tuy nhiên nó lại không có độ tương đồng.
Khi đã có tập dữ liệu kiểm thử như trên, chúng tôi đánh giá các mô hình dựa trên các
phương pháp sau:
Phương pháp đo độ chính xác được trình bày như công thức dưới đây:
Độ ℎồ𝑖 𝑡ưở𝑛𝑔 =|{𝑣ă𝑛𝑏ả𝑛𝑙𝑖ê𝑛𝑞𝑢𝑎𝑛} ∩ {𝑣ă𝑛𝑏ả𝑛𝑡𝑟ả𝑣ề}|
|{𝑣ă𝑛𝑏ả𝑛𝑙𝑖ê𝑛𝑞𝑢𝑎𝑛}|
Công thức trên đếm xem các mô hình học máy trả về bao nhiêu văn bản đúng so với
tập kết quả được chuẩn bị bởi các chuyên gia, trong đó {văn bản liên quan} là 1 tập văn
bản liên quan tới văn bản truy vấn được chọn lựa bởi các chuyên gia, {văn bản trả về} là
tập văn bản liên quan tới văn bản truy vấn được đưa ra bởi các mô hình tính toán độ tương
tự giữa các văn bản. Trong phương pháp này, kết quả độ hồi tưởng sẽ nằm trong khoảng
từ 0 đến 1. Bằng 0 nghĩa là mô hình rất tệ, 1 nghĩa là mô hình rất tốt, trả về kết quả giống
như con người truy vấn. lớn hơn hoặc bằng 0.5 là 1 ngưỡng chấp nhận được. Kết quả cuối
cùng được tính dựa trên trung bình của 150 mẫu dữ liệu.
Ngoài đánh giá các mô hình dựa trên độ hồi tưởng, chúng tôi còn nhờ các chuyên gia
luật, những người đã hỗ trợ xây dựng 150 mẫu dữ liệu thử nghiệm đánh giá lại kết quả mà
các mô hình trả ra. Từ đây đưa ra những điều chỉnh các hyper-parameter cho phù hợp
nhằm nâng cao độ chính xác.
42
CHƯƠNG 4. THỰC NGHIỆM VÀ KẾT QUẢ
4.1. Môi trường thực nghiệm và các công cụ sử dụng trong thực nghiệm
Cấu hình phần cứng, phần mềm đi kèm thực nghiệm được sử dụng trong luận văn.
CPU: Intel Core i5 8600
Ram: 16 GB
Card: GTX 1080Ti
Hệ điều hành: Windows 10
4.2. Dữ liệu
4.2.1. Thu thập dữ liệu
Để thực nghiệm các phương pháp đo độ tương tự giữa các văn bản luật tiếng Việt,
chúng tôi đã thu thập được 25.000 văn bản pháp luật từ nguồn các bản án và thu thập thêm
một số bài báo pháp luật. Một số con số thống kê cho tập dữ liệu này được thể hiện ở Bảng
3. Ngoài ra, như đề cập ở phần 3.2.2.3, để phục vụ cho phương pháp học chuyển, chúng
tôi cũng thu thập dữ liệu từ nguồn wikipedia và các trang báo điện tử như baomoi.com.
Thống kê dữ liệu được mô tả trong Bảng 3.
Để đánh giá các mô hình đo độ tương tự văn bản chúng tôi nhờ 10 chuyên gia, nhờ
họ tách ra 150 văn bản được lấy ngẫu nhiên từ tập 25.000 văn bản luật ở trên rồi nhờ 10
chuyên gia tìm các văn bản liên quan như đã trình bày ở phần 3.5 để làm tập kiểm thử.
Các chuyên gia sử dụng phần mềm số hóa bản án để từ 1 văn bản mẫu tìm ra các văn
bản có độ liên quan. Các bản án trong phần mềm số hóa đã được gán nhãn theo loại án
như: Hình sự, Dân sự, Hôn nhân Gia đình, Lao động,.. với loại án cụ thể thì các bản án
cũng được phân loại theo tội danh áp dụng cụ thể. Do đó, với 1 văn bản mẫu sau khi các
chuyên gia đọc sẽ biết được văn bản mẫu là loại án nào và áp dụng điều luật chính nào.
Như vậy việc xây dựng tập dữ liệu mẫu sẽ dễ dàng hơn rất nhiều vì với 1 bản án mẫu thì
chỉ có dưới 500 bản án cùng loại.
Mặc dù các văn bản mà tôi thu thập được đều đã được gán nhãn nhưng tôi không sử
dụng trong thời điểm này bởi các lý do sau:
- Tôi quan tâm nhiều đến độ chính xác của độ tương tự văn bản hơn là tốc độ xử lý
của phương pháp.
- Thứ hai là trong 150 mẫu thử này bao gồm các loại án khác nhau tùy thuộc vào
việc lựa chọn của các chuyên gia. Do đó, nếu sử dụng các nhãn có sẵn của văn
bản dẫn đến khi văn bản mẫu đưa vào thử nghiệm cũng phải biết trước là văn bản
đó thuộc loại án nào.
- Thứ ba là đề tài nghiên cứu độ tương tự của văn bản luật tiếng Việt với mục đích
ứng dụng vào xây dựng chương trình tìm kiếm văn bản tương đồng nhất với tình
huống pháp lý mà người dân gặp phải, mà người dân họ chỉ có thể miêu tả tình
43
huống pháp lý mình gặp phải chứ họ không có kiến thức chuyên sâu để có thể
phân loại xem tình huống pháp lý mình đang gặp phải là loại án nào.
4.2.2. Xử lý dữ liệu
Để thực nghiệm các phương pháp đo độ tương tự giữa các văn bản luật tiếng Việt,
chúng tôi đã thu thập được 25.000 văn bản pháp luật từ nguồn các bản án và thu thập thêm
một số bài báo pháp luật. Một số con số thống kê cho tập dữ liệu này được thể hiện ở Bảng
3. Ngoài ra, như đề cập ở phần 3.2.2.3, để phục vụ cho phương pháp học chuyển, chúng
tôi cũng thu thập dữ liệu từ nguồn wikipedia và các trang báo điện tử như baomoi.com.
Thống kê dữ liệu được mô tả trong Bảng 3. Trước khi thống kê, chúng tôi đã thực hiện
tiền xử lý dữ liệu như đã trình bày ở phần trên gồm các thao tác:
Chuyển văn bản sang dạng chữ in thường.
Tách từ sử dụng hàm word_tokenize trong thư viện nltk của python.
Xóa bỏ từ dừng.
Xóa bỏ các kí tự đặc biệt, chỉ giữ chữ cái, số, dấu chấm, dấu phẩy, dấu hỏi chấm,
dấu chấm than.
(Để thống kê số câu trong 1 văn bản chúng tôi sử dụng hàm sent_tokenize trong
thư viện nltk của python).
Văn bản luật Văn bản từ
Wikipedia
Văn bản từ
baomoi.com
Số văn bản 25.000 500.000 500.000
Số câu trung bình trên 1
văn bản 50 60 65
Số từ trung bình trên 1 văn
bản 1200 1400 2000
Bảng 3: Thống kê dữ liệu của văn bản luật
và văn bản khác được thu thập trên internet.
4.3. Thực nghiệm
Để so sánh kết quả của các phương pháp đo độ tương tự giữa các văn bản đã trình bày
ở phần trên: phương pháp Jaccard, phương pháp TF-IDF, phương pháp Word2Vec,
phương pháp Doc2Vec, phương pháp học chuyển, chúng tôi thực nghiệm các phương
pháp trong 3 trường hợp sau:
Trường hợp 1: Đánh giá các phương pháp trên văn bản tiếng Anh. Trong nghiên cứu
của tác giả Gidi Shperber công bố năm 2017 [18], tác giả đã thực nghiệm hai phương
pháp Word2Vec và Doc2Vec trên tập dữ liệu gồm 100K bài viết về kho văn bản, liên
quan đến chủ đề của các khách hàng. Kết quả mà Gidi Shperber thu được với phương
44
pháp Word2Vec cho độ chính xác khoảng 70% còn Doc2Vec đạt độ chính xác 74%,
theo Gidi Shperber thì đây là kết quả tốt nhất từ trước đến nay. Đây là lý do chúng
tôi chọn các phương pháp Word2Vec và Doc2Vec như trình bày ở phần 3 để thực
nghiệm với miền dữ liệu văn bản luật tiếng Việt.
Trường hợp 2: Đánh giá các phương pháp với truy vấn là 1 văn bản: Trong các thực
nghiệm này, chúng tôi sẽ đánh giá các phương pháp trên 150 văn bản luật truy vấn,
với mỗi văn bản truy vấn các phương pháp sẽ trả về 10 văn bản liên quan nhất và các
kết quả trả về này được đánh giá dựa trên hàm tính độ chính xác như đã trình bày ở
phần 3.
Trường hợp 3: Đánh giá các phương pháp với truy vấn là 1 đoạn văn ngắn: Trong
các thực nghiệm thuộc trường hợp này, chúng tôi sẽ đánh giá các phương pháp trên
150 đoạn văn truy vấn. Mỗi đoạn văn truy vấn có thể gồm 1 câu hoặc 1 đoạn ngắn.
Trong thực nghiệm chúng tôi giới hạn độ dài đoạn văn truy vấn trong khoảng 10 từ
đến 50 từ, bởi vì nếu đoạn truy vấn quá ngắn thì sẽ rất chung chung và khó đánh giá
được kết quả trả về, còn nếu đoạn truy vấn quá dài thì lại gần giống với các thực
nghiệm của trường hợp 2 mà chúng tôi đánh giá và không sát với thực tế. Trong thực
tế khi người dùng muốn tìm kiếm các bản án nào đó thì họ cũng chỉ nhập 1 lượng
thông tin nhất định miêu tả 1 số hành động phạm tội. Tương tự như các thực nghiệm
ở trên, với mỗi đoạn văn truy vấn các phương pháp sẽ trả về 10 văn bản là bản án liên
quan nhất và kết quả được đánh giá bằng phương pháp tính độ chính xác mà các thực
nghiệm ở trên sử dụng.
Trong các thực nghiệm của chúng tôi, các phương pháp đều được thực hiện giống
nhau trong các trường hợp khác nhau như được trình bày dưới đây.
4.3.1. Thực nghiệm với Phương pháp Jacard
Phương pháp này không cần phải huấn luyện trước, trong các trường hợp, với mỗi
văn bản hoặc đoạn văn cần truy vấn chúng tôi lặp qua toàn bộ văn bản luật trong kho dữ
liệu để tính toán và trả về tập 10 văn bản liên quan nhất với văn bản hoặc đoạn văn truy
vấn.
4.3.2. Thực nghiệm với phương pháp TF-IDF
Để tăng tốc độ tính toán khi truy vấn, chúng tôi tính toán sẵn giá trị TF-IDF cho các
văn bản trong kho ngữ liệu, khi có văn bản cần truy vấn chúng ta chỉ cần tính giá trị TF-
IDF của văn bản cần truy vấn và dựa vào đó để trả về những văn bản tương tự với văn bản
truy vấn.
4.3.3. Thực nghiệm với phương pháp Word2Vec
Để thực hiện phương pháp này chúng tôi dùng thư viện fasttext với mô hình skip-
gram để học biểu diễn vector cho các từ. Chúng tôi sử dụng số chiều cho các vector từ là
300, window=5 và min_count=1. Các tham số khác chúng tôi sử dụng giá trị mặc định
của mô hình. Chúng tôi thực hiện cả 2 phương pháp đã trình bày ở trên để tính vector cho
văn bản là lấy tổng các vector từ và lấy tổng theo giá trị TF-IDF. Kí hiệu của 2 phương
pháp này lần lượt là Word2Vec_sum và Word2Vec_TF-IDF.
45
4.3.4. Thực nghiệm với phương pháp Doc2Vec
Phương pháp học biểu diễn vector cho các văn bản sử dụng mô hình DBOW và mô
hình DM: Cách huấn luyện đã được trình bày ở phần 3.2.2.2, chúng tôi cũng sử dụng thư
viện fasttext với số chiều vector là 300 để huấn luyện 2 mô hình này. Trong quá trình huấn
luyện, mỗi văn bản sẽ được thêm 1 định danh ở đầu văn bản, ví dụ văn bản 1 sẽ thêm
DOCUMENT1, văn bản 2 sẽ thêm DOCUMENT2, ...
4.3.5. Phương pháp học chuyển
Phương pháp này đã được trình bày ở phần 3.2.2.3, chúng tôi thực nghiệm trên cả 2
mô hình DBOW và DM, kí hiệu cho 2 mô hình này lần lượt là TL_DBOW và TL_DM.
Cài đặt thực nghiệm giống với các thực nghiệm DBOW và DM ở thực nghiệm trước.
Trong phương pháp này, chúng tôi sẽ học các biểu diễn văn bản trên lượng lớn văn bản
thu thập từ trên mạng trước, sau đó làm mịn mô hình trên tập dữ liệu văn bản luật.
4.4. Kết quả
Sau khi thực nghiệm các phương pháp chúng tôi thu được kết quả trong các trường
hợp thực nghiệm đã trình bày ở trên:
4.4.1. Đánh giá các phương pháp trên văn bản tiếng Anh
Do Gidi Shperber [18] không công bố tập dữ liệu đã thực nghiệm cho 2 phương pháp
Word2Vec và Doc2Vec nên chúng tôi không thể chạy lại được thực nghiệm cho văn bản
tiếng Anh. Trong trường hợp này, chúng tôi sẽ lấy kết quả của tác giả để so sánh với kết
quả chúng tôi chạy trên văn bản luật tiếng Việt với cài đặt mô hình giống như tác giả. Mục
đích của các thực nghiệm này để kiểm tra đánh giá xem việc cài đặt, sử dụng các mô hình
huấn luyện Word2Vec và Doc2Vec của chúng tôi có đúng không. Bảng 4 thể hiện kết quả
so sánh kết quả của 2 phương pháp mà Gidi Shperber thực hiện cùng với đó là kết quả do
chúng tôi thực hiện 2 phương pháp đó trên dữ liệu văn bản luật tiếng Việt. Từ kết quả ta
thấy độ chính xác của 2 phương pháp trên cho văn bản tiếng Việt không thấp hơn quá
nhiều so với văn bản tiếng Anh, lý do thấp hơn có thể do lượng dữ liệu văn bản tiếng Việt
nhỏ hơn so với lượng văn bản tiếng Anh (25.000 văn bản so với 100.000 văn bản). Kết
quả
Phương pháp Gidi Shperber
(Văn bản tiếng Anh)
Luận văn
(Văn bản luật tiếng Việt)
Word2Vec 0.7 0.588
Doc2Vec 0.74 0.68
Bảng 4: So sánh kết quả 2 phương pháp Word2Vec và Doc2Vec.
4.4.2. Đánh giá các phương pháp với truy vấn là 1 văn bản
Như đã trình bày tại mục 4.3, chúng tôi thực nghiệm các phương pháp trong thực
nghiệm này để so sánh kết quả của các phương pháp với nhau.
46
Bảng 5 trình bày kết quả các các phương pháp theo tiếp cận thống kê: Phương pháp
Jaccard và phương pháp TF-IDF. Bảng 6 cho kết quả của các phương pháp theo tiếp cận
học sâu: các phương pháp Word2Vec, Doc2Vec, và học chuyển dựa trên Doc2Vec. Ta có
thể thấy rằng, các phương pháp theo hướng tiếp cận thống kê cho kết quả thấp hơn rất
nhiều so với các phương pháp theo hướng tiếp cận học sâu. Lý do chính là do trong tập
test của chúng tôi, các văn bản tượng tự với văn bản truy vấn chủ yếu tương tự về ngữ
nghĩa, khá ít trùng lặp về phần từ vựng nên các phương pháp thống kê không thực sự tốt.
Nhưng nó rất phù hợp với thực tế khi mà chúng ta mong muốn các kết quả trả về không
chỉ tương tự về mặt từ vựng mà còn tương tự về mặt ngữ nghĩa.
Phương pháp Jaccard TF-IDF
Độ chính xác 0.23 0.35
Bảng 5: Kết quả các phương pháp theo tiếp cận thống kê.
Phương pháp Word2Vec Doc2Vec Học Chuyển
Sum TF-IDF DBOW DM DBOW DM
Độ chính xác 0.525 0.558 0.685 0.676 0.715 0.708
Bảng 6: Kết quả các phương pháp theo tiếp cận học sâu.
Ngoài ra, Bảng 6 còn cho chúng ta thấy trong phương pháp sử dụng Word2Vec, việc
kết hợp vector các từ theo trọng số TF-IDF để tạo thành vector văn bản hiệu quả hơn so
với việc kết hợp các từ theo trọng số như nhau. Thêm vào đó, kết quả cho ta thấy rằng tiếp
cận biểu diễn văn bản theo phương pháp Doc2Vec hiệu quả hơn hẳn so với việc biểu diễn
dựa trên việc tổng hợp các từ trong văn bản. Cuối cùng, bảng 6 chỉ ra rằng phương pháp
học chuyển đã tận dụng được tri thức học từ các nguồn văn bản khác để cải tiến đáng kể
chất lượng phương pháp Doc2Vec so với việc chỉ dùng lượng nhỏ dữ liệu thuộc miền luật.
Trong đó, tiếp cận DBOW cho kết quả cao hơn 1 chút so với tiếp cận DM. phương pháp
DBOW kết hợp với học chuyển cho kết quả tốt nhất với độ hồi tưởng là 0.715, nghĩa là
trong 10 văn bản trả về, có khoảng 7 văn bản trùng với tập kết quả được thiết lập bởi các
chuyên gia. Kết quả này thêm 1 lần nữa chứng mình rằng kĩ thuật học chuyển rất tốt cho
bài toán với dữ liệu hạn chế. Cụ thể là trong bài toán đo độ tương tự giữa các văn bản luật
tiếng Việt của chúng tôi.
Cải tiến nâng cao độ chính xác
Từ những kết quả thực nghiệm ở trên chúng tôi nhận thấy phương pháp học chuyển
cho kết quả tốt nhất, trung bình 10 văn bản trả ra thì có 7 văn bản trùng với kết quả được
các chuyên gia cung cấp. Tuy nhiên, để nâng cao hơn nữa độ chính xác của mô hình,
chúng tôi cùng với 5 chuyên gia pháp lý, những người đã tham gia xây dựng 150 mẫu thử
ban đầu, kiểm chứng lại các kết quả trả về của mô hình. Các chuyên gia nhận thấy việc
kết quả thử nghiệm chỉ có 7 văn bản đúng so với 10 văn bản là do:
47
Một số mẫu sai cũng có độ tương đồng rất lớn với văn bản mẫu đưa vào. Nguyên
nhân là do khi xây dựng mẫu thử vẫn còn sót 1 số văn bản có độ tương đồng với
văn bản mẫu đưa vào.
Một số văn bản có độ tương đồng rất lớn về tình huống pháp lý, về tập từ chung
nhưng chúng lại có một số tình tiết pháp lý có ý nghĩa rất lớn khác nhau ảnh hưởng
tới kết quả giải quyết dẫn đến kết quả trả ra có độ tương đồng cao nhưng sau khi
chuyên gia xem lại thì độ tương đồng lại thấp.
Để khắc phục những vấn đề trên chúng tôi cập nhật lại bộ mẫu thử sau khi chuyên gia
đánh giá lại. Ngoài ra, do văn bản luật chủ yếu là bản án vậy nên chúng tôi áp dụng từ
điển pháp lý cho bước tách từ bằng phương pháp thống kê, với phương pháp học chuyển
tôi huấn luyện mô hình nhiều lần với từ điển pháp lý, bộ luật tố tụng hình sự, luật tố tụng
dân sự, luật hành chính,… Lý do chúng tôi làm như vậy bởi chúng tôi nhận thấy cấu tạo
của văn bản luật tiếng Việt có rất nhiều từ ngữ pháp lý, đặc biệt với bộ dữ liệu thu thập để
thực nghiệm, đa phần là bản án, đây là văn bản áp dụng pháp luật vậy nên nó bao gồm rất
nhiều từ ngữ pháp lý căn cứ pháp luật.
Sau khi cập nhật lại bộ mẫu và huấn luyện mô hình với từ điển pháp lý, bộ luật tố tụng
hình sự, luật tố tụng dân sự, … Chúng tôi thực nghiệm lại với phương pháp học chuyển
và cho kết quả như sau:
Phương pháp TL_DBOW TL_DM
Cải tiến Ban đầu Cải tiến Ban đầu
Độ chính xác 0.765 0.715 0.748 0.708
Bảng 7: Kết quả của các phương pháp học chuyển cải tiến và chưa có cải tiến
Bảng 7 cho chúng tôi kết quả so sánh giữa phương pháp học chuyển ban đầu và sau
khi cải tiến. Kết quả cho thấy việc cải tiến bằng từ điển pháp lý của chúng tôi đã cho thấy
những hiệu quả tích cực ban đầu trong việc đánh giá độ chính xác của phương pháp bằng
phương pháp tự động.
Dưới đây là ví dụ về 2 bản án có độ tương đồng cao
Bản án 1
Trương Quang Nghĩa có mâu thuẫn với anh Nguyễn Văn Quang từ trước, Ngày 16/8/2016 sau
khi đi ăn sáng cùng với Nguyễn Văn Hùng và Trương Bá Nghiệp, Nghĩa kể với bạn mình về mâu
thuẫn giữa 2 người và rủ 2 người này đi tìm Quang để trả thù. Nghĩa cầm 01 cây mã tấu, điều
khiển xe Yamaha Exciter màu xanh chở Nghiệp va Hùng ngồi sau cầm theo 02 cây cơ bida; Khi cả
nhóm đi đến ngã 3 đường ấp 1, xã Vĩnh Lộc A, huyện Bình Chánh cách quán Ốc Đêm khoảng 500
mét. Nghĩa nhìn thấy Quang đang đứng ở bên lề đường. Nghĩa liền chỉ cho cả nhóm và la lên “Nó
kìa”. Hùng và Nghiệp liền bước xuống xe, Nghĩa tay trái cầm mã tấu đi đến chỗ Quang đang đứng.
Anh Quang nói “Đừng chém, có gì từ từ nói”, Nghĩa nói “Mày đánh tao mà còn nói chuyện gì”
rồi Nghĩa cầm mã tấu chém thẳng vào người, vào đầu của anh Quang. Cùng lúc này, Nghiệp
48
bước xuống xe cầm cây cơ bida đánh vào lưng, đầu anh Quang khoảng 05 đến 06 nhát, anh Quang
đứng dậy bỏ chạy được một đoạn thì vấp gã, lúc ngày Nghĩa đuổi kịp dùng mã tấu chém từ phải
sang trái trúng vào tay trái của anh Quang làm cánh tay gần đứt lìa. Sau đó cả nhóm bỏ đi, anh
Quang được người nhà đưa đi cấp cứu tại Bệnh viện 115 và phẩu thuật điều trị.
Sau khi gây án, các đối tượng bỏ trốn, đến ngày 16/10/2016 thì ra đầu thú tại Công an huyện
Bình Chánh.
Tại Bản kết luận giám định pháp y về thương tích số 160/2016/PY-TgT ngày 18/8/2016 của
Trung tâm pháp y tỉnh B kết luận thương tích của anh Nguyễn Văn Quang như sau:
- Vết thương đứt lìa bàn tay trái đã phâu thuật vi phẫu nối bàn tay-cẳng tay; hiện cổ tay có
sẹo vòng chu vi cổ tay đang còn chỉ khâu; - Vết thương vùng đầu đã điều trị; hiện vùng đầu phải vết thương để sẹo mờ kích thước
(10x0,3)cm.
- Thương tích không nguy hiểm đến tính mạng của đương sự. Tỷ lệ tổn thương cơ thể do
thương tích gây nên hiện là 28%. Kết luận khác: Thương tích do vật tày tác động mạnh gây ra. Cục kim loại do cơ quan điều tra
cung cấp có thể gây ra thương tích này.
Tại bản Cáo trạng số 05/CTr-VKS ngày 07 tháng 12 năm 2016 của Viện kiểm sát nhân dân
huyện B, thành phố Hồ Chí
Minh đã truy tố bị cáo Trương Quang Nghĩa về tội “Cố ý gây thương tích” theo khoản 2 Điều
104 Bộ luật hình sự năm 1999 (đã sửa đổi, bổ sung năm 2009). Tại phiên tòa, đại diện Viện kiểm
sát giữ nguyên quan điểm truy tố bị cáo về tội danh như cáo trạng và đề nghị Hội đồng xét xử: Áp
dụng khoản 2 Điều 104; các điểm b,p khoản 1, khoản 2 Điều 46 Bộ luật hình sự năm 1999 (đã
sửa đổi, bổ sung năm 2009) đề nghị xử phạt bị cáo Trương Quang Nghĩa từ 02 năm 06 tháng đến
03 năm tù.
Bản án 2
Khoảng 15 giờ 30 phút ngày 30/9/2019, Trong lúc nhậu tại quán bà T, giữa anh L và T
xảy ra mâu thuẫn vì T không uống tiếp và đòi đi về, anh L cho rằng T khinh mình nên không
uống và bảo T tiếp tục uống. Nhân lúc anh L đi vệ sinh, T bảo anh K chở T về nhà tại số 19
đường V, khu phố D, thị trấn B, huyện P, tỉnh B. Trên đường về đi ngang qua quán nhậu
“Cô Trâm” (gần nhà T), T bảo anh K tấp xe vào quán rồi ngồi chơi với các anh Phan Văn
D, Võ Đình T (Đồng trú tại D, thị trấn B, huyện P, tỉnh B); tại đây, T không nhậu, anh K
uống 02-03 ly rượu rồi điều khiển xe của T về nhà trước. Trong lúc ngồi tại quán “Cô
Trâm”, anh L và T có gọi nhiều cuộc điện thoại cho nhau, hai bên cãi vả, chửi nhau và anh
L có thách thức T sử dụng hung khí để đánh nhau tại tượng đài thị trấn B, huyện P, tỉnh
B.
Đến khoảng 19 giờ 30 phút cùng ngày, anh L điều khiển xe mô tô đến trụ ATM của
Agribank tại thị trấn B, huyện P, tỉnh B để chuyển tiền rồi đến tượng đài để gặp T đánh
nhau. Khi nhìn thấy đèn xe của anh L đi vào và dừng ở gần nhà thì T cầm dao chạy đến
chém một nhát từ trên xuống trúng vào xe mô tô mang biển kiểm soát 77H6-xxx của anh L;
thấy vậy, anh L bước xuống xe thì T tiếp tục vung dao chém một nhát từ trái sang phải
trúng hông phải của anh L, anh L liền chụp giữ cây dao và giằng co, vật lộn với T làm cả
hai ngã xuống đất. Trong lúc giằng co, T giật lại được con dao rồi dùng chân dậm phần
lưỡi cây dao bị cong cho thẳng lại; lúc này, anh L đứng phía sau lưng của T và chửi T về
việc T chém anh L. Nghe vậy, T bực tức cầm dao quay về phía anh L thì anh L bỏ chạy dọc
theo đường Võ Trọng S hướng về phía Quốc lộ 1A; T cầm dao rượt theo anh L một đoạn
khoảng 20m thì anh L bị vấp chân dừng lại và quay người lại đối diện với T. Ngay lúc này,
49
T nhào đến vung ngang dao chém một nhát từ phải sang trái trúng vào tay trái của anh
L. Do bị thương tích nặng nên anh Lê Tấn L được chuyển đến Bệnh viện đa khoa tỉnh B
cấp cứu và phẩu thuật điều trị. Sau khi gây án, các đối tượng bỏ trốn, đến ngày 16/10/2019 thì ra đầu thú tại Công an huyện
P.
Tại Bản kết luận giám định pháp y về thương tích số 227/2019/PY-TgT ngày 14/11/2019 của
Trung tâm pháp y tỉnh B kết luận thương tích của anh Lê Tấn L như sau:
- Vết thương đứt lìa bàn tay trái đã phẩu thuật vi phẫu nối bàn tay-cẳng tay; hiện cổ tay có
sẹo vòng chu vi cổ tay đang còn chỉ khâu; các ngón tay hồng, ấm, mất vận động ngón II, hạn chế
vận động các ngón còn lại.
- Vết thương vùng hông phải với kích thước (12x0,3)cm (thể hiện tại biên bản ghi lời khai và
biên bản hỏi cung bị can) đã điều trị.
- Thương tích không nguy hiểm đến tính mạng của đương sự. Tỷ lệ tổn thương cơ thể do
thương tích gây nên hiện là 25%.
Tại bản cáo trạng số 129/CTr -VKS ngày 17 tháng 12 năm 2019 của Viện kiểm sát nhân dân
huyện Bình Chánh, Thành phố Hồ Chí Minh đã truy tố bị cáo Hoàng Tôn về tội “Cố ý gây thương
tích” theo khoản 2 Điều 104 Bộ luật hình sự năm 1999 được sửa đổi, bổ sung năm 2009 và tội
“Cố ý làm hư hỏng tài sản” theo khoản 1 Điều 143 Bộ luật hình sự năm 1999 được sửa đổi, bổ
sung năm 2009.
Chúng ta thấy rằng, hai văn bản trên được chia thành 2 đoạn chính với ý nghĩa khác
nhau: đoạn đầu là các mô tả về quá trình sự việc xảy ra, đoan sau thể hiện kết quả của sự
việc được mô tả ở đoạn đầu.
- Đoạn mô tả về quá trình sự việc xảy ra của 2 văn bản có độ tương đồng rất thấp bởi
chúng chủ yếu chứa các từ ngữ tên người hoặc tên địa danh, những từ ngữ này không ảnh
hưởng nhiều đến độ tương tự về ý nghĩa của văn bản nên sẽ được loại bỏ khi tiến hành xử
lý văn bản.
- Đoạn thứ 2 mô tả kết quả của đoạn đầu và chúng ta nhận thấy hai đoạn này của hai
văn bản có độ tương đồng rất cao mặc dù số từ chung của hai văn bản là không nhiều, hay
thứ tự xuất hiện của các từ cũng khác nhau. Chúng chỉ lặp lại ở những từ pháp lý hoặc
những từ, cụm từ tham chiếu đến điều luật cụ thể trong các luật và bộ luật.
Theo thực nghiệm, độ tương tự giữa hai văn bản này là Cosine Similarity (VB1,VB2)
= 0.71338799, kết quả này đã phản ánh được độ tương tự của hai văn bản. Những từ ngữ
chính ảnh hưởng đến kết quả của độ đo tương đồng của hai văn chúng tôi đã bôi đậm và
chủ yếu xuất hiện tại đoạn thứ hai.
4.4.3. Đánh giá các phương pháp với truy vấn là 1 đoạn văn ngắn.
Các thực nghiệm trong phần này giống với các thực nghiệm ở phần trên, chỉ khác là
câu truy vấn là 1 đoạn văn ngắn. Mục đích là để so sánh độ chính xác của các phương
pháp trong điều kiện gần với thực tế người dùng hơn. Bảng 8 thể hiện kết quả của các
phương pháp thống kê và học sâu. Chúng ta có thể thấy rằng phương pháp tiếp cận bằng
học chuyển vẫn cho kết quả tốt nhất. Tuy nhiên độ chính xác đã giảm nhiều so với việc
truy vấn bằng các văn bản. Lý do là vì đoạn văn truy vấn không đủ thông tin nên việc tìm
kiếm các văn bản tương tự trả về không được chính xác. Các truy vấn cho kết quả tốt
50
thường là các truy vấn từ 2 câu trở lên (lớn hơn 30 từ), và những truy vấn chứa những từ
khóa quan trọng theo đặc trưng của các văn bản luật.
Phương pháp Thống kê Word2Vec Doc2Vec Học Chuyển
Jaccard TF-IDF Sum TF-
IDF
DBOW DM DBOW DM
Độ chính xác 0.153 0.244 0.435 0.423 0.504 0.493 0.575 0.528
Bảng 8: Kết quả các phương pháp theo tiếp cận thống kê và học sâu.
Dựa vào các kết quả thực nghiệm và phân tích kết quả dựa trên các chuyên gia, chúng
tôi hi vọng sẽ đưa ra được 1 hướng dẫn gợi ý tìm kiếm cho người dùng, để chương trình
có thể trả về các kết quả đúng nhất.
Dưới đây chúng tôi sẽ lấy ví dụ về việc nếu truy vấn với những từ ngữ hợp lý thì kết
quả sẽ tốt hơn:
Mô tả 1: không chứa từ ngữ pháp lý mà mô tả bằng từ ngữ tự nhiên
“Ngày 15/10/2019 Tôi điều khiển xe ô tô đâm vào ông A, làm ông A bị thương và chết
tại bệnh viện. Khi đó tôi có đưa ông A vào bệnh viện và thanh toán tiền viện phí. Cho tôi
hỏi tôi sẽ phải chịu trách nhiệm như thế nào trước pháp luật?”
Mô tả 2: Chứa từ ngữ pháp lý “gây tai nạn giao thông”
“Ngày 15/10/2019 Tôi điều khiển xe ô tô và gây tai nạn giao thông, làm ông A bị
thương và chết tại bệnh viện. Sau khi gây tai nạn tôi có đưa ông A vào bệnh viện và thanh
toán tiền viện phí. Cho tôi hỏi tôi sẽ phải chịu trách nhiệm như thế nào trước pháp luật?”
Mô tả 3: Chứa cụm từ ngữ pháp lý theo luật “gây tai nạn giao thông dẫn đến chết
người”
“Ngày 15/10/2019 Tôi điều khiển xe ô tô và gây tai nạn giao thông dẫn đến chết
người. Sau khi gây tai nạn tôi có đưa ông A vào bệnh viện cấp cứu và thanh toán tiền
viện phí. Cho tôi hỏi tôi sẽ phải chịu trách nhiệm như thế nào trước pháp luật?”
Chúng ta thấy rằng, cả 3 mô tả trên có cùng độ dài, cùng mô tả về một tình huống gây
tai nạn giao thông. Tuy nhiên, mô tả 3 sử dụng từ ngữ pháp lý quan trọng là “gây tai nạn
giao thông dẫn đến chết người” thì kết quả trả ra là 6 văn bản đúng theo đánh giá của
chuyên gia tốt hơn hẳn so với mô tả 2 và môt tả 1 lần lượt là 3 văn bản đúng và 1 văn bản
đúng.
Các kết quả trên cho chúng tôi 1 kết quả ban đầu tích cực cho bài toán tính toán độ
tương tự giữa các văn bản luật tiếng Việt. Do đặc thù của miền dữ liệu nên theo hiểu biết
của chúng tôi, đây là những thử nghiệm đầu tiên trên miền dữ liệu này. Với kết quả như
trên cho thấy 1 kết quả rất hứa hẹn cho các nghiên cứu tiếp theo sau này của chúng tôi.
51
CHƯƠNG 5: KẾT LUẬN VÀ CÔNG VIỆC TRONG TƯƠNG LAI
5.1. Kết luận
Tính toán độ tương tự của văn bản là một bài toán đang được sự quan tâm bởi nhiều
nhà nghiên cứu trong và ngoài nước trong thời gian qua. Bởi nguồn tài liệu trên Internet
là rất nhiều nhưng việc khai thác nó lại gặp rất nhiều khó khăn. Mục đích của đề tài là
nghiên cứu và thử nghiệm phương pháp tính độ tương tự của văn bản Luật tiếng Việt dựa
trên sự kết hợp của các yếu tố độ tương tự về ngữ nghĩa và độ tương tự thứ tự từ. Các kết
quả của luận văn thu được:
- Tìm hiểu về khái niệm độ tương tự, độ tương tự về mặt ngữ nghĩa.
- Nghiên cứu các phương pháp tính độ tương tự văn bản, vector hóa đặt trưng
văn bản.
- Xây dựng bộ corpus với văn bản luật tiếng Việt (Bản án).
- Thực nghiệm thành công các phương pháp đo độ tương tự của văn bản luật
tiếng Việt. Chỉ ra phương pháp phù hợp nhất với miền dữ liệu là văn bản
luật tiếng Việt.
Mặc dù về cơ bản Luận văn đã đạt được những yêu cầu và mục tiêu để ra nhưng do
thời gian và trình độ còn hạn chế nên chắc chắn luận văn không thể tránh khỏi những thiếu
sot, rất mong nhận được ý kiến đóng góp của quý thầy cô để luận văn được hoàn thiện
hơn.
5.2. Công việc trong tương lai
Giai đoạn chuyển đổi các tập tin từ Word, PDF ban đầu sang dạng text và loại bỏ các
ký tự dư thưa chưa thực sự tốt dẫn đến ảnh hưởng đến kết quả của chương trình do đó cần
được cải thiện.
Sử dụng nhãn đã có của 25,000 văn bản này để nâng cao tốc độ xử lý của chương
trình.
Thực nghiệm cho kết quả khá tốt, tuy nhiên cần được hiệu chỉnh để nâng cao độ chính
xác cũng như tốc độ xử lý để có thể đưa vào ứng dụng thực tế.
Cần thu thập thêm dữ liệu mẫu thử để phục vụ cho việc đánh giá được chính xác hơn.
52
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
1. Đỗ Thị Thanh Nga, “Tính toán độ tương tự ngữ nghĩa văn bản dựa vào độ tương
tự giữa từ với từ”, Đại học Công nghệĐại học Quốc gia Hà Nội, 2010.
2. Nguyễn Trung Kiên, “Phân đoạn tiếng Việt sử dụng mô hình CRFS”, Đại học
Quốc giá Hà Nội, 2006.
3. Lê Quý Tài, “Nghiên cứu các phương pháp xử lý tiếng Việt, ứng dụng cho tóm tắt
văn bản”, Đại học Quốc gia Hà Nội, 2011.
4. Luật 17/2008/QH12 của Quốc hội.
5. “Nghiên cứu kỹ thuật đánh giá độ tương đồng văn bản ứng dụng trong so sánh
văn bản tiếng Việt” của Th.S Nguyễn Kim Anh, Đại học Hàng hải Việt Nam,
2016.
Tài liệu tiếng Anh
6. Taeho Jo “Neural Based Approach to Keyword Extraction from Documents” May
2003
7. Lan H. Witten: “KEA Practical Automatic Keyphrase Extraction”.
8. Le, Q. and Mikolov, T., 2014, January. “Distributed representations of
sentences and documents. InInternational conference on machine learning(pp.
1188-1196).”
9. Dishashree. 2017. “Transfer learning and the art of using Pre-trained Models in
Deep Learning”.
10. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, Jeffrey Dean (2013),
“Distributed Representations of Words and Phrasesand their Compositionality”,
arXiv:1310.4546v1.
11. Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze (2008)
"Introduction to Information Retrieval". Cambridge University Press.
12. Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze (2008)
"Introduction to Information Retrieval". Cambridge University Press.
13. Khan, Aurangzeb & Bahurdin, B & Khan, Khairullah. (2009). An Overview of E-
Documents Classification. Proceedings of International Conference on Machine
Learning and Computing (ICMLC 2009).
14. Madjid Khalilian and Shiva Hassanzadeh (2019). "Document classification
methods". arXiv:1909.07368.
53
15. Tomas Mikolov and Kai Chen and Greg Corrado and Jeffrey Dean (2013).
"Efficient Estimation of Word Representations in Vector Space". arXiv:1301.3781
16. Fuzhen Zhuang and Zhiyuan Qi and Keyu Duan and Dongbo Xi and Yongchun Zhu
and Hengshu Zhu and Hui Xiong and Qing He (2020). "A Comprehensive Survey
on Transfer Learning". arXiv:1911.02685
17. George-Sebastian Pirtoaca and Traian Rebedea and Stefan Ruseti (2019).
"Improving Retrieval-Based Question Answering with Deep Inference Models".
arXiv:1812.02971
18. Gidi Shperber (Jul 26, 2017) “A gentle introduction to Doc2Vec”
https://medium.com/wisio/a-gentle-introduction-to-Doc2Vec-db3e8c0cce5e.
19. J. Ramos et al., “Using TF-IDF to determine word relevance in document queries,”
in Proceedings of the first instructional conference on machine learning, 2003.