1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số mô hình họ sâu trong xử lý ngôn ngữ tự nhiên

81 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Số Mô Hình Học Sâu Trong Xử Lý Ngôn Ngữ Tự Nhiên
Tác giả Võ Thị Quỳnh Trang
Người hướng dẫn TS. Nguyễn Thị Thanh Huyền, TS. Lê Chí Ngọc
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Toán Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 81
Dung lượng 2,62 MB

Nội dung

Tuy nhiên do số lượng dữ liệu quá lớn, tốc độ lan truyền nhanh nênđòi hỏi một hệ thống phân loại tự động trong thời gian thực.Trong luận văn này, tôi giới thiệu hai mô hình phân loại văn

Trang 2

Chuyên ngành Toán Tin

Gi ảng viên hướ ng dẫn: TS Nguy n Th Thanh Huy n ễ ị ề

Vi ệ n: Toán ng d ng và Tin h c ứ ụ ọ

HÀ N I, 09/2020 Ộ

Chữ ký c a GVHD ủ

Trang 3

B ẢN XÁC NHẬN CHỈNH SỬA LUẬ N VĂN TH C SĨ Ạ

H và tên tác gi lu ọ ả ận văn : Võ Thị Qu nh Trang ỳ

tài lu

Đề ận văn: M t s mô hình h c sâu trong x lý ngôn ng t nhiên ộ ố ọ ử ữ ự

Chuyên ngành: Toán Tin

Mã s ố SV : CA190267

Tác gi ả, Ngườ i hư ớ ng dẫ n khoa h ọc và Hội đồ ng ch ấm luận văn xác nhậ n tác gi ả

đã sử a ch a, b sung lu n văn theo biên b ữ ổ ậ ả n h p H ọ ộ i đ ồng ngày 23/09/2020 với các

n i dung sau: ộ

• Không s ửa chữ a gì

Ngày 24 tháng 09 năm 2020

Giáo viên hướ ng d n ẫ Tác gi lu ả ận văn

TS Nguy n Th Thanh Huy n ễ ị ề Võ Th Qu nh Trang ị ỳ

CH T CH H Ủ Ị ỘI ĐỒ NG

TS Lê Chí Ng c ọ

Trang 4

Để hoàn thành luận văn này, tôi xin trân trọng cảm ơn thầy cô đã hướng dẫntôi là TS Nguyễn Thị Thanh Huyền và TS Lê Chí Ngọc đã tận tình chỉ bảo,hướng dẫn tôi trong suốt quá trình hoàn thiện luận văn.

Xin chân thành cảm ơn các thầy, cô thuộc viện Toán ứng dụng và Tin họctrường Đại học Bách khoa Hà Nội đã nhiệt tình giảng dạy cho tôi trong thờigian học tập

Tôi cũng xin gửi lời cảm ơn tới anh Bùi Trung Ngọc, anh Đào Mạnh Tuấn

và tập thể phòng Nghiên cứu và Phát triển, công ty Cổ phần Truyền thôngCông nghệ iCOMM Việt Nam đã giúp tôi hiện thực hóa những nghiên cứucủa mình

Cuối cùng, do kiến thức và khả năng diễn giải của bản thân còn nhiềuthiếu sót và hạn chế, rất mong nhận được sự chỉ dẫn và đóng góp của thầy cô

để luận văn của tôi có thể hoàn thiện hơn Tôi xin chân thành cảm ơn!

Hà Nội, ngày 14 tháng 09 năm 2020

Võ Thị Quỳnh Trang

Trang 5

Hiện nay, xử lý ngôn ngữ tự nhiên nói chung, bài toán phân loại văn bản nóiriêng có ý nghĩa rất quan trọng trong kinh tế Việc phân loại văn bản giúpdoanh nghiệp tổ chức và khai thác thông tin một cách nhanh chóng và hiệuquả, từ đó đưa ra chiến lược phát triển phù hợp với yêu cầu của thị trườnghiện tại Tuy nhiên do số lượng dữ liệu quá lớn, tốc độ lan truyền nhanh nênđòi hỏi một hệ thống phân loại tự động trong thời gian thực.

Trong luận văn này, tôi giới thiệu hai mô hình phân loại văn bản: mô hìnhphân loại chủ đề văn bản và mô hình phân loại sắc thái văn bản Các mô hìnhđược xây dựng dựa trên các thuật toán học sâu nhằm giải quyết vấn đề nhậpnhằng của ngôn ngữ tự nhiên mà không đòi hỏi kiến thức chuyên môn vềngôn ngữ Kết quả của hai mô hình tương đối tốt, có tính khả thi cao về cả độchính xác và hiệu năng để triển khai trong thực tiễn

Mã nguồn của mô hình được viết trên ngôn ngữ lập trình Python, với sự

hỗ trợ và giúp đỡ từ nhóm Nghiên cứu và Phát triển của công ty Công nghệ

và Truyền thông iCOMM Việt Nam Kết quả của mô hình được thể hiện trêngiao diện web cho người dùng dễ theo dõi, nâng cao tính thực tiễn cho kếtquả nghiên cứu

Trang 6

Mở đầu 7

1.1 Máy học 9

1.1.1 Một số khái niệm cơ bản 9

1.1.2 Học sâu 11

1.1.3 Đánh giá mô hình máy học 22

1.2 Xử lý ngôn ngữ tự nhiên 25

1.2.1 Giới thiệu chung 25

1.2.2 Bài toán phân loại văn bản 28

2 Bài toán phân tích sắc thái văn bản 31 2.1 Phát biểu bài toán 33

2.2 Mô hình đề xuất 34

2.2.1 Xác định đối tượng và phân tách nội dung 34

2.2.2 Xác định sắc thái 38

2.3 Cài đặt và thực nghiệm 43

2.3.1 Thu thập và tiền xử lý dữ liệu 43

2.3.2 Kết quả thử nghiệm 45

Trang 7

3 Bài toán phân loại chủ đề văn bản 52

3.1 Phát biểu bài toán 52

3.2 Mô hình đề xuất 53

3.2.1 Biểu diễn văn bản 53

3.2.2 Mô hình phân loại chủ đề văn bản 56

3.3 Cài đặt và thực nghiệm 58

3.3.1 Thu thập và tiền xử lý dữ liệu 58

3.3.2 Kết quả thử nghiệm 59

Trang 8

1.1 Kiến trúc của một perceptron 141.2 Mặt phẳng quyết định tạo bởi perceptron với đầu vào hai chiều 151.3 Kiến trúc một mạng nơ-ron nhiều lớp 151.4 Kiến trúc một mạng nơ-ron hồi tiếp [8] 181.5 Kiến trúc một ô nhớ của mạng LSTM [36] 201.6 Trường hợp dưới khớp, tối ưu và quá khớp của mô hình 221.7 Ma trận confusion cho bài toán phân lớp nhị phân 241.8 Quá trình xử lý ngôn ngữ tự nhiên 261.9 Các lớp, dữ liệu huấn luyện và dữ liệu kiểm thử trong phânloại văn bản 291.10 Quá trình xây dựng mô hình phân loại văn bản 30

