Tải bản đầy đủ (.pdf) (83 trang)

Phân loại văn bản dựa trên CNC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.94 MB, 83 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRẦN THỊ THÚY HÀ

C
C

R
L
T.

PHÂN LOẠI VĂN BẢN DỰA TRÊN CNN

DU

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Đà Nẵng – Năm 2021


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRẦN THỊ THÚY HÀ

C
C

PHÂN LOẠI VĂN BẢN DỰA TRÊN CNN


R
L
T.

DU

Chuyên ngành : Khoa học máy tính
Mã số

: 8480101

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. VÕ TRUNG HÙNG

Đà Nẵng – Năm 2021


-i-

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi dưới sự hướng dẫn
trực tiếp của PGS.TS Võ Trung Hùng.
Mọi tham khảo, số liệu, bảng biểu dùng trong luận văn đều được trích dẫn rõ ràng
tên tác giả, tên cơng trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu
hồn tồn trách nhiệm.
Tác giả

C

C

Trần Thị Thúy Hà

DU

R
L
T.


-ii-

TÓM TẮT ĐỀ TÀI
PHÂN LOẠI VĂN BẢN DỰA TRÊN CNN
Học viên:

Trần Thị Thúy Hà. Chuyên ngành: Khoa học máy tính

Mã số: 8480101. Khóa:36

Trường Đại học Bách khoa – ĐHĐN

Tóm tắt – Hiện nay, số lượng văn bản quá lớn, sử dụng phương pháp
phân loại dữ liệu thủ công là điều khơng khả thi bởi có vơ số văn bản cần
phân loại. Mặt khác máy tính chỉ có thể hiểu được dữ liệu đầu vào ở dạng
số mà phần lớn lượng thông tin hiện nay lại ở dạng văn bản – một dạng

C
C


của ngôn ngữ tự nhiên nên vấn đề đặt ra ở đây là làm sao để chuyển dữ
liệu ở dạng ký tự về dữ liệu dạng số sau đó tổ chức huấn luyện máy tính

R
L
T.

có thể hiểu để phân loại thơng tin có hiệu quả cao nhất, nhanh chóng

DU

phân loại được thông tin theo thể loại đã định trước.
Trước hết đã là bài tốn phân loại thì chúng ta có thể dùng các
thuật tốn phân loại như: Naive Bayes, Decision Tree (Random Forest),
Véc tơ Support Machine (SVM), Convolution Nơron Network (CNN),
Recurrent Nơron Network (RNN)… Theo một số khảo sát, nghiên cứu
thì kỹ thuật mạng Nơron tích chập - CNN được đánh giá là có độ chính
xác tốt với tính nhất quán dữ liệu khá cao và vượt trội hơn các kỹ thuật
khác ở thời gian huấn luyện dữ liệu.
Luận văn bao gồm các nội dung sau: (1) Tổng quan lý thuyết và
phương pháp xử lý ngôn ngữ tự nhiên (2) Tổng quan về bài toán phân
loại văn bản. (3) Triển khai hệ thống và nhận xét
Từ khóa – Phân loại văn bản, mạng nơ ron tích chập, xử lý dữ liệu,
nhúng từ, siêu tham số.


-iii-

(CONVOLUTIONAL NORON NETWORK)

Abstract - Now, the amount of documents is too large, using manual data
classification method is not feasible because there are countless documents
to classify. On the other hand, computers can only understand input data in
the form of numbers, but most of the information today is in text form - a
form of natural language so the problem is how to transfer data. Character
data about digital data, then computer training organizations can understand
to classify information most effectively, quickly classify information
according to predetermined categories.

C
C

First of all, the classification problem, we can use classification

R
L
T.

algorithms such as: Naive Bayes, Decision Tree (Random Forest), Véc tơ
Support Machine (SVM), Convolution Nơron Network (CNN), Recurrent

DU

Nơron Network (RNN) ) ... According to some surveys and studies, the
convolutional nơron network technique - CNN is considered to have good
accuracy with high data consistency and is superior to other techniques at
data training time. Whether.
The thesis includes the following contents: (1) Overview of theory
and natural language processing methods (2) Overview of the text
classification problem. (3) Implementing system and commenting.

Key words - Classification of text, nơron networks, data processing,
Word Embedding, hyperparameter.


-iv-

MỤC LỤC
LỜI CAM ĐOAN................................................................................................... i
TÓM TẮT ĐỀ TÀI ............................................................................................... ii
MỤC LỤC ............................................................................................................ iv
DANH MỤC CÁC HÌNH ẢNH .......................................................................... vi
DANH MỤC BẢNG BIỂU ................................................................................ vii
DANH MỤC TỪ VIẾT TẮT ............................................................................. viii
MỞ ĐẦU ............................................................................................................... 1
1. LÝ DO CHỌN ĐỀ TÀI ................................................................................... 1
2. MỤC TIÊU VÀ NHIỆM VỤ ........................................................................... 2
3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU................................................. 3

C
C

4. PHƯƠNG PHÁP NGHIÊN CỨU ................................................................... 3

R
L
T.

5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN ...................................................... 4
6. BỐ CỤC LUẬN VĂN ..................................................................................... 4


DU

CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT ...................................... 5
1.1. Tổng quan về xử lý ngôn ngữ tự nhiên........................................................ 5
1.2. Học sâu....................................................................................................... 10
1.2.1. Khái niệm ............................................................................................ 10
1.2.2. Học sâu là một mạng lưới thần kinh lớn............................................. 10
1.2.3. Học sâu là học tính năng phân cấp ..................................................... 13
1.2.4. Học sâu - học có thể mở rộng trên các miền ...................................... 16
1.3. Hứa hẹn của học sâu dành cho ngôn ngữ tự nhiên .................................... 17
1.3.1. Hứa hẹn của học sâu ........................................................................... 17
1.3.2. Hứa hẹn của mô hình thay thế thả vào................................................ 18
1.3.3. Hứa hẹn của mơ hình nlp mới ............................................................. 18
1.3.4. Hứa hẹn về tính năng học tập ............................................................. 19
1.3.5. Hứa hẹn tiếp tục cải tiến ..................................................................... 20
1.3.6. Hứa hẹn về các mơ hình đầu cuối ....................................................... 20
1.4. Tiểu kết chương ......................................................................................... 21


-v-

CHƯƠNG 2. PHÂN LOẠI VĂN BẢN .............................................................. 23
2.1. Mô tả bài toán ............................................................................................ 23
2.2. Kỹ thuật Word Embeddings kết hợp CNN cho bài phân loại văn bản...... 26
2.3. Sử dụng kiến trúc CNN một lớp ................................................................ 33
2.4. Siêu tham số trong CNN ............................................................................ 39
2.5. Tiểu kết chương ......................................................................................... 42
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ ................................................. 43
3.1. Đặc tả chương trình ................................................................................... 43
3.2. Lựa chọn cơng cụ ....................................................................................... 44

3.2.1. Ngơn ngữ Python ................................................................................ 44
3.2.2. Framework Tensorflow ....................................................................... 46

C
C

3.2.3. Keras ................................................................................................... 46

R
L
T.

3.3. Các bước triển khai .................................................................................... 47
3.4. Chuẩn bị dữ liệu ......................................................................................... 48

DU

3.5. Cài đặt - ứng dụng ..................................................................................... 49
3.6. Đánh giá ..................................................................................................... 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................................... 61
TÀI LIỆU THAM KHẢO ................................................................................... 62
Tài liệu tiếng Việt: ............................................................................................... 62
Tài liệu tiếng Anh:............................................................................................... 62


-vi-

DANH MỤC CÁC HÌNH ẢNH
Hình 1. 1. Mơ hình mạng thần kinh nhân tạo ................................................................ 11
Hình 1. 2. Lý do sử dụng Deep Learning ......................................................................13

Hình 2. 1. Cấu trúc CNN phân loại câu .........................................................................24
Hình 2. 2. Ví dụ mơ tả về xử lý thành Véc tơ của Word Embedding ........................... 28
Hình 2. 3. Phân bố mối quan hệ giữa các từ trong word2vec .......................................29
Hình 2. 4. Mơ hình skip-gram trong word2vec ............................................................. 30
Hình 2. 5. Mơ hình mạng Nơron 1 lớp ẩn của word2vec ..............................................31
Hình 2. 6. Hoạt động của lớp ẩn của mơ hình hoạt động ..............................................32
Hình 2. 7. Cửa sổ trượt Sliding window ........................................................................34

C
C

Hình 2. 8. Mơ tả cách một Filter 3×3 có thể phát hiện Vertical Edge của một image. .34
Hình 2. 9. Sơ đồ mơ hình 1 lớp của CNN .....................................................................35

R
L
T.

Hình 2. 10. Filter kích thước 2x2 để tính giá trị Pooling ..............................................36

DU

Hình 2. 11. Cấu trúc tổng qt mơ hình CNN ............................................................... 36
Hình 2. 12. Một ví dụ về Bộ lọc CNN và Kiến trúc bỏ phiếu cho NNTN xử lý ..........38
Hình 2. 13. Ma trận sử dụng Zero Padding ...................................................................41
Hình 3. 1. Workflow của quy trình giải quyết của học máy. ........................................43


-vii-


DANH MỤC BẢNG BIỂU
Bảng 2. 1. Bảng so sánh kích thước Filter.....................................................................40

C
C

DU

R
L
T.


-viii-

DANH MỤC TỪ VIẾT TẮT

STT
1

TỪ VIẾT TẮT
CNN

MÔ TẢ
Convolutional Nơron Network - Mạng nơ ron tích chập

2

NLP


Natural language processing - Xử lý ngôn ngữ tự nhiên

3

DL

Deep learning – Học sâu

4

RNN

Recurrent nơron network - Mạng nơ ron hồi quy

5

NMT

Nơron machine translation – Mơ hình dịch máy

6

API

Application Programming Interface – phương thức
trung gian kết nối các ứng dụng và thư viện khác nhau.

C
C


DU

R
L
T.


-1-

MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Ngày nay, với sự phát triển mạnh mẽ của ngành công nghệ thông tin cùng
với sự bùng nổ về khối lượng thông tin trên mạng Internet đang khiến con người
loay hoay với việc xử lý ra sao với lượng thơng tin đó để có thể phân loại, chọn
lọc thông tin sao cho tốt nhất cho mình.
Trong thực tế, số lượng văn bản quá lớn, sử dụng phương pháp phân loại
dữ liệu thủ công là điều khơng khả thi bởi có vơ số văn bản cần phân loại. Mặt
khác như chúng ta đã biết máy tính chỉ có thể hiểu được dữ liệu đầu vào ở dạng
số mà phần lớn lượng thông tin hiện nay lại ở dạng văn bản - một dạng của ngôn
ngữ tự nhiên nên vấn đề đặt ra ở đây là làm sao để chuyển dữ liệu ở dạng ký tự

C
C

về dữ liệu dạng số sau đó tổ chức huấn luyện máy tính có thể hiểu để phân loại

R
L
T.


thơng tin có hiệu quả cao nhất, nhanh chóng phân loại được thơng tin theo thể loại
đã định trước. Đã có nhiều nghiên cứu nhằm giải quyết vấn đề trên và bài toán

DU

