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

Luận văn thạc sĩ Kỹ thuật viễn thông: Xây dựng hệ thống chatbot chăm sóc khách hàng của cảng hàng không

72 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

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

Trang 2

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

Trang 3

Cán bộ hướng dẫn khoa học:

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 1: (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Cán bộ chấm nhận xét 2: (Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 27 tháng 8 năm 2020

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 Chủ tịch: GS.TS Lê Tiến Thường

2 Thư ký: PGS.TS Võ Nguyên Quốc Bảo 3 Phản biện 1: TS Võ Quế Sơn

4 Phản biện 2: TS Mai Linh 5 Ủy viên: PGS.TS Đỗ Hồng Tuấn

Xác nhận của Chủ tịch Hội đồng đánh giá LV và trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA

Trang 4

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Nguyễn Hữu Ánh MSHV:1870397 Ngày, tháng, năm sinh: 18/01/1994 Nơi sinh: Quảng Trị Chuyên ngành: Kỹ thuật viễn thông Mã số : 8.52.02.08

I TÊN ĐỀ TÀI (Tiếng Việt và Tiếng Anh):

Tiếng Việt : Xây dựng hệ thống chatbot chăm sóc khách hàng của cảng hàng không Tiếng Anh : Build chatbot system for customer care for airlines

II NHIỆM VỤ VÀ NỘI DUNG:

Nghiên cứu tổng quan về hệ thống chatbot Phát triển các giải thuật tối ưu hóa để tối ưu độ chính xác, hiệu suất, thời gian xử lý và tính khả thi của hệ thống chatbot Xây dựng phần mềm ứng dụng trong thực tế

III NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài) 07/2019

IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài) 08/2020 V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):

TS Võ Tuấn Kiệt Hướng dẫn chính PGS.TS Hà Hoàng Kha Hướng dẫn phụ

Tp HCM, ngày 27 tháng 08 năm 2020

CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký)

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký)

TRƯỞNG KHOA….……… (Họ tên và chữ ký)

Ghi chú: Học viên phải đóng tờ nhiệm vụ này vào trang đầu tiên của tập thuyết minh LV

Trang 5

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn đến Ban giám hiệu trường đại học Bách Khoa Tp.HCM đã tạo cho em môi trường tốt nhất để em có thể tiếp tục học tập và tiếp thu được những kiến thức quý báu trong những năm qua

Đặc biệt, em xin gửi lời chân thành cảm ơn thầy hướng dẫn: TS.Võ Tuấn Kiệt và PGS.TS.Hà Hoàng Kha đã quan tâm, giúp đỡ, hướng dẫn để em hoàn thành luận văn này

Bên cạnh đó, em xin gửi lời cảm ơn đến gia đình và bạn bè, những người đã luôn hỗ trợ và động viên để em có thể cơ hội hoàn thành luận văn này một cách tốt nhất

Tuy nhiên, dù đã cố gắng để hoàn thiện luận văn nhưng sẽ không tránh khỏi những thiếu sót, em rất mong nhận được các đóng góp ý kiến và lời khuyên của các thầy cô để đề tài này có thể được cải thiện và phát triển nhiều hơn trong tương lai

Em xin chân thành cảm ơn!

Tp Hồ Chí Minh, ngày 27 tháng 8 năm 2020

Nguyễn Hữu Ánh

Trang 6

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

Trong những năm gần đây, với sự phát triển bùng nổ của “Cách mạng công nghiệp 4.0”, nhiều chương trình dựa trên trí thông minh nhân tạo (AI) được biểu hiện dưới nhiều dạng như hình ảnh, âm thanh và giọng nói, có thể làm được nhiều thứ như con người và có khả năng thay thế con người, chẳng hạn như các chương trình, hệ thống tự động trả lời, nhận diện khuôn mặt…Trong đó hệ thống chatbot ngày càng được càng được cải thiện và ứng dụng rộng rãi vào đời sống trên nhiều lĩnh vực khác nhau như bán hàng, quản lý tài chính…

Từ sự quan sát trên, luận văn đặt ra mục tiêu là thiết kế hệ thống chatbot, mà cụ thể ở đây là chăm sóc khách hàng cho cảng hàng không Đầu tiên, luận văn trình bày những phương pháp, thuật toán dùng để xây dựng chatbot dựa trên ngôn ngữ tiếng Việt, bao gồm:

- Thuật toán xử lý ngôn ngữ tự nhiên (SVM, RNN, LSTM…) - Các phương pháp tách từ trong tiếng Việt

- Cách tính độ tương đồng văn bản tiếng Việt

Từ đó, đưa ra sự lựa chọn những phương pháp phù hợp nhất để thiết kế hệ thống chatbot chăm sóc khách hàng cho cảng hàng không

Trang 7

ABSTRACT

In recent years, with the explosive development of "Industry Revolution 4.0", many programs based on artificial intelligence (AI) have manifested in many forms such as images, sound and voice, can do many things like humans and have the ability to replace people, such as programs, automatic answering systems, face recognition In which the chatbot system is increasingly being improved and Widely applied to life in many different fields such as sales, financial management

From the above observation, the thesis sets the goal is to design the chatbot system, in particular here is customer care for airports First, the thesis presents methods and algorithms used to build chatbots based on Vietnamese language, including:

- Algorithm of Natural Language Processing (SVM, RNN, LSTM…) - Methods of separating words in Vietnamese

- How to calculate the similarity of Vietnamese document

After that, we make a selection of the most appropriate methods to design the chatbot customer care system for airports

Trang 8

LỜI CAM ĐOAN

Tôi xin cam đoan, những kiến thước trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày lại Trong quá trình làm luận văn tôi có có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo đó Những kết quả mới trong luận văn là của riêng tôi, không sao chép từ bất kỳ một công trình nào khác Nếu có điều gì không trung thực, tôi xin hoàn toàn chịu trách nhiệm

Tp Hồ Chí Minh, ngày 27 tháng 8 năm 2020

Nguyễn Hữu Ánh

Trang 9

Mục lục ii HV: Nguyễn Hữu Ánh

MỤC LỤC

MỤC LỤC IIDANH MỤC CÁC TỪ VIẾT TẮT IVDANH MỤC CÁC HÌNH ẢNH V

MỞ ĐẦU 1