2.1 Kiến trúc mạng bộ nhớ dài ngắn-hạn hai chiều (BiLSTM) [5] 392.2 Quá trình học chuyển tiếp (transfer learning) [34] 412.3 Kiến trúc mạng tự động mã hóa câu 422.4 Độ chính xác của mô hình trên tập dữ liệu huấn luyện và dữliệu thử 462.5 Giá trị mất mát trên tập dữ liệu huấn luyện và dữ liệu thử 472.6 Kết quả trên tập dữ liệu kiểm thử của hai mô hình sử dụng vàkhông sử dụng bộ tham số huấn luyện trước 47

Trang 9

2.7 Kết quả độ chính xác và hàm mất mát của hai mô hình khihuấn luyện trên tập dữ liệu nhỏ 482.8 Kết quả thử nghiệm mô hình dự đoán sắc thái trên câu 482.9 Demo tách và phân tích sắc thái đối tượng trong văn bản 502.10 Demo tách và phân tích sắc thái đối tượng trong văn bản 502.11 Kết quả tổng hợp sắc thái đối tượng trên bài viết 51

3.1 Số lần xuất hiện của từ vựng trong văn bản 543.2 Kiến trúc mạng nơ-ron nhiều lớp ẩn cho bài toán phân loạichủ đề văn bản 573.3 Biểu đồ số lượng dữ liệu trong mỗi chủ đề 583.4 Độ chính xác khi huấn luyện trên tập dữ liệu huấn luyện vàkiểm tra trên tập dữ liệu thử 603.5 Bảng kết quả độ chính xác của mô hình 613.6 Giá trị mất mát của ba mô hình một, ba và sáu lớp ẩn qua mỗivòng lặp 613.7 Bảng giá trị hàm mất mát qua các vòng lặp 623.8 Phân bố dữ liệu các chủ đề trong tập dữ liệu kiểm thử 623.9 Kết quả của ba mô hình trên bộ dữ liệu kiểm thử 633.10 Giá trị recall, precision của từng lớp trong mô hình một lớp

ẩn và ba lớp ẩn 643.11 Kết quả so sánh giữa các thuật toán trong bài toán phân loạichủ để văn bản 65

Trang 10

1 Thuật toán bóc tách đối tượng trong văn bản 36

Trang 11

Trong thời đại 4.0, với sự phát triển của mạng xã hội, khối lượng bài viết, tintức được đăng trên mạng hàng giờ là vô cùng lớn Nội dung, hình thức củacác bài viết này đều rất đa dạng, từ những vấn đề chính trị hay những câuchuyện thường nhật, từ cách viết chuẩn văn phong báo chí hay những bài viếtthông thường chứa những những từ viết tắt, từ sai chính tả, Bên cạnh đó,việc lan truyền của những bài viết này xảy ra rất nhanh và dễ dàng chỉ vớimột cái chạm.

Đối với một doanh nghiệp, việc khai thác thông tin từ những nguồn dữliệu này đóng vai trò rất quan trọng Nó cho phép doanh nghiệp biết được sựquan tâm của xã hội đến sản phẩm của mình, xu hướng của thị trường Đểthực hiện được việc đó, doanh nghiệp cần tổ chức lại thông tin (phân tích chủ

đề văn bản) và phân tích sắc thái văn bản Việc này có thể thực hiện dễ dàngbởi con người nếu số lượng bài viết ít Tuy nhiên, trong thực tế, số lượng bàiviết là rất lớn và lan truyền nhanh, nếu chỉ thực hiện theo cách thủ công thìkhông thể đáp ứng được yêu cầu Từ đó, việc xây dựng một hệ thống tự độngphân tích và thực hiện trong thời gian thực là cần thiết

Hiện nay, có rất nhiều nghiên cứu đưa ra kết quả tốt cho bài toán phânloại chủ đề văn bản và phân loại sắc thái văn bản cho tiếng Anh Tuy nhiên,đối với tiếng Việt, do sự khác biệt trong đặc trưng về ngôn ngữ nên không thể

Trang 12

trực tiếp áp dụng các mô hình này ngay Số lượng mô hình có sẵn đạt kết quảtốt cho tiếng Việt cũng chưa nhiều Ngoài ra, việc xây dựng hệ thống phânloại trong thực tế phải đáp ứng được cả hai yêu cầu về độ chính xác và hiệunăng Một số mô hình có chất lượng rất tốt nhưng lại yêu cầu cao về phầncứng trong khi một số mô hình khác lại có cấu trúc quá đơn giản, khó đạtđược kết quả cao.

Từ những lý do trên, trong luận văn này, tôi đã nghiên cứu một số mô hìnhhọc sâu áp dụng vào các bài toán xử lý ngôn ngữ tự nhiên, mà cụ thể là bàitoán phân loại văn bản với mục tiêu xây dựng được hệ thống đảm bảo đượchiệu năng và chất lượng của mô hình Nội dung luận văn được chia làm baphần:

1 Chương 1 - Cơ sở lý thuyết: trình bày một số kiến thức cơ bản về máy

học, học sâu và một số mô hình cơ bản, giới thiệu về xử lý ngôn ngữ tựnhiên và bài toán phân loại văn bản

những phân tích về bài toán, đề xuất mô hình áp dụng để giải quyết vàkết quả thực nghiệm

toán, đề xuất cách biểu diễn văn bản và mô hình, kết quả thực nghiệm,

so sánh giữa các mô hình

Trang 13

Cơ sở lý thuyết

1.1 Máy học

1.1.1 Một số khái niệm cơ bản

Máy học (Machine learning) là phương pháp giúp máy tính học từ dữ liệu màkhông cần lập trình tường minh

Định nghĩa 1 [32] Một chương trình máy tính được gọi là học được từ kinh

nghiệm liên quan đến họ các công việcE T và được đo hiệu suất bằng nếuP

hiệu suất đo bởi của chương trình khi thực hiện công việc trong được cảiP T

thiện bằng kinh nghiệm E

Các bài toán máy học được chia làm hai loại chính là bài toán học có giám

learning) [1]

• Học có giám sát

Cho tập các cặp đầu vào - đầu ra D = ({ x i , y i)N i=1} Mục tiêu của các

bài toán học có giám sát là xây dựng ánh xạ từ đầu vàof x i đến đầu ra

Trang 14

y i Khi đó,D được gọi là tập dữ liệu huấn luyện (training set) vàN

số lượng mẫu huấn luyện

Thông thường, đầu vào của mỗi mẫu huấn luyện x i là một vectơ số d

- chiều Nó còn được gọi là đặc trưng hay thuộc tính của dữ liệu Đầu