phân loại văn bản là một trong những giải pháp hợp lý. Phân loại văn bản là một
vấn đề quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên (NNTN). Nhiệm vụ của
bài toán này là gán các tài liệu văn bản vào nhóm các chủ đề cho trước. Hướng
giải quyết cho bài toán trên là xây dựng một chương trình máy tính tự động phân
loại các thơng tin dữ liệu trên để xử lý một cách nhanh chóng và hiệu quả.
Trước hết đã là bài tốn phân loại thì chúng ta có thể dùng các thuật tốn
phân loại (trong machine learning hay deep learning) như: Naive Bayes, Decision
Tree (Random Forest), Véc tơ Support Machine (SVM), Convolution Nơron
Network (CNN), Recurrent Nơron Network (RNN), Long Short-Term Memory
(LSTM)…
Thông thường khi nhắc tới xử lý ngôn ngữ tự nhiên, người ta thường nhắc
tới mạng RNN (recurrent nơron network) mạng nơ- ron hồi quy. Ngay từ cái nhìn
đầu tiên, CNN có vẻ khơng phù hợp với nhiệm vụ khai phá văn bản mà chỉ phù
hợp với việc xử lý trên hình ảnh. Đầu tiên, những pixcel của bức ảnh được biểu
diễn rất giống nhau (với sự kết hợp của RGB), bất kể ở vị trí nào trong bức ảnh,


-2-

cịn với một văn bản thì vị trí của các từ rất quan trọng. Thứ hai, những vấn đề ví
dụ như dịch chuyển không thể xử lý theo cùng một cách ở trong dữ liệu văn bản.
Những pixcel gần nhau trong một bức ảnh thông thường rất giống nhau, trong khi
những từ gần nhau trong văn bản thì khơng bao giờ giống nhau.
Tuy nhiên, những năm gần đây thì việc dùng mạng CNN cho xử lý ngôn
ngữ tự nhiên trở nên rất phổ biến và hiệu suất ngày càng được cải thiện. Theo một

số khảo sát, nghiên cứu thì kỹ thuật mạng Nơron tích chập - CNN được đánh giá
là có độ chính xác tốt với tính nhất qn dữ liệu khá cao và vượt trội hơn các kỹ
thuật khác ở thời gian huấn luyện – trainning dữ liệu.
Trong luận văn này, tôi tập trung nêu ra chi tiết các bước thực hiện bài toán
“Phân loại văn bản dựa trên CNN (Convolutional Nơron Network)” trong lĩnh

C
C

vực xử lý ngôn ngữ tự nhiên và cách tiếp cận để giải quyết bài toán cũng những

R
L
T.

kết quả đã đạt được. Cuối cùng là xây dựng chương trình ứng dụng dựa trên kỹ
thuật Word Embedding kết hợp với thuật toán CNN để phân loại văn bản.
2.

DU

MỤC TIÊU VÀ NHIỆM VỤ

2.1. Mục tiêu

Ứng dụng thành cơng kỹ thuật Word Embedding kết hợp với thuật tốn
CNN vào bài toán phân loại văn bản trong thực tế.
2.2. Nhiệm vụ
Nghiên cứu cơ sở lý thuyết về xử lý ngôn ngữ tự nhiên, các kỹ thuật học
sâu và áp dụng kỹ thuật học sâu CNN vào thực tế trong các bài toán phân loại văn

bản.
Bài toán phân loại văn bản ở đây là tự động phân loại văn bản vào một hoặc
nhiều danh mục (chuyên mục) đã được xác định trước đó. Một vài ví dụ của phân
loại văn bản là: phân loại theo cảm xúc của người viết bài (vui, buồn, tức giận...)
từ mạng xã hội, phát hiện thư rác, tự động gán nhãn các truy vấn của khách hàng,
phân loại các bài báo thành các chủ đề đã được xác định trước…
Để phân loại văn bản, trong đề tài này tôi sẽ triển khai các nhiệm vụ chính
như sau:


-3-

- Thu thập và xử lý dữ liệu văn bản: gồm các cơng việc chính như thu thập
sau đó “làm sạch” hoặc lọc lại dữ liệu.
- Xây dựng tập văn bản cần huấn luyện: Dữ liệu đầu vào mà mô hình học
có giám sát của chúng ta có thể hiểu và hứa hẹn được các lớp cần thiết gồm hai
tập chính là Data trainning và Data testing. Giai đoạn này gồm các bước chính là
tách từ và lựa chọn từ đặc trưng hay từ quan trọng. Sau đó chúng ta xây dựng bộ
từ điển các từ để thay thế các từ xuất hiện bằng vị trí trong từ điển.
- Xây dựng véc tơ đặc trưng (Feature Véc tơ): Một véc tơ đặc trưng là một
véc tơ bao gồm thông tin chi tiết các đặc tính của dữ liệu đầu vào cho từng file dữ
liệu. Mỗi véc tơ có độ dài bằng chính số từ trong từ điển.
- Huấn luyện: gán nhãn dữ liệu và tiến hành phân lớp văn bản để huấn luyện.

C
C

Ở đây tập trung sử dụng thuật toán CNN để huấn luyện xử lý để phân lớp văn bản.

R

L
T.

- Đánh giá: Mơ hình đã được huấn luyện trước đó sẽ được dùng để hứa hẹn
lớp cho văn bản cần phân loại. Đây là bước đánh giá bộ phân lớp.
3.

DU

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

3.1. Đối tượng

Các vấn đề liên quan đến xử lý ngôn ngữ tự nhiên và thuật toán học sâu
CNN và kỹ thuật nhúng Word Embedding.
3.2. Phạm vi nghiên cứu
Nghiên cứu tập trung vào kỹ thuật học sâu và ứng dụng CNN vào giải quyết
bài toán phân loại văn bản.
4.

