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

Ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo trong đánh giá mức độ phù hợp của hồ sơ xin việc với yêu cầu công việc trên website tuyển dụng

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 (7.18 MB, 88 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ỨNG DỤNG KỸ THUẬT LOGIC MỜ VÀ TRÍ TUỆ
NHÂN TẠO TRONG ĐÁNH GIÁ MỨC ĐỘ PHÙ
HỢP CỦA HỒ SƠ XIN VIỆC VỚI YÊU CẦU CÔNG
VIỆC TRÊN WEBSITE TUYỂN DỤNG

MÃ SỐ: SV2022-39
CHỦ NHIỆM ĐỀ TÀI: NGUYỄN THANH HIỀN

SKC 0 0 8 0 8 3

Tp. Hồ Chí Minh, tháng 11/2022


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
Đề Tài : Ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo trong
đánh giá mức độ phù hợp của hồ sơ xin việc với yêu cầu cơng việc
trên website tuyển dụng
[SV2022-39]
Thuộc nhóm ngành khoa học: Kỹ thuật
SV thực hiện: Nguyễn Thanh Hiền
Dân tộc: Kinh


Lớp, khoa: 19110CLST2, ĐT Chất Lượng Cao
Ngành học: Công Nghệ Thông Tin

Nam, Nữ:
Năm thứ:

Người hướng dẫn: TS. Lê Vĩnh Thịnh

TP Hồ Chí Minh, Tháng 11 Năm 2022

Nam
4/Số năm đào tạo:4


MỤC LỤC
DANH MỤC BẢNG BIỂU ................................................................................................ 1
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................... 2
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI ................................................ 3
PHẦN 1 : MỞ ĐẦU ............................................................................................................ 7
1. Tổng Quan Tình Hình Nghiên Cứu ............................................................................ 7
2. Lý Do Chọn Đề Tài .................................................................................................... 7
3. Mục Tiêu Đề Tài ........................................................................................................ 7
4. Phương Pháp Nghiên Cứu .......................................................................................... 7
5. Đối Tượng Và Phạm Vi Nghiên Cứu ......................................................................... 8
PHẦN 2 : CƠ SỞ LÝ THUYẾT ........................................................................................ 9
Chương 1 : TẬP MỜ VÀ LOGIC MỜ ............................................................................. 9
1. Tập Mờ (Fuzzy Set) ...................................................................................................... 9
1.1 Khái niệm ................................................................................................................. 9
1.2 Các phép toán phổ biến trên tập mờ [2] ................................................................ 10
1.3 Độ cao, miền xác định và miền tin cậy của tập mờ [2] ......................................... 11

1.4 Biến ngôn ngữ (Linguistic Hedges) ....................................................................... 11
1.5 Quan hệ mờ ............................................................................................................ 12
2. Logic mờ (Fuzzy logic) ............................................................................................... 12
2.1 Số mờ ..................................................................................................................... 13
2.2 Lượng từ mờ .......................................................................................................... 13
2.3 Mệnh đề mờ ........................................................................................................... 14
Phép toán mệnh đề mờ................................................................................................. 14
2.4 Phép toán kéo theo mờ........................................................................................... 14
2.5 Luật hợp thành mờ (Rule Base) ............................................................................. 15
2.6 Mờ hóa (Fuzzifier) ................................................................................................. 16
2.7 Giải mờ (Defuzzifier) ............................................................................................ 16
3. Logic mờ trong AI....................................................................................................... 16
4. Ứng dụng của logic mờ ............................................................................................... 16
5. Một số thư viện logic mờ giúp phát triển phần mềm .................................................. 17
Chương 2 : TÌM HIỂU CÁC THƯ VIỆN NHẬN DẠNG VĂN BẢN ......................... 19


1. NLTK .......................................................................................................................... 19
1.1 Khái niệm ............................................................................................................... 19
1.2 Một vài cách xử lý dữ liệu văn bản với NLTK ..................................................... 19
2. SPACY ........................................................................................................................ 20
2.1 Khái niệm ............................................................................................................... 20
2.2 Một vài cách xử lý dữ liệu văn bản với spaCy ...................................................... 21
3. GENSIM ..................................................................................................................... 22
3.1 Khái niệm ............................................................................................................... 22
3.2 Biến đổi văn bản với Gensim ................................................................................ 22
4. CORENLP................................................................................................................... 22
4.1 Khái niệm ............................................................................................................... 22
4.2 Một vài cách xử lý dữ liệu văn bản với CoreNLP ................................................. 23
Chương 3 : TÌM HIỂU VỀ CÁC TẬP DỮ LIỆU VỀ VĂN PHONG NGƯỜI DÙNG

............................................................................................................................................ 25
1. Văn Phong Người Dùng Khi Viết CV Xin Việc ...................................................... 25
1.1 CV là gì? ................................................................................................................ 25
1.2 Cách viết 1 CV hoàn chỉnh của người dùng .......................................................... 25
2. Tập Dữ Liệu (Dataset) .............................................................................................. 26
2.1 Tập dữ liệu là gì? ................................................................................................... 26
2.2 Quyền sở hữu dữ liệu ............................................................................................. 26
2.3 Cách thu thập dataset ............................................................................................. 27
3. Các Tập Dữ Liệu Mẫu .............................................................................................. 27
3.1 Tập Dữ Liệu Số 1................................................................................................... 27
3.2 Tập Dữ Liệu Số 2................................................................................................... 28
3.3 Tập Dữ Liệu Số 3................................................................................................... 28
4. Tập Dữ Liệu Mẫu Cho Ứng Dụng ........................................................................... 29
Chương 4 : MẠNG NƠ RON NHÂN TẠO .................................................................... 30
1. Học sâu ........................................................................................................................ 30
2. Mạng nơ ron (neural network) .................................................................................... 30
2.1 Mạng nơ ron là gì? ................................................................................................. 30
2.2 Cách hoạt động ...................................................................................................... 31
2.3 Các loại mạng nơ ron ............................................................................................. 31


Chương 5 : CHƯƠNG TRÌNH MINH HỌA ................................................................. 33
1. Phân Tích Thiết Kế................................................................................................... 33
1.1 ERD Diagram ........................................................................................................ 33
1.2 Use Case Diagram ................................................................................................. 34
1.3 Use Case Description & Sequence Diagram ......................................................... 34
2. Cài Đặt Và Triển Khai.............................................................................................. 66
2.1 Cài Đặt Môi Trường .............................................................................................. 66
2.2 Các Bước Triển Khai Chương Trình ..................................................................... 66
Huấn luyện dữ liệu dự đoán tỷ lệ phù hợp với cơng việc ............................................ 67

Tính tỷ lệ phù hợp ........................................................................................................ 69
KẾT QUẢ NGHIÊN CỨU VÀ ĐÁNH GIÁ .................................................................. 78
PHẦN 3 : KẾT LUẬN VÀ KIẾN NGHỊ ........................................................................ 79
1. Kết Luận ................................................................................................................... 79
1.1 Ưu điểm: ................................................................................................................ 79
1.2 Nhược điểm: .......................................................................................................... 79
1.3 Hướng phát triển: ................................................................................................... 79
2. Kiến Nghị Lĩnh Vực Nên Ứng Dụng ....................................................................... 79
TÀI LIỆU THAM KHẢO................................................................................................ 80
PHỤ LỤC .......................................................................................................................... 82


DANH MỤC BẢNG BIỂU
Bảng 1: Danh mục các từ viết tắt ......................................................................................... 2
Bảng 2. 1: Đặc tả use case đăng nhập ................................................................................ 35
Bảng 2. 2: Đặc tả use case đăng xuất ................................................................................. 37
Bảng 2. 3: Đặc tả use case đăng ký .................................................................................... 39
Bảng 2. 4: Đặc tả use case sữa thông tin ............................................................................ 41
Bảng 2. 5:Đặc tả use case đổi mật khẩu ............................................................................. 42
Bảng 2. 6: Đặc tả use case đăng tin tuyển dụng ................................................................. 44
Bảng 2. 7: Đặc tả use case cập nhật tin tuyển dụng ........................................................... 46
Bảng 2. 8: Đặc tả use case xóa tin tuyển dụng ................................................................... 48
Bảng 2. 9: Đặc tả use case tìm kiếm tuyển dụng ................................................................ 50
Bảng 2. 10: Đặc tả use case thêm hồ sơ ............................................................................. 52
Bảng 2. 11: Đặc tả use case xóa hồ sơ................................................................................ 54
Bảng 2. 12: Đặc tả use case dự đốn cơng việc.................................................................. 55
Bảng 2. 13: Đặc tả use case nộp hồ sơ ứng viên ................................................................ 57
Bảng 2. 14: Đặc tả use case quản lý bài viết ...................................................................... 59
Bảng 2. 15: Đặc tả use case thêm ngành nghề ................................................................... 62
Bảng 2. 16: Đặc tả use case cập nhật ngành nghề .............................................................. 64

Bảng 2. 17: Đặc tả use case xem hồ sơ ứng viên ............................................................... 65
Bảng 3. 1: Cài đặt môi trường ............................................................................................ 66
Bảng 3. 2: Kết quả nghiên cứu và đánh giá ........................................................................ 78

1


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

Từ viết tắt

Nguyên nghĩa Tiếng Anh

Nguyên nghĩa Tiếng Việt

1

CV

Curriculum Vitae

Hồ sơ ứng tuyển/xin việc

2

AI

Artificial intelligence


Trí tuệ nhân tạo

3

ML

Machine learning

Học máy

4

NLP

Neuro Linguistic Programming

Lập trình ngơn ngữ tư duy

5

NLTK

Natural Language Toolkit

Công cụ xử lý ngôn ngữ tự
nhiên

6

IDE


Integrated Development
Environment

Mơi trường tích hợp dùng để
viết code phát triển ứng dụng

7

ANN

Artificial Neural Network

Mạng thần kinh nhân tạo

8

SNN

Spiking neural network

Mạng nơ-ron xoắn ốc

Bảng 1: Danh mục các từ viết tắt

2


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo trong đánh giá mức độ phù
hợp của hồ sơ xin việc với yêu cầu công việc trên website tuyển dụng
- Chủ nhiệm đề tài: Nguyễn Thanh Hiền
- Lớp: 19110CLST2
- Thành viên đề tài:

Mã số SV: 19110200

Khoa: ĐT Chất Lượng Cao

Stt

Họ và tên

MSSV

Lớp

Khoa

1

Trần Văn Quang

19110271

19110CLST1


ĐT Chất Lượng Cao

- Người hướng dẫn: TS.Lê Vĩnh Thịnh
2. Mục tiêu đề tài:
Áp dụng được lý thuyết logic mờ, các thư viện nhận dạng văn bản trong trí tuệ nhân tạo để
xây dựng ứng dụng website có thể đánh giá mức độ phù hợp của hồ sơ xin việc với cơng
việc.
3. Tính mới và sáng tạo:
Ngày nay, việc sử dụng website để hỗ trợ cuộc sống khơng cịn xa lạ gì với mọi người. Đặc
biệt, các website có sự thơng minh có tích hợp trí tuệ nhân tạo ngày càng được ưa chuộng.
Bên cạnh đó kỹ thuật về logic mờ được áp dụng vào nhiều lĩnh vực khác nhau trong cuộc
sống. Vậy thì việc tạo ra một website việc làm tích hợp được cả logic mờ và trí tuệ nhân
tạo sẽ giúp ích rất nhiều trong việc xác định, tìm kiếm cơng việc, tạo cơng ăn việc làm cho
nhiều người. Và chính ở Việt Nam cũng chưa có đề tài nghiên cứu nào thực hiện về vấn đề
này. Từ những phân tích trên, kết hợp với các khảo sát website tuyển dụng khác, nhóm đã
tiến hành nghiên cứu tạo ra một website ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo và
thơng qua hồ sơ xin việc đánh giá được sự phù hợp với công việc.

3


4. Kết quả nghiên cứu:

Hoàn thành website ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo có chức năng đánh giá
mức độ phù hợp của cv với công việc. Hỗ trợ ở cả phía người xin việc và cả nhà tuyển
dụng. Trang web có đầy đủ các chức năng cần có của một website tuyển dụng.

Kết quả của q trình huấn luyện học máy, tỷ lệ dự đốn chính xác cơng việc phù hợp với
người xin việc đạt khoảng 71%.


4


Sau khi được huấn luyện và tạo model, tích hợp chức năng trí tuệ nhân tạo vào website. Từ
đó dựa vào hồ sơ xin việc (đầu vào) đưa ra 5 công việc phù hợp nhất (đầu ra). Số phần trăm
là mức độ phù hợp với cơng việc đó.

Sử dụng thư viện fuzzywuzzy để hỗ trợ xây dựng chức năng đánh giá hồ sơ xin việc dựa trên kỹ
thuật logic mờ.
Tích hợp vào website tuyển dụng ở phía nhà tuyển dụng để lọc các hồ sơ xin việc. Đưa ra được tỷ

lệ đánh giá, xếp hạng của từng hồ sơ.
5


5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và khả
năng áp dụng của đề tài:
Đề tài khi áp dụng thực tế sẽ giúp người xin việc tăng được khả năng kiếm được việc làm
phù hợp. Bên cạnh đó cịn dự đốn được những cơng việc có thể rẽ hướng làm trái ngành.
Với người tuyển dụng, họ dễ dàng đánh giá hồ sơ xin việc, lọc hồ sơ một cách nhanh chóng
và chọn lựa được người ứng viên có tỷ lệ phù hợp cao nhất, thích hợp nhất với vị trí tuyển
dụng. Với sự tiện ích, dễ sử dụng, thơng qua mạng internet ta có thể sử dụng bất kỳ lúc nào,
bất kỳ ở đâu, website tuyển dụng ứng dụng kỹ thuật logic mờ và trí tuệ nhân tạo sẽ góp
phần giải quyết nhu cầu “việc làm” một chủ đề nhức nhối tồn tại trong xã hội. Đem lại thêm
cơ hội làm việc, tạo thêm cơ hội tăng thu nhập cho mọi người, mọi nhà. Góp phần nâng cao
đời sống con người và xã hội, mang lại giá trị nhân văn sâu sắc.
6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp chí nếu có)
hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):

