1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch quảng bình

102 87 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

Định dạng
Số trang 102
Dung lượng 4,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Về mặt lý thuyết - Thực nghiệm các giả thuyết về các kỹ thuật xử lý ngôn ngữ tự nhiên, kỹ thuật tính toán độ tương đồng về mặt ngữ nghĩa trong văn bản Tiếng Việt… giúp chatbot hiểu được

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA -

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo TS Trần Văn Cường

2 Mọi tham khảo 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ố

3 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 hoàn toàn trách nhiệm

Tác giả luận văn

NÔNG VĂN TÙNG

Trang 3

Lời cảm ơn

Tôi xin chân thành cám ơn quý Thầy, Cô trong khoa Công nghệ thông tin Trường ĐH Bách khoa, Đại học Đà Nẵng và giảng viên trường ĐH Quảng Bình đã trang bị cho tôi kiến thức nền tảng để có thể hoàn thành tốt luận văn này

Cám ơn các bạn trong lớp đã chia sẻ các kinh nghiệm và đã hỗ trợ trong lúc làm luận văn

Đặc biệt em xin chân thành cảm ơn thầy giáo hướng dẫn TS Trần Văn Cường

đã hỗ trợ em trong lúc thực hiện luận văn này

Mặc dù đă cố gắng hết khả năng nhưng không thể nào tránh khỏi những thiếu sót Rất mong nhận được sự góp quý báu của quý thầy cô để đề tài có thể hoàn chỉnh hơn

Học viên

NÔNG VĂN TÙNG

Trang 4

MỤC LỤC

LỜI CAM ĐOAN ii

MỤC LỤC iv

TÓM TẮT LUẬN VĂN vii

DANH SÁCH CÁC HÌNH viii

DANH SÁCH CÁC BẢNG BIỂU x

PHẦN I MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu và nhiệm vụ nghiên cứu 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 3

5 Ý nghĩa khoa học và thực tiễn của đề tài 3

6 Bố cục luận văn: 4

PHẦN II NỘI DUNG 5

CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN 5 1.1 PHƯƠNG PHÁP HỌC MÁY 5

1.1.1 Trí tuệ nhân tạo 5

1.1.2 Học máy 8

1.2 XỬ LÝ NGÔN NGỮ TỰ NHIÊN 11

1.2.1 Tổng quan xử lý ngôn ngữ tự nhiên 11

1.2.2 Các bài toán cơ bản trong xử lý ngôn ngữ tự nhiên 11

1.2.3 Ứng dụng của xử lý ngôn ngữ tự nhiên 12

1.3 CÁC PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN 14

1.3.1 Mô hình biểu diễn văn bản truyền thống 14

1.3.2 Mô hình đồ thị biểu diễn văn bản 17

1.3.3 Mô hình Word2vec văn bản (vector hóa từ) 20

1.3.4 Mô hình Doc2vec (vector hóa văn bản) 21

Trang 5

1.4 TÍNH ĐỘ TƯƠNG ĐỒNG VĂN 23

1.4.1 Khái niệm độ tương đồng 23

1.4.2 Độ tương đồng văn bản dựa trên tập từ chung 23

1.4.3 Độ tương đồng văn bản dựa trên vector biểu diễn 24

1.4.4 Độ tương đồng văn bản trong tiếng Việt 26

1.5 CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 30

1.5.1 Phương pháp Naive Bayes 30

1.5.2 Phương pháp k–Nearest Neighbor(KNN) 31

1.5.3 Phương pháp cây quyết định 32

1.5.4 Phương pháp mạng Nơron nhân tạo 33

1.5.5 Phương pháp Support Vector Machines (SVM) 35

1.6 CHATBOT 37

1.6.1 Khái niệm 37

1.6.2 Hoạt động của chatbot 38

1.6.3 Sự phát triển của chatbot 38

1.6.4 Các lĩnh vực ứng dụng của chatbot 39

CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT 40

2.1 CÁC MÔ HÌNH CHATBOT 40

2.2 PHÂN LOẠI CHATBOT 41

2.2.1 Flow-oriented chatbot 41

2.2.2 Chatbot thông minh nhân tạo (Artificially intelligent chatbot) 41

2.2.3 Chatbot lai (Hybrid chatbot) 42

2.2.4 Chatbot được hỗ trợ bởi con người 43

2.3 CÁC PHƯƠNG PHÁP XÂY DỰNG CHATBOT 43

2.3.1 So sánh trùng khớp mẫu câu (Pattern matchers) 43

2.3.2 Sử dụng thuật toán phân lớp (Classification algorithms) 44

2.3.3 Mạng nơron nhân tạo (Artificial Neural Network - ANN) 44

Trang 6

2.3.4 Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) 44

2.3.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU) 45

2.4 CÁC VẤN ĐỀ CƠ BẢN KHI PHÁT TRIỂN HỆ THỐNG CHATBOT 46

2.4.1 Xác định ý định người dùng 47

2.4.2 Trích xuất thông tin 49

2.4.3 Quản lý hội thoại 50

2.5 CÔNG CỤ TẠO CHATBOT 52

2.5.1 Nền tảng tạo chatbot 52

2.5.2 Xây dựng chatbot dựa trên nền tảng mã nguồn mở RaSa 52

CHƯƠNG 3 CÀI ĐẶT THỰC NGHIỆM HỆ THỐNG CHATBOT HỖ TRỢ TƯ VẤN DU LỊCH QUẢNG BÌNH 57

3.1 BÀI TOÁN TƯ VẤN DU LỊCH 57

3.2 PHÂN TÍCH NHU CẦU TƯ VẤN DU LỊCH 59

3.3 DỮ LIỆU THỰC NGHIỆM 61

3.4 MÔ HÌNH HỆ THỐNG 63

3.5 CÀI ĐẶT THỰC NGHIỆM 64

3.5.1 Một số yêu cầu về hệ thống 64

3.5.2 Ngôn ngữ sử dụng 65

3.5.3 Xây dựng tập dữ liệu huấn luyện và kịch bản hội thoại 66

3.5.4 Xây dựng các Action: 69

3.6 KẾT QUẢ THỰC NGHIỆM 71

3.7 PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ 74

PHẦN III KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 77

1 Kết luận 77

2 Hướng phát triển 77

TÀI LIỆU THAM KHẢO 79

Trang 7

TÓM TẮT LUẬN VĂN

NGHIÊN CỨU XÂY DỰNG CHATBOT

HỖ TRỢ TƯ VẤN DU LỊCH QUẢNG BÌNH

Học viên: Nông Văn Tùng Chuyên ngành: Khoa học máy tính

Mã số: 8480101 Khóa: K35 Trường Đại học Bách khoa – ĐHĐN

Tóm tắt: Ngày nay chatbot có thể được ứng dụng rất nhiều trong các lĩnh vực của

đời sống xã hội Nghiên cứu xây dựng chatbot dựa trên mã nguồn mở là một hướng nghiên cứu nhận được nhiều sự quan tâm hiện nay Trong luận văn này, tôi trình bày cơ

sở lý thuyết học máy, xử lý ngôn ngữ tự nhiên, các phương pháp tạo chatbot Từ đó đề xuất mô hình hệ thống chatbot hỗ trợ tư vấn du lịch Quá trình xây dựng hệ thống chatbot bao gồm các bước sau: (1) Thu thập dữ liệu; (2) Xác định ngôn ngữ sử dụng; (3) Xây dựng tập dữ liệu huấn luyện; (4) Kịch bản hộp thoại; (5) Xây dựng Action

Kết quả thực nghiệm trên bộ dữ liệu đã được xây dựng cho thấy giải pháp đề xuất xây dựng chatbot mang lại hiệu quả trong việc tư vấn cho khách du lịch

Từ khóa: Xử lý ngôn ngữ tự nhiên, biểu diễn văn bản, độ tương đồng văn bản, công nghệ chatbot, chatbot

RESEARCH CONSTRUCTION OF CHATBOT QUANG BINH

TOURIST CONSULTANT SUPPORT

Student: Nong Van Tung Major: Computer Science

Code: 8480101 Course: K35 Polytechnic University – Da Nang University

Abstract: Today chatbot can be applied a lot in the areas of social life

Researching to build chatbot based on open source is a research direction that has received much attention now In this dissertation, I present the theory of machine learning theory, natural language processing, methods and chatbot technology Since then propose a model of chatbot system to support tourism consultancy The process of building chatbot system includes the following steps: (1) Data collection; (2) Determine the language used; (3) Develop training data set; (4) Script dialog; (5) Building Action Experimental results on the data set have been developed, showing that the

proposed solution for building chatbot is effective in advising tourists

Keywords: Natural language processing, Text representation, Text similarity,

Chatbot technology, chatbot

Trang 8

DANH SÁCH CÁC HÌNH

Hình 1.1 Bộ dữ liệu chữ viết tay [22] 9

Hình 1.2 Mô hình vector biểu diễn văn bản [3] 15

Hình 1.3 Ví dụ mô hình đồ thị khái niệm 18

Hình 1.4 Ví dụ mô hình đồ thị hình sao [3] 19

Hình 1.5 Ví dụ về mô hình đồ thị có hướng, không gán nhãn 20

