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

Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng

73 1 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

Thông tin cơ bản

Tiêu đề Nghiên Cứu Và Xây Dựng Hệ Thống Trả Lời Tự Động (Chatbot) Trong Tư Vấn Tuyển Sinh Đại Học
Người hướng dẫn PGS.TS. Nguyễn Phương Thái
Trường học Đại học Quốc Gia Hà Nội
Chuyên ngành Hệ thống thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 73
Dung lượng 1,77 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (11)
    • 1.1. Mở đầu (11)
    • 1.2. Lý do chọn đề tài (11)
    • 1.3. Mục tiêu nghiên cứu (12)
    • 1.4. Phương pháp nghiên cứu (14)
    • 1.5. Cấu trúc luận văn (14)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (15)
    • 2.1. Khái niệm và đặc điểm của chatbot (15)
    • 2.2 Mô hình Transformer (16)
    • 2.3 Mô hình BERT (19)
      • 2.3.1 Huấn luyện tinh chỉnh (fine-tuning) mô hình BERT (20)
      • 2.3.2 BERT là một mô hình ngôn ngữ mặt nạ (Masked ML) (22)
      • 2.3.3 Dự đoán câu tiếp theo (23)
      • 2.3.4 Các kiến trúc mô hình BERT (25)
    • 2.4 Mô hình PhoBERT (25)
    • 2.5 Tổng quan về Rasa (26)
      • 2.5.1 Các thành phần trong Rasa (26)
      • 2.5.2 Kiến trúc của Rasa (28)
  • CHƯƠNG 3: XÂY DỰNG HỆ THỐNG CHATBOT (30)
    • 3.1 Thu thập và xử lý dữ liệu (30)
      • 3.1.1 Xác định nguồn dữ liệu (30)
      • 3.1.2 Thu thập dữ liệu (30)
    • 3.2 Kiến trúc cơ bản hệ thống Chatbot theo hướng mục tiêu (34)
      • 3.2.1. Hiểu ngôn ngữ tự nhiên (35)
        • 3.3.1.1. Xác định ý định người dùng (36)
        • 3.3.1.2. Trích xuất thông tin (38)
      • 3.3.2. Quản lý hội thoại (40)
      • 3.3.3 Sinh ngôn ngữ tự nhiên (42)
        • 3.3.3.1. Template-based NLG (42)
        • 3.3.3.2. Class-based NLG (42)
        • 3.3.3.3. Phrase-based NLG (43)
    • 3.4 Phát triển các luồng tương tác và câu hỏi phổ biến (45)
      • 3.4.1 Thông tin về trường đại học (45)
      • 3.4.2 Yêu cầu tuyển sinh (45)
      • 3.4.3 Ngành học và chương trình đào tạo (45)
      • 3.4.4 Hỗ trợ sinh viên (45)
      • 3.4.5 Các câu hỏi thường gặp (46)
  • CHƯƠNG 4: THỰC NGHIỆM (47)
    • 4.1 Xây dựng dữ liệu (47)
      • 4.1.1 Xây dựng các Ý Định (47)
      • 4.1.2 Xây dựng các loại Entity và Slot (48)
      • 4.1.3 Xây dựng Câu trả lời cho Bot (50)
      • 4.1.5 Ứng dụng ngữ nghĩa (semantic) của ChatGPT để xử lý dữ liệu (51)
      • 4.1.6 Tool hỗ trợ chuyển đổi dữ liệu (55)
    • 4.2 Cải tiến nhận dạng ý định và tên riêng sử dụng PhoBERT (58)
    • 4.3 Kiến trúc hệ thống chatbot trong tư vấn tuyển sinh đại học (59)
      • 4.3.1 Cài đặt Rasa (60)
      • 4.3.2 Phân tích thiết kế hệ thống (61)
    • 4.4 Kết quả thực nghiệm (63)
      • 4.4.1 Môi trường thực nghiệm (63)
      • 4.4.2 Phương pháp đánh giá (64)
      • 4.4.3 Thực nghiệm (65)
    • 4.5 Đánh giá (70)
  • CHƯƠNG 5: KẾT LUẬN (72)
  • TÀI LIỆU THAM KHẢO (73)

Nội dung

Hiểu và nắm được một số kỹ thuật hay thuật toán cơ bản sử dụng trong chatbot để từ đó có thể điều chỉnh phù hợp với ngôn ngữ tiếng việt, giúp chatbot xử lý thông minh hơn.. Bằng cách xây

GIỚI THIỆU

Mở đầu

Công nghệ ngày càng phát triển, dẫn đến sự phổ biến của các ứng dụng chatbot trong lĩnh vực kinh doanh và tiêu dùng Chatbot, một hệ thống trí tuệ nhân tạo (AI), cho phép người dùng tương tác qua văn bản hoặc giọng nói, nhằm trả lời câu hỏi, hỗ trợ khách hàng và thực hiện các tác vụ tự động.

Hiện nay, nhiều nền tảng như Facebook, WeChat và WhatsApp đã triển khai chatbot, giúp doanh nghiệp tiếp cận đối tượng mục tiêu hiệu quả hơn Sự hỗ trợ đa dạng này khiến chatbot trở thành một nhu cầu thiết yếu trong kinh doanh ngày nay.

Thống kê thị trường, quy mô tăng trưởng

Hiện nay, người tiêu dùng yêu cầu hỗ trợ 24/7 trong nhiều lĩnh vực như tài chính ngân hàng và y tế Do đó, các công ty đang tích cực phát triển chatbot và trợ lý ảo để đáp ứng nhanh chóng các câu hỏi của người dùng bất kỳ lúc nào trong ngày.

Việc áp dụng chatbot trong doanh nghiệp mang lại lợi ích rõ rệt về việc giảm chi phí vận hành Khi doanh nghiệp phát triển, thị trường cho chatbot cũng ngày càng mở rộng Công nghệ phát triển không ngừng, cho phép chatbot được ứng dụng hiệu quả trong các lĩnh vực như tiếp thị, chăm sóc khách hàng và thanh toán.

Ngày càng nhiều công ty lớn như LinkedIn, Starbucks, British Airways và eBay đang tích cực triển khai chatbot trong hoạt động kinh doanh của họ Sự gia tăng này không chỉ thúc đẩy việc sử dụng chatbot mà còn tạo cơ hội cho nhiều công ty công nghệ khởi nghiệp ra đời trong các lĩnh vực khác nhau Các công ty khởi nghiệp như BotStar và Manychat đang nổi lên với tiềm năng cách mạng hóa ngành công nghiệp chatbot.

Theo Vantage Market Research, thị trường chatbot toàn cầu dự kiến sẽ đạt giá trị hàng chục tỷ USD trong thập kỷ tới, với tốc độ tăng trưởng kép hàng năm (CAGR) ước tính từ 20% đến 30% cho đến năm 2030.

Lý do chọn đề tài

Để đáp ứng nhu cầu thực tế trong việc quản lý hệ thống các kênh tư vấn như Fanpage, Website, Email, Zalo, cần huy động nhiều nhân lực vào thời điểm cao điểm để phục vụ thí sinh và phụ huynh Nghiên cứu cho thấy có một tỷ lệ đáng kể các cuộc hội thoại có nội dung tương tự nhau trong các buổi tư vấn này.

Việc sử dụng chatbot trong tư vấn tuyển sinh đại học mang lại nhiều lợi ích cho thí sinh và phụ huynh Chatbot có khả năng trả lời đồng loạt cho tất cả người dùng trong cùng một thời điểm, giúp tiết kiệm thời gian và nhân lực cho Nhà trường Đối với thí sinh và phụ huynh, việc chờ đợi phản hồi không còn là vấn đề, vì chatbot có thể cung cấp thông tin ngay lập tức Hệ thống này được lập trình để đảm bảo thông tin chính xác và nhất quán, giúp người dùng nhận được câu trả lời đúng cho các câu hỏi tuyển sinh Nhờ đó, chatbot không chỉ giảm khối lượng công việc cho cán bộ tư vấn mà còn giúp thí sinh và phụ huynh dễ dàng tiếp cận thông tin 24/7, giảm thời gian chờ đợi trong giờ cao điểm và nhận được gợi ý định hướng nghề nghiệp hữu ích.

Luận văn này tập trung nghiên cứu và xây dựng hệ thống chatbot phục vụ công tác tư vấn tuyển sinh đại học tại Trường Đại học Công nghệ - ĐHQGHN Nghiên cứu sẽ áp dụng các kỹ thuật xử lý ngôn ngữ tự nhiên, phân loại ý định, trích xuất thông tin và quản lý hội thoại để phát triển chatbot hỗ trợ người dùng Đồng thời, luận văn cũng khai thác các kỹ thuật học sâu trong học máy, nhằm tự động hóa quá trình trích xuất đặc trưng với độ tin cậy cao Mục tiêu cuối cùng là xây dựng một chatbot cung cấp thông tin tuyển sinh đại học chính xác và kịp thời cho phụ huynh và thí sinh.

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

• Xây dựng chatbot tư vấn tuyển sinh đại học, cụ thể tại Trường Đại học Công nghệ - ĐHQGHN

Ứng dụng kỹ thuật học sâu (Deep Learning) và xử lý ngôn ngữ tự nhiên (NLP) giúp nâng cao độ chính xác và khả năng hiểu ngữ cảnh của chatbot, từ đó cải thiện trải nghiệm người dùng và tương tác tự nhiên hơn.

1 Nghiên cứu các kỹ thuật cần thiết cho việc xây dựng chatbot, bao gồm: o Xử lý ngôn ngữ tự nhiên (NLP): Phân tích và hiểu câu hỏi của người dùng o Phân loại ý định (Intent Classification): Xác định mục đích chính của câu hỏi o Trích xuất thực thể (Entity Extraction): Trích xuất thông tin cần thiết từ câu hỏi (như tên ngành, kỳ thi, năm học…) o Quản lý hội thoại (Dialogue Management): Xử lý ngữ cảnh và quản lý luồng hội thoại

2 Sử dụng nền tảng RASA để phát triển chatbot

3 Tích hợp hệ thống NLP thông minh và các thuật toán học sâu để tối ưu hóa phản hồi

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

• Tìm hiểu các mô hình học sâu phổ biến trong NLP (như BERT, GPT, T5) và cách ứng dụng chúng vào việc xây dựng chatbot