Ngày

tháng 11 năm 2022
SV chịu trách nhiệm chính
thực hiện đề tài
(kí, họ và tên)

Nguyễn Thanh Hiền
Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề tài
(phần này do người hướng dẫn ghi):

Ngày
tháng 11 năm 2022
Người hướng dẫn
(kí, họ và tên)

TS.Lê Vĩnh Thịnh
6


PHẦN 1 : MỞ ĐẦU
1. Tổng Quan Tình Hình Nghiên Cứu
-

Trong nước: Ý tưởng khá mới nên chưa có thơng tin.

-

Ngồi nước: Các cơng ty nhân sự Trung Quốc đang áp dụng mơ hình này cho vịng
Screen CV trong q trình tuyển dụng.

2. Lý Do Chọn Đề Tài

So với những giai đoạn trước đây, thị trường lao động ở Việt Nam đã có sự thay đổi
đáng kể. Số lượng đơn vị tuyển dụng gia tăng nhanh chóng, số người tìm việc cũng
chưa có dấu hiệu suy giảm, điều đó làm cho thị trường lao động nước ta diễn ra hết
sức sôi nổi. Các doanh nghiệp tuyển dụng nhân sự thông qua nhiều cách khác nhau,
trong đó việc áp dụng cơng nghệ kỹ thuật giữ một vai trò quan trọng trong việc hỗ
trợ doanh nghiệp tìm được những ứng cử viên sáng giá. Các website tuyển dụng ra
đời chính là cầu nối giữa doanh nghiệp với người lao động. Người xin việc dễ dàng
gửi hồ sơ xin việc và cũng thuận tiện tìm kiếm thơng tin tuyển dụng từ doanh nghiệp
hơn.
Khi một website tuyển dụng, áp dụng được logic mờ và sự trợ giúp của trí tuệ nhân
tạo sẽ giúp đánh giá được mức độ phù hợp của hồ sơ xin việc với u cầu cơng việc.
Từ đó giúp doanh nghiệp tìm kiếm được người phù hợp nhất với vị trí tuyển dụng
của mình cũng như người tìm việc có thể tìm kiếm một việc làm phù hợp nhất với
mình. Đặc biệt với các trường Đại Học, việc có một website tuyển dụng ứng dụng
logic mờ và trí tuệ nhân tạo sẽ giúp doanh nghiệp dễ dàng tuyển dụng, sinh viên dễ
dàng tìm kiếm việc làm hơn.
3. Mục Tiêu Đề Tài
Áp dụng được lý thuyết logic mờ, các thư viện nhận dạng văn bản trong trí tuệ nhân
tạo để xây dựng ứng dụng website có thể đánh giá mức độ phù hợp của hồ sơ xin việc
với công việc.
4. Phương Pháp Nghiên Cứu
-