1 GIỚI THIỆU TỔNG QUAN 3

1.1 Xu hướng trong, ngoài nước và các vấn đề đặt ra 3

1.2 Tổng quan về phát triển chatbot 5

1.3 Các nghiên cứu liên quan 5

Trang 10

Mục lục iii HV: Nguyễn Hữu Ánh

2.4 Các phương pháp tách từ trong tiếng việt 22

2.4.1 So khớp từ dài nhất (Longest Matching) 22

2.4.2 So khớp cực đại (Maximum Matching) 22

2.4.3 Mơ hình ngơn ngữ (language model) 22

2.4.4 Phương pháp sử dụng mơ hình Markov ẩn 23

2.4.5 Phương pháp tách từ sử dụng mơ hình xác suất cĩ điều kiện và độ hỗ loạn cực đại 24

2.4.6 Phương pháp tách từ sử dụng mơ hình Pointwise 24

2.5 Các phương pháp phân loại văn bản 25

2.5.1 Nạve Bayes Classification 25

2.5.2 Support Vector Machine 26

2.5.3 RNN (Recurrent Neural Network) 28

2.5.4 LSTM (Long Short Term Memory) 30

2.5.5 GRU (Gated Recurrent Units) 33

2.5.6 Bidirectional LSTM 33

2.5.7 Transformer 34

2.5.8 BERT (Bidirectional Encoder Representation from Transformers) 36

3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT 42

3.1 Phân tích hệ thống chatbot 42

3.1.1 Mơ hình hoạt động của chatbot 42

3.1.2 Xây dựng dữ liệu chatbot 43

3.1.3 Quá trình huấn luyện dữ liệu 44

3.1.4 Những vấn đề về dữ liệu đầu vào ảnh hưởng đến chatbot 46

Trang 11

Danh mục các từ viết tắt iv HV: Nguyễn Hữu Ánh

DANH MỤC CÁC TỪ VIẾT TẮT AI Artificial Intelligence

SVM Support Vector Machine NLP Natural Language Processing NBC Nạve Bayes Classfication

IEEE Institute of Electrical and Electronics Engineers RNN Recurrent Neural Network

LSTM Long short-term memory

TF-IDF Term Frequency-Inverse Document Frequency GloVe Global vectors for Word Representation

CRF Conditional Random Fields

GRU Gated Recurrent Units CBOW Continuous Bag of Words

Trang 12

Danh mục các hình ảnh v HV: Nguyễn Hữu Ánh

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Tỷ lệ tăng trưởng của thị trường chatbot giai đoạn 2014-2025 [1] 3

Hình 2.1 Ví dụ về context window = 2……… 12

Hình 2.2 Mô hình CBOW (Continuous Bag of Words) và skip-gram [15]………15

Hình 2.3 CBOW model với input layer là một one-hot-vector [16]……… 15

Hình 2.4 CBOW model với input nhiều one-hot-vector [16]……… 16

Hình 2.5 Cấu trúc của mô hình Skip-gram [6]……… 17

Hình 2.6 Xác định một siêu phẳng tối ưu [23]……… 27

Hình 2.7 Các xác định siêu phẳng tối ưu với magin lớn nhất [23].……….27

Hình 2.8 Ánh xạ dữ liệu qua không gian khác [23]……… 28

Hình 2.18 Kiến trúc của transformer model [28]……… 35

Hình 2.19 Đầu vào của BERT (BERT input representation) [32] 38

Hình 2.20 Masked LM [32] 38

Hình 2.21 Những Fine-Tuning khác nhau của BERT [32] 40

Hình 3.1 Mô hình hoạt động của chatbot……… 43

Hình 3.2 Mô hình phân lớp ý định người dùng [33]……… 43

Hình 3.3 Quá trình huấn luyện dữ liệu……… 44

Trang 13

Danh mục các hình ảnh vi HV: Nguyễn Hữu Ánh

Hình 3.4 Kiến trúc BERT [34]……… 45

Hình 3.5 Giao diện của chatbot… ……… 47

Hình 4.1 Kết quả mô phỏng tính độ tương đồng văn bản……… 49

Hình 4.2 Kết quả mô phỏng thêm dấu câu cho tiếng Việt……… …… 50

Hình 4.3 Kết quả khi phân lớp ý định người dùng……… … 50

Hình 4.4 Kết quả khi chạy trên ứng dụng chatbot……… … … 50

Trang 14

Mở đầu 1 HV: Nguyễn Hữu Ánh

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 thông qua một giao diện dưới dạng tin nhắn hoặc âm thanh Hiện nay, các chatbot được phát triển thông qua các trợ lý ảo như Google Assistant, Apple Siri, Bixby… Với sự phát triển của trí tuệ nhân tạo và nền tảng xử lý ngôn ngữ tự nhiên, chatbot được thiết kế ngày càng phức tạp và được áp dụng trong nhiều lĩnh vực như chăm sóc khách hàng, tra cứu dữ liệu y tế, chăm sóc sức khỏe

Với mong muốn tạo ra một chatbot có khả năng hỗ trợ chăm sóc khách hàng nhằm tối ưu hóa năng xuất, giảm thiểu chi phí…cho cảng hàng hàng không, tôi đã chọn đề tài “Xây dựng ứng dụng chatbot chăm sóc khách hàng cho cảng hàng không” làm đề tài luận văn của mình

2 Mục tiêu nghiên cứu

Nghiên cứu cơ sở lý thuyết các phương pháp, giải thuật trong xử lý ngôn ngữ tiếng Việt, các thuật toán học máy (Machine learning) cổ điển (SVM, NBC…) và deep learning; xây dựng hệ thống chatbot hỗ trợ chăm sóc khách hàng thông qua hội thoại giữa người dùng và máy

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

Các phương pháp xử lý ngôn ngữ tự nhiên cho tiếng Việt, các mô hình học máy và deep learning, ứng dụng nó để xây dựng chatbot

- Nghiên cứu, nắm vững về trí tuệ nhận tạo và deep learning

- Vận dụng trí tuệ nhân tạo và deep learning để xử lý ngôn ngữ tự nhiên (tiếng Việt)

- Tìm hiểu về chatbot và ứng dụng chatbot vào việc cung cấp thông tin, chăm sóc khách hàng