Hình 1.6 Ví dụ mô hình đồ thị n khoảng cách đơn giản [3] 20

Hình 1.7 Mô hình Cbow và Skip-gram [31] 21

Hình 1.8 Mô hình túi từ phân tán của vectơ đoạn [4] 22

Hình 1.9 Mô hình bộ nhớ phân tán [4] 22

Hình 1.10 Mô hình bộ nhớ phân tán cho việc học vector đoạn[35] 23

Hình 1.11 Ví dụ về cây quyết định [15] 33

Hình 1.12 Sơ đồ đơn giản mạng Nơron nhân tạo [2] 34

Hình 1.13 Sơ đồ đồ thị có hướng đơn giản [2] 35

Hình 1.14 Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng cách biên lớn nhất [10] 36

Hình 1.15 Xử lý hội thoại giữa chatbot và con người 38

Hình 1.16 Hoạt động của chatbot 38

Hình 2.1 Đoạn hội thoại của một chatbot trí tuệ nhân tạo [8] 42

Hình 2.2 Chatbot tự động trả lời câu hỏi của khách hàng [28] 43

Hình 2.3 Cấu trúc cơ bản của một chatbot sử dụng NLP và công nghệ Machine learning [19] 45

Hình 2.4 Hệ thống chatbot sử sử dụng phương pháp NLU [17] 46

Hình 2.5 Kiến trúc của hệ thống phân lớp ý định [23] 48

Hình 2.6 Minh hoạ quản lý hội thoại theo mô hình máy trạng thái hữu hạn FSA [24]51 Hình 2.7 Xây dựng tập dữ liệu huấn luyện 55

Hình 3.1 Phần mềm chatbot 59

Trang 9

Hình 3.2 Chatbot hỗ trợ tư vấn thông tin du lịch 60

Hình 3.3 Mô hình hệ thống chatbot 63

Hình 3.4 Máy ảo Vultr.com dùng để cài đặt chatbot 64

Hình 3.5 Các bước thực hiện của giải thuật 66

Hình 3.6 Đặt phòng thông qua chatbot 72

Hình 3.7 Hỏi tìm thông tin nhà hàng 73

Hình 3.8 Hỏi tìm thông tin nhà hàng có chỉnh sửa 73

Hình 3.9 Chatbot trích xuất thông tin về số người phụ thuộc nhiều vào dữ liệu huấn luyện NLU 74

Hình 3.10 Dữ liệu Tiếng Việt không dấu chưa có kết quả như mong muốn 76

Trang 10

DANH SÁCH CÁC BẢNG BIỂU

Bảng 1.1 Biểu diễn văn bản trong mô hình logic 14

Trang 11

DANH SÁCH CÁC CHỮ VIẾT TẮT

AI Artificial Intelligence

NLG Natural Language Generation

NLU Natural Language Understanding

NPL Natural Language Processing

SVM Support Vector Machine

Trang 12

PHẦN I MỞ ĐẦU

1 Lý do chọn đề tài

Chatbot là một chương trình máy tính hoặc trí thông minh nhân tạo tương tác với con người bằng ngôn ngữ tự nhiên, thực hiện cuộc trò chuyện thông qua một giao diện dưới dạng tin nhắn hoặc âm thanh Thuật ngữ “ChatterBot” ban đầu được đặt bởi Michael Mauldin đầu tiên vào năm 1994 Chatbots còn được gọi là Conversational Agents hay Dialog Systems Các chatbots được thiết kế một cách thuyết phục con người cư xử như một đối tác đàm thoại Theo cách tương tác mà chúng tương tác với người dùng, các chatbots thường được chia thành hai loại: âm thanh và tin nhắn Các chatbots được thiết kế phức tạp dựa trên nền tảng xử lý ngôn ngữ tự nhiên, nhưng cũng

có nhiều hệ thống khác đơn giản hơn bằng cách quét từ khóa trong đầu vào, sau đó trả lời với từ khóa phù hợp nhất hoặc mẫu từ ngữ tương tự nhất trong cơ sở dữ liệu

Hiện nay phần lớn các chatbot đều thực hiện truy cập thông qua các trợ lý ảo như trợ lý Google và Amazon Alexa, dưới ứng dụng tin nhắn như Facebook Messenger, WeChat hoặc thông qua các ứng dụng và trang web của các tổ chức riêng

lẻ Sự phát triển của trí tuệ nhân tạo tạo điều kiện để chatbot phát triển nhanh chóng và tạo ra một hệ sinh thái chatbot tương tự hệ sinh thái ứng dụng Chatbot được sử dụng trong rất nhiều công việc như trong việc chăm sóc khách hàng (cung cấp thông tin sản phẩm, đưa ra các thông tin gợi ý…), quản lý hàng tồn, sắp xếp lịch, tra cứu dữ liệu y

tế, chăm sóc sức khỏe Chatbot giúp tối ưu hóa năng suất, giảm thiểu chi phí thông qua chăm sóc khách hàng, chăm sóc sức khỏe, đời sống con người Chatbot có lợi thế để

dễ dàng sử dụng bất cứ ngành nghề nào

Du lịch là một trong những ngành kinh tế quan trọng, là một ngành kinh tế tổng hợp có tính liên ngành, liên vùng và xã hội hóa cao Du lịch không những có khả năng tạo ra nguồn thu nhập rất lớn cho xã hội mà còn góp phần thực hiện chính sách mở cửa, giao lưu văn hóa, thúc đẩy sự đổi mới và phát triển nhiều ngành kinh tế khác, đồng thời giải quyết nhiều vấn đề mang tính chất xã hội Quảng Bình, vùng đất được thiên nhiên ưu ái ban tặng nhiều tài nguyên quý, độc đáo để phục vụ cho việc phát triển một ngành du lịch với nhiều loại sản phẩm du lịch, hình thức du lịch phong phú và đa dạng Quảng Bình đã xác định “Du lịch là một ngành kinh tế mũi nhọn của tỉnh” Quảng Bình là vùng đất giàu tiềm năng, lợi thế để phát triển du lịch, tuy nhiên du lịch Quảng Bình chưa phát triển tương xứng với tiềm năng vốn có Làm thế nào để du lịch Quảng Bình phát triển đi lên ngày một nhanh và mạnh mẽ, thu hút được lượng khách du lịch đến thăm quan nhiều

Trang 13

hơn, nâng cao sức cạnh tranh, nâng cao vị thế du lịch Quảng Bình là một vấn đề quan trọng và cấp thiết cần được đặt ra hiện nay

Hiện nay, khách du lịch có thể tìm hiểu thông tin về các địa điểm, dịch vụ

du lịch ở Quảng Bình thông qua các công cụ tìm kiếm thông tin trên internet và thông tin từ các công ty du lịch Tuy nhiên những thông tin hữu ích và thiết thực với du khách còn hạn chế, du khách phải mất rất nhiều thời gian trong việc tìm hiểu thông tin

Với mong muốn tạo một chatbot có khả năng hỗ trợ tư vấn thông tin du lịch

ở Quảng Bình để góp phần thu hút khách du lịch, nâng cao chất lượng du lịch tại

Quảng Bình, tôi đề xuất đề tài “Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du

lịch Quảng Bình” làm đề tài luận văn của mình

2 Mục tiêu và nhiệm vụ nghiên cứu

a Mục tiêu

- Tìm hiểu về học máy, các thuật toán trong xử lý ngôn ngữ tự nhiên áp dụng trong xây dựng chatbot nhằm nâng cao hiệu quả, độ chính xác của chatbot

- Xây dựng ngữ cảnh chatbot về du lịch Quảng Bình dựa trên các đặc trưng

dữ liệu về du lịch Quảng Bình

- Ứng dụng mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống chatbot hỗ trợ tư vấn cho khách du lịch tới Quảng Bình

b Nhiệm vụ nghiên cứu

- Tìm hiểu lý thuyết máy học và các thuật toán liên quan đến chatbot

- Tìm hiểu các phương pháp xử lý ngôn ngữ tự nhiên với ngôn ngữ Tiếng Việt

- Tìm hiểu các phương pháp tính toán độ tương tự của văn bản

- Tìm hiểu công nghệ và kỹ thuật thiết kế chatbot

3 Đối tượng và phạm vi nghiên cứu

a Đối tượng nghiên cứu

- Lý thuyết máy học, các thuật toán, phương pháp xử lý ngôn ngữ tự nhiên

với ngôn ngữ Tiếng Việt

- Mã nguồn mở Rasa và kỹ thuật xây dựng chatbot

Trang 14

- Dữ liệu về du lịch Quảng Bình

b Phạm vi nghiên cứu

- Nghiên cứu dữ liệu Tiếng Việt dùng trong du lịch và ngôn ngữ hội thoại sử

dụng cho xây dựng chatbot

- Xây dựng và thực nghiệm hệ thống mô phỏng trợ lý ảo có trí tuệ nhân tạo, hiểu và có thể trả lời những câu hỏi về thông tin du lịch Quảng Bình

4 Phương pháp nghiên cứu

a Nghiên cứu lý thuyết

- Lý thuyết về học máy, các phương pháp biễu diễn văn bản và đối sánh văn bản