Phương pháp nghiên cứu lý thuyết: tìm kiếm, thu thập các tài liệu về logic mờ, tài
liệu về thư viện nhận dạng văn bản, các thành tựu lý thuyết đã được cơng bố hay
biên soạn có liên quan.
7


-


Phương pháp phân tích và tổng hợp lý thuyết: phân tích khai thác những tài liệu đã
thu thập được từ đó chọn lọc, bổ sung những thơng tin cần thiết cho đề tài. Giải thích
quy luật, bản chất cách thức của logic mờ và các thư viện nhận dạng văn bản phổ
biến.

-

Phương pháp chuyên gia: tham khảo ý kiến giáo viên hướng dẫn, các giảng viên
trong khoa.

-

Logic mờ: phương pháp lập luận đưa ra kết quả xấp xỉ gần giống với suy luận con
người.

-

Các thư viện nhận dạng văn bản: dùng để xử lý dữ liệu văn bản, hỗ trợ quá trình học
máy.

5. Đối Tượng Và Phạm Vi Nghiên Cứu
-

Đối tượng và phạm vi nghiên cứu là lý thuyết về logic mờ, các thư viện nhận dạng
văn bản phổ biến, các tập dữ liệu mẫu có thể được áp dụng trong trí tuệ nhân tạo.