ra của mẫu y i có thể là một biến thuộc tập hữu hạn C = { c1, c2, , c k }

hoặc một biến có giá trị thực Trong trường hợp y i thuộc tập hữu hạn,bài toán đó là bài toán phân loại (classication) [25], ngược lại, nếuy i nhận giá trị thực, đó là bài toán hồi quy (regression) [40].

không giám sát là bài toán phân cụm (clustering) [52] và bài toán giảm chiều (dimensionality reduction) [49].

Các thuật toán máy học giúp máy tính giải quyết các vấn đề liên quan đếntri thức trong thực tế và đưa ra quyết định Một số thuật toán máy học đơngiản có thể kể đến như thuật toán hồi quy logistic (logistic regression) [4] ápdụng trong việc quyết định cho vay tín dụng (credit scoring) [48], thuật toánNaive Bayes [30] trong bài toán phân loại email rác

Chất lượng của các thuật toán máy học phụ thuộc nhiều vào biểu diễn

dữ liệu được cung cấp Một số bài toán có thể giải được bằng việc tr ích xuất

Trang 15

đúng đặc trưng và sử dụng thuật toán máy học đơn giản để đưa ra kết quả Ví

dụ, trong bài toán xác định người nói từ âm thanh, một trong những đặc trưngquan trọng là kích thước sóng âm, đặc trưng này dùng để phân biệt giọngnam, nữ và trẻ em

Tuy nhiên, trong một số bài toán, rất khó để biết đặc trưng nào cần đượctrích xuất và biểu diễn thế nào cho hợp lý Chẳng hạn, ta cần viết một chươngtrình xác định trong bức ảnh có chứa xe ô tô không Rõ ràng một trong nhữngcách xác định xe ô tô là dựa vào số lượng bánh xe của phương tiện, đây cóthể coi là một đặc trưng của bài toán Nhưng để mô tả chính xác cho máy tínhcách xác định bánh xe dựa vào các điểm ảnh là rất khó Từ đó, phương pháphọc sâu (deep learning) được phát triển không chỉ ánh xạ từ biểu diễn đầu vàođến kết quả mà còn có thể học được cách biểu diễn dữ liệu phù hợp cho bàitoán

1.1.2 Học sâu

Học sâu (deep learning) [8] là phương pháp cho máy tính học từ kinh nghiệm

và hiểu thực tế thông qua các khái niệm phân cấp, với mỗi khái niệm đượcđịnh nghĩa bởi khái niệm đơn giản hơn liên quan đến nó Bằng cách học thôngqua kinh nghiệm, phương pháp này không cần người dùng phải quy định cụthể từng kiến thức cho máy tính Đồ thị thể hiện cách xây dựng các khái niệmnày bao gồm nhiều lớp (số lượng lớp là độ sâu của mô hình), do đó phươngpháp này được gọi là học sâu

Các thuật toán học sâu được xây dựng dựa trên các mạng nơ-ron nhân tạo(Artificial Neural Networks - ANNs) [53] Mạng nơ-ron nhân tạo cung cấpmột phương thức chung, thiết thực trong việc học các hàm giá trị thực, giá

Trang 16

trị rời rạc hay giá trị véc tơ Thuật toán lan truyền ngược (back propagation)[14] sử dụng hướng giảm gradient (gradient descent) [38] nhằm điều chỉnhtham số trong mạng sao cho khớp nhất có thể với bộ dữ liệu trong tập huấnluyện Việc học trong mạng nơ-ron nhân tạo tập trung chủ yếu vào việc tối

ưu hóa lỗi trong tập dữ liệu huấn luyện Các thuật toán này đã được áp dụngthành công trong nhiều ứng dụng của cuộc sống như nhận diện khuôn mặt(face recognition) [18], nhận diện giọng nói [35] hay chương trình trả lời tựđộng (chatbot) [41]

Cách thức học của mạng nơ-ron nhân tạo được lấy cảm hứng từ việc quansát hệ thống học tập sinh học được xây dựng bằng các nơ-ron liên kết vớinhau thành một mạng phức tạp Mạng nơ-ron nhân tạo được xây dựng từ mộttập hợp các đơn vị đơn giản kết nối dày đặc với nhau, trong đó mỗi đơn vị cóđầu vào là giá trị thực (có thể là đầu ra của đơn vị khác) và tạo ra một đầu ra

có giá trị thực (có thể trở thành đầu vào cho nhiều đơn vị khác) Đơn vị đó làperceptron

Giới thiệu về perceptron

Perceptron [37] là đơn vị cơ bản của mạng nơ-ron nhân tạo, được mô tả nhưHình 1.1 Perceptron có đầu vào là một véc-tơ mang giá trị thực, thực hiệntính tổ hợp tuyến tính đối với đầu vào đó Perceptron nhận giá trị nếu kết1quả của phép tính lớn hơn ngưỡng cho trước và nhận giá trị−1 trong trường

hợp ngược lại Cụ thể, cho đầu vào X = [1, x1, x2, , x n], khi đó, giá trị đầu

rao X( )của perceptron được tính bởi công thức:

Trang 17

Trong đó W = [w0, w1, , w n ] với w i là hằng số nhận giá trị thực, đượcgọi là trọng số của mô hình Tham số này quyết định mức độ ảnh hưởng của

đầu vào x i đối với giá trị đầu ra của perceptron Việc học trong perceptron

tương đương với việc chọn lựa bộ tham số w0, w1, , w n sao cho khớp với bộ

dữ liệu huấn luyện

Để tìm được bộ trọng số phù hợp với dữ liệu, đầu tiên cần xác định giá trịlỗi của mô hình (hay còn gọi là hàm mất mát) Một trong những cách tínhgiá trị này là

E (W ) = 1

2 ∑

d D ∈ (t d − o d)vớiDlà tập dữ liệu huấn luyện,t d là mục tiêu đầu ra của mẫu dữ liệu ,d o d làđầu ra do mô hình dự đoán Khi đó, là một hàm củaE Wo d phụ thuộc vào

W

Tham số trong mô hình được cập nhật thông qua gradient của GradientE

[51] của E là một véc-tơ với các thành phần là đạo hàm của E theo thànhphần đó

Hướng của gradient là hướng tăng của hàm, do đó để làm giảm giá trị của ,E

cần cập nhật theo hướng ngược lại của gradient (hướng giảm gradient) Quytắc cập nhật như sau:

trong đóη là một hằng số dương được gọi là tốc độ học (learning rate) Giátrị này nhằm xác định kích thước bước giảm tiếp theo trong mỗi vòng lặp.Quá trình cập nhật tham số trong mô hình được thực hiện cho đến khi thuđược giá trị nhỏ nhất của E hoặc thỏa mãn một điều kiện nào đó quy địnhtrước

Trang 18

Hình 1.1: Kiến trúc của một perceptron