- Tổng hợp và nghiên cứu các tài liệu liên quan đến chatbot, các thuật toán tối ưu dùng trong chatbot

- Thu thập, thống kê số liệu từ nguồn dữ liệu về du lịch Quảng Bình

- Xây dựng kịch bản cho chatbot du lịch Quảng Bình

b Nghiên cứu thực nghiệm

Cài đặt thực nghiệm chatbot trên tập dữ liệu về du lịch Quảng Bình và phân tích, đánh giá kết quả

5 Ý nghĩa khoa học và thực tiễn của đề tài

a Về mặt lý thuyết

- Thực nghiệm các giả thuyết về các kỹ thuật xử lý ngôn ngữ tự nhiên, kỹ thuật tính toán độ tương đồng về mặt ngữ nghĩa trong văn bản Tiếng Việt… giúp chatbot hiểu được câu đàm thoại khi giao tiếp với con người

- Thực nghiệm các kỹ thuật học máy, khai phá dữ liệu trong huấn luyện và trang bị khả năng tự học của chatbot

b Về mặt thực tiễn

- Khách du lịch giao tiếp với hệ thống chatbot hoạt động tự động trên nền tảng trí tuệ nhân tạo, từng bước đưa Việt Nam bắt kịp và hội nhập theo xu hướng phát triển của công nghiệp 4.0

- Tăng lượng du khách đến với Quảng Bình, nâng cao chất lượng chăm sóc khách du lịch

Trang 15

6 Bố cục luận văn:

Nội dung luận văn được trình bày với các phần chính như sau:

Phần I Mở đầu

Phần II Nội dung luận văn

Chương 1 Tổng quan về học máy và xử lý ngôn ngữ tự nhiên

Chương này sẽ trình bày tổng quan về học máy và xử lý ngôn ngữ tự nhiên, các phương pháp biểu diễn văn bản, tính độ tương đồng văn bản, các phương pháp phân loại văn bản, chatbot

Chương 2 Phân tích và thiết kế chatbot hệ thống chatbot

Nội dung chương 2 sẽ trình bày về mô hình chatbot, phân loại chatbot, các phương pháp xây dựng chatbot, các vấn đề cơ bản khi triển khai xây dựng hệ thống chatbot, xây dựng chatbot trên nền tảng Rasa

Chương 3 Cài đặt thực nghiệm hệ thống chatbot hỗ trợ tư vấn du lịch Quảng bình

Trong chương này mô tả bài toán sử dụng chatbot hỗ trợ tư vấn, phân tích nhu cầu tư vấn, xây dựng dữ liệu thực nghiệm, đề xuất mô hình hệ thống, cài đặt thực nghiệm, phân tích và đánh giá kết quả thực nghiệm

Phần III Kết luận và hướng phát triển

Trang 16

PHẦN II NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY

VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN

1.1 PHƯƠNG PHÁP HỌC MÁY

1.1.1 Trí tuệ nhân tạo

1.1.1.1 Định nghĩa

Trí tuệ nhân tạo (Artificial Intelligence - AI) là lĩnh vực chuyên nghiên cứu và

phát triển các hệ thống (phần mềm và phần cứng) nhằm giải quyết các bài toán giống như cách thức giải quyết của con người trong một ngữ cảnh nào đó Trí tuệ nhân tạo là một ngành khoa học máy tính, được xây dựng trên một nền tảng lý thuyết chắc chắn và

có thể ứng dụng việc tự động hóa các hành vi thông minh của máy tính; giúp máy tính

có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn

đề, biết giao tiếp do hiểu ngôn ngữ, biết nói, biết học và tự thích nghi [13]

1.1.1.2 Quá trình hình thành và phát triển

“Liệu máy tính có khả năng suy nghĩ hay không?” đây là vấn đề được bác học người Anh Alan Turing đưa ra xem xét, ý tưởng xây dựng một chương trình AI xuất hiện lần đầu vào tháng 10/1950 Thực hiện câu trả lời câu hỏi này, ông đã đưa ra khái niệm “phép thử bắt chước” mà sau này người ta gọi là “phép thử Turing” Phép thử được thực hiện dưới dạng một trò chơi Trong đó, có ba đối tượng tham gia trò chơi (gồm hai người và một máy tính) Một người (người thẩm vấn) ngồi trong một phòng kín tách biệt với hai đối tượng còn lại Người này đặt các câu hỏi và nhận các câu trả lời từ người kia (người trả lời thẩm vấn) và từ máy tính Cuối cùng, nếu người thẩm vấn không phân biệt được câu trả lời nào là của người, câu trả lời nào là của máy tính thì lúc đó có thể nói máy tính đã có khả năng “suy nghĩ” giống như người [32]

Tại hội nghị do Marvin Minsky và John McCarthy tổ chức với sự tham dự của vài chục nhà khoa học tại trường Dartmouth (Mỹ) vào năm 1956, tên gọi “Artificial Intelligence” được công nhận chính thức và được dùng cho đến ngày nay Cũng tại đây, bộ môn nghiên cứu trí tuệ nhân tạo đầu tiên đã được thành lập

Những năm sau đó, các nhà khoa học như John McArthy, Marvin Minsky, Allen Newell và Herbert Simon cùng với những cộng sự đã viết nên những chương trình máy tính giải được những bài toán đại số, chứng minh các định lý và nói được

Trang 17

tiếng Anh [32] Những thập niên tiếp theo một số nghiên cứu đã chứng minh không thể vượt qua với các công nghệ tại thời điểm đó

Đến thập kỷ 60, 70 Joel Moses viết chương trình toán học Macsyma sử dụng cơ

sở tri thức đầu tiên thành công Marvin Minsky và Seymour Papert đưa ra các chứng minh đầu tiên về giới hạn của các mạng nơron đơn giản

Vào đầu những năm 1980, những nghiên cứu thành công liên quan đến AI như các hệ chuyên gia (expert systems) - một dạng của chương trình AI mô phỏng tri thức

và các kỹ năng phân tích của một hoặc nhiều chuyên gia con người Đến những năm

1990 và đầu thế kỷ 21, AI đã đạt được những thành tựu to lớn nhất, AI được áp dụng trong logic, khai phá dữ liệu, chẩn đoán y học và nhiều lĩnh vực ứng dụng khác trong công nghiệp

Hiện nay, khoa học công nghệ phát triển mạnh mẽ, cùng những bộ dữ liệu phong phú, các công cụ phát triển phần mềm miễn phí hoặc giá rẻ đã hỗ trợ rất nhiều cho các nhà nghiên cứu Từ đó đã thúc đẩy sự phát triển các nghiên cứu về trí tuệ nhân tạo, giúp cho AI thu hút đông đảo các ông lớn như: Facebook, Google, Microsoft tham gia nghiên cứu, phát triển sản phẩm và mở ra kỷ nguyên mới cho trí tuệ nhân tạo

1.1.1.3 Một số ứng dụng

Ngày nay, trí tuệ nhân tạo được ứng dụng theo hai hướng: Thiết kế những máy tính thông minh độc lập với cách suy nghĩ của con người và dùng máy tính để bắt chước quá trình xử lý của con người, một số ứng dụng cơ bản như sau:

Nhận dạng chữ viết: Nhận dạng chữ viết ứng dụng trong lĩnh vực nhận dạng

chữ in hoặc chữ viết tay và lưu thành văn bản điện tử Ở Việt Nam, phần mềm VnDOCR do Phòng Nhận dạng & Công nghệ tri thức, Viện Công nghệ Thông tin xây dựng có thể nhận dạng trực tiếp tài liệu bằng cách quét thông qua máy scanner thành các tệp ảnh, chuyển đổi thành các tệp có định dạng *.doc, *.xls, *.txt, *.rtf, giúp người

sử dụng không phải gõ lại tài liệu vào máy Tương tự với phần mềm nhận dạng chữ viết trong thư viện, người ta cũng có thể dễ dàng chuyển hàng ngàn đầu sách thành văn

bản điện tử một cách nhanh chóng [33]

Nhận dạng tiếng nói: Nhận dạng tiếng nói đóng vai trò quan trọng trong giao

tiếp giữa người và máy Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con người Một ứng dụng trong lĩnh vực này là hãng sản xuất xe hơi BMW (Đức) đang tiến hành phát triển một công nghệ mới cho phép các tài xế có thể soạn email, tin nhắn

bằng giọng nói trong khi đang lái xe [33]

Trang 18

Dịch tự động: Dịch tự động là công việc thực hiện dịch một ngôn ngữ sang một

hoặc nhiều ngôn ngữ khác, không có sự can thiệp của con người trong quá trình dịch Tuy nhiên, để làm cho máy hiểu được ngôn ngữ là một trong những vấn đề khó nhất của trí tuệ nhân tạo Thí dụ câu: “bà già đi nhanh quá” cũng có nhiều cách hiểu khác nhau: với cách phân tách từ và cụm từ thành bà già/đi/nhanh quá và bà/già đi/nhanh quá thì việc dịch câu kiểu như thế này từ tiếng Việt sang tiếng Anh đòi hỏi máy không những phải hiểu đúng nghĩa câu tiếng Việt mà còn phải tạo ra được câu tiếng