8



PHẦN 2 : CƠ SỞ LÝ THUYẾT
Chương 1 : TẬP MỜ VÀ LOGIC MỜ
1. Tập Mờ (Fuzzy Set)
1.1 Khái niệm
Lý thuyết tập hợp mờ được đưa ra vào năm 1965 bởi Lotfi Asker Zadeh (một kỹ sư điện và
nhà nghiên cứu về tốn học, khoa học máy tính, trí tuệ nhân tạo), người ban đầu có ý định
truyền đạt một phương pháp toán học về một số thuật ngữ chủ quan của ngôn ngữ (trừu
tượng của từ ngữ), chẳng hạn như “xung quanh” và "khoảng". Và từ đây sẽ là bước đầu
tiên trong việc hướng tới việc lập trình và lưu trữ các khái niệm còn mơ hồ trên máy tính,
giúp nó có thể thực hiện các phép tính trên các thực thể mơ hồ hoặc khơng chính xác như
con người. Ví dụ, tất cả đều nhất trí đồng ý rằng việc nhân đôi một số lượng “khoảng 3”
dẫn đến một số lượng khác “khoảng 6”.
Để dễ hiểu chúng ta hãy nhớ lại cách nhìn khái niệm tập hợp kinh điển như là khái niệm
các hàm số. Trong lý thuyết về tập cổ điển, một tập thực (không mờ) các phần tử có thể
nằm hồn tồn hay khơng nằm hồn toàn trong tập này. Hàm thành viên 𝜇A(x) của x trong
tập truyền thống A, là tập con của vũ trụ X, thì được định nghĩa là:
𝜇A(x)= {1 khi x ∈ A, 0 khi x ∉ A}

Điều này có nghĩa là phần tử x có thể là thành viên của tập A khi và chỉ khi 𝜇A(x)=1, hay
không thuộc khi và chỉ khi 𝜇A(x)=0. Như vậy tập hợp được biểu diễn bằng hai giá trị nhằm
trình bày tính logic, đúng hoặc sai. Logic toán học hay cổ điển thường nhấn mạnh đến tính
chính xác, trong khi trong thực tế có nhiều tình huống ta khơng thể đưa ra một quyết định
chính xác được. Chẳng hạn gọi S là tập hợp tất cả con người, được sử dụng như vũ trụ thiết
lập tập hợp:
Sf ={s ∈ S | s là người già}

9


Lúc này Sf có thể được xem là một “tập con mờ” của S vì thuộc tính “người già” khơng thể

xác định rõ, khơng thể đo lường chính xác: với một người 40 tuổi, khơng rõ người này có
thuộc tập Sf hay khơng. Do đó, để xác định tập hợp con Sf , chúng ta phải định lượng khái
niệm “người già” là như thế nào, để mô tả tập hợp con Sf một cách chính xác và chặt chẽ.
Ta có thể quy ước những “người già” là trên 60 tuổi, “người trẻ” tuổi sẽ thường xung quanh
25 tuổi, “trung niên” thường xấp xỉ 40 tuổi. Giữa các biên này, ta cịn có độ tuổi khác khơng
thể nói rõ ràng là đã già hay trẻ hay trung niên. Trong ngưỡng này, có thể dùng thang độ
tuổi để đánh giá. Lúc này có thể dùng tập mờ, trong đó các hàm thành viên được cho điểm
trong khoảng [0,1].
Môt tập mờ A là tập có các thành viên được cho điểm trong khoảng thực: μA(x) ∈ [0, 1].
Tức là các phần tử có thể thuộc vào tập mờ với một mức độ nào đó.
Định nghĩa:
Một tập mờ A trong vũ trụ (miền) X là tập được định nghĩa bởi hàm thành viên 𝜇A(x) là ánh
xạ từ vũ trụ X vào một khoảng đơn vị 𝜇A(x):X → [0, 1].
Ánh xạ A được gọi là hàm thuộc (membership function) của tập mờ A. Tập không gian X
được gọi là nền của tập mờ A. [1]
1.2 Các phép toán phổ biến trên tập mờ [2]
Cho A, B là hai tập mờ trên không gian nền X có các hàm thuộc tương ứng là 𝜇A,𝜇B.
Khi đó:
● Phép hợp hai tập mờ (T-Conorm): A ∪ B
Phép hợp chuẩn (Zadeh): μA∪B(x) = Max{𝜇A(x), 𝜇B(x)}
Phép hợp Lukasiewicz (bold): μA∪B(x) = Min{1,𝜇A(x)+𝜇B(x)}
Phép hợp xác suất (tổng đại số): μA∪B(x) = 𝜇A(x)+𝜇B(x) - 𝜇A(x).𝜇B(x)
● Phép giao hai tập mờ (T-norm): A ∩ B
Phép giao chuẩn (Zadeh): μA∩B(x) = Min{𝜇A(x), 𝜇B(x)}
Phép giao Lukasiewicz (bold): μA∩B(x) = Max{0, 𝜇A(x)+𝜇B(x) - 1}
10


Phép giao xác suất (tích đại số): μA∩B(x) =𝜇A(x).𝜇B(x)



Phép bù tập mờ: μ¬A(x) = 1 – 𝜇A(x)

1.3 Độ cao, miền xác định và miền tin cậy của tập mờ [2]
● Chiều cao (độ phụ thuộc) của một tập mờ A (được định nghĩa trên không gian X) là
mức độ thành viên cao nhất của các phần tử trong A
H = supx∈X𝜇A(x)
● Miền xác định của tập mờ A (được định nghĩa trên không gian X), được ký hiệu bởi
S, là tập con của X đều có mức độ thành viên lớn hơn 0:
S ={ x∈X | 𝜇A(x) >0}
● Miền tin cậy của tập mờ A (được định nghĩa trên không gian X), được ký hiệu bởi
T, là tập con của X bao gồm mỗi phần tử có mức độ thành viên bằng một:
T ={ x∈X | 𝜇A(x)=1 }
1.4 Biến ngôn ngữ (Linguistic Hedges)
L.A.Zadeh viết “khi thiếu hụt tính chính xác bề ngoài của những vấn đề phức tạp, một cách
tự nhiên là tìm cách sử dụng các biến ngơn ngữ, đó là các biến mà giá trị của chúng khơng
phải là số mà là các từ hoặc các câu trong ngôn ngữ tự nhiên hoặc nhân tạo. Động lực cho
việc sử dụng các từ, các câu hơn các số là đặc trưng ngôn ngữ của các từ, các câu thường
là ít xác định hơn của số”.
Trong cơ sở dữ liệu quan hệ, các quan hệ hay các bảng dữ liệu chứa các thuộc tính hay các
tên cột. Nó chỉ tính chất của đối tượng. Các thuộc tính này cũng thể hiện trong ngơn ngữ
như để mơ tả tính chất đối tượng là con người, trong ngôn ngữ tự nhiên chúng ta có những
thuộc tính TUỔI, CHIỀU CAO, LƯƠNG, NĂNG LỰC … . Các thuộc tính này có thể được
mơ tả bằng giá trị ngơn ngữ ví dụ thuộc tính tuổi có các giá trị như trẻ, già, rất trẻ, … Vì lý
do như vậy, Zadeh gọi các thuộc tính kiểu như vậy là biến ngôn ngữ và miền giá trị của
chúng là giá trị ngôn ngữ hay gọi là miền ngôn ngữ (linguistic domain hay term domain).
Bản thân giá trị ngơn ngữ khơng phải là đối tượng tốn học, ngữ nghĩa của chúng được biểu
thị bằng các tập mờ hay hàm thuộc.
11



Định nghĩa: Biến ngôn ngữ L được định nghĩa là tập gồm năm giá trị (quintuple: Klir and
Yuan, 1995):
L=(x,A,X,g,m),
Trong đó x là biến nền (biến ngôn ngữ), A={A1,A2,...,An} là tập các thừa số ngôn ngữ, X
là miền (vũ trụ hoạt động) của x, g là luật cú pháp nhằm tạo ra các thừa số ngôn ngữ và m
là luật ý nghĩa nhằm định nghĩa từng thừa số ngôn ngữ (tập mờ trong X) [3].
Ví dụ: Biến ngơn ngữ “Tuổi” với ba thừa số ngôn ngữ “Trẻ”, “Trung niên” và “Già”. Biến
nền là độ tuổi có giá trị phù hợp.

1.5 Quan hệ mờ
Quan hệ mờ là tập mờ trong tích Đề-các Xi, i=1,...,n. Mức độ thành viên biểu diễn mức
tương quan của các phần tử trong các miền Xi khác nhau.
Quan hệ mờ bậc n là ánh xạ R: X1×X2×…×Xn →[0,1],
Quy định mức độ thành viên của mọi cặp (x1,x2,...,xn) của tích Đề-các X1×X2×…×Xn .
2. Logic mờ (Fuzzy logic)
Logic mờ (Fuzzy logic) được phát triển từ lý thuyết tập mờ để thực hiện lập luận một cách
xấp xỉ thay vì lập luận chính xác theo logic vị từ cổ điển. Logic mờ có thể được coi là mặt
ứng dụng của lý thuyết tập mờ để xử lý các giá trị trong thế giới thực cho các bài toán phức
tạp.

12


2.1 Số mờ
Xét tập mờ A trên tập các số thực R. Về ngun tắc, khơng có ràng buộc chặt đối với việc
xây dựng các tập mờ để biểu thị ngữ nghĩa của các khái niệm ngôn ngữ. Tuy nhiên, để đơn
giản trong xây dựng các tập mờ và trong tính tốn trên các tập mờ, người ta đưa ra khái
niệm tập mờ có dạng đặc biệt, gọi là số mờ để biểu thị các khái niệm mờ về số như gần 10,
khoảng 15, lớn hơn nhiều so với 10, …

Số mờ là tập mờ có đặc điểm sau:
1. Là tập mờ chuẩn, tức là có điểm x’ sao cho 𝜇A(x’)=1
2. Mọi tập mức A𝛼, 𝛼 ∈ (0,1], là các khoảng đóng
Trong nhiều tài liệu nghiên cứu và trong ứng dụng, người ta thường sử dụng các số mờ đặc
biệt, gọi là các số mờ tam giác hay hình thang.

2.2 Lượng từ mờ
Các từ dùng để ước lượng như khoảng, nhiều, ít nhất, khoảng một nửa,hầu hết... thể hiện
ngữ nghĩa khơng chính xác, mờ về số lượng được gọi là các lượng hóa mờ.
Theo L.A. Zadeh, có hai loại lượng hóa mờ: thứ nhất là lượng hóa tuyệt đối với ngữ nghĩa
mờ được ấn định liên quan đến một giá trị (tuyệt đối) cụ thể và thứ hai là lượng hóa tương
đối xác định trên tập [0;1] chỉ tỷ lệ mờ số phần tử thỏa một điều kiện hay mệnh đề nào
đó.[1]

13


2.3 Mệnh đề mờ
Các mệnh đề được xây dựng trên các phát biểu đơn giản như “Bạn nữ tóc đen”. Các mệnh
đề phức tạp hơn được hình thành từ các phát biểu đơn giản sử dụng phép nối logic như phủ
định, và, hoặc, nếu…thì…,nếu…chỉ nếu… [4]
Ví dụ phát biểu “Cơ gái lương cao và chàng trai lương thấp” là một mệnh đề được xây dựng
bằng phép nối “và” với biến ngơn ngữ “lương”.
Trong logic mờ, các mệnh đề thường có cấu trúc:
NẾU (mệnh đề điều kiện)... THÌ (mệnh đề kết luận) hay IF (clause)... THEN (clause)
Ký hiệu: p ⇒ q (từ p suy ra q)
Ví dụ: Nếu tơi làm tốt thì lương tơi cao.
Phép tốn mệnh đề mờ
Các phép tốn ∧ (AND), ∨ (OR), ¬ (NOT):
¬𝜇A(x)=C(𝜇A(x))

𝜇A(x)∧ 𝜇B(y)=T(𝜇A(x), 𝜇B(y))
𝜇A(x) ∨ 𝜇B(y)=S(𝜇A(x), 𝜇B(y))
𝜇A(x) ⇒ 𝜇B(y)=S(C(𝜇 A(x)), 𝜇B(y))
𝜇A(x) ⇒ 𝜇B(y)=S(C(𝜇 A(x)), T(𝜇A(x), 𝜇B(y)))

Trong đó: C là hàm bù mờ (phủ định), T là hàm T-norm phép giao, S là hàm T-Conorm
phép hợp.
2.4 Phép tốn kéo theo mờ
Các phép tốn kéo theo có vai trò quan trọng trong logic mờ. Chúng tạo nên các luật mờ để
thực hiện các suy diễn trong tất cả các hệ mờ.

14


Một cách tổng quát, phép kéo theo mờ là một hàm J : [0;1]2 → [0;1] với ý nghĩa nói rằng
với giá trị chân lý s và t tương ứng của hai mệnh đề p và q, J(s, t) sẽ cho ta giá trị chân lý
của mệnh đề “Nếu p, thì q”.
Một số phép kéo theo [1]:
-

Kleene-Dienes: Jb(s, t) = – s ∨ t, ∀s, t ∈ [0;1] và – s = 1 – t, chỉ số b có nghĩa là
binary