Một cách trực quan, có thể coi perceptron như một siêu phẳng quyết địnhtrong không gian n−chiều biểu diễn đầu vào Giá trị đầu ra của perceptronbằng biểu diễn các đối tượng nằm về một phía của siêu phẳng và các giá trị1bằng −1biểu diễn các đối tượng nằm ở phía còn lại, Hình 1.2a Tập dữ liệu

có thể phân tách được bởi một siêu phẳng được gọi là tách được tuyến tính(linear separable) Trong trường hợp tập dữ liệu được biểu diễn như Hình1.2b, cần nhiều hơn một siêu phẳng để phân tách dữ liệu, nói cách khác, kiếntrúc mạng nơ-ron cần nhiều perceptron hơn Một trong những kiến trúc cơbản là mạng nơ-ron nhiều lớp (multi-layer perceptron)

Mạng nơ-ron nhiều lớp

Mạng nơ-ron nhiều lớp (multi-layer perceptron) [33] là một mô hình học sâu

cơ bản Mục tiêu của mô hình là xấp xỉ hàm mục tiêu f ∗(có thể là hàm tuyến

tính hoặc phi tuyến) Ví dụ, trong bài toán phân lớp, hàm mục tiêu y= f ∗( )x

ánh xạ giữa đầu vào với lớp tương ứng Khi đó, mô hình mạng nơ-ronx y

nhiều lớp sẽ xây dựng ánh xạy = ( , θ ) f x và tìm các giá trị của tham số saoθ

cho đạt kết quả xấp xỉ tốt nhất với hàm f ∗

Trang 19

Hình 1.2: Mặt phẳng quyết định tạo bởi perceptron với đầu vào hai chiều a)Tập dữ liệu luyện có thể phân tách rõ ràng bởi một perceptron b) Tập dữ liệuluyện không thể tách tuyến tính.

Hình 1.3: Kiến trúc một mạng nơ-ron nhiều lớp

Kiến trúc một mạng nơ-ron nhiều lớp được minh họa như Hình 1.3 Mạngbao gồm một lớp đầu vào (input layer), một hoặc nhiều lớp ẩn (hidden layer)

và một lớp đầu ra (output layer) Số lượng lớp trong mạng được gọi là độ sâucủa mô hình Mô hình mạng nơ-ron nhiều lớp có đặc điểm sau:

Trang 20

1 Mô hình của mỗi nơ-ron trong mạng nơ-ron nhiều lớp chứa một hàmkích hoạt phi tuyến (nonlinear activation function) [43] Hàm này giúpmạng nơ-ron nhiều lớp có thể xấp xỉ được hàm phi tuyến Một hàm kíchhoạt phổ biến là hàm sigmoid [12] được cho bởi công thức:

1+exp(−v i)

với v i là giá trị địa phương tại nơ-ron vài y i là đầu ra của nơ-ron đó

2 Kiến trúc mạng chứa một hoặc nhiều lớp ẩn nên có khả năng giải quyếtđược những bài toán phức tạp thông qua việc trích xuất dần các đặctrưng có ý nghĩa từ dữ liệu đầu vào

3 Mạng thể hiện tính kết nối cao, thể hiện qua liên kết giữa các nốt Việcthay đổi kết nối trong mạng tương ứng với việc thay đổi trọng số liênkết chúng

Để tìm được bộ tham số phù hợp, quá trình huấn luyện mô hình sử dụngthuật toán lan truyền ngược Thuật toán bao gồm hai pha: pha xuôi (forwardpass) và pha ngược (backward pass) Trong pha xuôi, véc-tơ đầu vào đóngvai trò như các giác quan của mạng, truyền tín hiệu trong mạng qua từng lớp,cuối cùng tạo ra tập kết quả như là phản ứng thực tế của mạng Các trọng sốcủa mạng là cố định trong pha xuôi Ngược lại, trong pha ngược, các trọng

số được điều chỉnh dựa trên hướng giảm của gradient Quá trình này được lặplại cho đến khi tìm được bộ trọng số phù hợp

Quá trình học của mạng nơ-ron nhiều lớp ẩn là một cách để xây dựng ánh

xạ phi tuyến giữa đầu vào và đầu ra của bài toán Nói cách khác, ta tìm cáchxấp xỉ một hàm phi tuyến từ không gian đầu vào m−chiều đến không gian

Trang 21

đầu raM−chiều bằng tập các hàm tuyến tính Định lý xấp xỉ hàm tổng quát(universal approximation theorem) phát biểu như sau:

là khối đơn vị m0−chiều [0 1, ]m0 Gọi C I( m0) là không gian các hàm liên tục

trên I m0 Khi đó cho một hàm f ∈ ( C I m0) và ε > 0 , luôn tồn tại số nguyên M

và tập các hằng số thực α i , β i và w i j với i = 1, , m1 và j = 1, , m0 sao cho hàm

với mọi x1, , x m0 thuộc không gian đầu vào.

Định lý xấp xỉ hàm tổng quát cung cấp một chứng minh toán học cho tínhgần đúng của một hàm liên tục tùy ý thay vì biểu diễn nghiệm chính xác.Trong thực tế, định lý phát biểu rằng một lớp ẩn là đủ để một mạng nơ-ronnhiều lớp có thể xác định được một xấp xỉ cho tập dữ liệu huấn luyện tươngứng Tuy nhiên, khi giải quyết các bài toán thực tế, phụ thuộc vào thời gianhuấn luyện, khả năng triển khai và tổng quát hóa để xác định số lớp ẩn chophù hợp

Mạng nơ-ron hồi tiếp

Trong mạng nơ-ron nhiều lớp, các biến đầu vào là độc lập với nhau Tuy nhiêntrong một số bài toán, đặc biệt là các bài toán xử lý ngôn ngữ tự nhiên, việccoi các biến đầu vào độc lập với nhau là không hợp lý Ví dụ, trong bài toánsinh văn bản, để dự đoán các từ tiếp theo cần phải biết các từ trước đó Một

Trang 22

Hình 1.4: Kiến trúc một mạng nơ-ron hồi tiếp [8]

giải pháp cho bài toán này là mạng nơ-ron hồi tiếp (recurrent neural network)[8] được dùng cho dữ liệu dạng chuỗi Ý tưởng của mạng nơ-ron hồi tiếp làchia sẻ tham số giữa các phần khác nhau của mô hình Việc chia sẻ này chophép mô hình mở rộng với các đầu vào có kích thước không cố định và sửdụng được các thông tin liên quan đến vị trí

Kiến trúc mạng nơ-ron hồi tiếp ở dạng thu gọn và dạng đầy đủ được mô

tả như Hình 1.4 Thành phần của mạng bao gồm:

• Đầu vào x= [x1, x2, , x n ] trong đó x nlà giá trị tại bước thứ ,t x t có thể

là một giá trị cũng có thể là một véc-tơ