Ý nghĩa thực tiễn

Trang 15

Mở đầu 2 HV: Nguyễn Hữu Ánh

- Tạo ra công cụ hỗ trợ chăm sóc khách hàng theo hình thức hội thoại giữa người và máy

- Nâng cao sự hiểu biết về trí tuệ nhân tạo đồng thời nghiên cứu để thể áp dụng thực tiễn tại Việt Nam

5 Kết cấu luận văn

Chương 1: Giới thiệu tổng quan: Các xu hướng trong và ngoài nước, các vấn đề đặt ra, tổng quan về phát triển chatbot và các nghiên cứu liên quan

Chương 2: Cơ sở lý thuyết: Trình bày những lý thuyết về chatbot, NLP, các phương pháp tạo word embedding, cách tính độ tương đồng văn bản, các phương pháp tách từ trong tiếng Việt và các thuật toán phân loại văn bản

Chương 3: Phân tích, thiết kế hệ thống chatbot: Trình bày những vấn đề cơ bản về những phân tích cũng như những thiết kế của ứng dụng

Chương 4: Kết quả, nhận xét và đánh giá về ứng dụng

Chương 5: Kết luận trình bày những điểm mạnh và hạn chế trong luận văn và hướng phát triển trong tương lai

Trang 16

1 – Giới thiệu tổng quan 3 HV: Nguyễn Hữu Ánh

1 GIỚI THIỆU TỔNG QUAN

Trong phần này, luận văn trình bày tổng quan về xu hướng gia tăng nhu cầu sử dụng chatbot trên thế giới cũng như trong nước với nhiều lĩnh vực khác nhau, đặc biệt là marketing Sau đó là sơ lược về các công trình nghiên cứu liên quan Những yếu tố trên cũng là mục đích, động cơ và mang ý nghĩa cấp thiết để thực hiện ý tưởng nêu trong luận văn này

1.1 Xu hướng trong, ngoài nước và các vấn đề đặt ra

Trên thế giới, nhiều chương trình dựa trên trí thông minh nhân tạo (AI) được biểu diễn dưới nhiều dạng như hình ảnh, âm thanh và giọng nói Nó mô phỏng các quá trình hoạt động trí tuệ của con người, bao gồm quá trình học tập (thu thập thông tin và các quy tắc để sử dụng thông tin), lập luận (sử dụng các quy tắc để đạt được kết luận gần đúng, tự sửa lỗi) và ngày càng được ứng dụng rộng rãi trong cuộc sống của chúng ta trên nhiều lĩnh vực khác nhau như marketing, giao thông, y tế…

Hình 1.1 Tỷ lệ tăng trưởng của thị trường chatbot giai đoạn 2014-2025 [1] Theo nghiên cứu của Grand View Research thì thị trường chatbot quốc tế dự kiến đạt mức tăng trưởng 1.25 tỉ đô vào năm 2025, dự báo tăng trưởng kép hằng năm CAGR đạt mức 24.3% Thị trường châu Á-Thái Bình Dương được dự đoán sẽ tăng trưởng đáng kể nhờ sự phát triển của những công nghệ mới (đột phá trong các giải thuật xử lý ngôn ngữ tự nhiên), mức tăng trưởng dự kiến là 24.7% mỗi năm từ năm

Trang 17

1 – Giới thiệu tổng quan 4 HV: Nguyễn Hữu Ánh

2017 đến năm 2025 Một nghiên cứu khác của Credence đã chỉ ra rằng, 85% tương tác của khách hàng sẽ được quản lý mà không cần con người vào năm 2020 [2]

Những nghiên cứu trên cho thấy tiềm năng và ứng dụng vào thực tiễn ngày càng rộng rãi của chatbot Trong một báo cáo của IBM, mỗi năm tập đoàn ghi nhận 265 tỷ yêu cầu của khách hàng và công ty phải chi 1.300 tỷ USD để giải quyết Nhưng việc sử dụng chatbot đã giúp doanh nghiệp tiết kiệm đến 30% chi phí này [2]

Ở nước ta, trong sự phát triển nhanh như vũ bão của cách mạng công nghiệp 4.0, trí tuệ nhân tạo (AI) ngày càng phát triển và có nhiều ứng dụng rộng rãi, đặc biệt là trong lĩnh vực marketing Trong những năm gần đây, công việc giải đáp những thắc mắc, chăm sóc khách hàng vẫn do con người thực hiện Tuy nhiên, việc này còn thực hiện một cách thủ công và gặp nhiều khó khăn như: tốn thời gian, chi phí chi trả cho nhân viên chỉ để trả lời cho những câu hỏi đơn giản và giống nhau, không có khả năng chăm sóc khách hàng 24/7, số lượng khách hàng lớn Chính vì vậy, nhu cầu cấp thiết là cần một hệ thống điều khiển thông minh, tự động để mang lại hiệu quả cao hơn và chatbot là một sự lựa chọn hoàn hảo

1950 Alan Turing viết báo cáo với tự đề “Computing Machinery and

Intelligence”, xây dựng các phép thử Turing (là phép thử dựa trên việc phân tích trả lời của một “máy tính”)

1966 Joseph Weizenbaum xuất bản chương trình ELIZA, được coi là chương trình chatbot đầu tiên trên thế giới

1972 Chatbot Jabberwacky được thiết kế để “Mô phỏng trò chuyện của con người tự nhiên theo cách thú vị và hài hước”

1988 Cybulsky và Jelenska-Macieszyna chụp ảnh được điện não đồ của cơn động kinh thí nghiệm

1992 Được tạo ra bởi Creative Labs, Dr.SBAITSO “trò chuyện” với người dung như thể nó là một nhà tâm lý học

1995 ALICEBOT được sáng tạo bởi Richard Wallace, sử dụng một lược đồ XML có tên AIML (Artificial Intelligence Markup Language- Ngôn ngữ đánh dấu trí thông minh nhân tạo) để xác định các quy tắc trò chuyện heuristic 2001 SmarterChild là một Chatbot có sẵn trên mạng AOL Instant Messenger và

Windows Live Messenger, đóng vai trò giới thiệu cho việc truy cập dữ liệu nhanh và cuộc trò chuyện được cá nhân hóa thú vị hơn