PHƯƠNG PHÁP NGHIÊN CỨU

4.1. Phương pháp nghiên cứu tài liệu

- Tìm hiểu các bài báo trong và ngồi nước về xử lý ngơn ngữ tự nhiên và
học sâu.
- Tìm các dữ liệu mẫu về bài tốn phân loại văn bản.
- Tìm hiểu các phương pháp phân loại văn bản áp dụng cho việc huấn luyện
dùng CNN.



-4-

4.2. Phương pháp nghiên cứu thực nghiệm

- Xây dựng chương trình demo vào chương cuối dựa trên giải pháp đề xuất.
5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
- Ý nghĩa khoa học: Nghiên cứu các kỹ thuật học sâu và một số giải thuật
thường sử dụng trong học sâu. Phát triển ứng dụng kỹ thuật Word
Embedding và thuật toán CNN vào giải quyết bài toán thực tế.
- Ý nghĩa thực tiễn: Xây dựng một chương trình tự động để hỗ trợ máy tính
phân loại văn bản từ việc xử lý ngôn ngữ tự nhiên.
6. BỐ CỤC LUẬN VĂN
CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT

C
C

Chương này trình bày khái quát về ngôn ngữ tự nhiên và các phương pháp

R
L
T.

xử lý ngôn ngữ tự nhiên.

DU

CHƯƠNG 2: PHÂN LOẠI VĂN BẢN


Chương này trình bày về bài tốn phân loại văn bản và kỹ thuật xử lý ngôn
ngữ tự nhiên Word Embeddings và mơ hình nơ ron tích chập cho phân loại văn
bản.
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ
Triển khai ứng dụng cụ thể giải quyết bài tốn thực tế mơ phỏng cho cơ sở
lý thuyết ở chương 1 và 2 và đánh giá.


-5-

CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT
Xử lý ngôn ngữ tự nhiên hay viết tắt là NLP, được định nghĩa rộng rãi là thao
tác tự động của ngôn ngữ tự nhiên như lời nói và văn bản bằng phần mềm. Nghiên
cứu xử lý ngôn ngữ tự nhiên đã tồn tại hơn 50 năm và phát triển ra khỏi lĩnh vực
ngôn ngữ học với sự phát triển của máy tính. Trong chương này, chúng ta sẽ khám
phá xử lý ngơn ngữ tự nhiên là gì và tại sao nó là rất quan trọng.
1.1.

Tổng quan về xử lý ngôn ngữ tự nhiên

1.1.1. Khái niệm về ngôn ngữ tự nhiên
Ngôn ngữ tự nhiên đề cập đến cách mà con người giao tiếp với nhau cụ thể
là lời nói và văn bản. Chúng ta đang được được bao quanh bởi văn bản. Hãy suy
nghĩ về số lượng văn bản bạn nhìn thấy mỗi ngày: dấu hiệu, thực đơn, Email, tin

C
C

nhắn, trang web, ... Chúng ta có thể nói chuyện với nhau một cách dễ dàng hơn là


R
L
T.

cách chúng ta viết. Văn nói bao giờ cũng dễ hơn văn viết. Giọng nói và văn bản
là cách chúng ta giao tiếp với mọi người. Do tầm quan trọng của loại dữ liệu này,

DU

chúng ta phải có phương pháp để hiểu và suy luận về ngôn ngữ tự nhiên, giống
như chúng ta làm đối với các loại dữ liệu khác.[1]
1.1.2. Thách thức đặt ra đối với ngôn ngữ tự nhiên
Làm việc với dữ liệu của ngôn ngữ tự nhiên không phải dễ để xử lý. Nó đã
được nghiên cứu trong nửa thế kỷ và nó thực sự rất khó.
“Đó là khó khăn từ quan điểm của một đứa trẻ, người phải mất nhiều năm
để có được một ngơn ngữ ... rất khó cho người học ngơn ngữ người lớn, nó khó
cho nhà khoa học người cố gắng mơ hình hóa các hiện tượng liên quan, và thật
khó cho kỹ sư cố gắng xây dựng các hệ thống xử lý đầu vào hoặc đầu ra ngôn ngữ
tự nhiên. Những nhiệm vụ khó khăn đến mức Turing có thể thực hiện cuộc trị
chuyện trơi chảy một cách tự nhiên ngôn ngữ trung tâm của bài kiểm tra trí thơng
minh của mình.” [4]
Ngơn ngữ tự nhiên chủ yếu là khó vì vấn đề là nó khá lộn xộn. Có một vài
quy tắc giúp chúng ta có thể dễ dàng hiểu nhau hầu hết thời gian.
1.1.3. Từ ngôn ngữ học đến xử lý ngôn ngữ tự nhiên


-6-

Ngôn ngữ học là nghiên cứu khoa học về ngôn ngữ, bao gồm ngữ pháp,
ngữ nghĩa và ngữ âm của nó. Ngơn ngữ học cổ điển liên quan đến việc nghĩ ra và

đánh giá các quy tắc của ngôn ngữ. Những tiến bộ lớn đã được thực hiện về các
phương thức chính thức cho cú pháp và ngữ nghĩa, nhưng phần lớn, các vấn đề
thú vị trong hiểu ngôn ngữ tự nhiên chống lại hình thức tốn học sạch.
Nhìn rộng ra, một nhà ngôn ngữ học là bất cứ ai nghiên cứu ngơn ngữ,
nhưng có lẽ thơng thường hơn một nhà ngơn ngữ học tự thân là người có thể tập
trung hơn vào việc ra ngồi thực địa. Tốn học là cơng cụ của khoa học. Các nhà
tốn học làm việc trên ngơn ngữ tự nhiên có thể coi nghiên cứu của họ là tốn học
ngơn ngữ học, tập trung hồn tồn vào việc sử dụng các hình thức và lý thuyết
tốn học rời rạc cho ngơn ngữ tự nhiên.