• h= [h1, h2, , h n ] là trạng thái ẩn tại các bước thời gian, h t là trạng thái

ẩn tại bước thứ và được tính bởi công thức:t

h t= tanh W h( t−1 +Ux t+ )b

trong đóW là ma trận trọng số giữa các lớp ẩn,U là ma trận trọng sốgiữa lớp ẩn và đầu vào, là giá trị thiên vị (bias) Có thể thấy trạng tháib

Trang 23

ẩn tại thời điểm thứ phụ thuộc vào đầu vào tại thời điểm đó và trạngt

đoán ˆy=so f tmax o( ) và so sánh kết quả với mục tiêu y

Quá trình huấn luyện mạng nơ-ron hồi tiếp tương tự như quá trình huấnluyện mạng nơ-ron thông thường Mạng nơ-ron hồi tiếp sử dụng thuật toán lantruyền ngược theo thời gian [50] có ý tưởng giống với thuật toán lan truyềnngược Điểm khác biệt là các tham số được chia sẻ với nhau trong tất cả cácbước thời gian của mạng nên gradient tại đầu ra của mỗi bước không chỉ phụthuộc vào giá trị tại thời điểm đó mà còn phụ thuộc vào bước trước đó

Trạng thái ẩn h t lưu trữ các thông tin từ đầu đến thời điểm , tuy nhiênt h t

sẽ có giới hạn về mặt lưu trữ do kích thước là cố định Khi đó, h t chủ yếu lưutốt các thông tin ở gần nó Điều này là phù hợp đối với câu ngắn, trong trườnghợp câu dài hơn, các câu quan trọng ở vị trí xa so với thời điểm sẽ bị quênt

dần, gây mất mát dữ liệu Ngoài ra, một nhược điểm nữa là trong quá trìnhhuấn luyện mạng nơ-ron hồi tiếp, rất dễ xảy ra vấn đề mất mát hoặc bùng nổgradient [46] Điều này làm mạng không thể học được thêm hoặc học mộtcách ngẫu nhiên, dẫn đến việc huấn luyện không hiệu quả

Trang 24

Hình 1.5: Kiến trúc một ô nhớ của mạng LSTM [36]

Mạng LSTM

Một giải pháp nhằm khắc phục vấn đề mất mát hoặc bùng nổ gradient là sửdụng mạng bộ nhớ dài ngắn-hạn (LSTM - long short-term memory) [16] Mạng LSTM có thể nhớ thông tin với độ trễ hơn 1000 bước thời gian thôngqua việc sử dụng băng chuyền lỗi liên tục (constant error carousels) thực thimột luồng giữa các ô (cell) của mạng Quyền truy cập vào các ô được xử lýthông qua các cổng và mạng sẽ học thời điểm cấp quyền truy cập Một ô nhưvậy trong mạng LSTM được gọi là một ô nhớ (memory cell)

Ý tưởng chính của mạng là sử dụng một thanh trạng thái xuyên suốt các ônhớ trong chuỗi, điều này giúp thông tin dễ dàng lan truyền trong mạng Hình1.5 mô tả kiến trúc trong một ô nhớ của mạng LSTM Các bước huấn luyện

mô hình được thực hiện như sau:

1 Tại mỗi ô nhớ, đầu tiên, cần quyết định xem thông tin nào có thể bỏ qua,điều này được thực hiện bằng cách sử dụng cổng quên (forget gate)

Trang 25

Giá trị đầu ra tại cổng này được tính bằng công thức:

f t = (σ W f [h t−1 , x t ] + b f)

trong đó h t−1 là trạng thái ẩn tại thời điểmt − 1 x, t là véc-tơ đầu vàotại thời điểm ,t W f là ma trận trọng số tại cổng quên, b f là giá trị thiên

vị Đầu ra của cổng quên f t là một véc-tơ cùng độ dài với trạng thái ô

C t−1 , với mỗi giá trị của f t là một số nằm trong khoảng từ đến Nếu0 1giá trị càng gần thì thông tin ở vị trí đó trong thanh trạng thái1 C t−1sẽđược giữ lại nhiều và càng gần tức là thông tin sẽ bị loại bỏ.0

2 Tiếp theo, cần quyết định thông tin mới nào được lưu trữ thêm vào ônhớ Quá trình này bao gồm hai bước Đầu tiên, một hàm sigmoid đượccoi như "cổng đầu vào" (input gate) quyết định giá trị sẽ được cập nhật.Tiếp theo, sử dụng hàm tanh [22] để xác định giá trị mới ˆC t được cậpnhật vào thanh trạng thái

i t =σ W( i · [h t−1 , x t ] + b i)

˜

C t =tanh W( C · [h t−1 , x t ] + b C)

3 Cuối cùng, xác định các đầu ra của ô nhớ bao gồm trạng thái mới C t

trạng thái ẩn h t theo công thức:

Trang 26

tra khả năng học sự phụ thuộc dài hạn ([2], [16]) và đạt được các kết quảstate-of-the-art trên các bài toán xử lý chuỗi ([10], [9]).

1.1.3 Đánh giá mô hình máy học

Dưới khớp và quá khớp

Quá trình huấn luyện mô hình máy học được thực hiện trên tập dữ liệu huấnluyện Sau đó, mô hình sẽ được đánh giá trên tập dữ liệu mới gọi là bộ dữ liệukiểm thử (test set) Khi đó có thể xảy ra một trong hai trường hợp sau:

hóa được dữ liệu huấn luyện vừa không thể khái quát trên dữ liệu kiểmthử Hay nói cách khác, mô hình đạt kết quả không tốt trên cả hai tập

dữ liệu

2 Quá khớp (overfitting) đề cập đến mô hình mô hình hóa dữ liệu huấn

luyện quá tốt nhưng lại không thể khát quát trên dữ liệu kiểm thử, tức

là mô hình đạt kết quả rất tốt trên tập dữ liệu huấn luyện nhưng lại đạtkết quả kém hơn rất nhiều trên tập dữ liệu kiểm thử

Hình 1.6: Trường hợp dưới khớp, tối ưu và quá khớp của mô hình

Trang 27

Các thông số đánh giá

Để đánh giá chất lượng của mô hình trong các bài toán học có giám sát, việclựa chọn một độ đo là rất quan trọng Dưới đây là một số độ đo phổ biến dùng

để đánh giá mô hình máy học

tổng số mẫu dữ liệu dự đoán N

N

Đây là độ đo cơ bản để đánh giá kết quả của một mô hình Tuy nhiên,trong trường hợp tập dữ liệu bị mất cân đối giữa các nhãn thì độ đo nàychưa đủ để đánh giá chất lượng mô hình Ví dụ, trong bài toán phân lớpnhị phân dự đoán Nam hay Nữ, tập dữ liệu phân chia nam và nữ theo tỉ

lệ9 : 1 Khi đó nếu mô hình dự đoán tất cả các dữ liệu đều là Nam thì