2006 IBM Watson được tạo ra với mục tiêu vượt lên và chiến thắng các thí sinh tham dự cuộc thi Jeopardy! Với khả năng chạy hàng trăm thuật toán phân tích ngôn ngữ cùng một lúc, IBM Watson sở hữu một sự thông minh ngôn ngữ đáng ngạc nhiên

2010- 2016

Nửa đầu thập kỷ này chứng kiến sự bùng nổ của các trợ lý cá nhân ảo: Siri (2010), Google Now (2012), Alexa (2015), Cortana (2015) và Google Assistant (2016) Với khả năng phân tích và xử lý ngôn ngữ tự nhiên, các

Trang 18

1 – Giới thiệu tổng quan 5 HV: Nguyễn Hữu Ánh

trợ lý này kết nối với các dịch vụ web để trả lời các câu hỏi và đáp ứng các yêu cầu của người dùng

Bảng 1.1 Sơ lược lịch sử 1.2 Tổng quan về phát triển chatbot

Chatbot tương tác với con người qua âm thanh hoặc văn bản và sử dụng các platform để giao tiếp với bot Phần mà các lập trình viên cần phát triển nằm toàn bộ ở phía sau bao gồm [3]:

Translator: Dịch yêu cầu của user, giúp máy tính hiểu được yêu cầu mình cần thực hiện, quyết định việc chatbot có thông minh hay không

Processor: Xử lý yêu cầu, thành phần này giúp khả năng của chatbot không bị giới hạn, máy tính làm được gì thì chatbot cũng làm được như vậy

Respondent: Nhận output và đóng gói gửi trả lại messenger platform, trả lại cho người dùng kết quả sự

1.3 Các nghiên cứu liên quan

Trong [4], tác giả đã sử dụng mã nguồn mở AIML để xây dựng chatbot trợ giúp phương pháp học tập cho sinh viên ngành kỹ thuật Tác giả muốn tạo ra cộng cụ tư vấn, trợ giúp theo hình thức hội thoại người – máy nhằm nâng cao hiệu quả học tập cho sinh viên Hệ thống có ưu điểm là dễ sử dụng, có thể thay đổi và bổ sung các chủ đề hội thoại, các mẫu hội thoại để cho ra kết quả phù hợp nhất, cũng như thể hiện được sự thông minh, gần gủi với con người Nhưng bên cạch đó, vẫn còn tồn tại nhược điểm sau: chưa Việt hóa được trong quá trình hội thoại, cơ sở dữ liệu chưa đủ lớn để có thể tư vấn mức độ phù hợp và thông minh với sinh viên bất kỳ ngành học nào

Trong [5], tác giả đã nghiên cứu mô hình PCFGs và ngôn ngữ AIML trong xây dựng chatbot hỗ trợ học tiếng Anh Tác giả đã giới thiệu một số mã nguồn mở hỗ trợ xây dựng chatbot, kiểm tra ngữ pháp; đồng thời áp dụng mô hình PCFGs và thuật toán CKY trong bài toán phân tích cú pháp câu Tuy nhiên, vẫn có những hạn chế: Tập dữ liệu hội thoại sử dụng trong chatbot còn đơn giản, độ chính xác của kết quả cũng phụ thuộc vào tập luật, chưa đưa ra được lỗi cụ thể đối với những văn bản lỗi

Trang 19

1 – Giới thiệu tổng quan 6 HV: Nguyễn Hữu Ánh

Trong [6], tác giả tập trung điều chỉnh mô hình Transformer [Vaswaniet al.,2017] cho chatbot, hiện đang là mô hình “dịch thuật” thần kinh Trước tiên, tác giả trình bày thí nghiệm của mình với mô hình vanilla, bằng cách sử dụng hội thoại được rút ra từ Cornell Movie-Dialog Corpus [Danescu-Niculescu-Mizil và Lee, 2011] Họ phân tích chi tiết về cách mô hình vanilla thực hiện trên dữ liệu hội thoại bằng cách so sánh nó với mô hình chatbot trước đó, và cách tính năng bổ sung, ảnh hưởng đến chất lượng của các phải hồi được tạo

Trong [7], tác giả trình bày một nghiên cứu về chatbot hỗ trợ khách hàng cho công ty GAMING1 Tác giả đã sử dụng thuật toán LSTM và phân loại ý định người dùng (intent classification) kết hợp với mô hình Skip-gram để xây dựng chatbot Mô hình này khá đơn giản nhưng lại dễ vận hành Tuy nhiên, vì số liệu về hiệu suất rất khó diễn giải cho cuộc đối thoại của hệ thống nên rất nhiều trường hợp thử nghiệm được trình bày

Trong [8], nhóm tác giả đã xây dựng chatbot dựng trên việc bắt chước các nhân vật phổ biến trên TV như: Barney from How I Met Your Mother, Sheldon from The Big Bang Theory, Michael from The Office Mô hình được lựa chọn dựa trên mô hình Google’s Neural Machine Translation Đó là mô hình sequence-to-sequence với cơ chết cho phép bộ giải mã truy cập trực tiếp vào đầu ra trạng thái ẩn bằng bộ mã hóa Đối với các RNN, họ sủ dụng các ô GRU xếp chồng lên nhau gồm ba lớp Tuy nhiên, không giống như những mô hình seq2seq khác, mô hình của họ không sử dụng mã thông báo bắt đầu hoặc mã thông báo kết thúc cho bộ mã hóa mà chỉ sử dụng mã thông báo kết thúc cho bộ giải mã.

Trang 20

2 – Cơ sở lý thuyết 7 HV: Nguyễn Hữu Ánh

Ưu điểm của chatbot: - Độ tin cậy cao

- Vượt trội con người về mặt tốc độ và độ chính xác

- Bất cứ ngôn ngữ lập trình nào cũng có thể sử dụng để phát triển chatbot - Có thể thay thế số lượng lớn về nhân lực

- Tự tích lũy kiến thức nhận được và trở nên thông minh, linh hoạt hơn sau mỗi cuộc trò chuyện

- Luôn hỗ trợ 24/7, cải thiện trải nghiệm của khách hàng