• Phân tích nền tảng RASA: Cấu trúc, khả năng tùy chỉnh, và cách triển khai hệ thống chatbot

• Thu thập và xây dựng tập dữ liệu cho chatbot từ các nguồn tư vấn hiện tại

• Huấn luyện mô hình phân loại ý định và trích xuất thực thể

• Tích hợp quản lý hội thoại với các phản hồi động dựa trên ngữ cảnh

• Xây dựng giao diện tương tác chatbot (qua web, ứng dụng di động, hoặc các nền tảng như Zalo, Messenger).

Cấu trúc luận văn

Luận văn này nghiên cứu việc phát triển hệ thống chatbot nhằm hỗ trợ tư vấn tuyển sinh đại học Nội dung của luận văn được chia thành 5 chương, mỗi chương đều có cấu trúc rõ ràng và logic, giúp người đọc dễ dàng theo dõi và hiểu rõ hơn về các khía cạnh của hệ thống chatbot trong lĩnh vực tuyển sinh.

CHƯƠNG 1: Giới thiệu và đưa ra hướng nghiên cứu bài toán chatbot

CHƯƠNG 2: Tổng quan hệ thống chatbot: Giới thiệu, mô tả một số kỹ thuật sử dụng trong chatbot Trình bày một số kỹ thuật hay thuật toán cơ bản sử dụng trong chatbot để từ đó có thể áp dụng cho ngôn ngữ tiếng Việt

CHƯƠNG 3: Giới thiệu tổng quan về việc xây dựng hệ thống chatbot phục vụ công việc tư vấn tuyển sinh đại học gồm: thu thập và xử lý dữ liệu, xây dựng kiến trúc chatbot theo hướng mục tiêu, phát triển các luồng tương tác và câu hỏi phổ biến

CHƯƠNG 4: Xây dựng chatbot tư vấn người dùng trong tư vấn tuyển sinh : Xây dựng ứng dụng chatbot trên nền tảng Rasa và kết quả thực nghiệm

CHƯƠNG 5:Đưa ra những kết luận, đánh giá và định hướng nghiên cứu tiếp theo

CƠ SỞ LÝ THUYẾT

Khái niệm và đặc điểm của chatbot

Hình 2.1 Ảnh minh họa Chatbot [1]

Chatbot là hệ thống hội thoại giúp con người giao tiếp trực tiếp với máy tính bằng ngôn ngữ tự nhiên Được gọi là Artificial Conversational Entity, chatbot là thực thể ảo kết hợp AI, cho phép tương tác với con người thông qua ngôn ngữ tự nhiên Nó hoạt động như một thực thể nhân tạo, thực hiện các tác vụ được lập trình sẵn khi nhận yêu cầu bằng ngôn ngữ tự nhiên Chatbot được thiết kế để mô phỏng cuộc trò chuyện với con người, sử dụng văn bản và giao diện tương tác đơn giản, có thể bao gồm nhận dạng giọng nói, cử chỉ hoặc tính năng text-to-speech.

Chatbot là một hệ thống tự động trả lời tin nhắn nhanh chóng, giúp tương tác hiệu quả với người dùng Bằng cách áp dụng các mô hình học máy, chatbot có khả năng tự học và tự hiểu nhu cầu của khách hàng, từ đó đưa ra phản hồi phù hợp với từng câu hỏi.

Ngoài các trợ lý ảo nổi tiếng như Alexa, Siri và Cortana, còn có nhiều ứng dụng Chatbot nổi bật trên toàn cầu như Harafunnel, Messnow và ManyChat Những ứng dụng này cung cấp nhiều tiện ích hữu ích, hỗ trợ cho nhiều lĩnh vực khác nhau, từ thương mại điện tử đến ngành du lịch.

Mô hình Transformer

Năm 2017, nhóm nghiên cứu tại Google đã công bố bài báo “Attention Is All You Need”, giới thiệu mô hình Transformer, đánh dấu một bước ngoặt quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) Trước khi có Transformer, hầu hết các tác vụ NLP, bao gồm cả dịch máy, đều dựa vào kiến trúc mạng nơ ron hồi quy (RNNs).

RNNs xử lý câu đầu vào theo thứ tự, dẫn đến nhược điểm về tốc độ xử lý chậm và khả năng biểu diễn sự phụ thuộc xa giữa các từ trong câu bị hạn chế.

Khi Transformer ra đời, nó đã giải quyết hiệu quả các vấn đề mà mạng nơ ron hồi quy (RNNs) gặp phải Transformer trở thành nền tảng cho nhiều mô hình nổi tiếng như BERT (2019), được Google áp dụng cho công cụ tìm kiếm, và AlphaStar của DeepMind, chương trình có khả năng đánh bại những người chơi hàng đầu trong trò chơi Starcraft Bài viết này nêu rõ những cải tiến vượt trội mà Transformer mang lại so với các mô hình nơ ron nhân tạo trước đó.

Mạng nơ-ron hồi quy (RNN) là kiến trúc mạng nơ-ron truyền thống được sử dụng để mô hình hóa các bài toán có đầu vào dạng chuỗi, như chuỗi từ trong câu Tính chất "hồi quy" của mạng này xuất phát từ việc thực hiện cùng một tác vụ cho tất cả các phần tử trong chuỗi, với đầu ra tại mỗi phần tử phụ thuộc vào các phần tử trước đó RNNs được thiết kế để ghi nhớ thông tin từ các phần tử trước, giúp biểu diễn mối quan hệ phụ thuộc tuần tự trong chuỗi một cách hiệu quả.

Mạng RNNs đã được áp dụng hiệu quả trong nhiều bài toán xử lý ngôn ngữ tự nhiên nhờ vào đặc tính của chúng Một trong những ứng dụng tiêu biểu là mô hình sequence-to-sequence, được sử dụng để giải quyết các vấn đề như dịch máy, nhận dạng tiếng nói và tóm tắt văn bản.

Mô hình này tiếp nhận đầu vào là một chuỗi câu cần dịch, sau đó thực hiện mã hóa và giải mã để tạo ra câu dịch Cả quá trình mã hóa (encoder) và giải mã (decoder) trong mô hình đều sử dụng mạng RNNs.

Mặc dù RNNs đã được áp dụng rộng rãi, nhưng chúng vẫn gặp phải một số hạn chế, đặc biệt là khi xử lý các chuỗi dài do hiện tượng Gradient Vanishing Khi số lượng từ tăng lên, số bước trong quá trình tính toán cũng tăng, khiến gradient giảm dần ở các bước cuối, dẫn đến việc mất thông tin về sự phụ thuộc xa giữa các từ.

For example, in the sentence "I grew up in Germany with my parents, I spent many years and have proper knowledge about their culture, that’s why I speak fluent ," it's easy to infer the missing word is "German," as it directly relates to "grew up in Germany."

RNNs lại không thể đoán ra vì khoảng cách quá xa giữa từ cần đoán và thông tin này

Hình 2.2 Kiến trúc của Long Short Term Memory (LSTM)

Mô hình Long Short Term Memory (LSTM) đã được phát triển để khắc phục vấn đề Gradient Vanishing trong RNNs Mặc dù LSTM giúp cải thiện khả năng xử lý dữ liệu tuần tự, nhưng tốc độ huấn luyện của nó lại chậm hơn so với RNNs Bên cạnh đó, mô hình Transformer cũng đã ra đời như một giải pháp mới trong lĩnh vực này.

Transformer là mô hình học sâu chuyên dụng cho nhiều bài toán trong xử lý ngôn ngữ và tiếng nói, như dịch tự động, sinh ngôn ngữ, phân loại, và nhận dạng thực thể Khác với RNNs, Transformer xử lý các phần tử trong chuỗi không theo thứ tự, cho phép tận dụng khả năng tính toán song song của GPU và giảm thiểu thời gian xử lý.

Hình 2.3 Kiến trúc của mạng nơ ron Transformer

Transformer không áp dụng kiến trúc hồi quy như RNNs, mà thay vào đó sử dụng cơ chế tự chú ý (self-attention) Kiến trúc của Transformer bao gồm nhiều khối tính toán, mỗi khối được cấu thành từ hai lớp: self-attention và mạng truyền thẳng (FNN).

Tự chú ý là cơ chế cho phép Transformer xem xét các từ khác khi mã hóa một từ cụ thể, giúp mô hình hiểu được mối quan hệ giữa các từ trong câu, ngay cả khi chúng cách xa nhau.

Cơ chế tự chú ý có 4 bước chính:

Bước đầu tiên trong quá trình xử lý là tạo ra bộ ba vectơ từ các vectơ đầu vào Tại tầng đầu tiên, vectơ đầu vào chính là vector nhúng của từ (word embedding), từ đó mỗi từ sẽ được chuyển đổi thành 3 vectơ: Query, Key và Value Các vectơ này được hình thành thông qua phép nhân ma trận giữa vectơ đầu vào và 3 ma trận trọng số tương ứng với query, key, và value, được sử dụng trong quá trình huấn luyện Mỗi vectơ đóng vai trò khác nhau nhưng đều quan trọng trong cơ chế chú ý.

Bước 2 trong quá trình tính điểm từ vựng là xác định điểm số cho từng từ trong câu dựa trên các từ khác Giá trị điểm này sẽ giúp xác định mức độ quan trọng của từng từ khi tiến hành mã hóa Điểm được tính bằng tích vô hướng giữa vectơ Query của từ đang xem xét và các vectơ Key của các từ trong câu Chẳng hạn, khi tính điểm cho từ ở vị trí 1, điểm số của nó với chính nó sẽ là q1.k1, trong khi điểm số với từ thứ hai sẽ là q1.k2, và cứ tiếp tục như vậy.