độ chính xác của mô hình là 0 9, , mặc dù độ chính xác cao nhưng môhình đưa ra lại không tốt

2 Ma trận confusion

Xét ma trận confusion trong bài toán phân lớp nhị phân Ma trận fusion là một ma trận có kích thước 2×2, trong đó mỗi hàng tươngứng với một lớp đúng và mỗi cột tương ứng với lớp dự đoán Mỗi bảnghi tương ứng với số lượng mẫu có kết quả dự đoán bằng cột và giá trịđúng bằng hàng Hình 1.7 mô tả một ma trận confusion với TN (TrueNegative) là số mẫu nhãn −1 được dự đoán đúng, FP (False Negative)

con-là số mẫu nhãn−1bị dự đoán sai, TP (True Positive) là số mẫu nhãn 1được dự đoán đúng và FP là số mẫu nhãn 1 bị dự đoán sai

Trang 28

Hình 1.7: Ma trận confusion cho bài toán phân lớp nhị phân

Từ ma trận này, dễ dàng đưa ra được các phân tích về kết quả dự đoáncủa mô hình đối với từng lớp Nhận thấy ma trận có giá trị trên đườngchéo chính càng lớn thì chất lượng mô hình càng cao

3 Thông số recall và precision

Recall và precision là hai thông số đánh giá chất lượng trên mỗi lớp của

mô hình, được tính thông qua ma trận confusion

Recall là giá trị nhằm xác định xem có bao nhiêu mẫu dương được pháthiện trên tổng số các mẫu dương

Trang 29

Điểm F1 là độ đo nhằm phân tích tổng quát về chất lượng mô hình dựatrên recall và precision.

F = 2 ·precision recallprecision recall·

1.2 Xử lý ngôn ngữ tự nhiên

1.2.1 Giới thiệu chung

Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là một lĩnh

vực nghiên cứu kết hợp giữa Ngôn ngữ học tính toán (Computational guistics) và Trí tuệ nhân tạo (Artificial Intelligence), liên quan đến tương tácgiữa máy tính và ngôn ngữ tự nhiên của con người sao cho máy tính có thể

Lin-xử lý và phân tích được lượng lớn dữ liệu ngôn ngữ tự nhiên Xử lý ngôn ngữ

tự nhiên là quá tr ình phân tích ngôn ngữ thông qua việc phân tích cú pháp(syntax analysis), phân tích ngữ nghĩa (semantic analysis) và phân tích ngữdụng (pragmatic analysis)

• Phân tích cú pháp: phân tích thứ tự và cấu trúc của các từ trong câu.

• Phân tích ngữ nghĩa: phân tích ý nghĩa, nội dung câu dựa vào thông tin

trong câu đó (phân tích nghĩa đen)

• Phân tích ngữ dụng: phân tích ý nghĩa câu dựa vào ngữ cảnh xung

quanh câu đó (phân tích nghĩa bóng)

Nhìn chung, quá trình xử lý ngôn ngữ tự nhiên bao gồm các bước sau:

Trang 30

Hình 1.8: Quá trình xử lý ngôn ngữ tự nhiên

Trên thực tế, việc phân tách quá trình xử lý ngôn ngữ tự nhiên thành cácthành phần còn phụ thuộc vào dữ liệu và yêu cầu thực tế Trong đó, có một sốquá trình quan trọng phải chú ý sau:

dụ trong câu "Trường Đại học Bách khoa Hà Nội", ta cần phân tách câu thành danh sách các từ [’Trường’, ’ Đại học Bách khoa Hà Nội’, ’ ’, ’ ’] Quá trình tách

từ tạo ra các đơn vị ngữ nghĩa (semantic unit) hợp lý nhằm hỗ trợ quá trìnhphân tích, do đó, tách từ là quá trình không thể thiếu trong xử lý ngôn ngữ tựnhiên

Phân tích cú pháp (syntax analysis)

Phân tích cú pháp là quá trình nhận diện và khai báo cú pháp trong câu [21].Nói cách khác, ta cần xác định từ loại của các từ trong câu như danh từ, động

từ, tính từ, trạng từ Các kết quả thu được từ việc phân tích cú pháp đóng vaitrò quan trọng trong các bài toán xử lý ngôn ngữ tự nhiên như bài toán trả lời

Trang 31

câu hỏi (question answering) hay bài toán trích xuất thông tin (information

extraction) Ví dụ ta có thể trích xuất các thông tin về Ai? Làm gì? Ở đâu? trong câu "Hôm nay tôi đi câu cá ở hồ Tây" dựa vào việc phân tích cú pháp

trong câu

Phân tích ngữ nghĩa (semantic analysis)

Mục tiêu quan trọng nhất của cả con người và hệ thống xử lý ngôn ngữ tựnhiên là có thể hiểu được ngôn ngữ, hiểu ở đây trong một số hoàn cảnh làviệc kết hợp thông tin trích được từ ngôn ngữ với cơ sở tri thức, khái quát hơn

là đưa ra các phản hồi tương ứng [17] Từ việc phân tích ngữ nghĩa của vănbản, ta có nhiều ứng dụng trong xử lý ngôn ngữ tự nhiên như khai thác thôngtin, tổng hợp văn bản, khai phá dữ liệu hay dịch máy Phân tích ngữ nghĩacũng được áp dụng trong việc phân tích câu truy vấn của người dùng và đốichiếu với dữ liệu sẵn có Do đó, phân tích ngữ nghĩa là một quá trình đóngvai trò quan trọng trong xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên ngày càng đóng vai trò quan trọng trong cuộcsống Nó cho phép máy tính có thể giao tiếp với con người thông qua ngônngữ tự nhiên và giải quyết các vấn đề liên quan đến ngôn ngữ Ví dụ, xử lýngôn ngữ tự nhiên giúp máy tính có thể đọc văn bản, nghe âm thanh, diễn giảinội dung, đo đạc cảm xúc và trích xuất thông tin quan trọng Một số ứng dụngnổi bật của xử lý ngôn ngữ tự nhiên có thể kể đến như máy dịch (languagetranslator), phân loại văn bản (text classification), chương tr ình trả lời tự động(chatbot), nhận diện giọng nói, Trong luận văn này, tôi sẽ giới thiệu mộtlớp bài toán cơ bản, đóng vai trò quan trọng trong xử lý ngôn ngữ tự nhiên là

bài toán phân loại văn bản.

Trang 32

1.2.2 Bài toán phân loại văn bản

Cùng với sự phát triển nhanh chóng của internet và mạng xã hội, khối lượng