Chatbot là sự kết hợp của các kịch bản có trước và tự học trong quá trình tương tác Ta sẽ tương tác với chatbot qua nền tảng tin nhắn Với các câu hỏi được đặt ra, ChatBot sử dụng các hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing) để phân tích dữ liệu sau đó chúng lựa chọn các thuật toán học máy để tạo ra các loại phản ứng khác nhau, chúng sẽ dự đoán và phản hồi chính xác nhất có thể Chatbot sử dụng nhiều hệ thống quét các từ khoá bên trong đầu vào, sau đó bot khởi động một hành động, kéo một câu trả lời với các từ khóa phù hợp nhất và trả lời thông tin từ một cơ sở dữ liệu / API, hoặc bàn giao cho con người Nếu tình huống đó chưa xảy ra (không có trong dữ liệu), ChatBot sẽ bỏ qua nhưng sẽ đồng thời tự học để áp dụng cho các cuộc trò chuyện về sau Một trong các yếu tố làm nên sức mạnh của ChatBot là khả năng tự học hỏi Càng được sử dụng, tương tác với người dùng nhiều, nền tảng ChatBot càng “thông minh” ChatBot thông minh có khả năng tự học hỏi dựa trên các dữ liệu đưa vào mà không cần phải được lập trình cụ thể (đó được gọi là phương pháp máy học-Machine Learning) Chính điều này làm cho các nhà phát triển dễ dàng tạo các chương trình trò chuyện và tự động hoá các cuộc trò chuyện với người dùng [9]

2.1.2 NLP (Natural Language Processing)

Xử lý ngôn ngữ tự nhiên (NLP) là một nhánh của Trí tuệ nhân tạo, tập trung vào việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tự nhiên của con người Mục tiêu của lĩnh vực này là giúp máy tính hiểu và thực hiện hiệu quả những nhiệm vụ

Trang 21

2 – Cơ sở lý thuyết 8 HV: Nguyễn Hữu Ánh

liên quan đến ngôn ngữ của con người như: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữa con người với con người, hoặc đơn giản là nâng cao hiệu quả xử lý văn bản và lời nói [10]

Xử lý ngôn ngữ tự nhiên ra đời từ những năm 1940, với rất nhiều công trình nghiên cứu theo hai hướng chính là:

- Ô-tô-mát (automaton) và các mô hình xác suất (probabilistic models) vào những năm 1950 [10]

- Các phương pháp dựa trên ký hiệu (symbolic) và các phương pháp ngẫu nhiên (stochastic) vào những năm 1970 Giai đoạn tiếp theo (1970-1983) chứng kiến sự bùng nổ trong nghiên cứu về xử lý tiếng nói và ngôn ngữ Ngày nay với sự phát triển nhanh chóng, học máy (machine learning) đã trở thành trung tâm của phần lớn các lĩnh vực thuộc khoa học máy tính, bao gồm xử lý ảnh và thị giác máy tính (computer vision), tin sinh học (bioinformatics), các hệ tư vấn (recommender systems), kỹ nghệ phần mềm, và cả xử lý ngôn ngữ tự nhiên [10].

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

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) [11]

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 [11]

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 [11]

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 (context-of-use) Ngữ cảnh sử dụng bao gồm danh tính của

Trang 22

2 – Cơ sở lý thuyết 9 HV: Nguyễn Hữu Ánh

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 [11]

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 [6]

2.2 Word embedding 2.2.1 Word embedding

Word Embedding là tên gọi chung của các mô hình ngôn ngữ và các phương pháp học theo đặc trưng trong xử lý ngôn ngữ tự nhiên (NLP), ở đó các từ hoặc cụm từ được ánh xạ sang các vector số (thường là số thực) Đây là một công cụ đóng vai trò quan trọng đối với hầu hết các thuật toán, kiến trúc Machine Learning, Deep Learning trong việc xử lý Input ở dạng text, do chúng chỉ có thể hiểu được input ở dạng là số, từ đó mới thực hiện các công việc phân loại, hồi quy… [12]

Word Embedding được phân chủ yếu thành 2 loại:

Frequency-based embedding: dựa vào tần số xuất hiện của các từ để tạo ra các vector từ, trong đó có 3 loại phổ biến (Count vector, TF-IDF Vector, Co-occurrence Matrix)

Prediction-based embedding: Xây dựng các vector từ dựa vào các mô hình dự đoán (Word2vec)

Word Embedding tạo ra các vector từ mà dựa vào đó ta có thể áp dụng chúng để thực hiện các thao tác về ngữ nghĩa như là tìm từ đồng nghĩa, trái nghĩa,… Ngoài ra, chúng cũng là nguồn tài nguyên cho các hệ thống Machine Learning, Deep Learning nhằm thực hiện các mục đích cao hơn như là các hệ thống máy dịch, phân tích cảm xúc dựa trên ngôn từ…[12]

2.2.2 Count Vector

Count Vector là dạng đơn giản nhất của Frequencey-based Embedding, giả sử ta có D documents d1,d2,…dD và N là độ dài của từ điển, vector biểu diễn của một từ là một vector số nguyên và có độ dài là D, ở đó phần tử tại vị trí i chính là tần số của từ đó xuất hiện trong document di [12] Ma trận Count Vector M được tạo ra bởi DxN với mỗi hàng chứa tần số xuất hiện của từ trong document

Trang 23

2 – Cơ sở lý thuyết 10 HV: Nguyễn Hữu Ánh

Ta lấy một ví dụ đơn giản sau: D1: Tôi muốn đặt mua vé máy bay D2: Tôi muốn tìm kiếm vé máy bay

Bộ từ điển được tạo ra có thể là danh sách các từ duy nhất trong tài liệu: [‘Tôi’,’muốn’,’đặt’,’mua’,’vé’,’máy’,’bay’,’tìm’,’kiếm’] Ở đây, ta có D =2, N=9

Ma trận M có kích thước 2x9 như sau:

Tôi muốn đặt mua vé máy bay tìm kiếm

2.2.3 TF-IDF vector

Đây là một phương pháp khác dựa trên phương pháp tần số, nhưng khác với count vector chỉ xét đến tần số xuất hiện của từ trong một document, IF-IDF vector xét tần số xuất hiện của từ trong toàn bộ tập dữ liệu Chính do đặc điểm này mà tf-idf Vector có tính phân loại cao hơn so với Count Vector TF-IDF (Term Frequency-Inverse Document Frequency) Vector là một vector số thực cũng có độ dài D với D là số văn bản, nó được tính bằng tích của 2 phần bao gồm TF và IDF, công thức của mỗi phần tử của vector được tính như sau [12]:

𝑇𝐹 = 𝑛𝑁

(2.1)

Trong đó: i: 1 D

ni: tần số xuất hiện của từ trong văn bản i Ni: tổng số từ trong văn bản i

Trang 24

2 – Cơ sở lý thuyết 11 HV: Nguyễn Hữu Ánh

TF biểu thị sự đóng góp của từ này vào document, nghĩa là tần số xuất hiện của một từ trong văn bản

𝐼𝐷𝐹 = 𝑙𝑜𝑔𝐷𝑑

TF(vé, D2) = 1/7, IDF(vé) = log(2/2) = 0, TFIDF(đặt, D1) = 0

Những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bản này, và xuất hiện ít trong các văn bản khác Việc này giúp lọc ra những từ phổ biến và giữ lại những từ có giá trị cao (từ khoá của văn bản đó) Tuy nhiên, nhược điểm của phương pháp trên chính là việc nó chỉ chú trọng đến tần số xuất hiện của một từ, dẫn tới nó hầu như không mang ý nghĩa gì về mặt ngữ cảnh [12]

2.2.4 Co-occurrence Matrix

Co-occurrence Matrix là một ma trận vuông đối xứng, mỗi hàng hoặc mỗi cột sẽ chính là vector biểu thị của từ tương ứng [12] Co-occurrence Matrix được xây dựng dựa trên số lần xuất hiện của các cặp từ trong Context Window Một Context Window được xác định bởi kích thước và hướng của nó Ta lấy ví dụ về Context Window như sau:

Trang 25

2 – Cơ sở lý thuyết 12 HV: Nguyễn Hữu Ánh

D1: Tôi muốn đặt mua vé máy bay Tôi muốn tìm kiếm vé máy bay

Tôi muốn đặt mua vé máy bay tìm kiếm

Ưu điểm:

- Nó bảo tồn mối quan hệ ngữ nghĩa giữa các từ (ví dụ như từ ‘con trai’ và ‘con gái’ gần nhau hơn so với ‘con trai’ và ‘quả chuối’)

Trang 26

2 – Cơ sở lý thuyết 13 HV: Nguyễn Hữu Ánh

- Nó sử dụng SVD, tạo ra các biểu diễn vector từ chính xác hơn so với các phương thức hiện có

- Nó sử dụng hệ số hóa, là một vấn đề được xác định rõ và được giải quyết một cách hiệu quả

- Nó được tính toán một lần và có thể được sử dụng bất cứ lúc nào khi tính toán Như vậy, nó có thể nhanh hơn so với một vài phương pháp khác

Nhược điểm:

- Nó đòi hỏi bộ nhớ lớn để lưu trữ ma trận Nhưng vấn đề này có thể khắc phục bằng các đưa yếu tố ma trận ra khỏi hệ thống, ví dụ như trong Hadoop cluster… và có thể được lưu lại

2.2.5 GloVe (Global vectors for Word Representation)

GloVe (Global Vector) là một trong những phương pháp mới để xây dựng vector từ Nó là một thuật toán học không giám sát, được giới thiệu vào năm 2014 bởi Jeffrey Pennington, Richard Socher, and Christopher D Manning Nó thực chất được xây dựng dựa trên Co-occurrence Matrix và có bản chất là xác suất

Ý tưởng chính của GloVe: độ tương tự ngữ nghĩa giữa hai từ i, j có thể được xác định thông qua độ tương tự ngữ nghĩa giữa từ k với mỗi từ i, j, những từ k có tính xác định ngữ nghĩa tốt chính là những từ làm cho (1) >>1 hoặc xấp chỉ bằng 0 Ví dụ, nếu i là “table”, j là “cat” và k là “chair” thì (1) sẽ khá lớn do “chair” có nghĩa gần hơn với “table” hơn là “cat”, ở trường hợp khác, nếu ta thay k là “ice cream” thì (2.4) sẽ xấp xỉ bằng 1 do “ice cream” hầu như chẳng lên quan gì tới “table” và “cat” [12]

(2.4)

𝑃(𝑘|𝑖) = 𝑋𝑋 =

Trang 27

2 – Cơ sở lý thuyết 14 HV: Nguyễn Hữu Ánh

với (1) Việc tìm F không đơn giản, tuy nhiên, sau nhiều bước đơn giản hóa cũng như tối ưu, ta có thể đưa nó về bài toán hồi quy với việc minimum cost function sau [12]:

Xij: mục nhập tương ứng với các cặp từ i,j trong Co-occurrence Matrix

Hàm f được gọi là weighting function, được them vào để giảm bớt sự ảnh hưởng của các cặp từ xuất hiện trong quá trình thường xuyên, thỏa mãn ba tính chất sau: có giới hạn bằng 0, là hàm không giảm và có giá trị nhỏ nhất khi x rất lớn

Việc thực hiện minimum cost function J để tìm ra các vec-tơ từ wi, wj thể được thực hiện bằng nhiều cách, trong đó cách tiêu chuẩn nhất là sử dụng Gradient Descent [12]

2.2.6 Word2vec

Word2vec được tạo ra năm 2013 bởi một kỹ sư ở google có tên là Tomas Mikolov Nó là một model unsupervised learning, được training từ large corpus Chiều của Word2vec nhỏ hơn nhiều so với one-hot-encoding [13] Word2vec có 2 model là skip-gram và Cbow Cả hai mô hình này đều được xây dựng dựa trên một mạng neuron gồm 3 lớp:1 Input Layer,1 Hidden Layer và 1 Output Layer Gọi V là tập các tất cả các từ hay vocabulary với n từ khác nhau Layer input biểu diễn dưới dạng one-hot encoding với n node đại diện cho n từ trong vocabulary Activation function (hàm kích hoạt) chỉ có tại layer cuối là softmax function, loss function là cross entropy loss, tương tự như cách biểu diễn mô hình của các bài toán classification thông thường vậy Ở giữa 2 layer input và output là 1 layer trung gian với size = k, chính là vector sẽ được sử dụng để biểu diễn các từ sau khi huấn luyện mô hình [14] Mục đích chính của các mạng neuron này là học các trọng số biểu diễn vector từ