Anh tương ứng Do đó đây vẫn là ứng dụng phức tạp

Tìm kiếm thông tin: Thông tin trên mạng hàng ngày được gia tăng theo cấp số

nhân Việc tìm kiếm thông tin mà người dùng quan tâm bây giờ là tìm đúng thông tin mình cần và phải đáng tin cậy Theo thống kê, có đến hơn 90% số lượng người Việt Nam lên mạng internet để thực hiện việc tìm kiếm thông tin Các máy tìm kiếm (search engine) hiện nay chủ yếu thực hiện tìm kiếm dựa theo từ khóa Thí dụ, Google hay Yahoo chỉ phân tích nội dung một cách đơn giản dựa trên tần suất của từ khoá, thứ hạng của trang và một số tiêu chí đánh giá khác 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 nhằm giới thiệu sản phẩm hoặc lại nhận được quá nhiều tài liệu

không phải thứ ta mong muốn, trong khi đó lại không tìm ra tài liệu cần tìm [33]

Khai phá dữ liệu và phát hiện tri thức: Đây là lĩnh vực cho phép xử lý từ rất

nhiều dữ liệu khác nhau để phát hiện ra tri thức mới Ngoài ra, ứng dụng trong lĩnh vực này cũng cần phải biết trả lời câu hỏi của người sử dụng chúng từ việc tổng hợp

dữ liệu thay vì máy móc chỉ đáp trả những gì có sẵn trong bộ nhớ Thực tế để làm được điều này rất khó, nó gần như là mô phỏng quá trình học tập, khám phá khoa học của con người Ngoài ra, dữ liệu thường có số lượng rất lớn, với nhiều kiểu (số, văn bản, hình ảnh, âm thanh, video ) và không ngừng thay đổi Để tìm ra tri thức thì các chương trình phải đối mặt với vấn đề độ phức tạp tính toán Đây là lĩnh vực vẫn còn

đang trong giai đoạn đầu phát triển [33]

Lái xe tự động: Theo Sebastian Thrun, Giáo sư ngành máy tính và kỹ thuật điện

của Đại học Carnegie Mellon: ưu điểm lớn nhất của xe tự lái là khả năng loại bỏ sai sót của con người - nguyên nhân dẫn đến 95% số vụ tử vong mỗi năm tại Mỹ do tai nạn giao thông “Chúng tôi có thể giảm bớt 50% số vụ tai nạn do nguyên nhân này”, ông Sebastian Thrun khẳng định Chế tạo được ôtô tự lái và an toàn cao cũng là một mục tiêu được Cục nghiên cứu các dự án công nghệ cao Bộ quốc phòng Mỹ DARPA (Defense Advanced Research Projects Agency) khởi xướng và hỗ trợ dưới dạng một cuộc thi mang tên “thách thức lớn của DARPA” (DARPA grand challenge) Chúng ta

Trang 19

hy vọng sẽ đến một ngày, những chiếc ôtô chạy trên đường không cần người lái Chỉ

nói nơi muốn đến, xe sẽ đưa ta đi và đi an toàn [33]

Robot: Nhiều đề án nghiên cứu về robot thông minh và các lĩnh vực liên quan được ứng dụng trong đời sống Các đề án này hướng đến các sáng tạo công nghệ có nhiều ý nghĩa trong văn hóa, xã hội và công nghiệp, đòi hỏi phải tích hợp nhiều công nghệ, như nguyên lý các tác tử, biểu diễn tri thức về không gian, nhận biết chiến lược, lập luận thời gian thực, nhận dạng và xử lý các chuỗi hình ảnh liên tục trong thời gian thực Một trong những ứng dụng đó là đề án RoboCup: tổ chức thi đấu bóng đá giữa

Hiện nay có hai cách phổ biến để phân nhóm các thuật toán học máy Đó là dựa trên phương thức học (learning style) và dựa trên chức năng (function) của mỗi thuật toán [22] Các thuật toán học máy theo phương thức học được chia làm 4 nhóm: Học

có giám sát, học không giám sát, học bán giám sát, học củng cố

- Học có giám sát (Supervised Learning): Là thuật toán dự đoán đầu ra (outcome)

của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này còn được gọi là (dữ liệu, nhãn) Học có giám sát là nhóm phổ biến nhất trong các thuật toán học máy Phát biểu dưới dạng toán học, học giám sát là khi chúng ta có một tập hợp biến đầu vào X={x1,x0,…,xN} và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}, trong đó xi,yi là các vector Các cặp dữ liệu biết trước x y i, i X Y được gọi là tập dữ liệu huấn luyện (training data) Từ tập dữ liệu

huấn luyện này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y

( )

yf x với  x 1, 2, N Mục đích là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có thể tính được nhãn tương ứng của nó yf x( )

Trang 20

Ví dụ: Trong lĩnh vực nhận dạng chữ viết tay, ở Hình 1.1 dưới đây là tập bộ chữ

số mỗi chữ số được viết bởi nhiều người khác nhau Bức ảnh này khi được đưa vào trong một thuật toán và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào Sau khi thuật toán tạo ra một mô hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một chữ số, khi nhận được một bức ảnh mới mà mô hình chưa nhìn thấy bao giờ, nó sẽ

dự đoán bức ảnh đó chứa chữ số nào [22]

Hình 1.1 Bộ dữ liệu chữ viết tay [22]

Thuật toán học có giám sát được chia thành hai loại là phân loại (classification)

và hồi quy (regression) Một bài toán được gọi là phân loại nếu các nhãn của dữ liệu

vào được chia thành một số hữu hạn nhóm Ví dụ: công cụ xác định xem một email có phải là thư rác hay không của Gmail; xác định xem một khách hàng có khả năng thanh

toán nợ hay không trong các hãng tín dụng Còn hồi quy thì nhãn không được chia thành các nhóm mà là một giá trị cụ thể Ví dụ: một khu đất có diện tích là x m2 , có y căn nhà, các xa trung tâm thị trấn z km sẽ có giá bao nhiêu?

- Học không giám sát (Unsupervised Learning): Trong thuật toán này chỉ có dữ liệu đầu vào mà không biết được đầu ra hoặc nhãn Thuật toán này sẽ dựa vào cấu trúc

dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán Phát biểu dưới dạng toán học, học không giám sát là khi chúng ta chỉ có dữ

liệu vào X mà không biết nhãn Y tương ứng

Ví dụ: Xây dựng tham số “k-mean” cho vấn đề chia nhóm Thuật toán Apriori cho các vấn đề liên quan đến việc học tập quy tắc

Các bài toán học không giám sát tiếp tục được chia thành hai loại phân nhóm (clustering) và kết hợp (association) Phân nhóm của một bài toán phân nhóm toàn bộ

Trang 21

dữ liệu X thành các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm

Ví dụ: phân nhóm khách hàng dựa trên hành vi mua hàng Kết hợp là bài toán khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Ví dụ: chẳng hạn như những người mua A cũng có khuynh hướng mua B [29]

- Học bán giám sát (Semi-Supervised Learning): Các bài toán khi chúng ta có

một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn được gọi là học bán giám sát Những bài toán thuộc nhóm này nằm giữa hai nhóm học giám sát và học không giám sát Trong thực tế các bài toán học máy thuộc học bán giám sát thì việc thu thập dữ liệu có chi phí cao và tốn nhiều thời gian Ngoài ra có những loại dữ liệu chỉ có chuyên gia mới gán nhãn được (như ảnh y học), cũng có những loại dữ liệu chưa có nhãn có thể thu thập với chi phí thấp từ internet

Ví dụ: Chúng ta đã lưu trữ được là một kho ảnh nhưng chỉ có một phần ảnh được gán nhãn (như bức ảnh về người, động vật) và phần ảnh còn lại không được gán nhãn

- Học củng cố (Reinforcement Learning): Là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất Hiện tại, học củng cố chủ yếu được áp dụng vào lý thuyết trò chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất Ví dụ: huấn luyện cho máy tính chơi game Mario là một dạng học củng cố

1.1.2.2 Ứng dụng của học máy

Hiện nay học máy được ứng dụng rộng khắp các ngành khoa học, sản xuất đặc biệt là các ngành cần phân tích khối dữ liệu lớn Một số ứng dụng học máy phổ biến:

Xử lý ngôn ngữ tự nhiên (Natural Language Processing): Xử lý văn bản, truy

xuất thông tin, trích chọn thông tin, tóm tắt văn bản tự động, khai phá và phát hiện tri thức, giao tiếp người – máy, dịch máy

Máy tìm kiếm: Như Google, Bing, Youtube các hệ thống này sử dụng các công

cụ của học máy để phát triển hệ thống tìm kiếm

Tin sinh học: Trong lĩnh vực tin sinh học chuyên nghiên cứu về việc phát triển các giải thuật, lý thuyết và các kĩ thuật thống kê và tính toán để giải quyết các bài toán bắt nguồn từ nhu cầu quản lý và phân tích dữ liệu sinh học, phân loại và dự đoán chuỗi gene, dự đoán tính chất của thuốc mới