C
C

Ngơn ngữ học tính tốn là nghiên cứu hiện đại về ngôn ngữ học sử dụng

R
L
T.

các công cụ của khoa học máy tính. Ngơn ngữ học trước đây có thể là nhà ngơn
ngữ học tính tốn cịn ngày nay khi sử dụng các cơng cụ tính tốn và suy nghĩ đã

DU

vượt qua hầu hết các lĩnh vực nghiên cứu.

Ngôn ngữ học tính tốn là nghiên cứu về hệ thống máy tính để hiểu và tạo
ra ngôn ngữ tự nhiên. Một chức năng tự nhiên cho ngơn ngữ học tính tốn sẽ là
thử nghiệm ngữ pháp được đề xuất bởi các nhà ngơn ngữ học lý thuyết.
Dữ liệu lớn và máy tính nhanh có nghĩa là những thứ mới và khác nhau có

thể được phát hiện từ bộ dữ liệu lớn của văn bản bằng cách viết và chạy phần
mềm. Trong những năm 1990, phương pháp thống kê và học máy thống kê bắt
đầu và cuối cùng thay thế dựa trên quy tắc từ trên xuống cổ điển tiếp cận với ngôn
ngữ, chủ yếu là do kết quả tốt hơn, tốc độ và sự mạnh mẽ của họ. Các phương
pháp thống kê để nghiên cứu ngôn ngữ tự nhiên hiện đang thống trị lĩnh vực này;
nó có thể định nghĩa cánh trường.
Các phương pháp dựa trên dữ liệu để xử lý ngôn ngữ tự nhiên đã trở nên
rất phổ biến rằng chúng phải được coi là phương pháp tiếp cận chủ đạo đối với
ngơn ngữ học tính tốn. Một yếu tố đóng góp mạnh mẽ cho sự phát triển này chắc
chắn là sự gia tăng lượng dữ liệu được lưu trữ điện tử có sẵn mà các phương pháp


-7-

này có thể được áp dụng; một yếu tố khác có thể là một sự bất mãn nhất định với
các phương pháp chỉ dựa vào trên các quy tắc thủ công.
Cách tiếp cận thống kê đối với ngôn ngữ tự nhiên khơng chỉ giới hạn ở
thống kê, mà cịn đối với phương pháp suy luận tiên tiến như những phương pháp
được sử dụng trong học máy ứng dụng. Hiểu ngôn ngữ tự nhiên địi hỏi lượng lớn
kiến thức về hình thái, cú pháp, ngữ nghĩa và thực dụng cũng như kiến thức chung
về thế giới. Tiếp thu và mã hóa tất cả những kiến thức này là một trong những trở
ngại cơ bản để phát triển hệ thống ngôn ngữ hiệu quả và mạnh mẽ. Giống như
thống kê phương pháp ... phương pháp học máy không hứa hẹn mua lại tự động
kiến thức này từ ngôn ngữ ngôn ngữ chú thích hoặc khơng được chú ý.
Ngơn ngữ học tính tốn cũng được biết đến bằng tên của quá trình xử lý

C
C

ngôn ngữ tự nhiên để phản ánh cách tiếp cận dựa trên sự sắp đặt hoặc dựa trên


R
L
T.

kinh nghiệm của các phương pháp thống kê.

Ngôn ngữ học là một chủ đề lớn của nghiên cứu, và, mặc dù cách tiếp cận

DU

thống kê về ngôn ngữ tự nhiên đã chỉ ra thành cơng lớn trong một số lĩnh vực, vẫn
cịn chỗ và lợi ích lớn từ trên xuống cổ điển phương pháp.
1.1.4. Xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) là một nhánh
của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngơn ngữ của con người.
Trong trí tuệ nhân tạo thì xử lý ngơn ngữ tự nhiên là một trong những phần khó
nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngơn ngữ - cơng cụ hồn hảo nhất
của tư duy và giao tiếp.
Xử lý ngôn ngữ tự nhiên có vai trị hết sức quan trọng trong ngành Khoa
học máy tính. Nó có vơ vàn ứng dụng hữu ích trong cuộc sống cũng như nghiên
cứu. Chúng ta có thể điểm qua một vài ứng dụng của xử lý ngôn ngữ tự nhiên
như:1

1

/>

-8-


-

Nhận dạng chữ viết: Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ
in, ví dụ nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng
văn bản điện tử như dưới định dạng doc của Microsoft Word chẳng hạn.

-

Phức tạp hơn là nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay
khơng có khn dạng rõ ràng và thay đổi từ người này sang người khác.
Với chương trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu
sách trong thư viện thành văn bản điện tử trong thời gian ngắn. Nhận
dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo
mật thông tin (nhận dạng chữ ký điện tử).

-

Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn
bản tương ứng. Giúp thao tác của con người trên các thiết bị nhanh hơn

C
C

và đơn giản hơn, chẳng hạn thay vì gõ một tài liệu nào đó bạn đọc nó lên

R
L
T.

và trình soạn thảo sẽ tự ghi nó ra. Đây cũng là bước đầu tiên cần phải

thực hiện trong ước mơ thực hiện giao tiếp giữa con người với robot.

DU

Nhận dạng tiếng nói có khả năng trợ giúp người khiếm thị rất nhiều.
-

Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói.
Thay vì phải tự đọc một cuốn sách hay nội dung một trang web, nó tự
động đọc cho chúng ta. Giống như nhận dạng tiếng nói, tổng hợp tiếng
nói là sự trợ giúp tốt cho người khiếm thị, nhưng ngược lại nó là bước
cuối cùng trong giao tiếp giữa robot với người.