dữ liệu văn bản không cấu trúc ngày càng nhiều Dữ liệu có thể lấy từ emails,cuộc hội thoại tin nhắn, nội dung trên trang web hay mạng xã hội Việctrích xuất thông tin từ các khối dữ liệu lớn này sẽ gặp khó khăn khi dữ liệuchưa được tổ chức một cách hợp lý Nếu chỉ sắp xếp và lọc thủ công thì chiphí về mặt thời gian và nguồn lực là rất lớn, do đó, xây dựng cơ chế phân loạivăn bản tự động là giải pháp nhanh chóng, tiết kiệm chi phí và có khả năng

mở rộng dễ dàng Bằng cách áp dụng xử lý ngôn ngữ tự nhiên, ta có thể xâydựng được một mô hình phân loại văn bản (text classifier) tự động phân tíchvăn bản và gán nhãn tương ứng cho văn bản đó dựa vào nội dung của nó

lớp (classes) C = {c1, c2, c J } Cho tập dữ liệu huấn luyện Dgồm các cặpvăn bản đã được gán nhãn< d c , >, trong đó< d c , > ∈X×C Phân loại vănbản là việc xây dựng một hàm phân loại γ : X →Cgán văn bản với lớpd c

tương ứng

Ví dụ 1 Bài toán xác định sắc thái của đối tượng trong văn bản là có thể coi

như một bài toán phân loại văn bản Khi đó, tập các lớp được định nghĩa trước

là C = {’tích cực’ ’ tiêu cực’ ’ trung lập’ , , } Để giải quyết bài toán này, đầu

tiên, ta xây dựng một bộ phân loại sắc thái trên tập dữ liệu đã được gắn nhãn,gọi là bộ dữ liệu huấn luyện (training dataset), sau đó sử dụng bộ phân loạinày để phân loại trên tập dữ liệu mới, chưa được dùng để huấn luyện (dữ liệukiểm thử - testing dataset) nhằm đánh giá chất lượng bộ phân lớp Ví dụ, sử

dụng mô hình để phân loại câu "Chất lượng dịch vụ tốt, đồ ăn hấp dẫn, giá

cả hợp lý"vào lớp"tích cực" Hình 1.9 mô tả lớp, dữ liệu huấn luyện và kiểm

Trang 33

thử trong bài toán này.

Hình 1.9: Các lớp, dữ liệu huấn luyện và dữ liệu kiểm thử trong phân loại vănbản

Phân loại văn bản là quá trình bao gồm nhiều bước, quá trình này đượcminh họa như Hình 1.10 Nhìn chung có thể chia quá trình này thành hai phầnchính là tiền xử lý và phân lớp

• Tiền xử lý bao gồm các bước từ một đến năm trong Hình 1.10 Dữ liệu

sau khi được đọc từ file chứa sẽ được làm sạch bằng cách xóa kí tự thừa,

bỏ các từ stop-words và tách từ Phù thuộc vào yêu cầu bài toán để chiavăn bản thành các phần nhỏ hơn và lựa chọn cách biểu diễn sao chophù hợp Chất lượng của bộ phân lớp phụ thuộc lớn vào các đặc trưngđược trích xuất và biến đổi (giảm chiều, giảm độ thưa của véc-tơ) từ dữliệu

dựng dựa trên dữ liệu đã được gán nhãn và mô hình này sẽ được sử dụng

để dự đoán các dữ liệu mới Một số thuật toán thường được sử dụng để

Trang 34

xây dựng bộ phân lớp là Naive Bayes, Support Vector Machine (SVM),K-nearest neighbor, Ngoài ra, trong những năm gần đây, các thuậttoán học sâu phát triển mạnh đã được áp dụng để giải quyết các vấn đềnày và đem lại kết quả ấn tượng.

Hình 1.10: Quá trình xây dựng mô hình phân loại văn bản

Phân loại văn bản có rất nhiều ứng dụng trong thực tế Nó giúp tái cấutrúc lại dữ liệu, nhờ đó tiết kiệm thời gian cho cá nhân và doanh nghiệp pháthiện ra những thông tin quan trọng từ dữ liệu Trong luận văn này, tôi sẽ giới

thiệu hai bài toán quan trọng trong phân loại văn bản là bài toán phân loại

chủ đề văn bản và bài toán phân loại sắc thái văn bản.

Trang 35

Bài toán phân tích sắc thái văn bản

Với sự bùng nổ của mạng xã hội (diễn đàn thảo luận, đánh giá, bình luận, bàiviết trên các trang mạng xã hội), các cá nhân và doanh nghiệp có đưa ra quyếtđịnh dựa vào nội dung trên các phương tiện truyền thông này Ví dụ, nếu mộtngười muốn mua sản phẩm, họ không cần mất thời gian tìm hiểu đánh giá

từ bạn bè hay người thân vì đã có rất nhiều thảo luận về sản phẩm trên cácnhóm công khai trên internet Các tổ chức không cần phải tổ chức các bàikhảo sát, đánh giá vì đã có rất nhiều thông tin đánh giá công khai về tổ chức

đó Tuy nhiên, việc tìm kiếm và chắt lọc các thông tin có ích từ trang webvẫn là nhiệm vụ khó khăn vì sự đa dạng của các trang web Mỗi trang webthông thường chứa khối lượng lớn các bài đăng đưa ra ý kiến, nội dung cácbài thường dài và khó chắt lọc thông tin Nếu chỉ làm thủ công sẽ khó để xácđịnh các trang web có liên quan và khai thác thông tin Việc xây dựng một hệthống tự động phân tích sắc thái văn bản do đó là cần thiết

Có thể thấy yếu tố quan trọng để chỉ ra sắc thái của một văn bản là từ vựng

Trang 36

chỉ sắc thái Đây là các từ phổ biến dùng để diễn đạt sắc thái tích cực hay tiêu

cực Ví dụ các từ tốt tuyệt vời hợp lý, , là các từ mang sắc thái tích cực, các

từ ,tệ kém chất lượng bẩn, là các từ mang sắc thái tiêu cực Mặc dù đóng vaitrò quan trọng trong việc phân tích sắc thái nhưng từ vựng chỉ sắc thái chưa

đủ để phân tích sắc thái trong văn bản Việc xây dựng hệ thống tự động phântích sắc thái văn bản còn gặp nhiều vấn đề do tính nhập nhằng(ambiguity)[29] của ngôn ngữ tự nhiên

• Các từ vựng chỉ sắc thái có thể mang ý nghĩa trái ngược nhau trong các

lĩnh vực khác nhau Ví dụ trong câu "Ship hàng nhanh" từ nhanh mang

sắc thái tích cực nhưng trong câu "Pin điện thoại hết nhanh" từ nhanh

lại mang sắc thái tiêu cực

• Các câu có chứa từ chỉ sắc thái nhưng lại không diễn đạt sắc thái nào.

Vấn đề này thường gặp phải trong một số loại câu Ví dụ trong câu hỏi

"Điện thoại này có tốt không?" mặc dù chứa từ chỉ sắc thái là tốt nhưng

lại không diễn đạt sắc thái nào về sản phẩm