Nhận dạng mẫu (Patten recognition): Các ứng dụng phổ biến là nhận dạng tiếng

nói tự động, phân loại văn bản thành nhiều loại khác nhau (ví dụ: những thư điện tử

Trang 22

nào là spam/non-spam), nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ thống nhận dạng danh tính dựa vào mặt người

Chẩn đoán trong y tế: Công nghệ học máy giúp các chuyên gia y tế xác định những xu hướng hoặc tín hiệu để cải thiện khả năng điều trị, chẩn đoán bệnh, trợ giúp phân tích ảnh X – quang

Các dịch vụ tài chính: Ngân hàng và các doanh nghiệp hoạt động trong lĩnh vực tài chính sử dụng công nghệ học máy nhằm tìm khách hàng đang có hồ sơ rủi ro cao hoặc sử dụng giám sát mạng để chỉ rõ những tín hiệu lừa đảo, gian lận thẻ tín dụng

Phân tích thị trường chứng khoán (stock market analysis): Sử dụng các kỹ thuật

toán học máy tiên tiến như mạng nơron nhân tạo (ANN), máy vector hỗ trợ (SVM) vào bài toán dự báo chứng khoán dựa trên tập dữ liệu lịch sử giá

Trò chơi: Chơi cờ (Deep blue, IBM, 1998), Deep Blue là một máy tính chơi cờ vua do IBM phát triển Nó được biết đến như là hệ thống cờ vua máy tính đầu tiên giành được cả một trò chơi cờ vua và một trận đấu cờ vua chống lại nhà vô địch thế giới trị vì dưới sự kiểm soát thời gian thông thường [30]

Người máy (robot): Là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của người máy

1.2 XỬ LÝ NGÔN NGỮ TỰ NHIÊN

1.2.1 Tổng quan 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 được 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 hiểu ngôn ngữ công cụ hoàn hảo nhất của tư duy và giao tiếp [26]

Xử lý ngôn ngữ chính là xử lý thông tin khi thông tin đầu vào là “dữ liệu ngôn ngữ” (dữ liệu cần biến đổi), tức dữ liệu “văn bản” hay “tiếng nói” Các dữ liệu liên quan đến ngôn ngữ viết (văn bản) và nói (tiếng nói) đang dần trở thành kiểu dữ liệu chính con người và lưu trữ dưới dạng điện tử Đặc điểm chính của kiểu dữ liệu này là không có cấu trúc hoặc nửa bán cấu trúc và chúng ta không thể lưu trữ trong các khuôn dạng cố định như các bảng biểu

1.2.2 Các bài toán cơ bản trong xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên bao gồm hiểu ngôn ngữ tự nhiên và sinh ngôn ngữ tự nhiên Trong đó, hiểu ngôn ngữ tự nhiên (NLU) bao gồm 4 bước chính sau đây [34]:

Trang 23

Phân tích hình vị: Là sự nhận biết, phân tích, và miêu tả cấu trúc của những hình vị trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên

từ, phụ tố, từ loại,… Có hai loại bài toán điển hình trong phần này, bao gồm bài toán tách từ (word segmentation) và gán nhãn từ loại (POS)

Phân tích cú pháp: Là quy trình phân tích một chuỗi các biểu tượng, ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ máy tính, tuân theo văn phạm hình thức Văn phạm hình thức thường dùng trong phân tích cú pháp của ngôn ngữ tự nhiên bao gồm văn phạm phi ngữ cảnh (Context-free grammar–CFG), văn phạm danh mục kết nối (Combinatory categorial grammar–CCG), và văn phạm phụ thuộc (Dependency grammar–DG) Đầu vào của quá trình phân tích là một câu gồm một chuỗi từ và nhãn

từ loại của chúng, và đầu ra là một cây phân tích thể hiện cấu trúc cú pháp của câu đó Các thuật toán phân tích cú pháp phổ biến bao gồm CKY, Earley, Chart và GLR

Phân tích ngữ nghĩa: Là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm từ, mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng Nói cách khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngôn từ Phân tích ngữ nghĩa bao gồm hai mức độ: Ngữ nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành phần, và phân biệt nghĩa của từ; Ngữ nghĩa thành phần liên quan đến cách thức các từ liên kết để hình thành những nghĩa rộng hơn

Phân tích diễn ngôn: Ngữ dụng học là môn nghiên cứu về mối quan hệ giữa ngôn ngữ và ngữ cảnh sử dụng Ngữ cảnh sử dụng bao gồm danh tính của người hoặc vật, và vì thế ngữ dụng học bao gồm những nghiên cứu về cách ngôn ngữ được dùng

để đề cập (hoặc tái đề cập) tới người hoặc vật Ngữ cảnh sử dụng bao gồm ngữ cảnh diễn ngôn, vì vậy ngữ dụng học cũng bao gồm những nghiên cứu về cách thức cấu tạo nên diễn ngôn, và cách người nghe hiểu người đang đối thoại với mình

Khía cạnh thứ hai của NLP là sinh ngôn ngữ tự nhiên (NLG) Đây là một nhiệm

vụ trong quá trình xử lý ngôn ngữ tự nhiên trong việc sinh ra ngôn ngữ tự nhiên từ một

hệ thống máy biểu diễn như một cơ sở tri thức hoặc một dạng biểu diễn logic NLG đóng vai trò quan trọng trong rất nhiều ứng dụng NLP, bao gồm sinh hội thoại, tương tác người – máy, dịch thuật máy, và tóm tắt văn bản tự động

1.2.3 Ứng dụng của xử lý ngôn ngữ tự nhiên

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 Xử lý ngôn ngữ tự nhiên có rất nhiều ứng dụng hữu ích trong cuộc sống cũng như cơ sở cho các nghiên cứu trong các lĩnh vực khác Sau đây là một vài ứng dụng của xử lý ngôn ngữ tự nhiên [34]:

Trang 24

- 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 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ó khuôn 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 và đơn giản hơn Đây cũng là bước đầu tiên cần phải thực hiện trong thực hiện giao tiếp giữa con người với robot Một ví dụ của ứng dụng nhận dạng tiếng nói là trợ giúp người khiếm thị

- 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): là chương trình dịch tự động từ ngôn ngữ này

sang ngôn ngữ khác Các nghiên cứu và ứng dụng của dịch tự động hiện nay rất phát triển, các ứng dụng có độ chính xác cao

- 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 Vấn đề là tìm đúng nhất thông tin cần tìm 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 là chỉ dựa trên tần suất của từ khoá, 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 do thủ thuật đánh lừa của các trang web nhằm giới thiệu sản phẩm (kỹ thuật SEO - Search Engine Optimization) Thực

tế cho đến nay chưa có 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 ở dạng đơn giản nhất

Trang 25

- Tóm tắt văn bản: Từ một văn bản dài được tóm tắt thành một văn bản ngắn hơn

nhưng vẫn chứa những nội dung thiết yếu nhất

- Khai phá dữ liệu và phát hiện tri thức: là phát hiện ra tri thức mới từ rất nhiều

tài liệu khác nhau Khai phá dữ liệu là mô phỏng quá trình học tập, khai phá thông tin có ích của con người Ở 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ìm kiếm tự tìm ra câu trả lời thích hợp nhất

1.3 CÁC PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN

1.3.1 Mô hình biểu diễn văn bản truyền thống

1.3.1.1 Mô hình logic

Theo mô hình này các từ có nghĩa trong văn bản sẽ được đánh chỉ số và nội dung văn bản được quản lý theo các chỉ số index đó Mỗi văn bản được đánh chỉ số theo quy tắc liệt kê các từ có nghĩa trong các văn bản với trị trí xuất hiện của nó trong văn bản Từ có nghĩa là từ mang thông tin chính về các văn bản lưu trữ, khi nhìn nó người ta người ta có thể biết chủ thể của văn bản cần biểu diễn [3]

Ví dụ: Ta có 2 văn bản với mã tương ứng là VB1, VB2

“Cộng hòa xã hội chủ nghĩa Việt Nam” (VB1)

“Việt nam dân chủ cộng hòa” (VB2) Khi đó ta có cách biểu diễn như sau

Bảng 1.1 Biểu diễn văn bản trong mô hình logic

Từ mục Mã văn bản_vị trí xuất hiện

Trang 26

Khi biểu diễn văn bản theo mô hình này, người ta các tìm kiếm sau: Câu hỏi tìm kiếm được đưa ra dưới dạng logic gồm một tập các phép toán (And, Or,…) thực hiện trên các từ hoặc cụm từ, việc tìm kiếm dựa vào bảng Index đã tạo ra và kết quả lại là các văn bản thảo mãn điều kiện trên

1.3.1.2 Mô hình vector

Mô hình vector là một trong những mô hình đơn giản và thường được sử dụng trong phần lớn các bài toán xử lý dữ liệu văn bản Theo mô hình này, mỗi văn bản được biểu diễn thành một vector, mỗi thành phần của vector là một từ khóa trong tập văn bản gốc và được gán một giá trị trọng số xác định tần suất xuất hiện của từ trong văn bản [3]

Hình 1.2 Mô hình vector biểu diễn văn bản [3]

Phát biểu của mô hình [3]:

Mỗi văn bản D được biểu diễn dưới dạng một vector V (vector đặc trưng cho văn bản D) Trong đó, V =(v 1 ,v 2 ,…,v n ) và n là số lượng đặc trưng hay số chiều của vector văn bản (thường là số từ khóa), v i là trọng số của đặc trưng thứ i (với 1 ≤i ≤ n)

Trọng số của đặc trưng có thể tính dựa trên tần số xuất hiện của từ khóa trong văn bản Ma trận biểu diễn trọng số (ma trận tần suất) W ={wij} được xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj Một số phương pháp xác định wij:

- Phương pháp Boolean weighting: Giá trị là 1 nếu số lần xuất hiện của từ khóa lớn hơn một ngưỡng nào đó, ngược lại là 0

- Phương pháp dựa trên tần số từ khóa (Term Frequency Weighting)

- Phương pháp dựa trên nghịch đảo tần số văn bản (Inverse Document

Frequency)

Trang 27

- TF*IDF weighting

a) Phương pháp Boolean weighting

Mô hình vector với trọng số từ khóa ti nhận giá trị đúng nếu và chỉ nếu ti xuất hiện trong văn bản đó

Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2, dm} Mỗi văn bản được biểu diễn dưới dạng một vector gồm n từ khóa T = {t1, t2,…tn} Gọi W = {Wij} là

ma trận trọng số, trong đó Wij là giá trị trọng số của từ khóa ti trong văn bản dj

b) Phương pháp dựa trên tần số từ khóa (Term Frequency)

Các giá trị Wij được tính dựa trên tần số xuất hiện của từ khóa trong văn bản Giả sử fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij được tính bởi một trong ba công thức:

Wij = fij

Wịj = 1 + log(fịj)

Wf

Nếu số lần xuất hiện từ khóa t trong văn bản dj càng lớn thì có nghĩa là văn bản

dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj Ví dụ, nếu trong văn bản xuất hiện nhiều từ khóa máy tính, điều đó

có nghĩa là văn bản chủ yếu liên quan đến lĩnh vực tin học

c) Phương pháp dựa trên nghịch đảo tần số văn bản

Trong phương pháp này Wij được tính theo công thứ sau:

N df W

ti trong văn bản dj Nếu ti xuất hiện trong càng ít văn bản, thì khi nó xuất hiện trong dj, trọng số của nó đối với dj càng lớn (do tính nghịch đảo của hàm log), tức là hàm lượng thông tin trong nó càng lớn Nói cách khác ti là điểm quan trọng để phân biệt dj với các văn bản khác

Trang 28

- weigh(i,j): là trọng số của từ thứ i trong văn bản bản thứ j

- fij (term frequency): số từ xuất hiện từ thứ i trong văn bản j, fij càng cao thì từ

đó càng miêu tả tốt nội dung văn bản

- dfi (document frequency): số văn bản có chứa từ thứ i

Nhân xét

Ưu điểm: Mô hình vector là mô hình biểu diễn văn bản được sử dụng khá phổ biến trong các hệ xử lý văn bản Mối quan hệ giữa các văn bản được tính toán dựa trên các vector biểu diễn nên dễ dàng thực hiện

Nhược điểm: Vì mỗi văn bản được biểu diễn thành một vector n chiều, với số chiều thường là số từ khác nhau trong tập văn bản, do đó không gian biểu diễn có số chiều tương đối lớn, việc lưu trữ và tính toán trên vector tốn kém và phức tạp

Ngoài ra, hệ thống không linh hoạt khi lưu trữ các từ khóa Chỉ cần một thay đổi nhỏ trong bảng từ vựng sẽ dẫn đến hoặc là vector hóa lại toàn bộ các tài liệu, hoặc

là bỏ qua các từ có nghĩa bổ sung trong các tài liệu được mã hóa trước đó

1.3.2 Mô hình đồ thị biểu diễn văn bản

Mô hình đồ thị biểu diễn văn bản được John F Sowa đưa ra lần đầu tiên vào năm

1976 - mô hình đồ thị khái niệm (Conceptual Graphs CGs) Trong mô hình đồ thị, mỗi

đồ thị là một văn bản Đỉnh của đồ thị có thể là câu, hoặc từ, hoặc kết hợp câu và từ Cạnh nối giữa các đỉnh là vô hướng hoặc có hướng, thể hiện mối quan hệ trong đồ thị Nhãn của đỉnh thường là tần số xuất hiện của đỉnh, còn nhãn của cạnh là tên mối liên kết khái niệm giữa hai đỉnh, hay tần số xuất hiện chung của hai đỉnh trong một phạm

vi nào đó, hay tên vùng mà đỉnh xuất hiện

Trang 29

Ví dụ, trong bài toán rút trích thông tin, đỉnh là từ hay từ kết hợp câu, cạnh thể hiện tần số đồng hiện Trong bài toán phân lớp văn bản, đỉnh là từ, cạnh thể hiện trật tự xuất hiện của từ hay vị trí xuất hiện của từ trong văn bản Trong bài toán tóm tắt văn bản, đỉnh là câu, cạnh thể hiện sự tương đồng giữa các câu

1.3.2.1 Mô hình đồ thị khái niệm (Conceptual Graphs -CGs)

Mô hình đồ thị khái niệm sử dụng mạng ngữ nghĩa để biểu diễn văn bản thành

đồ thị Mỗi từ trong văn bản là một khái niệm và được biểu diễn bẳng đỉnh hình vuông Đỉnh hình oval thể hiện mối quan hệ giữa các khái niệm Các đỉnh hình vuông được nối với nhau dựa trên mối quan hệ trong mạng ngữ nghĩa và qua trung gian là đỉnh hình oval

Ví dụ ta có câu: “Nam is going to DaNang by taxi”, đồ thị khái niệm có dạng:

Hình 1.3 Ví dụ mô hình đồ thị khái niệm

Trong hình, các khái niệm là “Go”, “Person: Nam”, “City: DaNang” và “Taxi”, các mối quan hệ “Agnt”, “Dest” và “Inst”

Ưu điểm của CGs là mô hình hóa văn bản một cách trực quan, chính xác và logic Hạn chế của mô hình là khác phức tạp, đòi hỏi phân tích ngữ nghĩa sâu, chuyên biệt và phụ thuộc vào lĩnh vực

1.3.2.2 Mô hình đồ thị hình sao

Trong đồ thị hình sao, đỉnh trung tâm là nét khái quát cấu trúc của văn bản Sau khi đỉnh trung tâm được xác lập, các đỉnh còn lại sẽ được triển khai Ngoài đỉnh trung tâm, các đỉnh còn lại biểu diễn từ trong văn bản Cạnh nối giữa các đỉnh được gán nhãn, thể hiện mối quan hệ giữa các đỉnh [3]

Trang 30

Hình 1.4 Ví dụ mô hình đồ thị hình sao [3]

1.3.2.3 Mô hình đồ thị vô hướng sử dụng tần số xuất hiện

Trong mô hình này, đỉnh và cạnh đều được gán nhãn là tần số xuất hiện của đỉnh và cạnh tương ứng Cạnh được nối giữa hai đỉnh nếu hai từ xuất hiện chung trong trong tập hợp (câu hoặc nhóm từ hoặc trang) Nhãn của đỉnh là tần số xuất hiện của từ trong văn bản, nhãn của cạnh là tần số xuất hiện chung của 2 từ trong tập hợp và tần số xuất hiện chung này lớn hơn ngưỡng cho phép

Ưu điểm của mô hình là khai thác được mối quan hệ giữa từ với từ trong cấu trúc văn bản cũng như tần số xuất hiện của từ, hỗ trợ cho quá trình tìm kiếm thông tin nhanh chóng

1.3.2.4 Mô hình đồ thị có hướng, cạnh không gán nhãn

Mô hình này còn được gọi là mô hình đồ thị đơn giản Mỗi đỉnh biểu diễn một

từ riêng biệt và chỉ xuất hiện một lần trên đồ thị ngay cả khi từ đó xuất hiện nhiều lần trong văn bản Nhãn đình là tên của từ Sau bước tiền xử lý văn bản, nếu từ “a” đứng ngay trước từ “b” sẽ có cạnh nối từ đỉnh “a” đến đỉnh “b” (không kể các trường hợp phân cách bởi dấu câu)

Ví dụ: “Samsung sẽ giới thiệu điện thoai Samsung galaxy note 10 và trưng bày công nghệ bổ trợ được xây dựng để cải tiến điện thoại”

Ví dụ:

Trang 31

Hình 1.5 Ví dụ về mô hình đồ thị có hướng, không gán nhãn

Ưu điểm của mô hình là lưu trữ được các thông tin cấu trúc như thứ tự xuất hiện, vị trí của từ trong văn bản và làm tăng hiệu quả của các bài toán phân lớp cũng như gom cụm văn bản

1.3.2.5 Mô hình đồ thị có hướng, cạnh không gán nhãn, cạnh là khoảng cách n giữa hai từ trong văn bản