-

Phép kéo theo Mamdani: J(s, t) = min(s, t).
Phép kéo theo Lukasiewicz: J(s, t) = min{1, 1 – s + t}.

-


Phép kéo theo của Goguen đưa ra năm 1969: JGoguen(s, t) = min{1,t/s}.
Phép kéo theo của Zadeh: J(s, t) =max{1-s,min(s, t)}

2.5 Luật hợp thành mờ (Rule Base)

Cơ sở luật hợp thành mờ là sự kết hợp của nhiều mệnh đề mờ:

Trong các hệ thống dựa trên luật mờ, mỗi mệnh đề mờ có dạng:

15


If “state” then “answer”
Trong đó mỗi state (trạng thái) và mỗi answer (câu trả lời) là một giá trị mờ được sử dụng
bởi các biến ngôn ngữ. Các tập mờ tạo nên state được gọi là tiền đề. Mặt khác, các tập mờ
tạo ra answer được gọi là hệ quả. [4]
2.6 Mờ hóa (Fuzzifier)
Mờ hóa là phương pháp biến đổi một đại lượng rõ nét thành đại lượng mờ qua việc xác
định sự khác biệt giữa các đại lượng rõ ràng và khơng chắc chắn về bản chất.
Ví dụ: khi nói nhiệt độ là 45°C, người xem sẽ chuyển đổi giá trị đầu vào rõ nét thành một
biến ngôn ngữ như “nhiệt độ thuận lợi cho cơ thể con người” nóng hoặc lạnh.
2.7 Giải mờ (Defuzzifier)
Giải mờ là nghịch đảo của mờ hóa. Phương pháp trước đây được sử dụng để chuyển đổi
kết quả rõ nét thành kết quả mờ nhưng ở đây việc ánh xạ được thực hiện để chuyển kết quả
mờ thành kết quả rõ nét.
3. Logic mờ trong AI
Trong các hệ thống trí tuệ nhân tạo (AI), logic mờ được sử dụng để bắt chước suy luận và
nhận thức của con người. Logic mờ rất phù hợp:
-


Kỹ thuật cho các quyết định mà khơng có sự chắc chắn và khơng rõ ràng hoặc với
dữ liệu khơng chính xác - chẳng hạn như với các công nghệ xử lý ngơn ngữ tự nhiên

-

Điều chỉnh và kiểm sốt đầu ra của máy, theo nhiều biến đầu vào - chẳng hạn như
với hệ thống điều khiển nhiệt độ.

4. Ứng dụng của logic mờ
Nhiều loại hệ thống và công nghệ AI khác nhau sử dụng logic mờ bao gồm xe thông minh,
điện tử tiêu dùng, y học, phần mềm, hóa chất và hàng không vũ trụ…
16


-

Trong ô tô, logic mờ được sử dụng để lựa chọn hộp số và dựa trên các yếu tố như
tải động cơ, điều kiện đường xá và phong cách lái xe.

-

Trong máy rửa bát, logic mờ được sử dụng để xác định chiến lược rửa và công suất
cần thiết, dựa trên các yếu tố như số lượng bát đĩa và mức độ cặn thức ăn trên bát
đĩa.

-

Trong máy sao chép, logic mờ được sử dụng để điều chỉnh điện áp trống dựa trên
các yếu tố như độ ẩm, mật độ hình ảnh và nhiệt độ.


-

Trong hàng khơng vũ trụ, logic mờ được sử dụng để quản lý kiểm soát độ cao cho
vệ tinh và tàu vũ trụ dựa trên các yếu tố môi trường.

-

Trong y học, logic mờ được sử dụng cho các chẩn đốn có sự hỗ trợ của máy tính,
dựa trên các yếu tố như triệu chứng và tiền sử bệnh.

-

Trong chưng cất hóa học, logic mờ được sử dụng để kiểm soát các biến số pH và
nhiệt độ.

-

Trong xử lý ngôn ngữ tự nhiên, logic mờ được sử dụng để xác định quan hệ ngữ
nghĩa giữa các khái niệm được biểu diễn bằng từ và các biến ngơn ngữ khác.

-

Trong các hệ thống kiểm sốt mơi trường, chẳng hạn như máy điều hịa khơng khí
và máy sưởi, logic mờ xác định đầu ra dựa trên các yếu tố như nhiệt độ hiện tại và
nhiệt độ mục tiêu.

-

Trong cơng cụ quy tắc kinh doanh, logic mờ có thể được sử dụng để hợp lý hóa việc
ra quyết định theo các tiêu chí đã định trước.


5. Một số thư viện logic mờ giúp phát triển phần mềm
Nhằm sử dụng lợi ích của logic mờ mang lại, nhiều thư viện lập trình dựa trên lý thuyết của
nó đã được phát triển và ra đời ứng dụng trên các ngôn ngữ lập trình khác nhau: python,
java, c++, c#...

17


● Python: hỗ trợ thư viện fuzzylogic cho việc lập trình, để cài đặt thư viện: “pip install
fuzzylogic” hoặc 1 vài thư viện khác như fuzzywuzzy, scikit-fuzzy…
● Java: hỗ trợ thư viện fuzzywuzzy, thêm thư viện vào dự án maven với dòng lệnh
<dependency>
<groupId>me.xdrop</groupId>
<artifactId>fuzzywuzzy</artifactId>
<version>1.4.0</version>
</dependency>