• Bước 3 Chuẩn hóa điểm: Trong bài báo gốc, điểm được chia cho 8 (căn bậc

Số chiều của vectơ Key là 2 trong tổng số 64, điều này giúp ổn định độ dốc Giá trị này sau đó được truyền qua hàm softmax để đảm bảo rằng các giá trị điểm đều dương và tổng không vượt quá 1.

Mô hình BERT

BERT[10] là viết tắt của cụm từ Bidirectional Encoder Representation from

Transformer là mô hình biểu diễn hai chiều trong ứng dụng Transformer, với BERT được thiết kế để huấn luyện trước Điểm nổi bật của BERT là khả năng điều hòa cân bằng ngữ cảnh từ cả hai phía, trái và phải.

Trong mô hình BERT, quá trình nhúng từ được thực hiện thông qua hai phương pháp chính: nhúng từ vị trí (position embedding) và nhúng từ token (token embedding).

BERT áp dụng nhúng từ vị trí để thể hiện vị trí của từ trong câu, từ đó giúp mô hình nắm bắt ngữ cảnh của các từ một cách hiệu quả.

Trong việc nhúng từ vị trí trong câu, một ma trận nhúng có kích thước cố định được sử dụng, với mỗi hàng của ma trận tương ứng với một vị trí cụ thể trong câu.

Nhúng từ token (Token Embedding): Đây là phần quan trọng nhất trong BERT

Mỗi từ trong câu được biểu diễn bằng một vectơ nhúng có số chiều cố định Trong

BERT sử dụng các từ được mã hóa thành vectơ với kích thước 768 chiều cho phiên bản BERT-base và 1024 chiều cho BERT-large Những vectơ nhúng này được phát triển từ một lượng lớn dữ liệu văn bản thông qua quá trình huấn luyện mô hình BERT.

BERT kết hợp nhúng từ vị trí và nhúng từ token, giúp mô hình hiểu ngữ cảnh và ý nghĩa của từng từ trong câu một cách toàn diện hơn Điều này là nền tảng cho khả năng hiểu và sản sinh ngôn ngữ tự nhiên của BERT.

Mô hình BERT (Bidirectional Encoder Representations from Transformers) là một trong những mô hình huấn luyện trước rất có ảnh hưởng được phát triển bởi Google

BERT được đào tạo trên một khối lượng lớn dữ liệu văn bản không cấu trúc, bao gồm không chỉ tiếng Anh mà còn nhiều ngôn ngữ khác, giúp mở rộng khả năng ứng dụng của mô hình này.

BERT được huấn luyện theo tiếp cận học có giám sát, bao gồm điền từ trống

Masked language models utilize next sentence prediction by training on data where certain words or sequences of words are obscured, prompting the machine to predict the missing elements.

BERT nổi bật với khả năng "bidirectional", cho phép mô hình hiểu văn bản dựa trên ngữ cảnh trước và sau của từ hoặc cụm từ Điều này nâng cao hiệu suất của BERT trong nhiều tác vụ NLP như phân loại văn bản, dịch máy và nhận dạng thực thể Khả năng này được thực hiện thông qua cơ chế tự chú ý của Transformer.

2.3.1 Huấnluyện tinh chỉnh (fine-tuning) mô hình BERT

BERT có một điểm nổi bật so với các mô hình trước đây, đó là khả năng tinh chỉnh kết quả huấn luyện để giải quyết các bài toán cụ thể trong xử lý ngôn ngữ tự nhiên (NLP) Để thực hiện điều này, chúng ta sẽ bổ sung một lớp đầu ra vào kiến trúc của mô hình, giúp tùy biến theo từng bài toán cần giải quyết.

Hình 2.4 Toàn bộ tiến trình huấn luyện trước và tinh chỉnh của BERT [10]

Mô hình tinh chỉnh sử dụng cùng kiến trúc với mô hình đã được huấn luyện trước, khởi tạo với bộ tham số đã học, tạo điều kiện cho quá trình học chuyển giao Trong quá trình tinh chỉnh, các tham số của mô hình sẽ được điều chỉnh để phù hợp hơn với nhiệm vụ cụ thể Đối với các tác vụ yêu cầu đầu vào là cặp nối tiếp, như câu hỏi và câu trả lời, cần thêm mã khởi tạo [CLS] ở đầu câu và mã [SEP] ở giữa để phân tách hai câu Tiến trình tinh chỉnh sẽ diễn ra theo các bước đã định.

Bước đầu tiên trong quá trình xử lý văn bản là nhúng toàn bộ mã của cặp câu bằng các véc tơ từ mô hình huấn luyện trước Các mã nhúng này bao gồm mã [CLS] để đánh dấu vị trí bắt đầu của câu hỏi và mã [SEP] để phân tách giữa hai câu Hai mã này sẽ được dự đoán ở đầu ra nhằm xác định các phần Bắt đầu và Kết thúc của câu đầu ra.

Các véc tơ nhúng sẽ được đưa vào mô hình Transformer, thường bao gồm 6, 12 hoặc 24 khối tùy thuộc vào kiến trúc BERT, từ đó tạo ra một véc tơ đầu ra tại bộ mã hóa.

Để dự báo phân phối xác suất cho từng vị trí từ trong bộ giải mã, ở mỗi bước thời gian, cần truyền vào véc tơ đầu ra của bộ giải mã và véc tơ nhúng đầu vào Sau đó, sử dụng lớp tuyến tính và hàm softmax để tính toán và thu được phân phối xác suất cho đầu ra tương ứng tại bước thời gian đó.

Bước 4: Trong quá trình xử lý của Transformer, chúng ta sẽ cố định kết quả của câu hỏi để nó khớp với câu hỏi ở đầu vào Các vị trí còn lại sẽ được sử dụng để mở rộng khoảng Bắt đầu và Kết thúc, tương ứng với câu trả lời được tìm thấy từ câu đầu vào.

Mô hình PhoBERT

Mô hình huấn luyện trước PhoBERT là mô hình ngôn ngữ hiện đại nhất dành cho Tiếng Việt ( Pho , tức “Phở”, là một món ăn phổ biến ở Việt Nam):

Hình 2.7 Minh họa về PhoBERT[12]

PhoBERT là mô hình huấn luyện trước, chuyển đổi văn bản tiếng Việt thành không gian nhúng chung, dựa trên kiến trúc RoBERT cải tiến từ BERT Mô hình này được huấn luyện trên khoảng 20 GB dữ liệu, bao gồm 1 GB từ kho ngữ liệu Vietnamese Wikipedia và 19 GB từ kho ngữ liệu tin tức Việt Nam PhoBERT có hai phiên bản: PhoBERT-Base với 12 lớp và PhoBERT-Large với 24 lớp.

PhoBERT vượt trội hơn các phương pháp đơn ngữ và đa ngôn ngữ trước đây, đạt kết quả xuất sắc trong nhiều tác vụ NLP cho tiếng Việt, bao gồm phân tích cú pháp phụ thuộc, nhận dạng thực thể có tên và suy luận ngôn ngữ tự nhiên Với khả năng linh hoạt, PhoBERT có thể được ứng dụng trong nhiều nhiệm vụ khác nhau.

✓ Tìm từ đồng nghĩa, trái nghĩa, cùng nhóm dựa trên khoảng cách của từ trong không gian biểu diễn đa chiều

✓ Xây dựng các véc tơ cho các tác vụ NLP như phân tích cảm xúc, phân loại văn bản, NER, POS, huấn luyện chatbot

✓ Gợi ý từ khóa tìm kiếm trong các hệ thống tìm kiếm

✓ Xây dựng các ứng dụng seq2seq như robot viết báo, tóm tắt văn bản, sinh câu ngẫu nhiên với ý nghĩa tương đồng.

Tổng quan về Rasa

Rasa là thư viện mã nguồn mở chuyên về hiểu ngôn ngữ tự nhiên, hỗ trợ phân loại ý định, tạo và truy xuất phản hồi, cũng như trích xuất thực thể trong thiết kế chatbot Thành phần NLU của Rasa đã được hợp nhất với Rasa Core, tạo thành một khuôn khổ toàn diện cho việc phát triển các cuộc hội thoại.

Để bắt đầu quy trình xây dựng chatbot bằng Rasa, trước hết chúng ta cần hiểu Rasa là gì và những ưu điểm nổi bật của nó, từ đó giúp chúng ta lựa chọn Rasa cho việc phát triển chatbot hiệu quả.

2.5.1 Các thành phần trong Rasa

Hình 2.8 Các thành phần chính trong Rasa [11]

1 Rasa NLU: Rasa NLU (Natural Language Understanding) là thành phần của Rasa dùng để hiểu và phân tích các câu truy vấn từ người dùng Nó xử lý việc trích xuất ý định (intent) và các thực thể (entities) từ văn bản đầu vào.

2 Rasa Core: Rasa Core là thành phần quản lý trạng thái và điều hướng hội thoại

Nó cho phép bạn tạo ra mô hình hội thoại và xác định hành động tiếp theo của chatbot dựa trên trạng thái hiện tại cũng như thông tin từ người dùng.

3 Rasa SDK: Rasa SDK cung cấp một bộ công cụ để phát triển các hành động tương tác với người dùng Bạn có thể sử dụng Rasa SDK để triển khai các hành động tùy chỉnh và tích hợp các dịch vụ bên ngoài vào chatbot

4 Rasa Action Server: Rasa Action Server là một thành phần được sử dụng để triển khai hành động của chatbot Nó cho phép bạn triển khai và chạy các hành động tương tác với người dùng và các dịch vụ bên ngoài

5 Rasa X: Rasa X là một giao diện người dùng dựa trên web giúp bạn xây dựng, huấn luyện và kiểm thử chatbot Nó cung cấp các công cụ để thu thập phản hồi từ người dùng và cải thiện hiệu suất của chatbot theo thời gian

Rasa không chỉ bao gồm các thành phần chính mà còn có các thành phần phụ như Tracker, Domain và các công cụ dòng lệnh để hỗ trợ xử lý dữ liệu huấn luyện, kiểm thử và triển khai chatbot.

Hiện nay khung Rasa được phát triển tốt và có một số điểm mạnh sau:

Rasa là một dự án mã nguồn mở, mang lại cho người dùng khả năng tùy chỉnh và mở rộng các thành phần của chatbot theo nhu cầu riêng Với Rasa, bạn hoàn toàn kiểm soát mã nguồn mà không bị ràng buộc bởi các giới hạn của nền tảng độc quyền.

Rasa cung cấp một hệ thống xử lý ngôn ngữ tự nhiên (NLU) mạnh mẽ, giúp hiểu và phân tích ý định của người dùng từ các câu hỏi hoặc khẳng định Hệ thống cho phép bạn xác định các Intent, Entities và Slots, từ đó xử lý thông tin từ người dùng một cách linh hoạt và hiệu quả.

Rasa cho phép bạn tạo ra quy tắc và hành động linh hoạt để điều chỉnh hành vi của chatbot Bạn có thể xác định các luật và hành động tùy chỉnh phù hợp với kịch bản tương tác mà bạn mong muốn.

✓ Hỗ trợ đa kênh: Rasa cho phép bạn phát triển chatbot cho nhiều kênh khác nhau, bao gồm ứng dụng di động, trang web, Facebook Messenger và nhiều hơn

26 nữa Điều này giúp bạn tiếp cận và tương tác với người dùng trên nhiều nền tảng khác nhau một cách thuận tiện

Học tăng cường (Reinforcement Learning) là một tính năng mà Rasa cung cấp cho chatbot, giúp cải thiện khả năng tương tác dựa trên kinh nghiệm thực tế với người dùng Bằng cách áp dụng các thuật toán học tăng cường, bạn có thể tối ưu hóa hành vi của chatbot theo thời gian, nâng cao hiệu quả giao tiếp và trải nghiệm người dùng.

Hình 2.9 Kiến trúc của Rasa [11]

Trong kiến trúc trên, Rasa framework có bốn thành phần quan trong là: Trình thông dịch (Interpretter), Trình theo dõi (Tracer), Chính sách (Policy), Hành động (Action)

✓ Interpreter (Trình thông dịch): Interpreter là thành phần trong Rasa framework được sử dụng để hiểu và phân tích câu truy vấn từ người dùng

Nó xử lý việc trích xuất ý định (intent) và các thực thể (entities) từ văn bản đầu vào

Tracker là thành phần quan trọng lưu trữ thông tin về trạng thái hiện tại của hội thoại, ghi lại lịch sử, ý định và thực thể đã nhận dạng Nó đóng vai trò thiết yếu trong việc cung cấp dữ liệu cho các chính sách nhằm đưa ra quyết định về hành động tiếp theo.

Chính sách trong chatbot xác định quy tắc và chiến lược để quyết định hành động tiếp theo dựa trên trạng thái hiện tại và thông tin từ người dùng Rasa framework cung cấp nhiều loại chính sách khác nhau, bao gồm chính sách luật (rule-based policy), chính sách hàng xóm gần nhất (nearest-neighbor policy) và chính sách học tăng cường (reinforcement learning policy).

Hành động trong Rasa là các tương tác giữa người dùng và hệ thống, có thể là hành động tự động được định nghĩa trong framework hoặc hành động tùy chỉnh thông qua Rasa SDK Việc chọn lựa hành động được thực hiện dựa trên quyết định của các policies.

XÂY DỰNG HỆ THỐNG CHATBOT

Thu thập và xử lý dữ liệu

3.1.1 Xác định nguồn dữ liệu:

Để cung cấp thông tin cho chatbot tư vấn tuyển sinh đại học, cần xác định nguồn dữ liệu phù hợp như tài liệu hướng dẫn, cơ sở dữ liệu tri thức, câu trả lời từ chuyên gia, và dữ liệu từ các nguồn bên ngoài như trang web, tạp chí Các nguồn cụ thể có thể bao gồm trang web của các trường đại học, báo cáo tuyển sinh, nguồn dữ liệu chính phủ, hỏi đáp với chuyên gia, thông tin từ sinh viên hiện tại, cùng với các diễn đàn và nhóm trực tuyến.

Để thu thập dữ liệu cho chatbot tư vấn tuyển sinh đại học, có thể sử dụng các phương pháp như crawl trang web, đọc tài liệu và thực hiện cuộc trò chuyện với chuyên gia trong lĩnh vực giáo dục Những phương pháp này giúp thu thập thông tin liên quan và cập nhật, đảm bảo chatbot hoạt động hiệu quả và chính xác trong việc cung cấp thông tin cho người dùng.

Trang web đại học là nguồn thông tin quan trọng, giúp người dùng thu thập dữ liệu từ các trang web chính thức của các trường đại học Tại đây, bạn có thể tìm hiểu về các ngành học, chương trình đào tạo, tiêu chí tuyển sinh, hồ sơ đăng ký và nhiều thông tin khác liên quan đến quy trình tuyển sinh đại học.

Báo cáo tuyển sinh cung cấp cái nhìn tổng quan về quy trình tuyển sinh của các trường đại học, bao gồm số lượng thí sinh, điểm chuẩn và xu hướng tuyển sinh Những thông tin này thường được thu thập từ các tổ chức giáo dục và bộ giáo dục, đồng thời phản ánh những thay đổi mới nhất trong quy định tuyển sinh.

Để tìm hiểu về quy trình tuyển sinh, hãy thu thập các tài liệu hướng dẫn, brochure và tài liệu tuyển sinh từ các trường đại học Những tài liệu này cung cấp thông tin chính thức và chi tiết về các khoa ngành, điểm chuẩn, chương trình học và cơ hội nghiên cứu.

Phỏng vấn các chuyên gia trong lĩnh vực tuyển sinh đại học, như nhân viên tư vấn tuyển sinh của các trường hoặc chuyên gia tư vấn giáo dục, là một cách hiệu quả để thu thập thông tin chi tiết và nhận được những lời khuyên hữu ích về các vấn đề liên quan đến tuyển sinh.

Tham gia các diễn đàn và nhóm trực tuyến về tuyển sinh đại học là một cách hiệu quả để thu thập thông tin Bạn có thể theo dõi các cuộc trò chuyện và đặt câu hỏi cho các thành viên khác, từ đó tìm hiểu kinh nghiệm và ý kiến cá nhân liên quan đến quy trình tuyển sinh Việc này không chỉ giúp bạn có cái nhìn tổng quan mà còn cung cấp những thông tin quý giá từ những người đã trải qua quá trình này.

Tìm hiểu thông tin từ sinh viên hiện tại là một cách hiệu quả để nắm bắt kinh nghiệm thực tế về quá trình tuyển sinh, học phí, và cuộc sống sinh viên tại các trường đại học Những sinh viên đang theo học có thể chia sẻ những trải nghiệm cá nhân quý giá, giúp bạn có cái nhìn rõ hơn về môi trường học tập và các vấn đề liên quan khác.

Nghiên cứu các báo cáo và thống kê từ bộ giáo dục, tổ chức tuyển sinh, và các trường đại học là rất quan trọng Những thông tin này cung cấp dữ liệu về xu hướng tuyển sinh, học phí, và các yếu tố khác liên quan đến quy trình tuyển sinh đại học.

3.1.3 Tiền xử lý dữ liệu :

Dữ liệu thu thập thường cần được tiền xử lý để đảm bảo tính sạch sẽ và đồng nhất Quá trình này bao gồm việc loại bỏ dữ liệu không hợp lệ, xóa ký tự đặc biệt, chuẩn hóa định dạng văn bản và tách từ để tối ưu hóa chất lượng dữ liệu.

Tiền xử lý dữ liệu là bước quan trọng để chuẩn bị thông tin cho chatbot, đảm bảo rằng dữ liệu được sử dụng là hợp lệ, dễ đọc và dễ hiểu Đối với chatbot tư vấn tuyển sinh đại học, các bước tiền xử lý dữ liệu cần thực hiện bao gồm: làm sạch dữ liệu, chuẩn hóa định dạng, và loại bỏ thông tin không cần thiết.

Làm sạch dữ liệu là quá trình loại bỏ các thông tin không hợp lệ, thiếu sót hoặc không cần thiết từ nguồn dữ liệu Việc này bao gồm việc loại bỏ ký tự đặc biệt, dấu câu thừa, dữ liệu trùng lặp và thông tin không chính xác để đảm bảo tính chính xác và độ tin cậy của dữ liệu.

Chuẩn hóa văn bản là quá trình quan trọng nhằm đảm bảo tính thống nhất và đồng nhất trong dữ liệu Các bước thực hiện bao gồm chuyển đổi văn bản thành chữ thường, loại bỏ dấu câu và xử lý từ viết tắt, giúp cải thiện chất lượng và khả năng truy xuất thông tin.

Loại bỏ stop words là quá trình loại bỏ các từ phổ biến, không mang nhiều ý nghĩa trong văn bản, như "và", "là", "của" Việc này giúp làm sạch nội dung và tăng cường hiệu quả tìm kiếm.

"với", v.v Loại bỏ stop words giúp giảm kích thước dữ liệu và tăng tốc độ xử lý

Tokenization là quá trình phân tách văn bản thành các đơn vị nhỏ hơn gọi là token, bao gồm từ, cụm từ hoặc câu Quá trình này giúp dễ dàng xử lý và hiểu các thành phần trong văn bản.

Kiến trúc cơ bản hệ thống Chatbot theo hướng mục tiêu

Kiến trúc cơ bản của một hệ thống chatbot giao tiếp tự động bao gồm các thành phần như sau:

Hình 3.1 Các thành phần cơ bản của Chatbot [1]

Cơ cấu cơ bản của một Chatbot sử dụng NLP và công nghệ học máy cho phép Chatbot phân tích và hiểu ý định người dùng khi nhận tin nhắn trên nền tảng như Facebook Messenger Sau khi xác định được ý định, Chatbot sẽ phân loại thông tin và truy xuất các câu trả lời chính xác từ cơ sở dữ liệu để phản hồi người dùng Bên cạnh khả năng phân tích, Chatbot còn có khả năng tự nhận dạng nhanh chóng các tin nhắn và học hỏi thông qua các thuật toán mà nhà phát triển áp dụng, cùng với quá trình huấn luyện liên tục trong tương lai.

Chatbot bao gồm ba thành phần chính: hiểu ngôn ngữ tự nhiên (NLU), quản lý hội thoại (DM) và sinh ngôn ngữ (NLG) Mỗi thành phần này đảm nhận một vai trò quan trọng trong việc tối ưu hóa khả năng tương tác và giao tiếp của chatbot.

✓ NLU: bao gồm việc xử lý ngôn ngữ tự nhiên có nhiệm vụ xác định được ý định câu hỏi và trích chọn thông tin

DM là thành phần quản lý hội thoại, có nhiệm vụ xác định hành động tiếp theo dựa trên trạng thái hành động trước và ngữ cảnh hội thoại Các ngữ cảnh này được đối chiếu với kịch bản đã được huấn luyện cho bot Đồng thời, DM cũng thực hiện việc lấy dữ liệu từ hệ thống khác thông qua các API trong hành động.

NLG (Natural Language Generation) là một công nghệ sinh ngôn ngữ dựa trên các chính sách và hành động được xác định trong Decision Making (DM) thông qua các tập hội thoại Công nghệ này cho phép tạo ra câu trả lời tự động dựa vào các mẫu câu đã được huấn luyện cho bot, giúp nâng cao khả năng tương tác và phản hồi của hệ thống.

3.2.1 Hiểu ngôn ngữ tự nhiên

Các bot xử lý ngôn ngữ tự nhiên được phát triển nhằm chuyển đổi văn bản hoặc lời nói của người dùng thành dữ liệu có cấu trúc, từ đó sử dụng dữ liệu này để chọn ra câu trả lời phù hợp và liên quan.

Xử lý ngôn ngữtự nhiên baogồm các bướcdướiđây:

✓ Mã thông báo: bộ lọc NLP tập hợp các từ ở dạng mã thông báo

✓ Phân tích cảm xúc: Bot diễn giải phản ứng của người dùng để phù hợp với cảm xúc của họ

✓ Chuẩn hóa: Nó kiểm tra các lỗi đánh máy có thể làm thay đổi ý nghĩa trong yêu cầu của người dùng

✓ Nhận dạng thực thể: Bot tìm kiếm các loại thông tin cần thiết khác nhau

✓ Phân tích cú pháp phụ thuộc: Chatbot tìm kiếm các cụm từ phổ biến mà những gì người dùng muốn truyềntải.

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

Người dùng thường truy cập hệ thống chatbot với mong muốn nhận được sự trợ giúp về một vấn đề cụ thể, và để hỗ trợ chính xác, chatbot cần xác định đúng ý định của người dùng Việc xác định sai ý định có thể dẫn đến phản hồi không đúng ngữ cảnh, gây chán ghét cho người dùng và khiến họ không quay lại sử dụng hệ thống Do đó, việc xác định ý định người dùng là rất quan trọng trong hệ thống chatbot Trong miền ứng dụng đóng, số lượng ý định của người dùng có thể được giới hạn trong một tập hợp các ý định đã được định nghĩa sẵn, liên quan đến nghiệp vụ mà chatbot hỗ trợ Với giới hạn này, bài toán xác định ý định người dùng có thể được coi là bài toán phân lớp văn bản, trong đó hệ thống sẽ xác định ý định tương ứng với câu giao tiếp của người dùng từ tập các ý định đã định nghĩa Để xây dựng mô hình phân lớp ý định, cần có một tập dữ liệu huấn luyện với các cách diễn đạt khác nhau cho mỗi ý định.

Tư vấn về ngành Điện tử - viễn thông?

Cơ hội nghề nghiệp các ngành

Tưvấncho tôi về khoa Công nghệ nông nghiệp

Tôi được 25 điểm có thể đỗ ngành nào

Việc tạo dữ liệu huấn luyện cho bài toán phân lớp ý định là một trong những nhiệm vụ quan trọng nhất trong quá trình phát triển hệ thống chatbot, ảnh hưởng mạnh mẽ đến chất lượng sản phẩm cuối cùng Quy trình này đòi hỏi sự đầu tư thời gian và công sức đáng kể từ phía nhà phát triển chatbot.

Mô hình học máy cho bài toán phân lớp ý địnhngười dùng:

Khi có dữ liệu huấn luyện cho bài toán phân lớp ý định, chúng ta có thể chuyển đổi bài toán này thành bài toán phân lớp văn bản Phân lớp văn bản là một trong những bài toán kinh điển trong lĩnh vực NLP và khai phá văn bản Mô hình phân lớp văn bản cho bài toán phân lớp ý định được định nghĩa một cách chính xác và có hệ thống.

Chúng ta được cung cấp một tập huấn luyện gồm các cặp (câu hội thoại, ý định) 𝐷 = {(𝑥₁, 𝑦₁), … , (𝑥ₙ, 𝑦ₙ)}, trong đó 𝑥ᵢ là các câu hội thoại và 𝑦ᵢ là các ý định tương ứng Các ý định 𝑦ᵢ nằm trong một tập hữu hạn Κ đã được định nghĩa trước Nhiệm vụ của chúng ta là phát triển một mô hình phân lớp có khả năng phân loại một câu hội thoại mới vào một trong các ý định thuộc tập K Kiến trúc của hệ thống phân lớp ý định được thể hiện rõ trong hình minh họa.

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

Hệ thống phân lớp ý định có một số thành phần cơ bản:

✓ Tiền xử lý dữ liệu

Trong quá trình tiền xử lý dữ liệu, chúng ta tiến hành "làm sạch" dữ liệu bằng cách loại bỏ thông tin dư thừa và chuẩn hóa dữ liệu, bao gồm việc sửa lỗi chính tả và chuẩn hóa các từ viết tắt Tiền xử lý dữ liệu đóng vai trò quan trọng trong hệ thống chatbot, đặc biệt do đặc thù của ngôn ngữ chat với nhiều từ viết tắt, lỗi chính tả và từ lóng.

Sau khi hoàn tất quá trình tiền xử lý và làm sạch dữ liệu, bước tiếp theo là trích xuất các đặc trưng từ dữ liệu này Trong lĩnh vực học máy, giai đoạn này được biết đến với tên gọi là trích xuất đặc trưng Đối với các mô hình học máy truyền thống, đây là một bước quan trọng trước khi áp dụng các phương pháp học sâu.

Bước trích xuất đặc trưng đóng vai trò quan trọng trong việc nâng cao độ chính xác của mô hình phân lớp Để đạt được những đặc trưng chất lượng, cần phải phân tích dữ liệu một cách tỉ mỉ và kết hợp với kiến thức chuyên môn trong từng lĩnh vực ứng dụng cụ thể.

Bước huấn luyện mô hình bắt đầu với việc sử dụng các đặc trưng đã được trích xuất, kết hợp với các thuật toán học máy để phát triển một mô hình phân lớp Các mô hình này có thể được biểu diễn dưới dạng luật phân lớp, như trong cây quyết định, hoặc là các véc tơ trọng số tương ứng với các đặc trưng, như trong logistic regression, SVM, hoặc mạng nơron.

Sau khi xây dựng mô hình phân lớp ý định, chúng ta có thể áp dụng nó để phân loại câu hội thoại mới Câu hội thoại này trải qua các bước tiền xử lý và trích xuất đặc trưng, sau đó mô hình sẽ đánh giá “điểm số” cho từng ý định trong tập hợp các ý định và xác định ý định có điểm số cao nhất.

Để tối ưu hóa việc xác định ý định trong câu hội thoại của người dùng, việc trích xuất thông tin cần thiết là rất quan trọng Các thông tin này thường liên quan đến các thực thể cụ thể Chẳng hạn, khi một thí sinh tìm kiếm tư vấn về phương thức tuyển sinh ngành Công nghệ thông tin tại Trường ĐH Công nghệ, hệ thống cần nhận diện thông tin về thí sinh cũng như ngành học mà họ quan tâm Thành phần NLU trong các hệ thống chatbot thường hỗ trợ nhận diện nhiều loại thực thể khác nhau.

✓ Phương thức tuyển sinh (Method)

Bảng 3.1 Bảng trích xuất thực thể trong một câu

Tôi muốn tìm hiểu các phương thức tuyển sinh vào ngành công nghệ thông tin năm 2024 o o o o o P-

Phát triển các luồng tương tác và câu hỏi phổ biến

Trong kiến trúc chatbot Rasa, các luồng tương tác và câu hỏi phổ biến được phân bố vào nhiều thành phần khác nhau, dựa trên vai trò và chức năng của chúng trong quá trình hội thoại.

3.4.1 Thông tin về trường đại học

✓ Cung cấp thông tin chung về trường, bao gồm vị trí, lịch sử, danh tiếng, chất lượng đào tạo, cơ sở vật chất, v.v

✓ Giới thiệu các khoa, viện, và ngành học mà trường đại học đang cung cấp

✓ Đưa ra thông tin về các chương trình học đặc biệt, chương trình hợp tác quốc tế, hoặc các hoạt động ngoại khóa của trường

✓ Giải thích các yêu cầu tuyển sinh chung như điểm số tốt nghiệp THPT, điểm thi đại học, nguyện vọng xếp hạng, v.v

✓ Cung cấp thông tin về yêu cầu đặc biệt cho từng ngành học như môn thi đặc thù, điểm chuẩn, yêu cầu về hồ sơ, v.v

✓ Đưa ra thông tin về các kỳ thi tuyển sinh đặc biệt như kỳ thi trực tuyến, phỏng vấn, hay bài thi mẫu

3.4.3 Ngành học và chương trình đào tạo

✓ Cung cấp thông tin chi tiết về các ngành học và chương trình đào tạo có sẵn tại trường đại học

✓ Đưa ra mô tả về nội dung, chương trình học, mục tiêu, và cơ hội nghề nghiệp của từng ngành học

✓ Giới thiệu các chương trình đào tạo đặc biệt như chương trình liên kết, chương trình kép, hoặc chương trình đào tạo quốc tế

✓ Cung cấp thông tin về dịch vụ hỗ trợ sinh viên như tư vấn hướng nghiệp, tư vấn học phí, tư vấn học tập, v.v

✓ Đưa ra thông tin về chính sách hỗ trợ tài chính, học bổng, hay công việc thêm giờ dành cho sinh viên.

✓ Giới thiệu các hoạt động ngoại khóa, câu lạc bộ, ký túc xá, nhà trọ và các

44 dịch vụ sinh hoạt sinh viên

3.4.5 Các câu hỏi thường gặp

✓ Tạo danh sách các câu hỏi thường gặp về tuyển sinh đại học và trả lời chi tiết cho mỗi câu hỏi

✓ Câu hỏi về học phí, tiến độ học tập, khả năng việc làm sau tốt nghiệp, v.v.

✓ Đưa ra các câu trả lời cho các câu hỏi về quy trình tuyển sinh, thời gian, hồ sơ đăng ký, phí tuyển sinh, v.v.

THỰC NGHIỆM

Xây dựng dữ liệu

Dữ liệu trong luận văn được thu thập từ các câu hỏi thường gặp trên các trang Fanpage và Website tư vấn tuyển sinh của Trường ĐH Công nghệ.

Fanpage Tuyển sinh đại học Công nghệ ĐHQGHN thu hút 30.000 lượt thích và 33.000 lượt theo dõi, với trung bình khoảng 7.000 cuộc trò chuyện và 370.000 tương tác mỗi năm, cho thấy sự quan tâm lớn từ cộng đồng.

Quá trình xây dựng dữ liệu cho chatbot bao gồm việc xác định các ý định của người dùng, trích xuất các thực thể từ những ý định đó, tạo ra các kịch bản phù hợp và phát triển các câu trả lời cho bot.

NLP được phát triển nhằm xác định mục đích và ý định của người dùng trong tin nhắn, đồng thời trích xuất các thực thể có trong đó Hiện tại, bot đã tạo ra 220 intent mà người dùng thường hỏi.

4.1.2 Xây dựng cácloại Entity và Slot

Trong lĩnh vực chatbot tư vấn tuyển sinh, việc xác định Entity (thực thể) và Slot (bộ nhớ) là rất quan trọng để chatbot có khả năng hiểu và lưu trữ thông tin chính xác từ người dùng Các Entity giúp chatbot nhận diện thông tin cụ thể từ câu hỏi, trong khi Slot cho phép lưu trữ những thông tin này để phản hồi hoặc xử lý sau.

Các Entity phổ biếnví dụ:

• Trường đại học (university): Tên trường hoặc các đơn vị trực thuộc o Ví dụ: "Đại học Công nghệ", "Khoa Công nghệ thông tin"

• Ngành học (major): Các ngành học mà thí sinh quan tâm o Ví dụ: "Công nghệ thông tin", "Kỹ thuật máy tính"

• Điểm chuẩn (score): Điểm xét tuyển hoặc điểm chuẩn o Ví dụ: "25 điểm", "1520 điểm".

• Phương thức tuyển sinh (admission_method): Các phương thức xét tuyển. o Ví dụ: "Xét học bạ", "Thi đánh giá năng lực"

• Khu vực (region): Địa điểm hoặc khu vực của trường o Ví dụ: "Hà Nội", "Xuân Thủy"

• Ngày tháng (date): Thời gian quan trọng trong quá trình tuyển sinh o Ví dụ: "ngày 15 tháng 7", "tháng 6/2024"

• Câu hỏi liên quan (question_topic): Loại thông tin người dùng quan tâm o Ví dụ: "Học phí", "Hạn nộp hồ sơ"

• university: Lưu trữ tên trường đại học mà người dùng đề cập

• major: Lưu trữ ngành học mà người dùng muốn tìm hiểu.

• score: Lưu điểm mà thí sinh đạt được hoặc muốn hỏi.

• admission_method: Lưu phương thức tuyển sinh mà người dùng quan tâm

• region: Lưu thông tin về khu vực hoặc địa điểm

• date: Lưu ngày tháng liên quan đến thời hạn hoặc lịch trình

• question_topic: Lưu loại câu hỏi để bot chọn cách trả lời phù hợp

Bảng 4.1 Bảng thống kê số lượng ý định theo luồng tương tác

Các luổng tương tác Số lượng

Thông tin về trường đại học 20

Ngành học và chương trình đào tạo 55

Các câu hỏi thường gặp 60

4.1.3 Xây dựng Câu trả lời cho Bot

Sau khi chatbot nắm bắt được nhu cầu của người dùng, bước tiếp theo là cung cấp câu trả lời phù hợp Dưới đây là một số mẫu câu trả lời cho chatbot Bot có thể đưa ra một hoặc nhiều câu trả lời, và trong trường hợp có nhiều lựa chọn, nó sẽ sử dụng phương pháp ngẫu nhiên để chọn ra câu trả lời, từ đó tạo ra sự tự nhiên trong cuộc hội thoại.

4.1.4 Xây dựng Khung kịchbản và Quy tắc

Stories là cách thể hiện cuộc trò chuyện giữa người dùng và bot, trong đó thông tin người dùng được chuyển đổi thành ý định và thực thể nếu cần Phản hồi và hành động của bot được thể hiện qua tên hành động Dưới đây là một ví dụ về Story.

Các quy tắc là những hướng dẫn giúp định hình cuộc hội thoại của người dùng, nhưng chúng chỉ hiệu quả với các mẫu hội thoại cụ thể Khác với Stories, quy tắc không thể tổng quát hóa các hướng đi tiềm ẩn trong cuộc trò chuyện Để tạo ra một bot mạnh mẽ, cần kết hợp quy tắc với câu chuyện, nhằm cải thiện khả năng xử lý hành vi thực tế của người dùng.

4.1.5 Ứngdụng ngữ nghĩa (semantic) của ChatGPT để xử lý dữ liệu

Dữ liệu từ Fanpage Tuyển sinh đại học Công nghệ ĐHQGHN hàng năm ghi nhận trung bình khoảng 7.000 cuộc trò chuyện và 370.000 tương tác, tạo thành một kho dữ liệu khổng lồ có thể được chuyển đổi để phát triển chatbot.

Dữ liệu từ Messenger rất phong phú với nhiều đoạn chat và câu hỏi trùng lặp, vì vậy cần lọc bỏ các câu này để giảm kích thước dữ liệu cho phân loại Giải pháp là sử dụng ngữ nghĩa trong ChatGPT để xử lý dữ liệu chat trùng lặp từ Fanpage Tư vấn tuyển sinh và cung cấp dữ liệu chọn lọc cho chatbot Các bước thực hiện sẽ được trình bày chi tiết trong bài viết.

- Thu thập và xử lý dữ liệu Messenger

Để bắt đầu, bạn cần xuất dữ liệu từ Messenger của Fanpage Tư vấn tuyển sinh, và định dạng JSON là lựa chọn tối ưu Dữ liệu này sẽ bao gồm các cuộc hội thoại, câu hỏi từ người dùng, cùng với phản hồi từ bot hoặc quản trị viên.

- Phân tích và loại bỏ các câu hỏi trùng lặp bằng cách sử dụng ngữ nghĩa

Dữ liệu từ Messenger thường chứa nhiều câu hỏi tương tự nhưng được diễn đạt khác nhau Sử dụng ChatGPT và các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP), chúng ta có khả năng nhận diện các câu hỏi này dựa trên ý nghĩa, thay vì chỉ so sánh chúng qua từng từ ngữ.

Ví dụ các câu hỏi trùng lặp:

• "Điểm chuẩn năm ngoái là bao nhiêu?"

• "Mức điểm đầu vào của năm trước là gì?"

• "Năm ngoái cần bao nhiêu điểm để đỗ?"

Tất cả những câu này đều có cùng ý định là "Hỏi về điểm chuẩn năm trước", mặc dù cách diễn đạt khác nhau

ChatGPT sử dụng mô hình ngữ nghĩa để phát hiện các câu hỏi trùng lặp và lựa chọn câu hỏi tiêu biểu Bằng cách phân tích ngữ nghĩa, ChatGPT có khả năng nhận diện các câu hỏi tương tự và tối ưu hóa quy trình xử lý thông tin.

• Xác định các câu hỏi có cùng ý định

• Loại bỏ các câu hỏi tương tự nhau, chỉ giữ lại một câu hỏi đại diện cho mỗi nhóm ý định

Mã Python ví dụ sử dụng ChatGPT và NLP để phát hiện câu hỏi trùng lặp:

TfidfVectorizer là một kỹ thuật chuyển đổi văn bản thành ma trận số, giúp phân tích văn bản hiệu quả bằng các thuật toán học máy Phương pháp này dựa trên tần suất từ khóa và tần suất ngược của tài liệu, tạo điều kiện thuận lợi cho việc xử lý và khai thác thông tin từ dữ liệu văn bản.

TF-IDF (Term Frequency-Inverse Document Frequency) is a method used to assign weight to each word in a text based on its frequency within the document and across the entire collection of texts.

Cải tiến nhận dạng ý định và tên riêng sử dụng PhoBERT

Để áp dụng mô hình PhoBERT trong bài toán phân lớp, cần điều chỉnh các tham số của mô hình để thực hiện phân loại ý định Tiếp theo, mô hình sẽ được huấn luyện trên tập dữ liệu tuyển sinh cho đến khi đạt được hiệu suất tốt cho nhiệm vụ phân loại Để đáp ứng yêu cầu này, chúng tôi thêm một lớp phân loại ở cuối và đầu ra của PhoBERT tinh chỉnh sẽ trở thành đầu vào cho lớp này Đồng thời, đầu vào của PhoBERT cũng cần được điều chỉnh cho phù hợp với nhiệm vụ phân lớp, bao gồm việc chuyển đổi văn bản thành chuỗi token và chèn hai token [CLS] và [SEP] Trong nhiệm vụ phân lớp, trạng thái ẩn tương ứng với token [CLS] sẽ đại diện cho toàn bộ câu, phục vụ cho các nhiệm vụ phân loại khác biệt so với vectơ trạng thái ẩn của các token từ thông thường.

Trong quá trình huấn luyện mô hình, khi cung cấp một câu đầu vào, đầu ra sẽ là véc-tơ trạng thái ẩn tương ứng với token đó Một lớp bổ sung được thêm vào với các nơ ron tuyến tính chưa được huấn luyện, có kích thước [kích thước véc-tơ trạng thái ẩn, số ý định], cho phép đầu ra của PhoBERT kết hợp với lớp phân loại tạo thành một vectơ gồm hai số đại diện cho điểm số phân loại câu Vectơ này sau đó được đưa vào hàm mất mát cross-entropy để tính toán phân bố xác suất phân loại ý định Trong bài luận văn này, chúng tôi đã lựa chọn các tham số để tinh chỉnh mô hình PhoBERT.

- max_length8; //chiều dài tối đa của văn bản đưa vào, tính theo số token

Mô hình BERT thường được sử dụng cho dịch ngôn ngữ, với đầu vào bao gồm dấu phân tách [SEP] giữa hai câu Tuy nhiên, trong trường hợp phân loại chỉ cần một câu, chúng tôi điều chỉnh tham số pad_to_max_length=true để tự động thêm khoảng đệm vào phía sau [SEP], đảm bảo cấu trúc đầu vào của mô hình được duy trì.

- learning_rate (adam)-5; //tỷ lệ học theo phương pháp tối ưu Adam

- epochs ; //số lần đưa toàn bộ dữ liệu vào huấn luyện

- batch_size=8; //thiết lập xác định toàn bộ dữ liệu được tách thành bao nhiêu

- cross-entropy; //hàm mất mát được sử dụng là cross-entropy

Mô hình PhoBERT sau khi tinh chỉnh được lưu thành định dạng chuẩn của Huggingface để đưa vào sử dụng trong ML-Chatbot

Hệ thống chatbot này được phát triển để hỗ trợ ngôn ngữ tiếng Việt, sử dụng mô hình PhoBERT cho việc xác định ý định và nhận dạng tên riêng.

PhoBert áp dụng cho các bài toán trên được mô tả trong hình trên.

Kiến trúc hệ thống chatbot trong tư vấn tuyển sinh đại học

Cấu trúc hệ thống chatbot trong lĩnh vực tư vấn tuyển sinh đại học dựa trên nền tảng Rasa được thiết kế như sau:

Hình 4.1 Cấu trúc hệ thống chatbot trong Tư vấn tuyển sinh đại học

Trong cấu trúc chatbot sử dụng Rasa Stack, câu hỏi từ người dùng sẽ được xử lý để tạo ra câu trả lời từ Bot Mỗi thành phần trong framework đóng vai trò quan trọng trong quá trình này.

Rasa NLU (Hiểu ngôn ngữ tự nhiên) là thành phần quan trọng nhất của Rasa, chịu trách nhiệm chuyển đổi ngôn ngữ thành véc tơ, phân loại ý định của người dùng và trích xuất thông tin cần thiết từ họ.

Rasa DM (Quản lý hội thoại) xác định hành động xử lý dựa trên trạng thái và ngữ cảnh của cuộc hội thoại Thành phần này cũng có nhiệm vụ truy xuất dữ liệu từ hệ thống Database hoặc API để hỗ trợ việc tạo ra phản hồi cho thành phần NLG.

Natural Language Generation Điểm chuẩn

THPT năm 2024 nghành CNTT? Điểm chuẩn năm

Rasa NLG (Sinh ngôn ngữtự nhiên): Bot sinh câu trả lời dựa vào dữ liệu từ thành phần DM theo các mẫu câu template đã được xây dựng trước

4.3.1 Cài đặt Rasa Để bắt đầu cài đặt Rasa yêu cầu có Python 3.6, 3.7 hoặc 3.8, sau đó sử dụng lệnh sau: Sau đó di chuyển đến thư mục muốn khởi tạo Rasa và sử dụng:

Một folder sẽđượctạo ra bao gồm các file sau:

Để bắt đầu, chúng ta cần cấu hình file config.yml, đây là phần thiết lập cho NLU, nơi lựa chọn ngôn ngữ và mô hình cần thiết Trong trường hợp này, ngôn ngữ được chọn là tiếng Việt (vi) Để cài đặt, hãy sử dụng lệnh pip install rasa.

# Configuration for Rasa NLU language: vi pipeline: supervised_embeddings policies:

- name: "TEDPolicy" max_history: 5 epochs: 100 constrain_similarities: true

Cấu hình đường ống là quy trình hoàn chỉnh bao gồm lựa chọn mã thông báo, chuẩn hóa, nhận dạng thực thể và phân loại Người dùng có thể thay thế bất kỳ công đoạn nào trong pipeline nếu nhận thấy phương án đó mang lại hiệu quả tốt hơn Việc lựa chọn phương án thay thế có thể thực hiện trong Rasa hoặc thông qua các package bên ngoài phù hợp.

Rasa không chỉ cung cấp supervised_embeddings mà còn nhiều mẫu pipeline khác như pretrained_embeddings_spacy, pretrained_embeddings_convert, và BERT Đối với ngôn ngữ tiếng Việt, PhoBERT là lựa chọn tối ưu vì nó cho phép huấn luyện lại từ đầu dựa trên file nlu.md mà chúng ta cung cấp, giúp xây dựng các ý định và tên định danh của người dùng một cách hiệu quả.

Hình 4.2 Biểu đồ cung cấp thông tin của chatbot pipeline:

- name: "LanguageModelFeaturizer" model_name: "bert" model_weights: "vinai/phobert-base"

- name: "CountVectorsFeaturizer" analyzer: "char_wb" min_ngram: 1 max_ngram: 4

Hệ thống bao gồm ba phạm vi kiến thức cung cấp chính như sau:

✓ Chức năng giao tiếp cơ bản với người dùng như chào hỏi, giới thiệu, đưa ra nhận xét với chatbot

Sequence Diagram cho hành độnghỏi thông tin tư vấn tuyển sinh:

Quá trình tương tác giữa người dùng và chatbot yêu cầu xác minh tính chính xác của dữ liệu thông tin trước khi thực hiện xử lý và cung cấp kết quả cho người dùng.

Sequence Diagram cho hành độnghỏi thông tin ngành đào tạo:

Hình 4.4 Sequence Diagram cho hành động hỏi thông tin các ngành đào tạo

Khi sử dụng chức năng hỏi thông tin về ngành đào tạo, tên ngành sẽ được kiểm tra trong danh mục Nếu người dùng nhập sai, hệ thống sẽ yêu cầu nhập lại và sau đó cung cấp kết quả cho người dùng.

Kết quả thực nghiệm

Để thực hiện thử nghiệm ứng dụng, cần xây dựng một môi trường thực nghiệm phù hợp, xác định phương pháp đánh giá mô hình và thực hiện các bước tiến hành thử nghiệm một cách khoa học.

Môi trường tiến hành thử nghiệm như sau:

✓ Hệ điều hành: Window Server 2012, 64 bit, Ram 32Gb

✓ Mô hình huấn luyện: vinai/phobert-base

✓ Python: 3.7.0 và PyTorch 1.1.0+ (hoặc TensorFlow 2.0+)

4.4.2 Phương pháp đánh giá Để đánh giá mô hình trong bài toán xác định ý định và tên riêng trong NLU dựa trên ba số liệu:

Hình 4.5 Mô tả cách các chỉ số đánh giá mô hình huấn luyện

Precision là tỷ lệ phần trăm số dự đoán đúng trong tổng số dự đoán mà mô hình đưa ra Nó được tính toán dựa trên tập dữ liệu kiểm tra, cho thấy mức độ chính xác của mô hình trong việc nhận diện các dữ liệu đúng.

Recall là tỷ lệ phần trăm các trường hợp đúng được xác định, còn được gọi là độ bao phủ, phản ánh khả năng tổng quát của mô hình Từ hai yếu tố chính là độ chính xác và độ bao phủ, người ta phát triển chỉ số F1-Score để đánh giá hiệu quả của mô hình.

F1-Score là bình quân điều hòa của Precision và Recall, phản ánh hiệu suất của mô hình Nó có xu hướng gần với giá trị nhỏ hơn giữa hai chỉ số này, giúp đánh giá sự cân bằng giữa độ chính xác và khả năng phát hiện.

Precision và Recall là hai chỉ số quan trọng trong đánh giá hiệu suất của mô hình học máy Khi cả hai giá trị này đều cao, chúng thể hiện sự chính xác và khả năng phát hiện của mô hình một cách đồng thời Do đó, F1-Score được xem là một chỉ số tổng hợp khách quan hơn, phản ánh hiệu quả thực sự của mô hình trong việc cân bằng giữa Precision và Recall.

Thửnghiệm 1: So sánh các mô hình sửdụng trong bài toán xác định ý định và thựcthể.

Trong thử nghiệm của luận văn, với mỗi bài toán xác định ý định ý định và tên riêng thì hệ thống sử dụng ba mô hình chính sau:

Mỗi mô hình có một vai trò khác nhau trong quá trình xác định ý định và thực thể:

• WhitespaceTokenizer là một phương pháp đơn giản chỉ để tách từ và chưa có khả năng hiểu ngữ nghĩa của câu

• ConveRT là một mô hình mạnh mẽ trong việc hiểu ngữ cảnh câu, có thể áp dụng cho việc nhận diện ý định trong hội thoại phức tạp

• CustomPhoBERT nâng cao khả năng hiểu ngữ nghĩa và ngữ cảnh câu trong tiếng

Việt, rất phù hợp với các bài toán xác định ý định và thực thể trong ngữ cảnh tiếng Việt

Ba mô hình này sẽ hợp tác trong quá trình tiền xử lý dữ liệu và xác định thông tin quan trọng từ văn bản, tuy nhiên, mỗi mô hình lại có ứng dụng và chức năng riêng biệt trong bài toán tổng thể.

Kết quả thể hiện ở các bảng dưới đây

Bảng 4.2 Bảng kết quả xác định ý định

Thuật toán Precision Recall F1-Score

Bảng 4.3 Bảng kết quả nhận dạng thực thể

Thuật toán Precision Recall F1-Score

The comparison results indicate that CustomPhoBERT excels in both intent recognition and entity recognition, particularly in the context of the Vietnamese language Several reasons can explain why CustomPhoBERT performs exceptionally well in these tasks.

1 Khả năng Hiểu Ngữ Nghĩa (Contextual Understanding)