Mô hình này còn có tên gọi khác là mô hình khoảng cách n đơn giản Trong mô hình này, người dùng cung cấp tham số n Thay vì chỉ quan tâm từ “A” trực tiếp ngay trước từ “B” ta còn chú ý đến n từ đứng trước từ “B” Cạnh được xây dựng giữa hai từ khi giữa chúng có số từ xuất hiện nhiều nhất là (n-1), ngoại trừ trường hợp các từ được phân cách bởi các dấu câu [3]

Ví dụ: ta có câu “Cánh đồng lúa xanh bát ngát”, với n = 2, mô hình biểu diễn câu như sau:

Hình 1.6 Ví dụ mô hình đồ thị n khoảng cách đơn giản [3]

Ưu điểm của mô hình là tận dụng được mối quan hệ giữa các từ, vùng lân cận của từ trong câu và có thể áp dụng vào bài toán phân lớp văn bản

1.3.3 Mô hình Word2vec văn bản (vector hóa từ)

Trong word2vec, một biểu diễn phân tán (distributed representation) của một từ được sử dụng Sử dụng một vector với vài trăm chiều Mỗi từ được biểu diễn bởi tập

Trang 32

các trọng số của từng phần tử trong nó Như thế thay vì kết nối one-to-one giữa các phần từ trong vector và 1 từ, biểu diễn từ sẽ là dàn trải tất cả các thành phần của vector, và mỗi phần tử trong vector sẽ góp phần định nghĩa nhiều từ khác

Mỗi vector như vậy cũng đại diện cho một cách tóm lược của ý nghĩa của một

từ Và như vậy tiếp theo, chỉ đơn giản bằng cách kiểm tra một ngữ liệu lớn nó có thể học word vectors, ta có thể nắm bắt các mối quan hệ giữa các từ trong một cách đáng ngạc nhiên Có thể sử dụng các vector là đầu vào cho một mạng nơron [4]

Bao gồm 2 mô hình :

- Mô hình túi từ liên lục (CBOW): Dự đoán 1 từ khi đã có các từ lân cận

- Mô hình Skip-gram: Là một mô hình đối lập hoàn toàn với mô hình CBOW

Dự đoán các từ lân cận khi đã có 1 từ (theo thống kê mô hình này giúp làm mượt CBOW mượt hơn nhiều)

Hình 1.7 Mô hình Cbow và Skip-gram [31]

Mục đích và tính hữu ích của word2vec là nhóm các vectơ của các từ tương tự lại với nhau trong vectorspace Nghĩa là, nó phát hiện các điểm tương đồng về mặt toán học

1.3.4 Mô hình Doc2vec (vector hóa văn bản)

Mô hình Doc2Vec được phát triển dựa trên mô hình Word2Vec [4] trên cơ sở thừa kế ý tưởng của Word2Vec và xây dựng thêm ma trận đoạn Việc này giúp cho mô hình Doc2Vec tập hợp tất cả các từ trong một câu thành một vectơ

Mô hình Doc2vec bao gồm hai mô hình: Mô hình túi từ phân tán (distributed bag of words- DBOW) và mô hình bộ nhớ phân tán (distributed memory- DM)

a Mô hình túi từ phân tán(DBOW)

Trang 33

Hình 1.8 Mô hình túi từ phân tán của vectơ đoạn [4]

Mô hình này đơn giản là không quan tâm thứ tự các từ, huấn luyện nhanh hơn, không sử dụng bối cảnh địa phương/lân cận

Mô hình chèn thêm 1 "word" là ParagraphID, ParagraphID này đại diện cho văn bản được huấn luyện Sau khi huấn luyện xong có thể hiểu các vector ParagraphID này là vector nhúng của các văn bản

b Mô hình bộ nhớ phân tán(DM)

Hình 1.9 Mô hình bộ nhớ phân tán [4]

Nó xem một đoạn văn (paragraph) là một từ, sau đó nối từ này vào tập các từ trong câu Trong quá trình huấn luyện, vector của đoạn văn (paragraph) và vector từ đều được cập nhật

Đối với Doc2vec ngoài từ ta còn có thể biểu diễn các câu thậm chí là một đoạn văn bản Khi đó, có thể dễ dàng vector hóa cả một đoạn văn bản thành một vector có

số chiều cố định và nhỏ, từ đó có thể chạy bất cứ thuật toán phân loại cơ bản nào trên các vector đó [40]

Trang 34

Hình 1.10 Mô hình bộ nhớ phân tán cho việc học vector đoạn[35]

1.4 TÍNH ĐỘ TƯƠNG ĐỒNG VĂN

Các phép đo độ tương tự giữa văn bản và văn bản đã được nghiên cứu trong các ứng dụng của xử lý ngôn ngữ tự nhiên và các lĩnh vực liên quan Ứng dụng sớm nhất của độ tương tự văn bản là tìm kiếm thông tin, ở đó các tài liệu có liên quan tới câu truy vấn được xếp hạng theo thứ tự của độ tương tự Ngoài ra, độ tương tự văn bản còn được dùng cho phân lớp văn bản, trích chọn hay tóm tắt văn bản, phương pháp cho đánh giá dịch máy tự động hay đánh giá tính chặt chẽ của văn bản

1.4.1 Khái niệm độ tương đồng

Độ tương đồng là một đại lượng dùng để so sánh hai hay nhiều đối tượng với nhau, phản ánh cường độ của mối quan hệ giữa các đối tượng với nhau Ví dụ: xét 2 câu “Tôi là nam” và “Tôi là nữ”, ta có thể nhận thấy hai câu trên có sự tương đồng khá cao [4]

Phát biểu bài toán tính độ tương đồng như sau:

Xét 2 văn bản d i và d j Mục tiêu là tìm ra một giá trị S(d i ,d j ), Se (0,1), thể hiện

độ tương đồng giữa 2 văn bản d i và d j Giá trị càng cao thì sự giống nhau về nghĩa của hai văn bản càng nhiều

Ví dụ trong mô hình không gian vector, ta sử dụng độ đo Cosine để tính độ tương đồng giữa hai văn bản, mỗi văn bản được biểu diễn bởi một vector

Độ tương tự ngữ nghĩa là khái niệm thể hiện tỷ lệ dựa trên sự giống nhau về nội dung ý nghĩa của tập các tài liệu hoặc các thuật ngữ trong một danh sách các thuật ngữ [6] Độ tương đồng ngữ nghĩa phản ánh mối quan hệ ngữ nghĩa giữa các câu, các tài liệu văn bản

1.4.2 Độ tương đồng văn bản dựa trên tập từ chung

Trang 35

1.4.2.1 Khoảng cách Jaro

Khoảng cách Jaro định nghĩa độ đo tương tự giữa hai chuỗi Cho hai câu s1 và

s2, khoảng cách Jaro d giữa s1 và s2 được tính như sau [11]:

1 3

Trong đó m là số từ giống nhau, t là ½ số bước chuyển

Phép chuyển vị trí sẽ được thực hiện khi hai từ giống nhau trong hai câu s1 và s2

có khoảng cách không lớn hơn giá trị:

 1 2 

1 2

s s

Mỗi từ trong câu s1 được so sánh với tất cả các từ trong s2 Số bước chuyển được định nghĩa là số lượng từ giống nhau giữa hai câu (nhưng thứ tự trong chuỗi khác nhau) chia cho 2

1.4.2.2 Mô hình tương phản (Contrast model)

Mô hình tương phản do Tversky đề xuất (“Features of similarity”, Psychological Review, 1977) để tính độ tương tự giữa hai câu A và B như sau:

sim(A, B)   * g(A  B)   * g(A B)    * (B A) g

Trong đó g(A B)  biểu diễn cho các từ chung A và B, g(A-B) biểu diễn cho

các từ riêng của A và g(B-A) biểu diễn cho các từ riêng của B Hệ số    được xác định trong quá trình thử nghiệm thuật toán

1.4.2.3 Hệ số Jaccard

Hệ số Jaccard là một độ đo tương tự của các tập hợp dựa trên phương pháp

thống kê Theo đó, độ tương tự giữa hai câu A và B như sau [9] :

1.4.3 Độ tương đồng văn bản dựa trên vector biểu diễn

Trang 36

Trong phương pháp này, các văn bản được biểu diễn theo mô hình không gian vector, mỗi thành phần của vector chỉ đến một từ tương ứng trong danh sách mục từ đã thu được từ quá trình tiền xử lý văn bản đầu

Không gian vector hay số chiều của vector có kích thước bằng số mục từ trong danh sách mục từ Giá trị mỗi phần tử của vector là độ quan trọng của mục từ trong câu Độ quan trọng của từ được tính theo một trong các phương pháp đã trình bày ở trên, phần mô hình vector biểu diễn văn bản, ví dụ:

Giả sử vector biểu diễn cho hai văn bản lần lượt có dạng:

Di = <wi1, ., wi1> với wit là trọng số của từ thứ t trong không gian vector i

Dj = <wj1, …, wjt> với wjt là trọng số của từ thứ t trong không gian vector j

Độ đo tương đồng được tính là Cosine của góc giữa hai vector biểu diễn cho hai văn bản Di và Dj Độ tương tự của chúng được tính theo công thức:

độ tương tự chưa cao

1.4.3.2 Độ tương đồng dựa vào khoảng cách Euclide