• Các câu mỉa mai diễn đạt sắc thái rõ ràng nhưng rất khó để máy tính có

thể phân tích Những câu này thường xuất hiện trong các bài đăng trên

mạng xã hội Ví dụ trong câu "Quả là một chiếc máy tốt Nó đã ngừng

hoạt động được hai ngày" chứa từ tốt mang sắc thái tích cực nhưng cảcâu lại diễn đạt sắc thái tiêu cực

• Có nhiều câu diễn đạt ý kiến mà không dữ vào từ chỉ sắc thái, việc xác

định dựa vào kiến thức của người đọc Ví dụ câu "Cái máy giặt này

dùng rất nhiều nước" thể hiện sắc thái tiêu cực đối với sản phẩm máygiặt vì sử dụng tốn nước

Trang 37

Để giải quyết những vấn đề trên, đã có rất nhiều hướng nghiên cứu đượcđưa ra Trong đó, phương pháp học sâu được áp dụng và đưa ra những kết quả

ấn tượng Ở chương này, tôi sẽ tr ình bày việc áp dụng thuật toán học sâu vàomột module của bài toán

2.1 Phát biểu bài toán

trong đó là tên thực thể, là khía cạnh của thực thể , là ý kiến đối vớie a e s

khía cạnh của thực thể , là người đưa ra ý kiến và là thời gian mà ý kiếna e h t

được đưa ra

tìm tất cả các sắc thái (bộ 5 thành phần(e a s h t , , , , )) trong d

Trong luận văn này, tôi tập trung phân tích vào hai thành phần là thực thể

và sắc thái tương ứng với thực thể Bài toán phân tích sắc thái văn bản lúc này

là tìm các bộ(e s , )với là thực thể và là sắc thái tương ứng Hệ thống phâne s

tích sắc thái văn bản có thể chia thành các module sau đây:

1 Trích xuất thực thể: Xác định tất cả từ diễn đạt thực thể được nhắc

đến trong văn bản và nhóm chúng lại với nhau thành các cụm thực thể

Mỗi cụm này chỉ đến một thực thể e i duy nhất Ví dụ trong câu "Tôi rất

thích Vietnam Airlines Chất lượng xứng đáng với giá tiền, sẽ tiếp tục

cùng chỉ đến một thực thể duy nhất là hãng Hàng không Vietnam

thể đã trích xuất được, tiến hành phân loại sắc thái cho nội dung đó và

Trang 38

tổng hợp kết quả để đưa ra kết luận cuối cùng.

Ví dụ 2 Xét đoạn đánh giá sau: "Hôm qua tôi mua một chiếc điện thoại

iPhone và bạn tôi mua máy ảnh Canon ở siêu thị điện máy Xanh Mục đích của tôi khi mua iphone là để chụp ảnh Tuy nhiên, chất lượng ảnh chụp từ iphone của tôi không tốt lắm và pin hết rất nhanh Bạn tôi thì rất thích chiếc máy ảnh và anh ấy có những bức ảnh rất đẹp Tôi nghĩ tôi sẽ trả lại chiếc điện thoại và đổi lấy máy ảnh vào ngày mai" - Đức, ngày 08/03/2020

Bài đánh giá trên nhắc đến hai thực thể là điện thoại iPhone và máy ảnhCanon Trong đó, điện thoại iPhone bị đánh giá tiêu cực về chất lượng chụpảnh và thời lượng pin, máy ảnh Canon được đánh giá tích cực

Với module đầu tiên, tôi sẽ trích xuất thực thể bằng cách sử dụng từ khóachỉ thực thể Ngoài ra, để hỗ trợ cho module thứ hai, quá trình trích xuất sẽbao gồm cả việc xác định các đoạn liên quan đến thực thể trong văn bản thay

vì toàn bộ Với module phân loại sắc thái văn bản, tôi sử dụng một mô hìnhhọc sâu BiLSTM (Bidirectional Long Short-Term Memory) [11] kết hợp vớiviệc học chuyển tiếp (transfer learning) [34] để cải thiện kết quả

2.2 Mô hình đề xuất

2.2.1 Xác định đối tượng và phân tách nội dung

Để phân tích sắc thái của các đối tượng trong văn bản, trước hết ta cần xácđịnh nội dung liên quan đến đối tượng trong văn bản Dữ liệu văn bản liênquan đến nhiều đối tượng thường có các đặc điểm sau:

1 Câu liên quan đến đối tượng thường chứa từ khóa chỉ đối tượng hoặc vịtrí ở gần (phía trước hoặc phía sau) với câu chứa từ khóa chỉ đối tượng

Trang 39

2 Đối với các bài nhiều đối tượng, nếu nhắc đến một đối tượng khác cùngthuộc lĩnh vực đó thì các câu sau sẽ liên quan đến đối tượng gần nónhất.

3 Số lượng từ khóa chỉ đối tượng không quá nhiều, có thể tạo thủ công từđầu và bổ sung dần trong quá trình triển khai

Dựa trên những đặc điểm này, tôi đề xuất sử dụng hệ thống luật heuristic dựavào từ khóa để bóc tách đối tượng và nội dung trong văn bản Việc sử dụngphương án này có ưu và nhược điểm như sau:

• Ưu điểm: thời gian triển khai nhanh, dễ dàng điều chỉnh và mở rộng

thêm cho các lĩnh vực mới Kết quả bóc tách khá hợp lý và có thể giảithích được

• Nhược điểm: vì dựa trên hệ thống luật nên không thể khái quát tất cả

các trường hợp, dẫn đến việc bóc tách sai lệch, dư thừa nội dung

Thuật toán bóc tách nội dung

Cho văn bản liên quan đến tập các đối tượng cùng lĩnh vực Tách văn bảnd E

d thành danh sách các câu [s1, s2, , s n] Thuật toán dựa trên hệ thống luậtsau:

1 Từ vị trí current chứa từ khóa chỉ đối tượng trong , lấy thêm nhiều E

nhấtbe f orecâu phía trước vàa f tercâu phía sau để tạo thành các đoạn

chỉ đối tượng (current before after, , ∈ N).

2 Đảm bảo trong mỗi đoạn không tồn tại hai câu chỉ đến hai đối tượngkhác nhau và các câu trong đoạn có thứ tự liên tiếp Cụ thể, từ vị trí

Trang 40

current − be f oređến vị trí current, nếu tồn tại một câu chứa từ khóa

chỉ đối tượng khác thì lấy câu ngay sau đó đến vị trí current Từ vị trí

current đến vị trícurrent+a f ter, nếu tồn tại một câu chứa từ khóa chỉ

đối tượng khác thì lấy từ current đến câu ngay trước vị trí đó.

Thuật toán 1: Thuật toán bóc tách đối tượng trong văn bản

forsub ject in E do

subtext sub ject sub ject_ [ ][]

end

Ngày đăng: 26/01/2024, 15:42

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN