Trong giai đoạn cạnh tranh hiện nay, ngành công nghệ thông tin đang là một trong những lĩnh vực then chốt, quan trọng trong chiến lược phát triển của một đất nước. Thành quả của nó mang lại cho nền kinh tế đã được chứng minh trong khoảng 10 năm trở lại đây. Đến năm 2021, sự phát triển của công nghệ thông tin đã được xác định đây là một giai đoạn mới và giới công nghệ cũng như các phương tiên thông tin đại chúng đã đặt tên cho nó là thời đại công nghiệp 4.0. Cùng với sự phát triển của các lĩnh vực thương mại điện tử, các công nghệ ứng dụng dữ liệu đa phương tiện đang ngày càng phổ biến, các loại hình như âm thanh, hình ảnh ngày càng trở thành công cụ truyền thông, giải trí cũng như làm việc chủ yếu trên môi trường mạng, hoặc nội bộ hiện nay. Theo thống kế của các chuyên gia thì hiện nay các nguồn dữ liệu này chiếm từ 8090% là dữ liệu không có cấu trúc và khối lượng dữ liệu này ngày càng tăng lên một cách nhanh chóng và đáng kể. Vậy để các dữ liệu này có thể được tận dụng, sử dụng có hiệu quả trong những mục đích khác nhau và việc ứng dụng của nó cụ thể ở những đâu, hoàn cảnh nào là những bài toán không hề đơn giản, chủ đề này luôn là những vấn đề mà các nhà công nghệ luôn luôn đặt ra và nghiên cứu hướng, giải pháp ngày càng tốt hơn, hiệu quả hơn trong việc xử lý những dữ liệu này. Một trong những hướng đi mà các hãng công nghệ lớn đang hướng tới trong việc ứng dụng, sử dụng những dữ liệu khổng lồ này một cách có hiệu quả đó là ứng dụng vào trí tuệ nhân tạo (Artificial Intelligent, gọi tắt là AI) và các hệ thống học máy (Machine Learning, gọi tắt là ML). Nói đến trí tuệ nhân tạo hay học máy, chúng ta có thể nghĩ ngay đến các phần mềm ứng dụng trí tuệ nhân tạo đang rất đình đám hiện nay đó là các hệ thống trả lời tự động, trợ lý ảo, nhận diện khuôn mặt ứng dụng trên các thế hệ điện thoại thông minh, trên các mạng xã hội (facebook, twitter…), và đặc biệt là sự kiện nổi tiếng gần đây khi mà một hệ thống học máy đã chiến thắng được trí tuệ con người ở một khía cạnh nào đó, đó là Alphago, một hệ thống học sâu đã chiến thắng kiện tướng cờ vây người Hàn Quốc Lee Sedol thông qua các cơ chế tự học. Từ những ứng dụng thiết thực và hướng đi rất mới của công nghệ trí tuệ nhân tạo, học máy thì hãng công nghệ lớn hoạt động trong lĩnh vực này đã và đang đầu tư phát triển công nghệ AI và ML dựa trên những dữ liệu khổng lồ được cập nhật hàng giây từ người dùng. Sản phẩm của AI và ML như nhận diện khuôn mặt, các hệ dự đoán, chatbot, hệ thống trả lời tự động (questionanswering). Vậy để ứng dụng công nghệ để xử lý các khối dữ liệu phi cấu trúc trên thì các kỹ thuật có thể xử lý dữ liệu phi cấu trúc văn bản cần được phát triển. Trong luận văn này, tác giá sẽ tập trung nghiên cứu các kỹ thuật có thể xử lý văn bản bằng cách phát triển một chatbot và ứng dụng chatbot trong bối cảnh giao tiếp giữa hệ thống tư vấn Viễn thông và khách hàng sử dụng dịch vụ của VNPT. Chatbot là một tác nhân đàm thoại có thể tương tác với con người một cách tuần tự bằng ngôn ngữ tự nhiên. Mục tiêu chính của luận văn tốt nghiệp này là xây dựng một chatbot để trả lời các câu hỏi phức tạp, thường đòi hỏi câu trả lời thậm chí phức tạp hơn trong một miền được xác định rõ. Trọng tâm là chỉ trả lời các câu hỏi mà câu trả lời chất lượng được đưa ra. Có thể dễ dàng nhận thấy chatbot hiện nay đã xuất hiện trên nhiều hệ thống đa phương tiên khác nhau. Tuy nhiên, một trong những hoạt động dịch vụ hiện nay đang vẫn còn bỏ ngỏ đó là ứng dụng chatbot trong hoạt động tư vấn dịch vụ VNPT và công tác CSKH của VNPT. Những năm gần đây số lượng khách hàng sử dụng các dịch vụ online ngày càng tăng từ thoại truyền thống sang thoại data, các trang mạng xã hội với Viber, Zalo, Messenger … là con số người dùng vô cùng lớn, việc đáp ứng nhu cầu khách hàng ngày càng cao, ứng dụng chatbot trong giao tiếp với khách hàng sẽ giúp cho hoạt động kinh doanh của Viễn thông về tư vấn và chăm sóc khách hàng hiệu quả hơn rất nhiều. Đặc biệt, các hoạt động về tư vấn, hậu kiểm, trong các hoạt động tiếp cận khách hàng là những hoạt động mang tính chất khuôn khổ phục vụ khách hàng tốt hơn hài lòng hơn về dịch vụ được cung cấp, trong khi hiện nay các VNPT tỉnh thành vẫn đang phải duy trì một số lượng lớn nhân viên, bộ phận hổ trợ để thực hiện các nghiệp vu tư vấn với khách hàng. Những nghiệp vụ này hoàn toàn có thể thực hiện nghiên cứu tự động hóa, có thể giải đáp, tư vấn cho khách hàng những nội dung cơ bản của các sản phẩm hay những chương trình ưu đãi dành cho cá nhân và khách hàng doanh nghiệp, hay hậu kiểm dịch vụ CSKH. Trong một vài năm gần đây, các công ty tư vấn đã ứng dụng nhiều tiến bộ và phát triển của lĩnh vực học máy phục vụ hỗ trợ khách hàng trong quá trình ra quyết định. Đặc biệt trong lĩnh vực Marketing và IoT, đây là các lĩnh vực có nhiều thách thức với khối lượng dữ liệu lớn, dữ liệu không cấu trúc. Trong nghiên cứu này, tác giả xây dựng một chatbot để trả lời những câu hỏi phức tạp và cả những câu trả lời tương ứng cũng phức tạp hơn, cụ thể là trên lĩnh vực khiếu nại. Tại nghiên cứu này tác giả chỉ tập trung vào việc trả lời các câu hỏi để làm sao có được một câu trả lời với chất lượng cao nhất. Tất nhiên trong đó có những câu hỏi không nằm trong phạm vi của chatbot sẽ được gửi thẳng trực tiếp đến con người để xử lý. Ví dụ hệ thống có thể rất hữu dụng cho các công ty khi họ nhận được các câu hỏi tương đối phức tạp thì hệ thống của họ sẽ phải thực hiện đưa ra những câu trả lời với chất lượng cao nhất sát nhất với mong muốn giải đáp của khách hàng, trong khi đó cũng phải làm sao để giảm thiểu được tối đa sự can thiệp của con người trong quá trình thực hiện dịch vụ hỏi đáp này, điều này cũng sẽ đồng nghĩa với việc giảm chi phí cho tổ chức đang ứng dụng chatbot này. Một chatbot có thể thay thế cho các bộ phận như helpdesk (quầy hổ trợ), trả lời tin nhắn tự động, trả lời các phản hồi trên mạng xã hội hoặc tư vấn về các sản phẩm dịch vụ cung cấp. Việc xử lý để xây dựng nên một chatbot trong nghiên cứu này tập trung vào hai kỹ thuật quan trọng và chủ yếu đó là xử lý ngôn ngữ tự nhiên và đưa ra các phản hồi đến người dùng với độ tin cậy và chính xác cao.
Mục tiêu của nghiên cứu
cấu trúc của một chatbot, ứng dụng (VNPT Smartbot) để tối ưu hoá chi phí nhân công cho lĩnh vực tư vấn dịch vụ và chăm sóc khách hàng, các công việc chính cần thực hiện sẽ tập trung vào việc:
- Nghiên cứu các công nghệ tiên tiến được ứng dụng và các kỹ thuật xây dựng chatbot như xử lý ngôn ngữ tự nhiên, xác định ý định người dùng, trích xuất thông tin, quản lý hội thoại và các kỹ thuật xử lý học máy trong ứng dụng chatbot.
- Đưa ra được bài toán thực nghiệm, ứng dụng một số mô hình ứng dụng chatbot AI (hay các hệ thống question-answering) cho bài toán dự đoán, hỏi đáp trong một lĩnh vực cụ thể Bên cạnh mục tiêu tổng quát, luận văn cũng xác định đối tượng chính của nghiên cứu là xây dựng lên một chatbot với việc trả lời các câu hỏi phức tạp Tác giả chỉ tập trung vào việc chatbot sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên và học máy để truy vấn câu trả lời từ mô hình dữ liệu đã được huấn luyện từ bộ dữ liệu câu hỏi-đáp trên một miền đóng cụ thể data VNPT.
Vậy cần đạt được của nghiên cứu:
- Ứng dụng được các phương pháp học máy để đưa ra được phương án triển khai một chatbot tư vấn dịch vụ VNPT.
- Đánh giá được tính hiệu quả áp dụng và khả năng triển khai chatbot trong thực tế.
- Rút ra được những kết luận, đề xuất phát triển ứng dụng.
Bố cục luận văn
Bố cục của luận văn sẽ gồm những phần chính sau:
Mở đầu: Đặt vấn đề và đưa ra hướng nghiên cứu bài toán
Chương 1: Kiến thức tổng quan: Giới thiệu các kiến thức tổng quan về chatbot, các thành phần của một hệ thống chatbot.
Chương 2: Xây dựng Chatbot tư vấn dịch vụ VNPT : Thiết kế để xuất, mô tả tổng thể hệ thống thử nghiệm gồm các bước thực hiện.
Chương 3: Kết quả và thực nghiệm: Đề xuất bài toán, ứng dụng framework mã nguồn mở để xây dựng thử nghiệm bài toán Đưa ra đánh giá thực tế về hệ thống, đề xuất giải pháp cải tiến. hướng phát triển cho bài toán rộng rãi trong thực tế.
KIẾN THỨC TỔNG QUAN
Các kỹ thuật ứng dụng trong chatbot
1.2.1 Xử lý ngôn ngữ tự nhiên (NLP/NLU) a Xác định ý định người dùng (intents)
Khi người dùng truy cập hệ thống chatbot thông thường họ đều có mong muốn hệ thống sẽ đưa ra những hành động trợ giúp mình về một vấn đề nào đó
Ví dụ: Khách hàng của một địa bàn nào đó có thể yêu cầu hệ thống chatbot hỗ trợ họ để mở một tài khoản thanh toán, họ có thể đưa ra yêu cầu liệt kê các giao dịch khi bắt đầu cuộc hội thoại.
Vậy, để đưa ra hỗ trợ được chính xác cho khách hàng, chatbot cần xác định được ý định (intent) đó của khách hàng Việc xác định ý định của người dùng sẽ quyết định các đoạn hội thoại tiếp theo giữa người và chatbot sẽ diễn ra như thế nào Vì thế, ngay từ những đoạn hội thoại mở đầu, nếu xác định sai ý định người dùng, chatbot sẽ đưa ra những phản hồi không đúng, không hợp ngữ cảnh Khi đó, người dùng có thể thấy không hài lòng và không tiếp tục sử dụng hệ thống Bài toán xác định ý định người dùng vì thế đóng vai trò rất quan trọng trong hệ thống chatbot. Đối với phạm vi miền đóng, chúng ta có thể giới hạn rằng số lượng ý định của người dùng nằm trong một tập hữu hạn những intent đã được định nghĩa sẵn, có liên quan đến những nghiệp vụ doanh nghiệp mà chatbot có thể hỗ trợ Với giới hạn này, bài toán xác định ý định người dùng có thể quy về bài toán phân lớp văn bản. Với đầu vào là một câu giao tiếp của người dùng, hệ thống phân lớp sẽ xác định intent tương ứng với câu đó trong tập các intent đã được định nghĩa. Để xây dựng một mô hình phân lớp intent, chúng ta cần ứng dụng kỹ thuật học máy và trí tuệ nhân tạo để thực hiện phân lớp dựa trên một tập dữ liệu huấn luyện bao gồm các cách diễn đạt khác nhau cho mỗi intent Ví dụ, cùng một mục đích hỏi về chương trình ưu đải KH hay khuyến mãi trong ngày hôm nay, người dùng có thể dùng những cách diễn đạt sau:
- Chường trình khuyến mãi wifi hôm nay là như thế nào?
- Giá ưu đải khách hàng wifi hôm nay bao nhiêu?
- Một đường internet bao nhiêu tiền tháng?
Có thể nói, bước tạo dữ liệu data huấn luyện cho bài toán phân lớp intent là một trong những công việc quan trọng nhất khi phát triển hệ thống chatbot và ảnh hưởng lớn tới chất lượng sản phẩm của hệ thống chatbot đầu ra về sau Công việc này cũng đòi hỏi thời gian, công sức khá lớn của những người, tổ chức phát triển chatbot. b Trích xuất thông tin (Extracting features)
Bên cạnh việc xác định intent trong câu hội thoại của người dùng, chúng ta cần trích xuất các thông tin cần thiết trong đó Các thông tin cần trích xuất trong một câu hội thoại thường là các thực thể thuộc về một loại nào đó, một nội dung hay một chủ đề nào đó Ví dụ: Khi một khách hàng muốn lắp đặt internet, hệ thống cần biết loại sổ cần “mạng”, “wifi”, gói cước, số tiền /tháng, họ tên, chứng minh thư nhân dân hoặc căn cước công dân,…Thành phần xử lý ngôn ngữ tự nhiên (NLP) và hiểu ngôn ngữ tự nhiên (NLU) của các hệ thống chatbot thường hỗ trợ các loại thực thể sau:
- Loại dịch vụ/ gói cước (Type of service/package)
Tôi Muốn Mở Sổ Loại dịch vụ base
165 ngàn vnđ o o o o B-Saving type I-SavingType B-DueDate o B-Amount I-Amount I-Amount
Hình 1.7 Gán nhãn từ theo mô hình B-I-O trong trích xuất thông tin Đầu vào của một module trích xuất thông tin là một câu hội thoại Module trích xuất thông tin cần xác định vị trí của các thực thể trong câu (vị trí bắt đầu và vị trí kết thúc của thực thể) Ví dụ sau minh hoạ một câu hội thoại và các thực thể được trích xuất.
Câu hội thoại: Tôi muốn lắp đặt internet gói thường thời hạn hạn 7 tháng thì bao nhiêu tiền.
Câu có các thực thể được xác định: Tôi muốn lắp đặt [internet gói thường] SAVINGTYPE [thời hạn 7 tháng] DUEDATE bao nhiêu tiền mỗi tháng [165 nhân 6 vnđ] AMOUNT
Trong câu trên có 3 thực thể (nằm trong các dấu [ ]) với các loại thực thể tương ứng gồm: SAVINGTYP, DUEDATE, AMOUNT (được viết với font chữ nhỏ hơn ở phía trên bên trái).
Cách tiếp cận phổ biến cho bài toán trích xuất thông tin là mô hình hoá bài toán thành bài toán gán nhãn chuỗi (sequence labeling) Đầu vào của bài toán gán nhãn chuỗi là một dãy các từ, và đầu ra là một dãy các nhãn tương ứng các từ trong đầu vào Chúng ta sẽ sử dụng các mô hình học máy để học một mô hình gán nhãn từ một tập dữ liệu đầu vào bao gồm các cặp (x1…xn, y1…yn), trong đó x1…xn là dãy các từ, y1…yn là dãy các nhãn Độ dài của các dãy từ trong tập dữ liệu có thể khác nhau.
Trong bài toán trích xuất thông tin, tập nhãn cho các từ trong câu đầu vào thường được tạo ra theo mô hình B-I-O, với B là viết tắt của “Beginning”, I là viết tắt của “Inside”, và O là viết tắt của “Outside” Khi biết vị trí từ bắt đầu của một thực thể và các từ nằm trong thực thể đó, chúng ta có thể xác định vị trí của thực thể trong câu Trong ví dụ ở trên, dãy các nhãn tương ứng với dãy của các từ trong câu hội thoại đầu vào được minh hoạ ở hình 2.
Thuật toán huấn luyện mô hình gán nhãn chuỗi phổ biến là mô hình Markov ẩn (HMM – Hidden Markov Models) , mô hình CRF (Conditional Random Fields) trường ngẫu nhiên có điều kiện Với dữ liệu văn bản, mô hình CRF thường cho kết quả tốt hơn mô hình HMM Có khá nhiều các công cụ mã nguồn mở cài đặt mô hình CRF cho bài toán gán nhãn chuỗi như CRF++, CRF Suite hạng trên, Mallet,… Gần đây, các mô hình mạng neural hồi quy (Recurrent Neural Networks) được áp dụng khá nhiều cho bài toán gán nhãn chuỗi Mô hình mạng neural hồi quy tỏ ra hiệu quả với dữ liệu dạng chuỗi vì nó mô hình mối quan hệ phụ thuộc giữa các từ trong câu Ví dụ, mạng neural hồi quy được áp dụng cho bài toán gán nhán từ loại (POS Tagging), bài toán xác định thực thể tên gọi. c Quản lý đoạn hội thoại (Dialogue management)
Trong các phiên trao đổi dài (long conversation) giữa người dùng và chatbot,chatbot sẽ ghi nhớ những thông tin về ngữ cảnh (context) hay quản lý các trạng thái hội thoại (dialog state) Vấn đề quản lý hội thoại (dialogue management) khi đó là một phần quan trọng để đảm bảo việc trao đổi giữa người và máy là thông suốt không bị ngắt quãng giữa chừng hoặc sai lệch hẳn một chủ đề khác.
Chức năng của thành phần quản lý hội thoại là nhận đầu vào từ thành phần NLP/NLU, quản lý các trạng thái hội thoại (dialogue state), ngữ cảnh hội thoại (dialogue context) và truyền đầu ra cho thành phần sinh ngôn ngữ (Natural Language Generation, viết tắt là NLG) Ví dụ: Vẫn là về yêu cầu lắp đặt internet của một khách hàng, module quản lý dialogue trong một chatbot phục vụ mở trường lắp đặt internet cần biết khi nào người dùng đã cung cấp đủ thông tin cho việc mở trường để khí đó chatbot gửi một lệnh cho việc tạo một mã số mã khách hàng tới hệ thống hoặc khi nào cần phải xác nhận lại thông tin do người dùng đưa vào Hiện nay, các sản phẩm chatbot thường dùng mô hình máy trạng thái hữu hạn (Finite State Machine – FSM), mô hình Frame-based (Slot Filling), hoặc kết hợp hai mô hình này.
Hình 1.8 Mô tả quản lý hội thoại theo mô hình máy trạng thái hữu hạn FSM
FSM là mô hình quản lý hội thoại đơn giản nhất Ví dụ: Giả sử một hệ thống chăm sóc khách hàng của một VNPT tỉnh thành phố, phục vụ những khách hàng cần sử dụng dịch vụ lắp đặt internet Nhiệm vụ của chatbot là hỏi tên khách hàng, số CMND/CCCD từ đó chatbot sẽ thực hiện gửi các yêu cầu truy vấn thông tin khách hàng và những dịch vụ khách hàng đang sử dụng dịch vụ hiện có ở đâu như ở hình ví dụ trên Các trạng thái của FSM tương ứng với các câu hỏi mà dialogue
Xin bạn cho biết họ tên?
Chúng tôi đã kiểm tra thông tin, hiện nay bạn đã có số di động tại
VNPT QTI và có ví VNPT Pay trị giá 300ngàn VNĐ.
Chúng tôi có thể hỗ trợ bạn dịch vụ gì tiếp theo không?
Số chứng minh thư hoặc căn cước công dân của bạn là gì? manager hỏi người dùng Các cung nối giữa các trạng thái tương ứng với các hành động mà chatbot sẽ thực hiện Các hành động này phụ thuộc phản hồi của người dùng cho các câu hỏi Trong mô hình FSM, chatbot là phía định hướng người sử dụng trong cuộc hội thoại. Ưu điểm của mô hình FSM là đơn giản và chatbot sẽ định trước dạng câu trả lời mong muốn từ phía người dùng cụ thể là mô hình có thể được ứng dụng tốt trên miền đóng Tuy nhiên, mô hình FSM không thực sự phù hợp cho các hệ thống chatbot phức tạp hoặc khi người dùng đưa ra nhiều thông tin khác, không cùng một chủ đề nội dung trong cùng một câu hội thoại.
Mô hình Frame-based (hoặc tên khác là Form-based) có thể giải quyết vấn đề mà mô hình FSM gặp phải Mô hình Frame-based dựa trên các frame định sẵn để định hướng cuộc hội thoại Mỗi frame sẽ bao gồm các thông tin (slot) cần điền và các câu hỏi tương ứng mà dialogue manager hỏi người dùng Mô hình này cho phép người dùng điền thông tin vào nhiều slot khác nhau trong frame.
Bảng 1.2 Chatbot hỏi thông tin khách hàng truy vấn dịch vụ mở sổ tiết kiệm
Họ tên Xin bạn cho biết họ tên?
Chứng minh thư nhân dân/ CCCD Số CMND/ CCCD của bạn là gì?
Các dịch vụ tư vấn bán hàng trực tiếp
Các mô hình mạng NN được ứng dụng trong quá trình xử lý ngôn ngữ tự nhiên của chatbot gồm:
- Mạng NN nguyên thủy (Convolutional NN)
- Long Short-Term Memory (LSTM)
Trong nội dung của luận văn này, tác giả sẽ ứng dụng mạng (Long short-term memory) trí nhớ ngắn hạn và dài hạn để thực hiện thử nghiệm xây dựng chatbot ứng dụng cho lĩnh vực tư vấn dịch vụ VNPT và CSKH.
1.3 Các dịch vụ tư vấn bán hàng trực tiếp
1.3.1 Tổng quan dịch vụ ineternet, Mytv, Vinaphone của VNPT
Internet cáp quang là một lĩnh vực không hề xa lạ với chúng ta Ít nhất trong số những người sử dụng smartphone, các thiết bị phần tử mạng tại các tổ chức và cá nhân đều có một Ip cố định hoặc có không ít hơn một số điện thoại, những quan hệ đối tác với các tổ chức cá nhân mở rộng Theo thống kê tương đối, hiện nay, ở nước ta đang có mạng lưới hệ thống Viễn thông rộng lớn và phát triển nhanh, gồm có 5 nhà mạng chính nội địa, trong đó VNPT với số lượng lớn internet hữu tuyến.
Hình 1.14 Logo VNPT nổi bật hiện nay
Trên thực tế các nhà mạng đều coi các chỉ tiêu kinh doanh là yếu tố sống còn đến tổ chức, sự cạnh tranh giữa các nhà mạng, là vô cùng sôi động Các nhà mạng thường thành lập các ban, khối nghiên cứu chuyên biệt nhằm sáng tạo, quản lý các sản phẩm internet theo thời gian mà chúng ta thường gọi là các dịch vụ (gói) Để thu hút khách hàng qua đó thu hút KH thì các nhà mạng thường cạnh tranh nhau bởi những hình thức bán hàng và thường tập trung đánh vào các phân khúc khách hàng cụ thể Việc đẩy mạnh gia tăng số lượng khách hàng được thúc đây thông qua việc phát triển các dịch vụ đã và đang làm cho các loại hình dịch vụ trở nên rất phong phú và nhiều hình thức khác nhau theo chuổi thời gian.
Các loại hình dịch vụ thông thường chúng ta có thể kể đến gồm:
Các loại hình dịch vụ truyền thống như:
Các loại hình dịch vụ hiện đại như:
- Hội nghị truyền hình Tín dụng cá nhân, tín dụng doanh nghiệp
- Cho thuê kênh riêng Cho vay tiêu dùng, kinh doanh
- Các dịch vụ CNTT: Tài trợ dự án
- Y tế số Thẻ tín dụng
- Giáo dục số Rút tiền tự động (ATM)
- Nông nghiệp số Kinh doanh ngoại tệ
- Chính quyền số Cung cấp dịch vụ môi giới và đầu tư chứng khoán
- Quản trị doanh nghiệp số Cung cấp dịch vụ uỷ thác và tư vấn
- Dịch vụ tích hợp Quản lý đầu tư
- Hạ tầng số Cung cấp các dịch vụ bảo hiểm
- Dịch vụ tài chính di dộng.
Trên thực tế, nhiều nhà mạng cùng xác định những phân khúc khách hàng tương tự nhau, hay cùng phát triển một loại dịch vụ trên một tập KH Tuy nhiên, nó lại được thể hiện theo nhưng dòng sản phẩm đặc trưng của họ về bản chất thì cùng cung cấp những loại dịch vụ tương tự nhau Do đó, việc đẩy mạnh các hoạt động quảng bá, marketing, hỗ trợ khách hàng đóng vai trò quan trọng để thu hút được lượng khách hàng về mình.
1.3.2 Marketing trong lĩnh vực Data
Như đã đề cập ở phần trên, hiện nay ngoài việc cung cấp những loại hình dịch vụ hấp dẫn đến khách hàng, thì để các sản phẩm data này đến được khách hàng một cách dễ dàng, và cũng là cách để thu hút, gia tăng số lượng khách hàng về tổ chức của mình, các hoạt động marketing, giới thiệu, quảng bá đặc biệt là những bộ phận hỗ trợ dịch vụ khách hàng được các tổ chức đầu tư tiền và nhân lực một cách nghiêm túc.
Hiện nay, phần lớn các nhà mạng, đều đang sử dụng những kênh truyền thông, quảng bá truyền thống thông qua các phương tiện như báo, đài, website, callcenter, trung tâm hỗ trợ, saler… Do số lượng khách hàng sử dụng các dịch vụ ngày càng tăng lên khiến cho việc sử dụng các loại hình quảng bá, hỗ trợ khách hàng theo cách truyền thống hiện nay đang đòi hỏi đầu tư nguồn lực và tài chính lớn Trong khi, những sản phẩm dịch vụ thường sẽ có những hoạt động hỗ trợ mang tính lặp đi lặp lại, những nội dung thường tập trung xung quanh mảng lĩnh vực internet, trong khi những hoạt động này hoàn toàn có thể nghiên cứu và ứng dụng công nghệ để giải quyết nguồn lực này Mặt khác ứng dụng các tiến bộ công nghệ vào trong ngành cũng sẽ đẩy mạnh được khả năng ứng dụng công nghệ thông tin, hiện đại hóa trong ngành.
1.3.3 Ứng dụng công nghệ trong lĩnh vực dịch vụ công nghệ
Hiện nay, 100% các nhà mạng đều đã ứng dụng công nghệ thông tin vào trong hoạt động quản lý điều hành Có thể kể đến các sản phẩm công nghệ nổi bật mang tính chiến lược, đóng vai trò quan trọng trong quản lý như:
Hệ thống điều hành eoffice: Là một hệ thống phần mềm, cơ sở dữ liệu tổng thể, cung cấp giải pháp cho quản lý điều hành, quản lý tài chính ngân hàng, một hệ thống cho phép duy trì các hoạt động nghiệp vụ của ngân hàng liên tục 24/7.
Hệ thống điều hành nội bộ: Là những hệ thống phần mềm được cung cấp cho người dùng cuối Cung cấp đa dạng khả năng sử dụng dịch vụ ngân hàng, tương tác tài chính mọi lúc mọi nơi và tiện lợi mà không phải đến các đại lý, chi nhánh của ngân hàng.
Hệ thống tính cước CCS: Là hệ thống phần mềm, cơ sở dữ liệu nhằm cung cấp cho hoạt động cung cấp dịch vụ tín dụng cho ngân hàng Đây là hệ thống phần mềm nội bộ đảm nhiệm các thao tác như lập hồ sơ điện tử, phê duyệt, cấp tín dụng, kết nối và hạch toán vào các hệ thống corebanking…
Hệ thống tính năng suất: HRMs cân đối lượng thời gian hao phí của CN cho từng công việc hằng ngày.
Hệ thống tính lương HRM: Tính năng suất lao động hàng tháng của Tập đoàn tương ứng với hệ thông BSC, KPI, Okri và các chỉ tiêu đối với người lao động để trả lương ứng và quyết toán lương hàng quý.
Hệ thống chọn số CCBS: Hệ thông thông tin khách hàng Đây là một khái niệm khá mới mẻ trong lĩnh vực chatbot dịch vụ VNPT, nhưng đang được các tổ chức đầu tư lớn về nguồn lực để thành lập các dự án phát triển dịch vụ theo hướng Automatic VNPTchatbot Dịch vụ này có thể bao gồm các hệ thống: Đăng ký khách hàng tự động, đăng ký hợp đồng dịch vụ internet, Mytv, đăng ký trung gian thanh toán VNPT Pay, hỗ trợ khách hàng… Chatbot cũng là một trong những hệ thống thuộc vào nhóm ứng dụng automatic bán hàng qua shop trên mạng, hiện nay đã có nhiều VNPT đã thành lập các dự án phát triển marketing tự động, bán hàng tự động, tư vấn dịch vụ tự động dưới dạng ứng dụng chatbot Tuy nhiên, các sản phẩm gần như chưa được golive một cách chính thức, hay chất lượng các chatbot làm ra chưa được sự đón nhận của khách hàng.
1.4 Một số công việc liên quan đến đề tài
Như đã giới thiệu, các chatbot hiện nay được phát triển sử dụng rất nhiều phương pháp khác nhau như rule-based, phương pháp này sử dụng khái niệm hard- coded trong code để thực hiện xây dựng những kịch bản phản hồi với khách hàng, AI-based, khớp mẫu theo dạng pattern-based, tuy nhiên loại này cũng chỉ được vận hành dựa trên cơ chế đã được chỉ rõ những mẫu có sẵn cho việc truy vấn câu trả lời để mang tính định hướng người gọi đến.
Bên cạnh những phương pháp xây dựng chatbot, thì hiện nay cũng có rất nhiều nền tảng (frameworks) đang phổ biễn và cho phép phát triển chatbot, tuy nhiên phần lớn cũng sử dụng những phương pháp dựa trên kỹ thuật rule-based hay pattern-based. Đối vưới rule-based thì đây là loại chatbot dễ dàng xây dựng nhất với ý tưởng khá đơn giản với rule được mô tả như: IF x THEN y ELSE IF A THEN B v.v Vậy nếu như chúng ta có khoảng 100 ngữ cảnh, người phát triển phải thực hiện xây dựng 100 luật cho mỗi ngữ cảnh Khối lương và độ phức tạp của dữ liệu sẽ làm cho các kỹ thuật trở nên không tối ưu và dần những chatbot kiểu này không mang lại sự hứng thú hoặc chuộng dùng từ phía người dùng. Đối với AI-based (dựa trên học máy và trí tuệ nhân tạo) thì bot được xây dựng dựa trên kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) và học máy Kỹ thuật này dựa trên những thông tin đầu vào lớn để dành cho việc học nhưng chúng hiệu quả hơn rất nhiều, khả năng phát triển các câu trả lời dựa trên các câu hỏi không cố định giúp cho chatbot trở nên mềm dẻo và linh hoạt những cũng đạt độ chính xác cao khi trả lại những câu trả lời cho người dùng Hiện nay, lượng khách hàng của các tổ chức tài chính, ngân hàng đang phát triển rất nhanh và chatbot với AI-based là phương án khả quan khi ứng dụng.
Như vậy, từ thực tế lịch sử phát triển chatbot và hiện trạng các chatbot đang được ứng dụng hiện nay chúng ta có thể rút ra được điểm liên quan đến các nội dung mà để tài nghiên cứu gồm:
Mô tả bài toán
Chatbot hiện nay đã dần dược ứng dụng trong nhiều mảng lĩnh vực và đối với lĩnh vực VNPT cũng sẽ có rất nhiều bài toán mà chúng ta có thể đưa chatbot vào ứng dụng thay thế con người một cách hiệu quả Đặc biệt, đối với lĩnh vực VNPT, VNPT chatbot sẽ hướng tới ứng dụng trong bối cảnh cụ thể đó là thay thế mảng tư vấn khách hàng đối với những dịch vụ mà VNPT cung cấp Từ đó có thể hỗ trợ mảng marketing, quảng bá sản phẩm của các lĩnh vực khác cũng như cung cấp các thông tin hỏi đáp hỗ trợ người dùng ví dụ như các hoạt động về giới thiệu dịch vụ bán lẻ đến khách hàng, tra cứu thông tin tài khoản của cá nhân trong VNPT Pay, giao dịch, thực hiện các hoạt động quan hệ tài chính.
Hiện nay, một số VNPT cũng đã bắt đầu cho ra các sản phẩm VNPT smartbot và đưa vào thử nghiệm … hiện nay đang sử dụng tiện ích VNPT smartbot mà các mạng xã hội đang cung cấp sẵn như facebook và thực hiện tra cứu một vài thông tin khá cơ bản và sơ sài chưa có tính tương tác mạnh Bài toán mà tác giả lựa chọn ở đây đó là sẽ tập trung vào các chức năng hỗ trợ dịch vụ VNPT cho các khách hàng cá nhân, trên hệ thống internet mạng xã hội của VNPT, các chức năng chính kỳ vọng đáp ứng thực tế gồm việc giải đáp các câu hỏi thường gặp của khách hàng về cách dịch vụ:
- Tư vấn các sản phẩm chương trình khuyến mãi dành cho khách hàng cá nhân
- Tư vấn các sản phẩm VNPT pay cho khách hàng cá nhân.
- Tư vấn dịch vụ bảo hiểm cho khách hàng cá nhân
- Tư vấn dịch vụ các sản phẩm VNPT đang cung cấp.
- Các dịch vụ khác như, chuyển tiền, trung gian thanh toán…
Với các dịch vụ tư vấn này, đề tài sẽ tập trung đi sâu vào thử nghiệm trên một loại hình dịch vụ cụ thể để minh chứng và làm rõ được khả năng ứng dụng của chatbot đó là tư vấn dịch vụ thẻ tín dụng dành cho khách hàng cá nhân.
Với phương pháp được lựa chọn để phát triển chatbot đó là học máy thì luận văn được thực hiện với mong muốn kết quả đạt được sẽ là một chatbot có thể hỗ trợ người dùng trong việc giới thiệu những sản phẩm VNPT sẵn có, đặc biệt là Vinaphone dụng gồm các thông tin:
- Các loại card Vinaphone hiện đang được cung cấp
- Mở mới Sim, tạo tài khoản khách hàng mới.
- Hạn mức tối đa được cấp cho loại thẻ cào.
- Thời gian còn lại của Sim trả trước
- Chương trình ưu đãi tích điểm, hoàn hạn mức, hoàn tiền Vinaphone
- Kiểm tra thông tin Sim sẵn có
- In thông tin chi tiêu tại thời điểm truy vấn của khách hàng
- Yêu cầu trích trả nợ cước đến ngày
- Truy vấn số dư nợ thẻ Sim.
Thiết kế VNPT Smartbot
2.2.1 Phương thức hoạt động của Chatbot – Chatterbot
Chatbot hoạt động như một trung gian bắt chước các cuộc trò chuyện của con người bằng cách bắt đầu các cuộc trò chuyện ngay lập tức và trả lời không mệt mỏi các truy vấn của người dùng vào bất kỳ thời điểm nào Chatbots tương ứng với hệ thống phụ trợ, truy xuất dữ liệu cần thiết từ kho lưu trữ dữ liệu và cơ sở kiến thức trong thời gian thực và trả lời lại các truy vấn được nêu ra sau khi xử lý dữ liệu thông qua các thuật toán NLP.
Hình 2.1 Mô hình hoạt động Chatterbot
- Cơ sở kiến thức / CMS
Cơ sở kiến thức cung cấp trải nghiệm khách hàng theo thời gian thực, được cá nhân hóa để thu hút và giữ chân khách hàng.
Lớp xử lý ngôn ngữ tự nhiên (NLP) bao gồm hai hệ thống; Hiểu ngôn ngữ tự nhiên (NLU) và Tạo ngôn ngữ tự nhiên (NLG) Hệ thống NLU phân tích các khía cạnh khác nhau của ngôn ngữ Trong khi hệ thống NLG ánh xạ đầu vào đã cho bằng ngôn ngữ tự nhiên thành một biểu diễn hữu ích.
- Kho dữ liệu Để đào tạo chatbot của bạn một cách hiệu quả, nó cần dữ liệu và AI Chatbots sử dụng trí thông minh nhân tạo để học hỏi từ các truy vấn và văn bản được cung cấp Đào tạo một chatbot là một quá trình liên tục, do đó, dữ liệu cần được lưu trữ trong kho chưa data chủ động để chatbot tiếp tục học tự động.
2.2.2 Long Short Term Memory (LSTM) trí nhớ ngắn/dài hạn Đây là một mạng nơ-ron nhân tạo được sử dụng trong các lĩnh vực trí tuệ nhân tạo và học sâu Không giống như các mạng nơ-ron truyền nguồn cấp dữ liệu tiêu chuẩn Được áp dụng trong dự báo ngôn ngữ, để đạt được hiệu suất dự đoán tốt hơn và các yếu tố ảnh hưởng quan trọng hơn được nhấn mạnh trong hội thoại Sử dụng các bít nhị phân.
Hình 2.2 Học chuyên sâu có sử dụng vecter điều hướng (LSTM – Vecter)
Mạng lưới thần kinh bộ nhớ ngắn hạn dài (LSTM), một kiến trúc mạng thần kinh cụ thể có khuynh hướng lập mô hình dự đoán ngôn ngữ, dựa trên ngữ cảnh, có thể được giải thích Bằng cách trích xuất các vestor đại diện cho bản dịch đã học từ đầu vào đã xác định Data là tín hiệu đóng của ngôn ngữ bắt được (Sim Vinaphone, Trả trước/ trả sau và thời gian hiệu lực) đến đầu ra (thời gian sử dụng hết dung lượng Data), nghiên cứu này tìm cách hiểu thông tin mà LSTM thu thập được về hệ thống giả thuyết LSTM sao chép các quy trình trong thế giới thực và có thể trích xuất thông tin về các quy trình này từ các trạng thái bên trong của LSTM Kiểm tra vectơ trạng thái tế bào, đại diện cho bộ nhớ của LSTM và khám phá các cách mà LSTM học để tái tạo các kho lưu trữ ngôn ngữ Sử dụng một phương pháp hồi quy đơn giản để ánh xạ vector trạng thái LSTM đến các cửa mục tiêu của đoạn hội thoại (phân tích nhu cầu của KH và phàn nàn KH) Các mối tương quan giữa đầu ra của Chatbot và các biến mục tiêu quan được chích suất thứ cấp bằng chứng rằng LSTM chứa thông tin phản ánh các quá trình so sánh với khái niệm kho lưu trữ data và có khả năng thay đổi.
Do đó, mọi khối đều có ba đầu vào (xt, ht-1 và ct-1) và hai đầu ra (ht và ct).Một điều quan trọng cần nhớ là tất cả các đầu vào và đầu ra này không phải là các giá trị đơn lẻ, mà là các vectơ có rất nhiều giá trị đằng sau mỗi giá trị đó.
Chuyển vectơ: bất kỳ dòng nào trên lược đồ là một vectơ
Nối: hai dòng kết hợp thành một, chẳng hạn như các vectơ từ ht-1 và xt Bạn có thể tưởng tượng điều này giống như hai đường ống chạy song song
Sao chép: thông tin được sao chép và đi theo hai hướng khác nhau, chẳng hạn như ở dưới cùng bên phải của lược đồ, nơi thông tin đầu ra được sao chép để đến hai lớp khác nhau ht
Hoạt động theo chiều kim: có năm hoạt động theo chiều kim trên lược đồ và chúng thuộc ba loại:
+ “X” hoặc van (van quên, van nhớ và van đầu ra) - các điểm trên sơ đồ, nơi bạn có thể mở đường dẫn của cho dòng data qua, đóng hoặc mở ở một mức độ nào đó Ví dụ, van quên ở trên cùng bên phải của sơ đồ trên được điều khiển bởi hoạt động của lớp s Dựa trên quyết định của chức năng kích hoạt sigmoid (tín hiệu moid) này (dao động từ 0 đến 1), van sẽ đóng, mở hoặc đóng ở một mức độ nào đó. Nếu nó đang mở, bộ nhớ sẽ di chuyển tự do từ ct-1 đến ct Nếu nó bị đóng, thì bộ nhớ sẽ bị cắt và có thể bộ nhớ mới sẽ được bổ sung thêm trong đường dẫn, nơi mô tả một hoạt động theo chiều kim loại khác.
+ “+” - khớp hình chữ t, nơi bạn có bộ nhớ đi qua và bạn có thể thêm bộ nhớ bổ sung nếu van bộ nhớ bên dưới khớp này đang mở.
+ “Tanh” - chịu trách nhiệm biến đổi giá trị nằm trong phạm vi từ -1 đến 1 (bắt buộc do các cân nhắc toán học nhất định).
Lớp mạng thần kinh: hoạt động của lớp, nơi có lớp đi vào và lớp đi ra
Chúng ta đã nhận được giá trị mới xt và giá trị từ nút ht-1 trước đó.
Các giá trị này được kết hợp với nhau và đi qua chức năng kích hoạt sigmoid, nơi nó được quyết định xem van quên nên mở, đóng hoặc mở ở một mức độ nào đó. Các giá trị giống nhau, hoặc thực tế là các vectơ giá trị, đi song song thông qua một thao tác lớp khác “tanh”, nơi nó quyết định giá trị nào chúng ta sẽ chuyển vào đường data bộ nhớ và cả thao tác lớp sigmoid, nơi nó được quyết định, nếu giá trị đó sẽ được chuyển đến đường bộ nhớ và ở mức độ nào.
Sau đó, chúng ta có một bộ nhớ đi qua đường dẩn trên cùng Nếu chúng ta đã quên van mở và van bộ nhớ đóng thì bộ nhớ sẽ không thay đổi Ngược lại, nếu chúng ta đã đóng van quên và van bộ nhớ mở, bộ nhớ sẽ được cập nhật hoàn toàn. Cuối cùng, chúng tôi đã kết hợp xt và ht-1 để quyết định phần nào của đường dẩn bộ nhớ sẽ trở thành đầu ra của mô-đun này.
2.2.3 Recurrent Neural Network (RNN) mạng thần kinh tái diễn giải quyết mỏ/đóng cuộn ngữ cảnh phù hợp (LSTM) Đây là một bài khảo sát nhằm mục đích đưa ra các đánh giá về kiến trúc tốt nhất của học máy, việc sử dụng các thuật toán và các ứng dụng của hệ thống cũng như các quy trình nói và nhìn Công nghệ hiện tại đặt ra các lĩnh vực nghiên cứu rộng lớn trong lĩnh vực kiến trúc và thuật toán được sử dụng trong học máy, chúng có thể được sử dụng thêm để lập kế hoạch các ý tưởng mới và tái tạo hệ thống giọng nói và hệ thống thị giác một cách thông minh Mức độ máy tính cá nhân và khả năng thương mại hóa của nó ở mức cao nhất mọi thời đại Máy học có thể được sử dụng để học tập và đào tạo bằng cách sử dụng bộ dữ liệu cảm biến lớn và tính toán thông qua các đám mây, cũng đừng quên công nghệ di động và nhúng thậm chí còn phức tạp hơn
Cuộc khảo sát được trình bày bằng cách đưa ra nền tảng chi tiết và bản chất phát triển của các mô hình học sâu được sử dụng nhiều nhất được sử dụng hiệu quả trong hệ thống thị giác và lời nói Cuộc khảo sát nhằm mục đích cung cấp một cái nhìn về nghiên cứu quy mô lớn ở cấp độ công nghiệp, nó cũng nhấn mạnh những nỗ lực được thực hiện cho trọng tâm trong tương lai và nhu cầu sắp tới của việc sử dụng thông minh các quy trình nói và nhìn Yêu cầu trong một hệ thống mạnh mẽ, mạnh mẽ và thông minh cao là độ trễ thấp hơn và độ trung thực phải cao Điều này hầu như chỉ thấy trong các thiết bị phần cứng có nguồn lực hạn chế như ô tô, rô bốt và điện thoại di động Những điểm này được ghi nhớ và là chi tiết về những thách thức chính và tỷ lệ thành công, đặc biệt là trong học máy với các nền tảng có tài nguyên hạn chế Các hạn chế nằm ở bộ nhớ, tuổi thọ của pin và khả năng xử lý Kết luận dựa trên các ứng dụng đang phát triển nhanh chóng dựa trên việc sử dụng hệ thống giọng nói và thị giác
Bài này hứa hẹn cung cấp một cuộc khảo sát toàn diện nhấn mạnh vào nhu cầu của hệ thống giọng nói và thị giác với quan điểm của cả hệ thống phần cứng và phần mềm Các công nghệ được thảo luận trong học máy đang nhanh chóng được tiếp cận và nhằm mục đích cách mạng hóa các lĩnh vực nghiên cứu và phát triển trong hệ thống giọng nói và thị giác.
2.2.4 Sơ lược về Artificial Neural Network (ANN)
Hình 2.3 Mạng lưới thần kinh nhân tạo Artificial Neural Network (ANN)
Mạng lưới thần kinh nhân tạo Artificial Neural Network (ANN) gồm 3 thành phần chính: Input layer và output layer chỉ gồm 1 layer, hidden layer có thể có 1 hay nhiều layer tùy vào bài toán cụ thể ANN hoạt động theo hướng mô tả lại cách hoạt động của hệ thần kinh với các neuron được kết nối với nhau và phân lớp hoạt động theo matric Các bản tin được đóng gói đi từ đầu vào matric theo các nhãn địa chỉ đến các node đã phân định, sau khi có được kết quả phân rã sẻ đi đến đầu ra kết quả xác định.
Mô hình hệ thống
Tác giả lựa chọn thư viện mã nguồn mở để thực hiện xử lý và training cho mô hình hệ thống tuy nhiên, bản chất của quá trình này cũng được thực hiện đầy đủ theo mô hình như sau:
Hình 2.4 Mô hình thiết kế tổng quan hệ thống chatbot
Hiện nay các câu hỏi mà khách hàng thường xuyên tương tác với bộ phận chăm sóc khách hàng, bộ phận quầy (teller) hay những cán bộ chuyên trách về các mảng sản phẩm sẽ được tổng hợp lại thành các bộ câu hỏi và các câu trả lời tương ứng Ngoài ra, có thể thực hiện thu thập dữ liệu qua người dùng thực tế.
Dữ liệu thu thập cần xác định được nhiều nhất số câu hỏi có thể xảy ra với một đối tượng cụ thể, với mỗi câu hỏi nên thực hiện đưa ra nhiều hơn một câu trả lời cho những câu hỏi đó, việc này rất quan trọng để chatbot có thể được huấn luyện với độ chính xác cao nhất Mỗi một câu hỏi tương ứng sẽ mang một ý định của người dùng (intent) Ý định của người dùng có thể là một tập các câu hỏi có cùng chung ý nghĩa, chung mục đích hỏi chúng ta cũng sẽ gom chung vào một nhóm câu hỏi. Một đoạn hội thoại giữa người và VNPT smartbot là để giải quyết một vấn đề nào đó.
Bảng 2.1 Ví dụ đoạn hội thoại hỏi về thông tin dịch vụ Vinaphone
Tôi muốn mua số điện thoại
Tôi cần một số điện thoại Vinaphone
Bạn muốn hỏi về loại Sim nào:
- Sim trả sau Sim trả sau Vina Sim trả sau Vinaphone của VNPT đang có hai loại:
- Sim trả sau theo cước thoại
- Sim trả sau theo gói Data
"patterns": ["Câu hỏi 1", "Câu hỏi 2", "…"],
"responses": ["Trả lời 1", "Trả lời 2"],
"patterns": ["Câu hỏi 1", "Câu hỏi 2", "…"],
"responses": ["Trả lời 1", "Trả lời 2"],
Sim trả sau Vina nào đang có ưu đãi tốt nhất?
Loại nào đang tốt nhất? Ưu đãi của các thẻ Sim như sau:
- Sim trả sau theo cước thoại
- 4G: Sử dụng tuỳ theo ý của bạn Sim trả sau theo gói Data 6 tháng … hoặc cả năm 12 tháng khuyến mãi 1 tháng Đây cũng chính là kịch bản có thể xảy giữa người dùng và VNPT chatbot, do đó bài toán xây dựng dữ liệu Data chatbot theo miền đóng chính là việc thu thập và tổ chức dữ liệu theo dạng kịch bản như trên.
Sau khi thu thập được dữ liệu, thì bộ câu hỏi và trả lời tương ứng sẽ được tổ chức trên dạng file với định dạng phổ biến như json hoặc markdown (*.md) để có thể sẵn sàng cho các bước sau.
Hình 2.5 Tổ chức dữ liệu intents theo định dạng markdown
Dữ liệu tổ chức theo định dạng markdown trong đó có thể phân chia mỗi nhóm câu hỏi thành một ## intent và đặt tên cho mỗi intent đó Với mỗi intent các câu hỏi có chung ý định được liệt kê trên từng dòng và bắt đầu bằng ký tự ‘-‘.
Ngoài ra dữ liệu cũng có thể được tổ chức dạng cấu trúc file json như sau:
Hình 2.6 Tổ chức dữ liệu theo định dạng json 2.3.1 Tiền xử lý dữ liệu
Mục tiêu của module này là khởi tạo bộ dữ liệu phù hợp cho các module sau gồm trích chọn đặc trưng và huấn luyện mô hình Công đoạn tiền xử lý dữ liệu chủ yếu thực hiện việc chuẩn hóa lại các câu hỏi, câu trả lời theo đúng cấu trúc, ngữ pháp của ngôn ngữ tiếng Việt:
- Làm sạch dữ liệu văn bản: Chuẩn hóa chữ tiếng Việt không dấu sang có dấu, chuẩn hóa “x” và “s” hoặc “i” và “y”, lỗi sai chính tả, chuẩn hóa font, dấu câu, xóa các từ không có ý nghĩa trong câu (stopwords),
- Tách mỗi câu thành một danh sách các từ tố (token): Mỗi câu được tách ra thành một danh sách các từ có nghĩa.
- Chuẩn hóa từ đồng nghĩa: Đồng nhất từ đồng nghĩa, từ địa phương, tiếng lóng về một từ chuẩn hóa.
- Xác định từ loại (part of speech: từ loại): Sau khi câu được tách thành danh sách các từ Bước này sẽ xác định đúng từ loại (POS - như noun, verb, pronoun, adverb ) của mỗi từ trong câu.
Ví dụ, xâu: “Tôi có thể đăng ký Sim trả sau để mua gói data được không?” Sau tiền xử lý: “Sim_trả sau_gói data”.
Sau khi tiền xử lý, đối với những đoạn xâu ký tự được chuẩn hóa với độ chính xác cao thì văn bản cũng có thể xem như là một tập hợp các đặc trưng, đó là tập hợp các từ quan trọng còn lại để biểu diễn văn bản Việc trích chọn đặc trưng từ văn bản sẽ dựa trên các biểu diễn này.
Trong khâu tiền xử lý, hiện nay đã có một số thư viện cho phép tiền xử lý dữ liệu với ngôn ngữ tiếng Việt như: từ điển stopwords của Van-Duyet Le; thư viện ViTokenizer, ViPosTagger của VietTrung Tran.
Trong khuôn khổ luận văn, để rút ngắn quá trình thực hiện xây dựng hệ thống thử nghiệm, tác giả đã thực hiện lựa chọn những câu hỏi chính xác và loại bỏ những từ ngữ thừa, sai sót về mặt ngữ pháp để đưa vào huấn luyện mô hình.
2.3.2 Trích xuất đặc trưng w ij = TF ij * log( 𝑵 )
𝐃𝐅𝐣 Để rút ngắn số chiều không gian đặc trưng và xây dựng vector đặc trưng, mô hình BoW kết hợp với thuật toán TF.IDF để xác định giá trị các phần tử trong vector sẽ giải quyết được vấn đề này.
Bản chất của mô hình BoW là việc chúng ta duyệt từ đầu đến cuối mỗi câu đầu vào và thực hiện nhóm các từ tượng trưng vào một nhóm sau đó thực hiện đánh trọng số cho các từ tương ứng với tần xuất xuất hiện của từ trong văn bản.
Hình 2.7 Những từ đặc trưng sẽ được nhóm vào một nhóm và đánh trọng số.
Hình 2.8 Mô hình BoW được sử dụng trong NLP
Mô hình BoW là một mô hình được sử dụng phổ biến trong NLP cụ thể là lĩnh vực phân loại văn bản Trong đó, mỗi văn bản di trong tập ngữ liệu đang xét, tập này có n câu văn bản và m từ xuất hiện không lặp lại (theo từng cặp), sẽ được mô hình hóa như là một vector trọng số của các đặc trưng: 𝑑⃗i = {wi1, wi2, …,wim}, wij là trọng số của đặc trưng thứ j (1