Trang 28

2 – Cơ sở lý thuyết 15 HV: Nguyễn Hữu Ánh

Hình 2.2 Mô hình CBOW (Continuous Bag of Words) và skip-gram [15] 2.2.6.1 CBOW (Continuous Bag of Words)

Mô hình và hoạt động của CBOW model:

Hình 2.3 CBOW model với input layer là một one-hot-vector [16]

- Input là một hay nhiều one-hot-vector mỗi word sẽ có dạng x1,x2, xv trong đó V là số vocabulary, là một vector trong đó mỗi word sẽ có giá trị 1 tương đương với index trong vocabulary và còn lại sẽ là 0

- Weight matrix giữa input và hidden layer là matrix W(có dimention VxN) có active function là linear, weight giữa hidden và out put là W′ (có dimention là NxV) active function của out put là soft max Hai ma trận này được khởi tạo ngẫu nhiên

Trang 29

2 – Cơ sở lý thuyết 16 HV: Nguyễn Hữu Ánh

Input sẽ được nhân với Weights Matrix (giữa input với hidden layer) ra được một kết quả gọi là Hidden Activation

- Trong trường hợp input là nhiều one-hot-vector, các kết quả thu được khi nhân các Input với Weights Matrix (giữa input với hidden layer) sẽ được lấy trung bình để ra được Hidden Activation cuối cùng

- Từ hidden layer đến out put là matrix W′= 𝑤, Ta tính score ui cho mỗi word trong vocabulary

- Output sẽ là một vector xác suất cũng với chiều dài V của từ liên quan hoặc còn thiếu

Hình 2.4 CBOW model với input nhiều one-hot-vector [16]

Trang 30

2 – Cơ sở lý thuyết 17 HV: Nguyễn Hữu Ánh

2.2.6.2 Skip-gram

Mô hình và hoạt động của Skip-gram model:

Hình 2.5 Cấu trúc của mô hình Skip-gram [6]

- Input là one-hot-vector mỗi word sẽ có dạng x1,x2, xv trong đó V là số vocabulary, là một vector trong đó mỗi word sẽ có giá trị 1 tương đương với index trong vocabulary và còn lại sẽ là 0

- Weight matrix giữa input và hidden layer là matrix W(có dimention VxN) có active function là linear, weight giữa hidden và out put là W′ (có dimention là NxV) active function của out put là soft max

- Mỗi hàng của W là vector N chiều đại diện cho vW là mỗi word trong input layer Mỗi hàng của W là 𝑣 Lưu ý là input là 1 one hot vector (sẽ có dạng 000100) chỉ có 1 phần tử bằng 1 nên

Trang 31

2 – Cơ sở lý thuyết 18 HV: Nguyễn Hữu Ánh

- Output sẽ là nhiều vector xác suất cũng với chiều dài V của từ liên quan hoặc còn thiếu

Ưu điểm

Có tính xác suất, vượt trội hơn so với những phương pháp khác (Ex: Bag of Words, TF-IDF vector,…)

Ít tốn bộ nhớ(RAM), không cần phải sử dụng nhiều RAM như phương pháp Co-occurrence Matrix)

Mô hình Skip-gram có thể nắm bắt hai ngữ nghĩa cho một từ Ex: Model này sẽ có 2 đại diện vector từ “Apple” cho công ty và quả táo Lấy mẫu của những từ phụ tốt hơn so với các phương pháp nói chung khác

Nhược điểm

Các từ giống nhau nhưng nghĩa khác nhau vẫn chỉ được biểu diễn bằng 1 vec-tơ từ duy nhất Ex: từ apple lấy giá trị trung bình của công ty và quả táo

Tốn RAM hơn so với CBOW model Tốn nhiều thời gian huấn luyện hơn

2.3 Phương pháp tính độ tương đồng của văn bản

Độ 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ệ với nhau Bài toán tính độ tương đồng được phát biểu như sau:

Xét văn bản di và dj Mục tiêu là tìm ra một giá trị S(di,dj), S(0,1), thể hiện độ tương đồng giữa hai văn bản di và dj Giá trị càng cao thì sự giống nhau về nghĩa của hai văn bản càng lớn [17]

Trang 32

2 – Cơ sở lý thuyết 19 HV: Nguyễn Hữu Ánh

Độ 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ữ Độ 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 Độ tương đồng văn bản được tính dựa vào tập từ chung hoặc dựa trên vector biểu diễn [17]

2.3.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 (Winkler, W E., “String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage”, 1990):