Khoảng cách Euclide cũng là một phương pháp khá phổ biến để xác định mức

độ tương đồng giữa các vector đặc trưng của hai văn bản [3]

Cho hai vector v av b khoảng cách Euclide được định nghĩa như sau:

2 1

( , ) (w w )_

Trang 37

Khoảng cách Manhattan là phương pháp tính độ tương đồng giữa các vector đặc trưng biểu diễn cho hai văn bản [2]

Cho hai vector v av b khoảng cách Euclide được định nghĩa như sau:

v v

 Mức độ tương đồng giữa hai vector được xác định bằng công thức:

1

1

( , ) ( , )

1.4.4 Độ tương đồng văn bản trong tiếng Việt

Thông thường khi đánh giá độ tương tự văn bản, chúng ta cần phân tích văn bản thành các đơn vị nhỏ hơn và thực hiện đánh giá dựa trên các đơn vị này Một số bộ công cụ tách từ tiếng Việt như vnTokenizer, JvnTextPro đã được xây dựng và cho kết quả khả quan có thể sử dụng làm bước tiền xử lý cho hệ thống so sánh văn bản Sau khi tách từ, mỗi văn bản Ti sẽ được biểu diễn bằng một vector các từ có dạng: Ti = {w1, w2, , wni} với n là số từ tách được của Ti

Trong nhiều trường hợp, độ tương tự giữa hai đoạn văn bản có thể xác định dựa trên so khớp từ đơn giản, điểm tương tự được xác định dựa trên số đơn vị từ vựng xuất hiện ở cả hai đoạn văn bản đầu vào

Các phương pháp đánh giá độ tương tự văn bản chủ yếu dựa trên hai yếu tố [3] :

- Đánh giá độ tương tự ngữ nghĩa giữa các từ: Một số phương pháp sử dụng mạng từ (WordNet), một số khác dựa trên kho ngữ liệu Web hoặc dựa trên phân tích ngữ nghĩa ẩn

- Đánh giá độ tương tự theo trật tự của từ trong văn bản

Đánh giá về độ tương tự ngữ nghĩa của từ được dùng để tạo ra các vector đặc trưng ngữ nghĩa của văn bản Vector đặc trưng này sử dụng các công thức trong mục

1.4.2 cho ta một phép đo độ tương tự giữa hai văn bản tương ứng

1.4.4.1 Độ tương tự ngữ nghĩa từ - từ

a) Độ tương tự ngữ nghĩa từ - từ dựa trên WordNet

Wordnet là cơ sở dữ liệu tri thức từ vựng được thiết kế dựa trên những lý

thuyết về ngôn ngữ tâm lý theo cách liên tưởng từ ngữ của con người WordNet được

tổ chức dựa theo các quan hệ ngữ nghĩa Một quan hệ ngữ nghĩa là một quan hệ giữa

Trang 38

các nghĩa Một từ có thể có nghiều nghĩa và khi đó mỗi nghĩa sẽ thuộc vào những tập đồng nghĩa khác nhau Ngược lại, mỗi tập đồng nghĩa lại có thể chứa một hoặc nhiều hơn các từ khác nhau Khi đó quan hệ ngữ nghĩa có thể được xem như là con trỏ giữa các tập đồng nghĩa [14]

b) Độ tương tự ngữ nghĩa từ - từ dựa trên ngữ liệu

Độ tương tự ngữ nghĩa dựa trên tập ngữ liệu (corpus) xác định mức độ tương tự

về mặt ngữ nghĩa giữa các từ sử dụng thông tin xuất phát từ tập ngữ liệu lớn Một số phương pháp xác định như sau:

- PMI (Pointwise Mutual Information) - thông tin chung dựa trên điểm

PMI được đưa ra bởi Turney 2001 như một độ đo không giám sát để đánh giá

độ tương tự ngữ nghĩa của từ PMI sử dụng dữ liệu đã tập hợp từ việc tìm kiếm thông tin (PMI-IR), dựa trên hiện tượng đồng xảy ra của các từ trên tập ngữ liệu lớn để xác định độ tương tự cho 2 từ w1 và w2 như sau:

p

- LSA (Latent Semantic Analysis) - phân tích ngữ nghĩa ẩn

• Xây dựng ma trận T (ma trận từ - tài liệu) thể hiện tập ngữ liệu

• Giảm số chiều SVD Trong đó SVD có thể được xem là cách khắc phục một số hạn chế của mô hình không gian vector chuẩn như số chiều cao, giúp cho LSA được tính với số chiều thấp hơn và mối quan hệ giữa từ - văn bản được khai thác Độ tương tự trong không gian kết quả được đo bằng độ tương tự Cosine Ngoài ra, LSA cũng sinh ra một mô hình không gian vector thể hiện sự đồng nhất giữa các từ, cụm từ và các văn bản

1.4.4.2 Độ tương tự ngữ nghĩa của văn bản

Việc đánh giá độ tương tự ngữ nghĩa giữa hai văn bản trong đa số các nghiên cứu sử dụng vector đặc trưng cho ngữ nghĩa của văn bản Mỗi thành phần trong vector này được thiết lập từ việc tính độ tương tự của một từ trong văn bản với các từ trong văn bản còn lại, trọng số của thành phần là độ đo tương tự lớn nhất [3]

Giả sử cho hai văn bản (đã được tách từ vựng) như sau:

T1 = { w11, w12, , w1m1}

T2 = { w21 ,w22, , w2m2 }

Trang 39

Trong đó :

wij là từ thứ j trong văn bản di (i=i,2)

mi là số lượng từ vựng tách được của văn bản Ti Tập các từ không giống nhau của cả hai văn bản là:

T = Ti  T2 = { wi, w2, , wm } Vector đặc trưng ngữ nghĩa cho văn bản Ti, ký hiệu V1 = (v11, v12, , v1m) được xây dựng như sau:

- Xét lần lượt từng từ wiT, tính độ tương tự ngữ nghĩa với mỗi từ trong T1, độ

đo tương tự lớn nhất được đưa vào thành phần v1i tương ứng trong V1

V1i = max{ sim(wi, w1j) | j =1 mi }, với i=1 m

- Độ tượng tự ngữ nghĩa của hai văn bản được tính dựa trên hai vector đặc trưng ngữ nghĩa tương ứng Hệ số cosin là một trong các độ đo hay được sử dụng để tính độ tương tự này:

độ tương tự đối với cặp từ tiếng Anh bằng mạng WordNet như trong đề tài của tác giả Dương Thăng Long [1] Một số nghiên cứu khác sử dụng phương pháp phân tích ngữ nghĩa ẩn LSA hay PMI để đo độ tương tự của từ dựa trên tập ngữ liệu

1.4.4.3 Độ tương tự về thứ tự của từ trong văn bản

Một yếu tố quan trọng ảnh hưởng đến độ tương tự của văn bản là thứ tự của từ Cùng một một tập từ vựng giống nhau trong các văn bản nhưng khác nhau về vị trí có thể có ý nghĩa hoàn toàn khác nhau

Ví dụ cho hai câu:

T1 = {con_trâu, húc, con_bò}

T2 = {con_bò, húc, con_trâu}

Hai câu trên cùng chứa một tập các từ giống nhau và gần giống nhau về thứ tự

từ, chỉ sai khác thứ tự của cặp từ “con_trâu và “con_bò” Nếu chỉ dựa trên độ tương tự

Trang 40

ngữ nghĩa của văn bản thì hai văn bản nếu cùng chứa một tập từ giống nhau sẽ cho kết quả là hoàn toàn giống nhau, có nghĩa là sim(T1,T2)=1 Tuy nhiên, hai câu trên có ý nghĩa không giống nhau, sự khác nhau của hai câu chính là do sự sai khác về vị trí của các từ trong câu

Theo tác giả Dương Thăng Long [1] trong đề tài nghiên cứu của mình đã đưa ra phương pháp đánh giá độ tương tự của văn bản dựa trên thứ tự của từ như sau:

- Với mỗi cặp văn bản T1 và T2, xác định tập các từ vựng phân biệt của cả hai văn bản T = T1 T2

- Vector đặc trưng thứ tự từ của hai văn bản, kí hiệu R1 = (r11, r12, , r1m) và R2

• Nếu từ wi có trong T1 thì r1i là số thứ tự của từ đó trong T1

• Tìm từ trong T1 gần nghĩa nhất với wi, sử dụng phương pháp đo độ tương tự ngữ nghĩa giữa hai từ Nếu độ đo này vượt ngưỡng  cho trước thì r1i

i

r r

R R simR

1.4.4.4 Kết hợp giữa các độ đo để đánh giá độ tương tự giữa hai văn bản

Trong các phân tích ở trên, độ tương tự ngữ nghĩa thể hiện phép đo dựa trên nghĩa từ vựng, còn độ tương tự cấu trúc của từ thể hiện mối quan hệ về thứ tự giữa các

từ, các từ đứng trước hoặc sau các từ khác Cả hai độ tương tự này đều có vai trò quan trọng trong xác định độ tương tự của văn bản Do đó, để đo sự tương tự của các văn

Ngày đăng: 14/07/2020, 14:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w