• PhoBERT, được xây dựng trên nền tảng của BERT (Bidirectional Encoder

Các mô hình Transformers có khả năng hiểu ngữ nghĩa từ trong ngữ cảnh hai chiều, từ trái sang phải và từ phải sang trái Điều này giúp cải thiện độ chính xác trong việc nhận diện ý định của người dùng, đặc biệt trong các cuộc hội thoại phức tạp, nơi mà ngữ cảnh từ ngữ đóng vai trò quan trọng.

CustomPhoBERT được đào tạo trên một tập dữ liệu phong phú bằng tiếng Việt, cho phép nó nắm bắt và phân tích các cấu trúc câu cũng như ý định ngữ nghĩa một cách sâu sắc và chính xác hơn trong ngữ cảnh ngôn ngữ Việt.

2 Được Tối Ưu Hóa Cho Tiếng Việt

CustomPhoBERT nổi bật với khả năng xử lý văn bản tiếng Việt, một ngôn ngữ có cấu trúc ngữ pháp và cú pháp đặc thù Trong khi các mô hình như ConveRT có thể xử lý văn bản hội thoại, chúng không được tối ưu hóa cho tiếng Việt như PhoBERT Điều này mang lại lợi thế lớn cho CustomPhoBERT trong việc nhận diện ý định và thực thể trong ngữ liệu tiếng Việt.

3 Mô Hình Học Sâu và Tinh Chỉnh

CustomPhoBERT là một mô hình học sâu có khả năng tinh chỉnh cho các tác vụ cụ thể, như xác định ý định và nhận diện thực thể trong ngữ cảnh chatbot.

Huấn luyện và tinh chỉnh mô hình CustomPhoBERT trên các tập dữ liệu hội thoại thực tế giúp nâng cao hiệu suất, đặc biệt trong việc xử lý các câu hỏi và yêu cầu phức tạp từ người dùng.

4 Xác Định Thực Thể Chính Xác

Mô hình PhoBERT trong bài toán nhận diện thực thể (entity recognition) có khả năng trích xuất chính xác các thực thể như tên người, địa điểm, tổ chức và các thực thể tên riêng khác Khác với các mô hình truyền thống như WhitespaceTokenizer, PhoBERT vượt trội hơn trong việc nhận diện thực thể trong câu nhờ vào khả năng hiểu ngữ nghĩa và mã hóa mối quan hệ giữa các từ.

5 Khả Năng Xử Lý Ngữ Cảnh Lâu Dài

PhoBERT nổi bật với khả năng xử lý hiệu quả các câu dài và ngữ cảnh hội thoại phức tạp Khi người dùng chuyển đổi giữa các chủ đề trong cuộc trò chuyện, PhoBERT vẫn duy trì được ngữ cảnh và hiểu rõ mối quan hệ giữa các thông tin trong câu.

Thửnghiệm 2: Tiến hành thửnghiệm trên các câu ngẫu nhiên đểđánh giá kết quả cuối cùng của người dùng

Sau khi xác định mô hình đào tạo CustomPhoBERT tối ưu, chúng tôi đã tiến hành thử nghiệm ngẫu nhiên với 100 câu hỏi thông qua chatbot Kết quả thu được từ các lần thử nghiệm cho thấy hiệu suất của mô hình được cải thiện đáng kể.

Bảng 4.4 Bảng mô tả số lần thử nghiệm với người dùng

Lầnthửnghiệm Số câu đúng Độ chính xác

Đánh giá

Từ kết quả thực nghiệm rút ra một số đánh giá như sau:

Xác định đúng ý định là yếu tố quan trọng hàng đầu đối với chatbot Đối với bài toán miền đóng, việc xác định rõ ràng các ý định, xây dựng tập dữ liệu lớn và gán nhãn chính xác là cần thiết để tiến hành huấn luyện hiệu quả.

✓ Xây dựng dữ liệu, huấn luyện cho bot với các kịch bản là rất cần thiết để cho độ chính xác cao của chatbot.

Chatbot ứng dụng AI được thiết kế để xử lý hiệu quả các kịch bản đã được lập trình sẵn và được đào tạo để cải thiện khả năng tương tác Khi gặp phải các tình huống không nằm trong kịch bản, chatbot có thể hướng dẫn người dùng tới các câu trả lời mặc định hoặc cung cấp giao diện menu để người dùng lựa chọn.

✓ Việc xác định và phản hồi đa ý định có thể thực hiện bằng việc kết hợp các ý định với nhau

Việc áp dụng chatbot để hỗ trợ người dùng trong tư vấn tuyển sinh là hoàn toàn khả thi và có tính thực tiễn cao, cho phép triển khai ngay trong thực tế.

Tuy nhiên, trong quá trình thựchiệncũnggặpphảinhững thách thứcbổ sung bao gồm:

Vấn đề đồng tham chiếu (coreference) là một thách thức lớn trong giao tiếp nói và viết, đặc biệt là trong các đoạn hội thoại dài Người nói thường sử dụng các cách gọi rút gọn, như đại từ xưng hô hoặc từ lóng, để tham chiếu đến các đối tượng đã được đề cập trước đó Tuy nhiên, nếu không có ngữ cảnh rõ ràng và bộ phân tích đồng tham chiếu hiệu quả, chatbot sẽ gặp khó khăn trong việc xác định đối tượng mà các từ này đang ám chỉ Điều này có thể dẫn đến việc chatbot hiểu sai nội dung câu hội thoại của người dùng.

Để giảm bớt công sức trong việc làm dữ liệu khi phát triển chatbot, cần gán nhãn dữ liệu huấn luyện cho bộ phân lớp ý định và nhận dạng thực thể Trong các lĩnh vực phức tạp như tuyển sinh, việc tạo ra bộ dữ liệu này tốn nhiều công sức Do đó, phát triển các phương pháp tận dụng nguồn dữ liệu sẵn có là cần thiết để giảm lượng dữ liệu cần gán nhãn, đồng thời đảm bảo độ chính xác của các mô hình xử lý ngôn ngữ tự nhiên.

Sự đa dạng trong cách người dùng truyền đạt thông điệp có thể gây khó khăn trong việc hiểu ý định của họ Do đó, chatbot cần phải có khả năng xử lý hiệu quả cả những câu dài lẫn ngắn, cũng như các bong bóng trò chuyện có nội dung dài so với nhiều tin nhắn ngắn gọn.

Con người có tính ngẫu nhiên và hành vi của họ thường bị ảnh hưởng bởi cảm xúc và tâm trạng, dẫn đến sự thay đổi nhanh chóng trong ý định Sau khi nhận được gợi ý ban đầu, người dùng có thể dễ dàng chuyển sang mong muốn đưa ra lệnh Do đó, công nghệ chatbot cần có khả năng thích ứng và hiểu rõ các yếu tố ngẫu nhiên và tự phát này để phục vụ người dùng hiệu quả.

Ngày đăng: 11/01/2025, 10:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. R. J. Williams. “Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine learning”, 8(3-4):229–256, 2012 Sách, tạp chí
Tiêu đề: Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine learning
4. Naoaki Okazaki, “CRFsuite: A fast implementation of Conditional Random Fields (CRFs)”, 2011 Sách, tạp chí
Tiêu đề: CRFsuite: A fast implementation of Conditional Random Fields (CRFs)
5. T.-H. Wen, M. Gasic, P.-H. Su, D. Vandyke, and S. Young. In “Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing”, pages 1711–1721, Lisbon, Portugal, September 2015 Sách, tạp chí
Tiêu đề: Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing
6. Zhiheng Huang, Wei Xu, Kai Yu, “Bidirectional LSTM-CRF Models for Sequence Tagging”, On arxiv, 2015 Sách, tạp chí
Tiêu đề: Bidirectional LSTM-CRF Models for Sequence Tagging
8. Ming-Wei Chang “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” Version 2, 2019 Sách, tạp chí
Tiêu đề: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
9. A. Jiao, “An intelligent chatbot system based on entity extraction using RASA NLU and neural network,” J. Phys. Conf. Ser., vol. 1487, p. 012014, 2020 Sách, tạp chí
Tiêu đề: An intelligent chatbot system based on entity extraction using RASANLU and neural network
10. Sepp Hochreiter, Jürgen Schmidhuber “Long Short-term Memory”, 1997 11. Rasa Community, “Memoization Policy with max history”, 2021 Sách, tạp chí
Tiêu đề: Long Short-term Memory”, 1997 11.Rasa Community, “Memoization Policy with max history
12. PhoBERT, “Pre-trained language models for Vietnamese”, 2020 Sách, tạp chí
Tiêu đề: Pre-trained language models for Vietnamese
13. Meaghan Yuen, “Chatbot market in 2022: Stats, trends, and companies in the growing AI chatbot industry”, 2022 Sách, tạp chí
Tiêu đề: Chatbot market in 2022: Stats, trends, and companies in the growing AI chatbot industry
2. X. Zhou, D. Dong, H. Wu, S. Zhao, D. Yu, H. Tian, X. Liu, and R. Yan. Multi- view response selection for human-computer conversation. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 372–381, 2016 Khác
3. Angelo Ferrando, Andrea Gatti, Viviana Mascardi. RV4Rasa: A Formalism- Agnostic Runtime Verification Framework for Verifying ChatBots in Rasa.VORTEX@ISSTA 2023: 1-8 Khác
7. Khang Nhut Lam, Nam Nhat Le, Jugal Kalita. Building a Chatbot on a Closed Domain using RASA. NLPIR 2020: 144-148 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Ảnh minh họa Chatbot [1] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.1 Ảnh minh họa Chatbot [1] (Trang 15)
Hình 2.3 Kiến trúc của mạng nơ ron Transformer - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.3 Kiến trúc của mạng nơ ron Transformer (Trang 18)
Hình 2.4 Toàn bộ tiến trình huấn luyện trước và tinh chỉnh của BERT [10] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.4 Toàn bộ tiến trình huấn luyện trước và tinh chỉnh của BERT [10] (Trang 21)
Hình 2.5 Sơ đồ kiến trúc BERT cho tác vụ Masked ML [10] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.5 Sơ đồ kiến trúc BERT cho tác vụ Masked ML [10] (Trang 22)
Hình 2.6 Sơ đồ kiến trúc mô hình BERT cho tác vụ NSP [10] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.6 Sơ đồ kiến trúc mô hình BERT cho tác vụ NSP [10] (Trang 24)
Hình 2.7 Minh họa về PhoBERT[12] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.7 Minh họa về PhoBERT[12] (Trang 25)
Hình 2.8  Các thành phần chính trong Rasa [1 1] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.8 Các thành phần chính trong Rasa [1 1] (Trang 26)
Hình 2.9 Kiến trúc của Rasa [11] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 2.9 Kiến trúc của Rasa [11] (Trang 28)
Hình 3.2 Kiến trúc của hệ thống phân lớp ý định - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 3.2 Kiến trúc của hệ thống phân lớp ý định (Trang 37)
Bảng 3.1 Bảng trích xuất thực thể trong một câu - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Bảng 3.1 Bảng trích xuất thực thể trong một câu (Trang 39)
Hình 3.3 Phương pháp sinh ngôn ngữ class-based[2] - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 3.3 Phương pháp sinh ngôn ngữ class-based[2] (Trang 43)
Hình 4.1 Cấu trúc hệ thống chatbot trong Tư vấn tuyển sinh đại học - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 4.1 Cấu trúc hệ thống chatbot trong Tư vấn tuyển sinh đại học (Trang 59)
Hình 4.2 Biểu đồ cung cấp thông tin của chatbot - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 4.2 Biểu đồ cung cấp thông tin của chatbot (Trang 61)
Hình 4.4 Sequence Diagram cho hành động hỏi thông tin các ngành đào tạo - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 4.4 Sequence Diagram cho hành động hỏi thông tin các ngành đào tạo (Trang 63)
Hình 4.5 Mô tả cách các chỉ số đánh giá mô hình huấn luyện - Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng
Hình 4.5 Mô tả cách các chỉ số đánh giá mô hình huấn luyện (Trang 64)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w