-

Dịch tự động (Machine translate): Như tên gọi đây là chương trình dịch
tự động từ ngơn ngữ này sang ngơn ngữ khác. Một phần mềm điển hình
về tiếng Việt của chương trình này là Evtrans của Softex, dịch tự động
từ tiếng Anh sang tiếng Việt và ngược lại, phần mềm từng được trang
web vdict.com mua bản quyền, đây cũng là trang đầu tiên đưa ứng dụng
này lên mạng. Tháng 10 năm 2008 có hai cơng ty tham gia vào lĩnh vực
này cho ngôn ngữ tiếng Việt là công ty Lạc Việt (công ty phát hành từ
điển Lạc Việt) và Google, một thời gian sau đó Xalo.vncũng đưa ra dịch
vụ tương tự.


-9-

-


Tìm kiếm thơng tin (Information retrieval): Đặt câu hỏi và chương trình
tự tìm ra nội dung phù hợp nhất. Thơng tin ngày càng đầy lên theo cấp
số nhân, đặc biệt với sự trợ giúp của Internet việc tiếp cận thông tin trở
lên dễ dàng hơn bao giờ hết. Việc khó khăn lúc này là tìm đúng nhất
thơng tin mình cần giữa bề bộn tri thức và đặc biệt thông tin đó phải đáng
tin cậy. Các máy tìm kiếm dựa trên giao diện web như Google hay Yahoo
hiện nay chỉ phân tích nội dung rất đơn giản dựa trên tần suất của từ khoá
và thứ hạng của trang và một số tiêu chí đánh giá khác để đưa ra kết luận,
kết quả là rất nhiều tìm kiếm khơng nhận được câu trả lời phù hợp, thậm
chí bị dẫn tới một liên kết khơng liên quan gì do thủ thuật đánh lừa của
các trang web nhằm giới thiệu sản phẩm (có tên tiếng Anh là SEO viết

C
C

tắt của từ Search Engine Optimization). Thực tế cho đến bây giờ chưa có

R
L
T.

máy tìm kiếm nào hiểu được ngôn ngữ tự nhiên của con người trừ trang
www.ask.com được đánh giá là "hiểu" được những câu hỏi có cấu trúc ở

DU

dạng đơn giản nhất. Mới đây cộng đồng mạng đang xôn xao về trang
Wolfram Alpha, được hứa hẹn là có khả năng hiểu ngơn ngữ tự nhiên
của con người và đưa ra câu trả lời chính xác. Lĩnh vực này hứa hẹn tạo
ra bước nhảy trong cách thức tiếp nhận tri thức của cả cộng đồng.

-

Tóm tắt văn bản: Từ một văn bản dài tóm tắt thành một văn bản ngắn
hơn theo mong muốn nhưng vẫn chứa những nội dung thiết yếu nhất.

-

Khai phá dữ liệu (Data mining) và phát hiện tri thức: Từ rất nhiều tài liệu
khác nhau phát hiện ra tri thức mới. Thực tế để làm được điều này rất
khó, nó gần như là mơ phỏng q trình học tập, khám phá khoa học của
con người, đây là lĩnh vực đang trong giai đoạn đầu phát triển. Ở mức độ
đơn giản khi kết hợp với máy tìm kiếm nó cho phép đặt câu hỏi để từ đó
cơng cụ tự tìm ra câu trả lời dựa trên các thông tin trên web mặc cho việc
trước đó có câu trả lời lưu trên web hay không (giống như trang Yahoo!
hỏi và đáp, nơi chuyên đặt các câu hỏi để người khác trả lời), nói một


-10-

cách dễ hiểu là nó đã biết xử lý dữ liệu để trả lời câu hỏi của người sử
dụng, thay vì máy móc đáp trả những gì chỉ có sẵn trong bộ nhớ.
Xử lý ngôn ngữ tự nhiên là một kĩ thuật quan trọng nhằm giúp máy tính
hiểu được ngơn ngữ của con người, qua đó hướng dẫn máy tính thực hiện và giúp
đỡ con người trong những công việc có liên quan đến ngơn ngữ như : dịch thuật,
phân tích dữ liệu văn bản, nhận dạng tiếng nói, tìm kiếm thông tin, ...
1.2.

Học sâu

1.2.1. Khái niệm

