TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 45
NGHIÊN CỨU XÂY DỰNG WEB TRÒ CHUYỆN, TƯ VẤN
VÀ KẾT BẠN TÍCH HỢP CHAT GPT
RESEARCH AND BUILD A CHAT WEBSITE, CONSULT
AND MAKE FRIENDS INTEGRATED WITH CHATGPT
Nguyễn Thiện Lâm1, Lê Minh Tiến1,
Trịnh Gia Lộc2, Lê Lệnh Nguyên2, Mai Thanh Hồng3,*
1Lớp KTPM 01 - K16, Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
2Lớp KTPM 03 - K16, Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
3Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
*Email: maihong1979@gmail.com
TÓM TẮT
Trong thời đại công nghệ hiện nay, xử lý ngôn ngữ tự nhiên (NLP) và chat bot đã trở thành hai lĩnh vực chủ chốt của
trí tuệ nhân tạo, với tiềm năng phát triển rất lớn. Trong nghiên cứu này, chúng tôi tập trung vào việc nghiên cứu và ứng
dụng ChatGPT để tạo ra các chat bot thông minh, có khả năng tương tác tự động với người dùng. Nghiên cứu của chúng
tôi phân tích các phương pháp tiên tiến trong NLP và các thuật toán chính được sử dụng trong chat bot. Sau đó, chúng tôi
áp dụng ChatGPT vào trang web cụ thể để tối ưu hóa trải nghiệm người dùng nâng cao hiệu quả hoạt động của hệ thống
cũng như làmvai trò quan trọng của công nghệ NLP và chat bot trong việc cải thiện trải nghiệm người dùng và tối ưu
hóa quy trình tương tác trực tuyến.
Từ khóa: Xử lý ngôn ngữ tự nhiên, chat bot, chat GPT, tích hợp website.
ABSTRACT
In today's technological era, natural language processing (NLP) and chat bots have become two pivotal fields of
artificial intelligence, with immense development potential. In this study, we focus on researching and applying ChatGPT
to create intelligent chat bots capable of autonomous interaction with users. Our research analyzes advanced NLP methods
and key algorithms used in chat bots. Subsequently, we implement ChatGPT on specific websites to optimize user
experiences and enhance system efficiency, while elucidating the crucial role of NLP and chat bot technology in improving
user experiences and streamlining online interaction processes.
Keywords: Natural language processing, chat bot, ChatGPT, website integration.
CÁC TỪ VIẾT TẮT
- NLTK: Natural language toolkit
- BOW: Bag of Words - NLP: Natural Language Processing
- SVM: Support Vector Machine
1. GIỚI THIỆU
Trong những năm gần đây, lĩnh vực trí tuệ nhân tạo đang
phát triển với một tốc độ chóng mặt, đặc biệt trong lĩnh
vực chat bot. Vào năm 2022, một “cơn sốt” công nghệ mang
tên Chat GPT ra đời đánh dấu bước ngoặt lớn của nhân loại
cũng như khởi nguồn cho cuộc chạy đua về công nghệ AI
- tự động hóa giữa các công ty, doanh nghiệp trong tất cả
lĩnh vực ngành nghề. Để tạo nên một tiếng vang lớn trên
toàn thế giới như vậy thì công nghệ đứng sau chính là điều
chúng ta cần quan tâm. Đặc biệt là lĩnh vực xử lý ngôn ngữ
tự nhiên, một lĩnh vực đặc biệt, bởi giao điểm của
Ngôn ngữ học, Khoa học Máy tính và AI.
Ứng dụng của NLP chủ yếu được thúc đẩy bởi sự phổ
biến của giao tiếp người máy, sự phát triển nhanh chóng
của các thiết bị thông minh, cũng như các giải pháp đám
mây. NLP làm nhiệm vụ xử lý phân tích một lượng lớn
dữ liệu ngôn ngữ tự nhiên để bắt chước các tương tác giữa
con người theo cách giống con người. Một hệ thống NLP
tốt có thể hiểu được nội dung của văn bản, bao gồm cả sắc
thái trong đó.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 462. NỘI DUNG NGHIÊN CỨU
2.1. Mô hình Bag of Words
Bag of Words (BOW) phương pháp trích xuất đặc
điểm từ văn bản, tạo ra một kho từ vựng chứa tất cả các từ
duy nhất có trong tập dữ liệu. Phương pháp này không quan
tâm đến thứ tự xuất hiện của từ được sử dụng để tạo
vectơ đặc trưng cho các thuật toán học máy. BOW giúp
chuyển đổi văn bản không có cấu trúc thành dữ liệu có cấu
trúc và có độ dài cố định.
Ở mức cấp cao, nó bao gồm các bước sau:
1. Dữ liệu văn bản được làm sạch
2. Thực hiện tách từ
3. Xây dựng cấu trúc ngữ pháp
4. Sinh ra các vectơ
Các vectơ đã được sinh ra thể được đưa vào thuật
toán học máy.
Hình 1. Cách hoạt động của Bag of words
2.2. Natural Language Toolkit
- nltk.corpus.wordnet:
Dùng để truy cập WordNet, đây là một nguồn dữ liệu
cùng quan trọng cho semantic analysis và lemmatization.
Hình 2. Cách sử dụng thư viện nltk.corpus.wordnet
- nltk.corpus.stopwords:
Nó chứa danh sách các stopwords giúp loại bỏ từ không
quan trọng trong văn bản.
Hình 3. Sử dụng thư viện nltk.corpus.stopwords
- nltk.tokenize:
Cung cấp các công cụ cho quá trình tách từ và câu
Hình 4. Sử dụng thư viện nltk.tokenize
2.3. KNN (K-Nearest Neighbors)
- Tổng quan
KNN (K-Nearest Neighbors) là một thuật toán học máy
đơn giản nhưng hiệu quả được sử dụng cho cả phân loại và
hồi quy. Thuật toán này hoạt động dựa trên nguyên tắc "gần
mực thì đen, gần đèn thì sáng", nghĩa các điểm dữ liệu
gần nhau có xu hướng thuộc cùng một lớp.
Ưu điểm: Đơn giản, hiệu quả, linh hoạt, không yêu cầu
mô hình
Nhược điểm:
+ Nhạy cảm với nhiễu
+ Tính toán tốn kém
+ Khó khăn trong việc lựa chọn K phù hợp
Ứng dụng
+ Phân loại hình ảnh: Phân loại các hình ảnh dựa trên
các đặc điểm như màu sắc, kết cấu, hình dạng.
+ Phân loại văn bản: Phân loại các văn bản dựa trên nội
dung, chủ đề.
+ Khuyến nghị sản phẩm: Gợi ý các sản phẩm người
dùng có thể quan tâm dựa trên lịch sử mua hàng.
+ Chẩn đoán y tế: Hỗ trợ chẩn đoán bệnh dựa trên các
triệu chứng.
- Cách thức hoạt động
1. Chuẩn bị:
Tập dữ liệu huấn luyện: Bao gồm các điểm dữ liệu đã
được gắn nhãn (phân loại hoặc giá trị thực).
Điểm dữ liệu mới: Cần được dự đoán nhãn hoặc giá trị
thực.
2. Tính toán khoảng cách: Sử dụng các công thức như
Euclidean, Manhattan, Minkowski để tính khoảng cách
giữa điểm dữ liệu mới và tất cả các điểm dữ liệu trong tập
huấn luyện.
3. Tìm K láng giềng gần nhất: Chọn K điểm dữ liệu có
khoảng cách nhỏ nhất với điểm dữ liệu mới.
4. Dự đoán:
Phân loại: Dựa vào nhãn của K láng giềng, dự đoán
nhãn của điểm dữ liệu mới. Nhãn phổ biến nhất trong K
láng giềng sẽ được chọn.
Hồi quy: Tính trung bình giá trị thực của K láng
giềng để dự đoán giá trị thực của điểm dữ liệu mới.
2.4. Mô hình SVM (Support Vector Machine)
- Tổng quan
SVM một trong những thuật toán học máy thường
xuyên được sử dụng trong các bài toán phân loại hồi quy.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 47một thuật toán giám sát (supervised learning), nghĩa
học từ một tập dữ liệu đã có nhãn để phân loại hoặc hồi
quy dữ liệu mới, nó sẽ tìm ra một siêu phẳng (hyperplane)
tốt nhất để phân chưa dữ liệu thành các lớp khác nhau.
- Cách thức hoạt động
1. Tìm siêu phẳng: SVM sẽ tìm một siêu phẳng trong
không gian nhiều chiều để phân chia dữ liệu thành các lớp
khác nhau.
Hình 5. Siêu phẳng phân tách các điểm dữ liệu
Hình 6. Nhiều siêu phẳng cùng phân tách dữ liệu
2. Tối ưu hóa: SVM tối ưu hóa khoảng cách từ chiều
phẳng đến các điểm (support vectors) gần nhất của mỗi lớp
để đảm bảo khoảng cách (margin) là lớn nhất có thể.
Hình 7. Siêu phẳng tối ưu có lề lớn nhất
Hình 8. Margin trong SVM
3. Sử dụng hàm kernel: Đối với d liệu không phân
chia được bằng siêu phẳng tuyến tính, SVM sử dụng các
hàm kernel để ánh xạ dữ liệu sang không gian nhiều chiều
hơn, nơi dữ liệu có thể được chia tuyến tính
4. Huấn luyện hình: SVM học từ dữ liệu huấn luyện
để xác định vị trí của siêu phẳng tối ưu các support
vectors
5. Dự đoán: Sử dụng hình đã được huấn luyện để
phân loại hoặc đoán dữ liệu mới dựa trên siêu phẳng đã xác
định.
- Ưu điểm và nhược điểm
Ưu điểm:
+ Hiệu quả cao trong không gian nhiều chiều
+ Tiết kiệm bộ nh
+ Linh động giữa các phương pháp tuyến tính phi
tuyến tính
Nhược điểm:
+ Chưa thể hiện rõ tính xác xuất
+ Không hiệu quả khi kích thước dữ liệu lớn
+ Việc chọn kernal thích hợp và các tham số thể phức
tạp.
2.5. Chat bot
- Giới thiệu
Trí tuệ nhân tạo (AI) đang ngày càng được tích hợp vào
cuộc sống hàng ngày của chúng ta thông qua các hệ thống
trí tuệ nhân tạo. Chatbot là một ví dụ điển hình về hệ thống
AI, một chương trình máy tính thể tương tác trò
chuyện với con người thông qua văn bản hoặc giọng nói,
hiểu xử ngôn ngữ tự nhiên. Chatbot còn được gọi bằng
nhiều tên khác như smart bot, trợ tương tác, trợ kỹ
thuật số hoặc thực thể trò chuyện nhân tạo.
- Một số khái niệm
Pattern Matching, dựa trên các khối kích thích-đáp ứng,
là cơ sở của các chatbot đầu tiên như Eliza và ALICE. Tuy
nhiên, nhược điểm các phản hồi dễ dự đoán, lặp lại
thiếu tương tác con người.
AIML (Artificial Intelligence Markup Language) được
phát triển từ 1995-2000, dựa trên kỹ thuật Nhận dạng Mẫu,
và được áp dụng vào mô hình ngôn ngữ tự nhiên cho cuộc
đối thoại giữa con người và chatbot.
LSA (Latent Semantic Analysis) thể được sử dụng
kết hợp với AIML để phát triển chatbot. AIML trả lời các
câu hỏi dựa trên mẫu, còn LSA được ng để tìm câu trả lời
cho các câu hỏi chưa được định nghĩa sẵn.
Chatscript một hệ thống chuyên gia, bao gồm một
ngôn ngữ kịch bản mã nguồn mở bộ máy chạy nó.
các quy tắc liên quan đến các chủ đề, tìm kiếm phản hồi phù
hợp và lưu trữ thông tin người dùng cụ thể.
RiveScript một ngôn ngữ kịch bản dựa trên văn bản
đơn giản, được sử dụng để phát triển chatbot các thực
thể trò chuyện khác. Nó là mã nguồn mở với các giao diện
hỗ trợ nhiều ngôn ngữ lập trình.
Xử lý Ngôn ngữ Tự nhiên (NLP) là lĩnh vực của trí tuệ
nhân tạo, nghiên cứu cách máy tính thao tác văn bản hoặc
giọng nói ngôn ngữ tự nhiên. Hầu hết các kỹ thuật NLP dựa
trên học máy.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 48Hiểu Ngôn ngữ Tự nhiên (NLU) cốt lõi của NLP,
nhằm trích xuất ngữ cảnh ý nghĩa từ đầu vào ngôn ngữ
tự nhiên của người dùng, c định ý định của người dùng
và trích xuất các thực thể cụ thể.
- Tích hợp Chat bot vào trang web trò chuyện
Hình 9. Giao diện đăng nhập
Hình 10. Giao diện đăng ký tài khoản
Hình 11. Giao diện box chat trò chuyện
Hình 12. Giao diện xem bài viết
Hình 13. Giao diện chỉnh sửa thông tin
Hình 14. Giao diện trò chuyện với chat bot
TÀI LIỆU THAM KHẢO
[1]. Bird, Steven, Edward Loper, Ewan Klein, 2009. Natural Language Processing with Python. O’Reilly Media Inc.
[2]. Gazdar G., Mellish C., 1989. Natural Language Process-as mental representations of language. Bresnan, J.
(Ed.),ing in LISP. Addison Wesley.
[3]. V. Vapnik, 1995. The Nature of Statistical Learning Theory. Springer, NewYork.
[4]. Berger, A. L., Pietra, S. A. D., Pietra, V. J. D., 1996. Amaximum entropy approach to natural language processing.
Computational Linguistics, 22(1), 39–71.
[5]. https://aws.amazon.com/vi/what-is/nlp/, Lần truy cập cuối: 16/01/2024.
[6]. https://viblo.asia/p/feature-engineering-phan-5-phuong-phap-nang-cao-de-xu-ly-du-lieu-dang-van-ban-phi-cau-
truc-12-Qbq5QpgzlD8, Lần truy cập cuối: 16/1/2024.
[7]. https://onetech.vn/blog/co-ban-ve-xu-ly-ngon-ngu-tu-nhien-va-ung-dung-cho-tieng-viet-6315, Truy cập lần cuối:
16/01/2024.
[8]. https://users.soict.hust.edu.vn/huonglt/UNLP/index.html, Lần truy cập cuối: 16/01/2024.
[9]. http://www.mim.hus.vnu.edu.vn/vi/content/x%E1%BB%AD-l%C3%BD-ng%C3%B4n-ng%E1%BB%AF-
t%E1%BB%B1-nhi%C3%AAn, Lần truy cập cuối: 16/01/2024.