ĐẠ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
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
4.3. Thực nghiệm ............................................................................................... 43
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
5
TÀI LIỆU THAM KHẢO............................................................................................. 52
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.
6
Xin chân thành cảm ơn!
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.
7
Hà Nội, ngày 16 tháng 12 năm 2020
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
8
DNN Deep Neural Network
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
9
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
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
10
Hình 2.6: Mô hình học chuyển ......................................................................................... 29
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
11
tương lai.
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ề
12
sau.
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
13
tiếng Việt.
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ừ
14
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.
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…
15
- 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ủ
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. …
16
Văn bản áp dụng pháp luật
- 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
17
Độ 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
để 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
18
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 độ
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.
19
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
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.
20
c. Y khoa
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
21
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.
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ó.
22
- 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.
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.
23
Hình 2.2: Mô hình Skip-gram dạng tổng quát
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:
24
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.
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.
25
Hình 2.4: Minh họa đầu vào và đầu ra của mô hình CBOW
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) 𝑥(𝑘) =
𝑥1 𝑥2 . 𝑥𝑘 . 𝑥𝑉] [
26
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:
𝑤11 𝑤12 ⋯ 𝑤1𝑁 𝑤21 𝑤22 … 𝑤2𝑁 ] (2) 𝑊𝑉×𝑁 = [ ⋮ ⋮ ⋱ ⋮
𝑤𝑉1 𝑤𝑉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:
(3) ℎ =
[ ℎ1 ℎ2 . . . ℎ𝑁]
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𝑁 (4) 𝑊𝑇𝑥(𝑘) = [ ] ⋮ ⋮ ⋱ ⋮
𝑤𝑉1 𝑤𝑉2 ⋯ 𝑤𝑉𝑁 [ 𝑥1 𝑥2 . 𝑥𝑘 . 𝑥𝑉]
𝑇 = 𝑣𝑤𝑘 𝑇
= =𝑊(𝑘)
[ = [ 𝑤𝑘1 𝑤𝑘2 . . . 𝑤𝑘𝑁] 𝑤𝑘1𝑥𝑘 𝑤𝑘2𝑥𝑘 . . . 𝑤𝑘𝑁𝑥𝑘]
1
Sử dụng kết quả này, ta tính được h như sau:
𝐶
(5) ℎ = 𝑊𝑇(𝑥(1) + 𝑥(2) + ⋯ + 𝑥(𝐶))
𝑇 )
𝑇 + 𝑣𝑤𝐼,2
𝑇 + ⋯ + 𝑣𝑤𝐼,𝐶
1
= (𝑣𝑤𝐼,1 1 𝐶
=
(𝑣𝑤𝐼,1 + 𝑣𝑤𝐼,2 + ⋯ + 𝑣𝑤𝐼,𝐶)T
𝐶
27
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 ′ 𝑤21 ⋮ ′ 𝑤𝑁1
′ ⋯ 𝑤1𝑉 ′ 𝑤12 ′ ′ … 𝑤2𝑉 𝑤22 ⋮ ⋱ ⋮ ′ ′ ⋯ 𝑤𝑁𝑉 𝑤𝑁2
] (6) 𝑊′
𝑇 ℎ
(7)
𝑢𝑗 = 𝑣′𝑤𝑗
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:
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:
exp (𝑢𝑗) 𝑉 ∑ exp (𝑢𝑗′) 𝐽′
(8) 𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶) = 𝑦𝑗 =
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, … , 𝑤𝐼,𝐶)))
(9) = min (−log(𝑝(𝑤𝑜|𝑤𝐼,1, … , 𝑤𝐼,𝐶)))
= min(E)
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, … , 𝑤𝐼,𝐶))
(10)
𝑗′=1
′ 𝑇ℎ + log(∑
′ 𝑇 ℎ)
) = − 𝑢𝑗∗ + log (∑ exp (𝑢𝑗′)
𝑉 𝑗′=1
28
) = −𝑣𝑤𝑜 exp (𝑢𝑤𝑗
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)
𝑇
1
Phương trình cập nhật các trọng số từ input layer đến hidden layer:
(𝑜𝑙𝑑) −
(𝑛𝑒𝑤) = 𝑣𝑤𝑐 𝑣𝑤𝑐
𝐶
) 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....
29
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
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.
30
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:
- 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.
31
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.
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.
32
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, …).
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ừ.
33
Độ 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.
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 = 0,4 5
Đâ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
34
TF-IDF(t,d,D) = tf(t,d) * idf(t,D)
- 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:
) 𝑛ế𝑢 𝑓𝑖𝑗 ≥ 1 Weigh(i,j) = { (1 + log(𝑓𝑖𝑗)) log ( 𝑁 𝑑𝑓𝑖 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ừ
san
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:
san
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Doc1 Người Lên Ngựa Kẻ Chia Bào Rừng Phong Thu Đã Nhuốm Màu Quan
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
Doc2 Ô
TF
Bảng 1: Biểu diễn văn bản theo TF
35
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.
Để 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ụ
Ngựa Kẻ
Chia
Bào
Rừng Phong Thu
Đã
Nhuốm Màu
Quan
san
thể với Doc1 và Doc2 sau khi chuẩn hóa ta được như sau:
Doc1 Người Lên
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
Hay Buồn Vương Cây Ngô Đồng Vàng Rơi Thu Mênh mông Doc2 Ô
0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.14 0.14 0.07 0.07 0.07 TF
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
36
Rời 1.693
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 0.2 1
Lá 0.2 0 0
Vàng 0.2 1.693 0.3386
Rơi 0.2 1.693 0.3386
37
Ta có:
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)
2
= 0.3386
2
= 0.5189 |Doc3| = √(02 + 0.22 + 02 + 0.33862 + 0.33862)
𝑫𝒐𝒄𝟑 .𝑫𝒐𝒄𝟐
= 1.693 |Doc1| = √(02 + 1.6932 + 02 + 02 + 02)
|𝑫𝒐𝒄𝟑|∗|𝑫𝒐𝒄𝟐|
Cosine Similarity(Doc3, Doc2) = = 0.5572
Dot Product(Doc3,Doc2) = (0*0 + 0.2*1.693 + 0*0 + 0.3386*0 + 0.3386*0)
2
= 0.499
2
= 0.5189 |Doc3| = √(02 + 0.22 + 02 + 0.33862 + 0.33862)
= 1.7258 |Doc2| = √(02 + 1.6932 + 02 + 0.2372 + 0.2372)
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
38
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:
𝑣⃗𝐷𝑜𝑐 = ∑ 𝐸⃗⃗𝑖
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
39
- 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.
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
40
Để đá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
đượ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.
41
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.
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.
42
- 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
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
50 60 65 Số câu trung bình trên 1 văn bản
1200 1400 2000 Số từ trung bình trên 1 văn bản
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
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
43
Để 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 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.
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.
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
44
Để 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.
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
45
nghiệm này để so sánh kết quả của các phương pháp với nhau.
Phương pháp
Jaccard
TF-IDF
Độ chính xác
0.23
0.35
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
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.708
Bảng 5: Kết quả các phương pháp theo tiếp cận thống kê.
0.715
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
46
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:
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
0.715
0.748 0.708 Độ chính xác 0.765
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
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
47
Bản án 1
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.
48
Đế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,
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.
49
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
Phương pháp
Thống kê
Word2Vec
Doc2Vec
Học Chuyển
Jaccard
TF-IDF
Sum
DBOW DM DBOW DM
TF- IDF
Độ chính xác 0.153
0.244
0.435
0.423
0.504
0.493
0.528
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.
0.575
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.
50
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.
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ế.
51
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.
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
52
methods". arXiv:1909.07368.
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.
53
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.