Học sâu2 (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 tốn để cố gắng mơ hình dữ liệu trừu tượng hóa ở mức cao bằng

C
C

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.

R
L
T.

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. Một quan sát (ví dụ như, một hình ảnh) có thể được

DU

biểu diễn bằng nhiều cách như một véc tơ 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... Một vài đại diện làm khiến việc học các nhiệm vụ dễ dàng hơn
(ví dụ, nhận dạng khn mặt hoặc biểu hiện cảm xúc trên khn mặt) từ các ví
dụ. Một trong những hứa hẹn của học sâu là thay thế các tính năng thủ cơng bằng
các thuật tốn hiệu quả đối với học khơng có giám sát hoặc nửa giám sát và tính
năng phân cấp.
Deep Learning là một lĩnh vực của học máy liên quan đến các thuật toán
lấy cảm hứng từ cấu trúc và chức năng của não gọi là mạng lưới thần kinh nhân
tạo.
1.2.2. Học sâu là một mạng lưới thần kinh lớn
Deep Learning (DL) hoạt động dựa trên việc “mơ phỏng” quy trình hoạt

động của bộ não người. Khi suy nghĩ hoặc xác định một vấn đề, chúng ta thường

2

/>

-11-

học bằng các kinh nghiệm trước đó (learning). Hoặc khi gặp một vấn đề phức tạp
hơn, thông thường chúng ta phân tích vấn đề phức tạp đó thành các vấn đề đơn
giản hơn để dễ giải quyết.
Mạng lưới thần kinh được đặt tên như vậy là bởi vì về căn bản chúng bắt
chước hoạt động của các tế bào thần kinh trong não người. Các mạng này được
tạo thành từ 3 lớp tế bào thần kinh kỹ thuật số: lớp đầu vào, lớp ẩn, lớp đầu ra.
Tất cả các mạng thần kinh đều có một lớp đầu vào, trong đó dữ liệu ban đầu được
đưa vào và một lớp đầu ra, tạo ra Hứa hẹn cuối cùng. Nhưng trong một mạng lưới
thần kinh sâu, sẽ có nhiều “lớp tế bào” ẩn giữa các lớp đầu vào và đầu ra, mỗi lớp
cho dữ liệu vào nhau. Do đó, thuật ngữ “Deep” trong “Deep Learning” và “mạng
lưới thần kinh sâu”, nó liên quan đến số lượng lớn các lớp ẩn - thường lớn hơn ba
- tại trung tâm của các mạng thần kinh này.

C
C

R
L
T.

DU


Hình 1. 1. Mơ hình mạng thần kinh nhân tạo
Mơ hình mạng lưới thần kinh3 đầu tiên đến từ McCulloch và Pitts năm 1943.
Mạng này là một bộ phân loại nhị phân, có khả năng nhận ra hai loại khác nhau
dựa trên một số đầu vào. Các vấn đề là các trọng số được sử dụng để xác định
nhãn lớp cho đầu vào đã cho là cần thiết được điều chỉnh thủ cơng bởi con người
- loại mơ hình này rõ ràng khơng có quy mơ tốt.

3

/>

-12-

Sau đó, vào những năm 1950, thuật tốn Perceptron bán kết được
Rosenblatt xuất bản - mơ hình có thể tự động tìm hiểu các trọng số cần thiết để
phân loại đầu vào (khơng có sự can thiệp của con người cần thiết). Trong thực tế,
quy trình đào tạo tự động hình thành nên cơ sở của Stochastic Gradient Descent
(SGD) vẫn còn được sử dụng để đào tạo mạng lưới thần kinh rất sâu ngày nay.
Có lẽ ví dụ điển hình của việc học sâu ứng dụng vào tính năng học tập là
Mạng thần kinh chuyển đổi (LeCun 1988) được áp dụng để nhận dạng ký tự viết
tay tự động tìm hiểu các mẫu phân biệt (được gọi là bộ lọc của bộ lọc) từ hình ảnh
bằng cách xếp chồng liên tiếp các lớp chồng lên nhau. Các bộ lọc ở các cấp thấp
hơn của mạng đại diện cho các cạnh và góc, trong khi các lớp cấp cao hơn sử dụng
các cạnh và góc để tìm hiểu các khái niệm trừu tượng hữu ích hơn cho phân biệt

C
C

giữa các lớp hình ảnh.


R
L
T.

Theo Andrew Ng - Nhà khoa học hàng đầu của Baidu Research, cốt lõi của
học sâu là phải có máy tính đủ nhanh và đủ dữ liệu để thực sự huấn luyện các

DU

mạng nơ-ron lớn. Khi thảo luận về lý do tại sao bay giờ là thời gian mà học sâu
đang phát triển mạnh mẽ, tại ExtracConf 2015 và trong buổi nói chuyện có tiêu
đề “Những gì các nhà khoa học dữ liệu nên biết về Deep Learning” ông đã nói:
“…các mạng nơ-ron rất lớn hiện nay chúng ta có thể có và … một lượng
dữ liệu lớn mà chúng ta có quyền truy cập vào”
Ơng cũng nhận xét về điểm quan trọng liên quan đến quy mô. Khi chúng ta
xây dựng các mạng nơ-ron lớn và huấn luyện chúng với càng nhiều dữ liệu, hiệu
suất của chúng tiếp tục tăng. Điều này thường khác với các kỹ thuật học máy khác
khi đạt tới trạng thái hiệu suất ổn định.
“…với hầu hết các thuật toán học thế hệ cũ, hiệu suất sẽ đạt trạng thái ổn
định trong khi học sâu là lớp các thuật tốn đầu tiên có khả năng nâng cao hiệu
suất khi nó được nạp nhiều dữ liệu học hơn…” [5]


-13-

Hình 1. 2. Lý do sử dụng Deep Learning

C
C


(Trích Slide: “What data scientists should know about deep learning”)

R
L
T.

Trong nhiều ứng dụng, CNN hiện được coi là trình phân loại hình ảnh mạnh
nhất và hiện chịu trách nhiệm thúc đẩy các cơng nghệ tiên tiến trong lĩnh vực thị

DU

giác máy tính thúc đẩy học máy.

1.2.3. Học sâu là học tính năng phân cấp
Ngồi khả năng mở rộng, một lợi ích khác thường được trích dẫn của các
mơ hình học sâu là khả năng thực hiện trích xuất tính năng tự động từ dữ liệu thơ,
cịn được gọi là tính năng học.
Theo Yoshua Bengio - một nhà lãnh đạo khác trong học tập sâu đã viết
trong bài báo có tên “Deep Learning of Representations for Unsupervised and
Transfer Learning - Học sâu về cách đại diện cho việc học không giám sát và
chuyển giao” vào năm 2012 viết rằng:
“Các thuật toán học sâu tìm cách khai thác cấu trúc chưa biết trong phân
phối đầu vào để khám phá các biểu diễn tốt, thường ở nhiều cấp, với các tính
năng đã học ở cấp cao hơn được xác định theo các tính năng cấp thấp hơn”.
Hay trong cuốn sách được xuất bản có tựa đề “Deep Learning – Học sâu”
đồng tác giả với Ian Goodfellow và Aaron Courville, họ định nghĩa học sâu về độ
sâu của kiến trúc của các mơ hình.


-14-


“Hệ thống phân cấp các khái niệm cho phép máy tính học các khái niệm
phức tạp bằng cách xây dựng chúng từ các khái niệm đơn giản hơn. Nếu chúng
ta vẽ một biểu đồ cho thấy các khái niệm này được xây dựng chồng lên nhau như
thế nào, thì biểu đồ sẽ sâu, có nhiều lớp. Vì lý do này, chúng tôi gọi cách tiếp cận
này là học sâu AI”.
Jeff Dean - Giáo sư và là thành viên cao cấp của Google về Hệ thống và Cơ
sở hạ tầng Nhóm tại Google chịu trách nhiệm nhân rộng và ứng dụng học tập sâu
trong Google. Jeff đã tham gia vào dự án Google Brain và phát triển phần mềm
học tập sâu quy mơ lớn DistBelief và sau đó là TensorFlow. Trong một buổi nói
chuyện năm 2016 bài nói chuyện có tiêu đề “Deep Learning and
Understandability versus Software Engineering and Verication - Học sâu để xây

C
C

dựng hệ thống máy tính thơng minh”, ông đã nói rằng học sâu đó thực sự là tất cả

R
L
T.

về các mạng lưới thần kinh lớn.

“Khi bạn nghe thấy thuật ngữ học sâu, chỉ cần nghĩ về một mạng lưới thần

DU

kinh sâu lớn. Sâu đề cập đến số lượng lớp thơng thường và vì vậy loại thuật ngữ
phổ biến này đã được thơng qua trên báo chí. Tơi nghĩ về họ như các mạng lưới

thần kinh sâu sắc nói chung.”
Ơng đã nhấn mạnh tới khả năng mở rộng của các mạng thần kinh và chỉ ra
rằng kết quả sẽ tốt hơn với nhiều dữ liệu hơn và các mơ hình lớn hơn, đến lúc đó
nó sẽ địi hỏi nhiều tính tốn hơn để thực hiện việc đào tạo.
Hay như Peter Norvig - Giám đốc Nghiên cứu của Google và nổi tiếng với
cuốn sách giáo khoa về AI có tiêu đề “ Trí tuệ nhân tạo: Phương pháp tiếp cận
hiện đại ”.
Trong một bài nói chuyện năm 2016, ơng đã đưa ra tiêu đề “Articial
Intelligence: A Modern Approach - Học sâu – Phương pháp tiếp cận hiện đại ”,
ông đã định nghĩa học sâu theo cách rất giống với Yoshua, tập trung vào sức mạnh
của sự trừu tượng được cho phép bằng cách sử dụng cấu trúc mạng sâu hơn.
Trong một bài nói chuyện năm 2016, ơng đã đưa ra tiêu đề “Deep Learning
and Understandability versus Software Engineering and Verication - Học sâu và


-15-

khả năng hiểu so với Kỹ thuật phần mềm và xác minh ”, ông đã định nghĩa học
sâu theo cách rất giống với Yoshua, tập trung vào sức mạnh của sự trừu tượng
được cho phép bằng cách sử dụng cấu trúc mạng sâu hơn.
“Một kiểu học tập trong đó biểu diễn mà bạn tạo thành có một số cấp độ
trừu tượng, thay vì đầu vào trực tiếp cho đầu ra.”
Như chúng ta đã biết các thuật tốn học máy nói chung rơi vào ba loại - học
có giám sát, học không giám sát và học bán giám sát.
Đầu tiên là trường hợp học có giám sát, thuật tốn học máy sẽ được cung
cấp cả bộ đầu vào và mục tiêu đầu ra. Thuật tốn sau đó cố gắng tìm hiểu các mẫu
có thể được sử dụng để tự động ánh xạ dữ liệu đầu vào chỉ ra đầu ra mục tiêu
chính xác của chúng. Học có giám sát tương tự như việc một giáo viên theo dõi

C

C

bạn làm một bài kiểm tra. Với kiến thức trước đây của bạn, bạn làm hết sức mình

R
L
T.

để đánh dấu câu trả lời đúng vào thi; tuy nhiên, nếu bạn khơng chính xác, giáo
viên của bạn sẽ hướng dẫn bạn một phỏng đoán tốt hơn, có giáo dục hơn lần tới.

DU

Trong trường hợp học khơng giám sát, các thuật tốn học máy cố gắng tự
động khám phá các tính năng phân biệt mà khơng có bất kỳ gợi ý nào về đầu vào
là gì. Trong kịch bản này, học sinh cố gắng phân loại nhóm các câu hỏi và câu trả
lời tương tự lại với nhau, mặc dù học sinh không biết những câu trả lời đúng là gì
và giáo viên khơng ở đó để cung cấp cho họ câu trả lời đúng.
Học sâu hay cụ thể là mạng lưới thần kinh chuyển đổi, có một cách tiếp cận
khác, được sử dụng để phân loại hình ảnh và thu được nhãn lớp đầu ra - lớp đầu
ra là trực tiếp hoặc ảnh hưởng gián tiếp bởi mọi nút khác trong mạng.
Chúng ta có thể xem quá trình này là học phân cấp: mỗi lớp trong mạng sử
dụng đầu ra của các lớp trước khi xây dựng các khối để xây dựng các khái niệm
trừu tượng hơn. Những lớp được học tự động - không có kỹ thuật thủ cơng nào
diễn ra trong mạng.
Một trong những lợi ích chính của việc học sâu và Mạng nơ ron kết hợp là
nó cho phép bỏ qua bước trích xuất tính năng và thay vào đó tập trung vào quá
trình đào tạo để tìm hiểu các bộ lọc này.



×