𝑑 = 13(

𝑚|𝑠 |+

𝑚|𝑠 |+

𝑚 − 𝑡

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ị:

max (|𝑠 |, |𝑠 |)

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 [17]

2.3.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:

𝑆𝑖𝑚(𝐴, 𝐵) =∝∗ 𝑔(𝐴 ∩ 𝐵) − 𝛽 ∗ 𝑔(𝐴 − 𝐵) − 𝛾 ∗ 𝑔(𝐵 − 𝐴) (2.14) Trong đó g(A∩B) biểu diễn cho các từ chung giữa 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 [17]

2.3.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 (Paul Jaccard, “Etude

Trang 33

2 – Cơ sở lý thuyết 20 HV: Nguyễn Hữu Ánh

comparative de la distribution orale dans une portion des Alpes et des Jura” In Bulletin del la Socit Vaudoise des Sciences Naturelles, volume 37, pages 547-579):

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ụ:

Trong đó: tfij là tần số xuất hiện của từ i trong câu j Giả sử vector biểu diễn cho hai văn bản lần lượt có dạng:

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

Dj =< 𝑤 , … , 𝑤 > với 𝑤 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:

Nhược điểm của phương pháp này là vector biểu diễn cho các câu chưa quan tâm đến mối quan hệ ngữ nghĩa giữa các từ mục, do đó các từ đồng nghĩa sẽ không được phát hiện, kết quả tín độ tương tự chưa cao [17]

2.3.5 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 [17]

Trang 34

2 – Cơ sở lý thuyết 21 HV: Nguyễn Hữu Ánh

Cho hai vector 𝑣⃗ và 𝑣⃗, khoảng cách Euclide được định nghĩa như sau:

2.3.6 WMD (Word Mover Distance)

WMD là một phương pháp cho phép đánh giá khoảng cách giữa hai tài liệu một cách có ý nghĩa, ngay cả khi chúng không có từ chung Nó đã được chứng minh vượt trội hơn nhiều so với phương pháp phân loại K-Nearest Neighbors [18]

Giả sử chung ta được cung cấp ma trận X ∈ Rdxn với kích thước từ điển của n từ Đặt xi ∈ Rd đại diện cho từ thứ i Nếu từ i xuất hiện ci lần trong tài liệu, ta định nghĩa rằng: 𝑑 =

Trong đó: c(i,j) = 𝑥 − 𝑥 là khoảng cách giữa từ i và từ j

WMD là một trường hợp đặc biệt của Earth Mover’s Distance(EMD) và tổng quát hơn so với Wassserstein distance

Trang 35

2 – Cơ sở lý thuyết 22 HV: Nguyễn Hữu Ánh

2.4 Các phương pháp tách từ trong tiếng việt

Tách từ là quá trình xử lý nhằm mục đích xác định ranh giới của các từ trong câu, hay nói đơn giản là quá trình xác định các từ đơn, từ ghép… có trong câu [19] Vấn đề này tưởng chừng đơn giản với con người nhưng rất khó để giải quyết đối với máy tính Chính vì vậy, tách từ được xem là bước tiền xử lý quan trọng đối với các hệ thống xử lý ngôn ngữ tự nhiên Đặc biệt là đối với ngôn ngữ tiếng việt, ranh giới từ không chỉ là những khoảng trắng mà còn có sự liên kết chặt chẽ với nhau (một từ có thể cấu tạo bởi một hoặc nhiều tiếng Có ba phương pháp tiếp cận chính cho việc tách từ bao gồm: tiếp cận dựa vào từ điển cố định, thông kê thuần túy và dựa vào hai phương pháp trên

2.4.1 So khớp từ dài nhất (Longest Matching)

Với mỗi câu, duyệt từ trái qua phải các âm tiết trong câu, kiểm tra xem có nhóm các âm tiết có tồn tại từ trong từ điển hay không Chuỗi dài nhất các âm tiết được xác định là từ sẽ được chọn ra Tiếp tục thực hiện việc so khớp cho đến hết câu (Surapant Meknavin et al., 1997) [20]

Ví dụ: “Học sinh học sinh vật học”, từ trái qua phải, âm tiết đầu tiên là “học”, “học” cũng có thể là 1 từ đơn, nhưng “học” cũng có thể kết hợp với âm tiết “sinh” để tạo nên từ ghép “học sinh”, ta được từ đầu tiên là “học sinh”, xét tiếp các âm tiết còn lại cho đến khi hết câu ta có các từ sau: “học sinh”, “học sinh”, “vật”, “học” Với ví dụ này, phương pháp so khớp từ dài nhất không đem lại kết quả như mong muốn 2.4.2 So khớp cực đại (Maximum Matching)

Ứng với mỗi câu dữ liệu đầu vào, tìm tất cả các trường hợp mà các âm tiết có thể kết hợp lại để tạo nên các từ có nghĩa Ứng với mỗi loại ngôn ngữ khác nhau thì sự lựa chọn các nhóm âm tiết này có thể khác nhau Phương pháp này là so khớp toàn diện cho một câu thay vì so khớp cục bộ âm tiết đang được xét (Chih-Hao Tsai, 1996) [20]

Ví dụ: “Học sinh học sinh vật học”: các trường hợp kết hợp của các âm tiết có thể có “sinh vật học”, “học sinh”, “học”, từ được tách trong câu sẽ chính xác hơn phương pháp so khớp từ dài nhất

2.4.3 Mô hình ngôn ngữ (language model)

Một mô hình ngôn ngữ thường được xây dựng dựa trên việc thu thập thống kê số lần xuất hiện hoặc đồng xuất hiện của các từ trong một tập lớn các văn bản (Jelinek et al., 1991) Với một đoạn văn bản 𝑤 = 𝑤 𝑤 … 𝑤 , mô hình LM được dùng để tính xác suất P(𝑤 ) của đoạn văn bản này [20] Công thức tính xác suất tổng quát có thể được biểu diễn như sau:

Trang 36

2 – Cơ sở lý thuyết 23 HV: Nguyễn Hữu Ánh

𝑃(𝑤 ) = 𝑃(𝑤 )𝑃(𝑤 |𝑤 )𝑃(𝑤 |𝑤 ) 𝑃(𝑤 |𝑤 ) = ⊆ 𝑃(𝑤 |𝑤 ) (2.23) Ứng dụng giả thuyết của Markov rằng dự đoán kế tiếp chỉ phụ thuộc vào lịch sử gần đây thay vì toàn bộ lịch sử, chúng ta có thể biểu diễn công thức trên bằng công thức sau:

2.4.4 Phương pháp sử dụng mô hình Markov ẩn

Mô hình tách từ dựa theo thống kê (ở đây là mô hình n-grams) cơ bản nhất được đề xuất bởi Luo vào năm 1996 cho một câu tiếng Trung Việc tách từ trong một câu tiếng Trung tương đồng với tách từ trong câu tiếng Việt, nghĩa là có một số từ nên đứng riêng, một số từ khác nên được ghép chung để thành từ ghép [20]

Gọi S là một câu tiếng Việt bao gồm n từ 𝑤 𝑤 … 𝑤 với 𝑤 là một từ trong câu Bài toán đặt ra là tách câu này thành các cụm từ thích hợp:

S = 𝑤 𝑤 … 𝑤 = (𝑤 … 𝑤 ) … (𝑤 … 𝑤 ) = C1C2…Cm (2.26) Với xi là vị trí của từ cuối cùng của cụm từ (từ ghép) thứ i: Ci = 𝑤 … 𝑤 , với i =1,2,…,m và x0=0,xm=n

Một cách phân tách các từ trong câu S bây giờ có thể được biểu diễn bởi một dãy các số nguyên x1,…,xm

Gọi G(S) là tập tất cả các cách để phân tách các từ trong câu S:

G(S) = {(x1…xm):1≤x1≤x2≤…≤xm,m≤n} (2.27)

Ngày đăng: 03/08/2024, 14:02

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

TÀI LIỆU LIÊN QUAN