C++: với thư viện fuzzylite ta dễ dàng thực hiện các tính tốn mờ, tải thư viện trực
tiếp và import từ />●

C#: Thư viện FuzzySharp, fuzzy khớp chuỗi dựa trên thuật toán fuzzywuzzy từ

SeatGeek. Thêm với lệnh NuGet: Install-Package FuzzySharp

18


Chương 2 : TÌM HIỂU CÁC THƯ VIỆN NHẬN DẠNG VĂN BẢN
Các thư viện phổ biến và sử dụng thường xuyên cho các dự án NLP:

1. NLTK
1.1 Khái niệm
NLTK là một nền tảng hàng đầu để xây dựng các chương trình Python làm việc với
dữ liệu ngơn ngữ của con người. Nó cung cấp giao diện dễ sử dụng cho hơn 50 tài
nguyên ngữ liệu và từ vựng như Wordnet, cùng với một bộ thư viện xử lý văn bản
để phân loại, mã hóa, tạo gốc, gắn thẻ, phân tích cú pháp và lập luận ngữ nghĩa, trình
bao bọc cho các thư viện NLP công nghiệp, và một diễn đàn thảo luận tích cực.
Nhờ có hướng dẫn thực hành, các nguyên tắc cơ bản về lập trình cùng với các chủ
đề trong ngơn ngữ học tính tốn, kèm theo tài liệu API tồn diện. NLTK phù hợp
với các nhà ngơn ngữ học, kỹ sư, sinh viên, nhà giáo dục, nhà nghiên cứu và người
dùng trong ngành. NLTK là một dự án miễn phí, mã nguồn mở, hướng tới cộng
đồng.
Cài thư viện NLTK với lênh “pip install nltk”.
1.2 Một vài cách xử lý dữ liệu văn bản với NLTK
1.2.1 Tách các từ (Tokenization)
Từ một đoạn văn bản gồm nhiều câu thì khi tách câu sẽ thu được các câu thành phần.
Để nhận biết một câu đơn giản nhất là khi gặp dấu "." kết thúc câu, ta có thể sử dụng
hàm split() tách câu mỗi khi gặp dấu ".". Tuy nhiên, không phải lúc nào dấu "." cũng
là kết thúc câu. Như trong tiếng anh, từ "Ms. Hoa" thì nếu ta dùng cách trên để bóc
tách câu thì sẽ sai. Để có thể tách các câu chính xác thì việc sử dụng thư viện hỗ trợ
là biện pháp đơn giản nhất chẳng hạn sử dụng hàm nltk.sent_tokenize [5].
Bên cạnh hàm để tách các câu thì thư viện NLTK cũng cung cấp hàm để tách các từ
nltk.word_tokenize.
1.2.2 Loại bỏ các ký tự đặc biệt
Trong các câu trong văn bản sẽ tồn tại nhiều dấu câu như ?, !, ", ;, ... trước khi xây
dựng bộ từ vựng thì các kí tự này cũng cần được loại bỏ. Các dấu câu được định

19



nghĩa trong string.punctuation tùy vào bài tốn ta có thể thêm hoặc bớt các dấu này
cho phù hợp.
1.2.3 Loại bỏ stop-word
Ý tưởng đơn giản là loại bỏ những từ thường xuất hiện. Thơng thường, các mạo từ
và đại từ thì được phân loại như là stop word. Những từ này khơng có ý nghĩa trong
những nhiệm vụ NLP cho việc tìm kiếm và phân loại thơng tin. Để sử dụng stop
words của NLTK, ta cần download bộ stop words nltk.download('stopwords').
1.2.4 Stemming
Stemming là quá trình biến đổi các từ về dạng gốc của nó (ví dụ: connected,
connection khi stemming thu được connect). Stemming đơn giản là loại bỏ phần cuối
của từ tuy nhiên dạng của từ thu được không chắc đã tồn tại.
Thông thường kỹ thuật này được sử dụng để chuẩn hóa bộ từ vựng. Trong thư viện
NLTK cũng có hỗ trợ thuật toán Porter để thực hiện nhiệm vụ này: from
nltk.stem.porter import PorterStemmer.
Có những trường hợp ngơn ngữ phức tạp hoặc các nhiệm vụ phức tạp, chúng ta cần
sử dụng lemmatization để thay thế, mạnh mẽ nhanh chóng hơn.
1.2.5 Lemmatization
Lemmatization về cơ bản là giống với stemming khi nó loại bỏ phần đuôi của từ để
thu được gốc từ, tuy nhiên các gốc từ ở đây đều thực sự tồn tại.
Trong thư viện NLTK sẽ sử dụng từ điển Wordnet để map theo các quy tắc from
nltk.stem import WordNetLemmatizer
2. SPACY
2.1 Khái niệm
spaCy là một thư viện mã nguồn mở miễn phí để xử lý ngơn ngữ tự nhiên nâng cao
(NLP), được viết bằng ngơn ngữ lập trình Python và Cython. Thư viện được xuất
bản theo giấy phép của MIT.
Không giống như NLTK,được sử dụng rộng rãi cho giảng dạy và nghiên cứu, spaCy
được thiết kế đặc biệt để sử dụng trong sản xuất và giúp xây dựng các ứng dụng xử
20



×