Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP), là một lĩnh vực khoa học máy tính, kỹ thuật thông tin và trí tuệ nhân tạo tập trung vào nghiên cứu các tƣơng [r]
Trang 1VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
Lưu Thị Vân
PHÂN TÍCH CÂU HỎI TIẾNG VIỆT TRONG HỆ THỐNG ĐÓN TIẾP VÀ PHÂN LOẠI BỆNH NHÂN
LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH
HÀ NỘI - 2020
Trang 2VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
Lưu Thị Vân
PHÂN TÍCH CÂU HỎI TIẾNG VIỆT TRONG HỆ THỐNG ĐÓN TIẾP VÀ PHÂN LOẠI BỆNH NHÂN
Chuyên ngành: Hệ thống thông tin
Mã số: 8 48 01 04
LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH
CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS.Nguyễn Như Sơn
HÀ NỘI – 2020
Nguyễn Như Sơn
Trang 3LỜI CAM ĐOAN
Tôi là Lưu Thị Vân, học viên khóa I, ngành Công nghệ thông tin, chuyên ngành Hệ Thống Thông Tin Tôi xin cam đoan luận văn “Phân tích câu hỏi Tiếng Việt trong hệ thống đón tiếp và phân loại bệnh nhân” là do tôi nghiên cứu, tìm hiểu và phát triển dưới sự hướng dẫn của TS Nguyễn Như Sơn Luận văn không phải sự sao chép từ các tài liệu, công trình nghiên cứu của người khác mà không ghi rõ trong tài liệu tham khảo Tôi xin chịu trách nhiệm về lời cam đoan này
Hà Nội, tháng 10 năm 2020
Học viên
Lưu Thị Vân
Trang 4LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn tới các thầy cô Học viện Khoa học và Công nghệ nghệ Việt nam, Viện Hàn lâm Khoa học và Công nghệ Việt Nam đã tận tình giảng dạy và truyền đạt kiến thức cho tôi trong suốt khóa học cao học vừa qua.Tôi cũng xin được gửi lời cảm ơn đến các thầy cô trong Bộ môn Hệ thống thông tin cũng như Khoa công nghệ thông tin đã mang lại cho tôi những kiến thức vô cùng quý giá và bổ ích trong quá trình học tập tại trường
Đặc biệt xin chân thành cảm ơn thầy giáo, TS Nguyễn Như Sơn, người
đã định hướng, giúp đỡ, trực tiếp hướng dẫn và tận tình chỉ bảo tôi trong suốt quá
trình nghiên cứu, xây dựng và hoàn thiện luận văn này
Tôi cũng xin được cảm ơn tới gia đình, những người thân, các đồng nghiệp và bạn bè đã thường xuyên quan tâm, động viên, chia sẻ kinh nghiệm, cung cấp các tài liệu hữu ích trong thời gian học tập, nghiên cứu cũng như trong suốt quá trình thực hiện luận văn tốt nghiệp
Hà Nội, tháng 10 năm 2020
Học viên
Lưu Thị Vân
Trang 5MỤC LỤC
LỜI CAM ĐOAN 2
LỜI CẢM ƠN 3
MỤC LỤC 4
DANH MỤC THUẬT NGỮ VÀ CÁC KÝ HIỆU VIẾT TẮT 6
DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ 7
DANH MỤC CÁC BẢNG BIỂU 7
TÓM TẮT 8
MỞ ĐẦU 10
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 13
1 Tổng quan về hệ thống trả lời tự động 13
1.1 Hệ thống hướng nhiệm vụ và hướng hội thoại 14
1.2 Tình hình nghiên cứu trong và ngoài nước 15
2 Xử lý ngôn ngữ tự nhiên và ứng dụng 17
2.1 Sơ lược về ngôn ngữ tự nhiên 17
2.2 Các ứng dụng xử lý ngôn ngữ tự nhiên 18
2.3 Tiền xử lý văn bản 18
2.3.1 Chuẩn hóa và biến đổi văn bản 18
2.3.2 Biểu diễn văn bản dưới dạng vector 19
3 Bài toán phân loại văn bản 19
3.1 Bài toán phân loại văn bản 19
3.2 Một số thuật toán phân loại văn bản 20
3.2.1 Thuật toán Naive Bayes 20
3.2.2 Thuật toán SVM 23
3.2.3 Mạng nơ-ron nhân tạo 31
3.3 Các phương pháp đánh giá một hệ thống phân lớp 36
3.3.1 Đánh giá theo độ chính xác Accuracy 37
3.3.2 Ma trận nhầm lẫn 37
Trang 63.3.3 True/False Positive/Negative 39
3.3.4 Precision và Recall 40
3.3.5 F1-Score 42
CHƯƠNG 2: PHÂN TÍCH CÂU HỎI TRONG HỆ THỐNG TRẢ LỜI TỰ ĐỘNG 44
1 Vấn đề cơ bản của một hệ thống trả lời tự động 44
2 Bài toán phân loại câu hỏi 46
2.1 Phát biểu bài toán 46
2.2 Các phương pháp phân loại câu hỏi 46
2.2.1 Phân loại câu hỏi dựa trên luật 47
2.2.2 Phương pháp sử dụng mô hình ngôn ngữ 48
2.2.3 Phân loại câu hỏi dựa vào học máy 48
2.3 Trích chọn đặc trưng cho phân tích câu hỏi 51
2.3.1 Đặc trưng về từ vựng 51
2.3.2 Đặc trưng về cú pháp 53
2.3.3 Đặc trưng về ngữ nghĩa 54
3 Sự phân loại câu hỏi Taxonomy 55
3.1 Khái niệm Taxonomy 55
3.2 Taxonomy câu hỏi 55
3.3 Mô hình phân lớp đa cấp 59
4 Một số kết quả nghiên cứu 60
CHƯƠNG 3: XÂY DỰNG MÔ HÌNH VÀ ĐÁNH GIÁ THỰC NGHIỆM 62
1 Kiến trúc ứng dụng 62
2 Xây dựng và cài đặt mô hình 63
2.1 Tập dữ liệu thực nghiệm 63
2.2 Công cụ thực nghiệm 65
2.3 Lựa chọn đặc trưng 66
3 Đánh giá kết quả thực nghiệm 67
KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 70
Trang 7DANH MỤC THUẬT NGỮ VÀ CÁC KÝ HIỆU VIẾT TẮT
AI Artificial Intelligence Trí tuệ nhân tạo
ML Machine Learning Máy học, máy mĩc cĩ khả năng học
tập ANN Artificial Nerual Network Mạng nơ ron nhân tạo
Processing
Xử lý ngơn ngữ tự nhiên
VNTK Vietnamese NLP Toolkit
for Node
Bộ cơng cụ xử lý ngơn ngữ tiếng Việt
NLTK Natural Language Toolkit Bộ cơng cụ xử lý ngơn ngữ tự nhiên
bằng Python
lập trình phía máy chủ SDK Support Development Kit Bộ cơng cụ hỗ trợ phát triển CPU Central Processing Unit Bộ xử lý trung tâm
GPU Graphics Processing Unit Bộ vi xử lý chuyên dụng nhận nhiệm
vụ tăng tốc, xử lý đồ họa cho bộ vi xử
lý trung tâm CPU API Application Programming
Interface
Giao diện lập trình ứng dụng
Agent Agent hay Software Agent Tác tử hay Tác tử phần mềm, là một
chương trình máy tính tồn tại trong một mơi trường nhất định, tự động hành động phản ứng lại sự thay đổi của mơi trường nhằm đáp ứng mục tiêu đã được thiết kế trước
Conversational
agents
Conversational agents Các tác tử đàm thoại là tác tử cĩ khả
năng giao tiếp thơng qua văn bản hoặc lời nĩi
NBC Naive Bayes Classifier Bộ phân lớp Nạve Bayes TREC Text REtrieval Conference Hội nghị về truy hồi thơng tin
SVM Support Vector Machine Một thuật tốn học máy cĩ giám sát
được sử dụng rất phổ biến ngày nay trong các bài tốn phân lớp (classification) hay hồi qui (Regression)
Trang 8DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1: Mặt phân cách dữ liệu 24
Hình 2 Lề siêu phẳng 24
Hình 3 Dữ liệu phi tuyến 27
Hình 4 Không gian dữ liệu phi tuyến 29
Hình 5 Kiến trúc mạng nơ-ron nhân tạo 32
Hình 6 Quá trình xử lý thông tin của một mạng nơ-ron nhân tạo 33
Hình 7 Minh hoạ unnormalized confusion và normalized confusion matrix 39
Hình 8 Cách tính Precision và Recall 41
Hình 9 Các bước cơ bản trong hệ thống trả lời tự động 44
Hình 10 Mô hình giai đoạn huấn luyện 49
Hình 11 Các bước thực hiện giai đoạn huấn luyện 50
Hình 12 Mô hình giai đoạn phân lớp 51
Hình 13 Bộ phân lớp đa cấp của Li và Roth 60
Hình 14 Kiến trúc tổng quan của hệ thống phân loại câu hỏi 63
Hình 15 Tập dữ liệu huấn luyện 64
Hình 16 Tập dữ liệu kiểm tra 64
DANH MỤC CÁC BẢNG BIỂU Bảng 1 Một vài so sánh các cách sắp xếp trật tự câu 18
Bảng 2 Dữ liệu tập mẫu tính xác suất theo phương pháp Naive Bayes 21
Bảng 3 Biểu diễn các đặc trưng của một câu hỏi 52
Bảng 4 Taxonomy câu hỏi 56
Bảng 5 Độ chính xác phân loại câu hỏi với các thuật toán học máy khác nhau 61 Bảng 6 Thông tin phần cứng thực nghiệm 65
Bảng 7 Các công cụ, thư viện sử dụng 65 Bảng 8 Độ chính xác kết quả thực nghiệm SVM với các đặc trưng khác nhau 67
Trang 9TÓM TẮT
Sự phát triển mạnh mẽ của Công nghệ thông tin trong những năm gần đây, đặc biệt trong bối cảnh cuộc cách mạng công nghiệp lần thứ tư đang tác động tới nhiều ngành nghề, nhiều lĩnh vực, trong đó có ngành y tế, đòi hỏi các bệnh viện và các cơ sở y tế phải không ngừng đổi mới để nâng cao chất lượng dịch vụ khám chữa bệnh, nâng cao hiệu suất làm việc của bác sĩ, giảm chi phí khám chữa bệnh, giảm thời gian chờ đợi của bệnh nhân
Ứng dụng những công nghệ mới như : Trí tuệ nhân tạo (AI), Dữ liệu lớn (Big Data), Điện toán đám mây (Cloud Computing), Kết nối vạn vật (IOT), Di động (Mobility), … sẽ giúp các lãnh đạo của bệnh viện và các cơ sở y tế có thể quản lý toàn bộ hoạt động với các số liệu chính xác, trung thực và trực tuyến Việc ứng dụng công nghệ thông tin (CNTT) trong công tác bảo vệ, chăm sóc, nâng cao sức khỏe ở Việt Nam đã có những bước phát triển quan trọng, đặt nền móng xây dựng, triển khai và vận hành nền y tế thông minh
Trí tuệ nhân tạo (AI – Artificial Intelligent) là một ngành của Khoa học máy tính liên quan đến việc mô phỏng các quá trình suy nghĩ và học tập của con người cho máy móc, đặc biệt là cho các hệ thống máy tính Các quá trình này bao gồm việc học tập (thu thập thông tin và thiết lập các quy tắc sử dụng thông tin), lập luận (sử dụng các quy tắc để đạt được kết luận gần đúng hoặc xác định),
và tự sửa lỗi AI gần đây trở nên bùng nổ, nhận được nhiều sự quan tâm là nhờ
Dữ liệu lớn (Big data) phát triển, cho phép xử lý công nghệ AI với tốc độ nhanh hơn bao giờ hết Một số ứng dụng điển hình của AI trong lĩnh vực y tế có thể kể
đến như : (1) Phẫu thuật với sự hỗ trợ của Robot cho phép bác sĩ thực hiện nhiều quy trình phức tạp cùng với sự kiểm soát tốt hơn ; (2) Trợ lý y tá ảo
hướng dẫn và tương tác với bệnh nhân, thực hiện các biện pháp chăm sóc tránh
việc thăm khám không cần thiết ; (3) Hỗ trợ chẩn đoán lâm sàng như phát hiện ung thư, hay việc hỗ trợ đưa ra phác đồ điều trị ; (4)Tự động hóa các tác vụ quản trị giúp tiết kiệm thời gian, giúp giảm bớt khối lượng công việc và nhiệm
vụ quản trị ; (5) Phân tích hình ảnh giúp bác sĩ đưa ra được kết luận chính xác
về các tổn thương trên các hình ảnh X-Quang, CT, MRI,
Đón tiếp và phân loại bệnh nhân là một bài toán quan trọng trong việc
Trang 10đón tiếp bệnh nhân đến thăm khám và điều trị chữa bệnh tại các cơ sở y tế và các bệnh viện Việc đón tiếp liên tục, tự động hóa và nhanh chóng giúp phân luồng và giảm tải cho cơ sở khám chữa bệnh (KCB) để có thể cứu chữa và thăm khám được nhiều bệnh nhân hơn, đồng nghĩa cứu được nhiều mạng người hơn
Từ các yêu cầu thực tế để xây dựng và triển khai một hệ thống có thể tự động đón tiếp khám bệnh, đón tiếp làm cận lâm sàng, hướng dẫn tìm đường, hướng dẫn thủ tục, phân loại khám bệnh cho bệnh nhân dựa vào tập câu hỏi cho trước thay cho cán bộ đón tiếp Để xây dựng được một hệ thống đón tiếp như vậy, tôi thực hiện nghiên cứu các phương pháp phân tích câu hỏi tiếng Việt để tiền xử lý tập lệnh cho hệ thống đón tiếp và phân loại bệnh nhân một cách tự động
Phân loại văn bản là quá trình gán nhãn hoặc phân nhóm cho văn bản theo nội dung của nó Đây là một trong những nhiệm vụ cơ bản của Xử lý ngôn ngữ
tự nhiên với các ứng dụng rộng rãi như : Phân tích cảm xúc (Sentiment analysis), gán nhãn chủ đề (Topic labeling), phát hiện thư rác (Spam detection),
và phát hiện ý định (Intent detection)
Trong khuôn khổ của đề tài này, nghiên cứu các phương pháp Phân tích câu hỏi tiếng Việt và đưa ra một kiến trúc để xây dựng một hệ thống đón tiếp và phân loại bệnh nhân được ứng dụng tại các bệnh viện và cơ sở khám
chữa bệnh
Kết quả chính của mà tôi đạt được là một mô hình phân loại văn để xác định ý định và nhu cầu khám chữa bệnh của người dân, đối với nhóm đối tượng điều trị bệnh mãn tính, nhóm đối tượng tư vấn tổng quát Mô hình ban đầu đã cho kết quả rất tính cực, có thể giải quyết được những vấn đề cơ bản về ngữ nghĩa, ngữ cảnh và tiến tới giải quyết được những yêu cầu cao hơn về việc phân loại và hỗ trợ tự động
Trang 11MỞ ĐẦU
1 Động lực nghiên cứu và tính cấp thiết của bài toán thực tế
Trong bối cảnh mạng Internet đã trở lên rất phổ biến như hiện nay, con người kết nối với con người thông qua mạng xã hội, bất cứ thời gian nào và ở bất cứ nơi đâu Sẽ thật tốt hơn nếu có một hệ thống tự động thông minh hỗ trợ con người bằng cách trò chuyện, có khả năng nhắc nhở, làm trợ lý công việc và
có thể theo dõi tình trạng sức khỏe cá nhân mọi lúc, mọi nơi
Hệ thống trả lời tự động hay trợ lý ảo đang là chủ đề rất nóng từ đầu năm
2016, khi chính thức các công ty lớn như Microsoft, Google, Facebook, Apple, Samsung, WeChat, Slack đã giới thiệu các trợ lý ảo của mình, là các hệ thống trả lời tự động Chính thức đặt cược lớn vào cuộc chơi tạo những những thế hệ trợ lý ảo, với mong muốn tạo ra một trợ lý ảo thực sự thông minh tồn tại trong
hệ sinh thái các sản phẩm của mình
Trong nước, một số công ty như ERM và Vietcare đã phát triển tạo ra hệ thống trả lời tự động về kiến thức y khoa, hỏi đáp về sức khỏe thông tin y tế, hay Subiz, Messnow, Harafunnel, Chatbot Vietnam, … cũng đang cố gắng tạo ra cho mình một hệ thống hỗ trợ, chăm sóc khách hàng và bán hàng tự động
Trong lĩnh vực y tế, một số công ty cũng đã ứng dụng Robot Đón tiếp như một sản phẩm của Trí tuệ nhân tạo, Robot là một sản phẩm của quá trình chuyển đổi số y tế, là nhân tố không thể thiếu trong một bệnh viện thông minh Hỗ trợ hướng dẫn toàn bộ các quy trình từ khám chữa bệnh đến chỉ dẫn, có thể kết nối với hệ thống thông tin y tế khác
Nhiều nhà nghiên cứu đang có hi vọng phát triển các trợ lý ảo có thể hiểu được ngôn ngữ tự nhiên của con người, có thể đối thoại và tương tác được với con người một cách tự nhiên Nhiều người cho rằng việc sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên NLP và các kỹ thuật học sâu Deep Learning để làm tăng được chất lượng và hiệu quả của hệ thống Nhưng từ lý thuyết đến thực tế là cả một chặng đường dài và nhiều thách thức, bằng cách nào đó, con người có thể tích hợp Trí tuệ nhân tạo vào các sản phẩm công nghiệp của mình
Trang 12Có thể thấy, hệ thống trả lời tự động có những nhiệm vụ và vai trò quan trọng, có thể trợ giúp được con người rất nhiều trong rất nhiều lĩnh vực: y tế, giáo dục, thương mại điện tử, …, là động lực to lớn để nghiên cứu và đưa ra các sản phẩm phù hợp ứng dụng vào thực tế
2 Mục tiêu của luận văn
Với cơ sở thực tiễn trên, luận văn này đặt ra mục tiêu nghiên cứu một số phương pháp xử lý ngôn ngữ tự nhiên để phân tích câu hỏi, câu mệnh lệnh, cho phép phân loại các văn bản đầu vào là các câu nói tiếng Việt có tính chất sai khiến, yêu cầu ra lệnh Nhằm giải quyết một phần nhỏ trong một hệ thống Hỏi đáp và Đón tiếp bệnh nhân tại các cơ sở y tế
Từ đó, xây dựng một mô hình phân loại văn bản để dự đoán được ý định của văn bản đầu vào Từ kết quả thu được, sẽ được sử dụng để ứng dụng vào bài toán Đón tiếp và phân loại bệnh nhân đến phòng khám phù hợp tại các cơ sở khám chữa bệnh
3 Cấu trúc của luận văn
Các nghiên cứu và kết quả được mô tả trong luận văn được chia thành bố cục với các nội dung như sau:
CHƯƠNG 1: Giới thiệu tổng quan; Giới thiệu tổng quan về hệ thống trả
lời tự động, tình hình nghiên cứu trong và ngoài nước; Nghiên cứu về cơ sở xử
lý ngôn ngữ tự nhiên và các ứng dụng;tìm hiểu bài toán phân loại văn bản và Các phương pháp phân loại văn bản
CHƯƠNG2: Phân tích câu hỏi trong hệ thống trả lời tự dộng; Nghiên
cứu các vấn đề cơ bản của hệ thống trả lời tự động, tìm hiểu các phương pháp xác định ý định người dùng bằng phương pháp học máy; Nghiên cứu phương pháp đánh giá một hệ thống thống phân lớp ý định
CHƯƠNG3: Xây dựng mô hình và đánh giá thực nghiệm; Đề xuất mô
hình học máy và kiến trúc của ứng dụng, trình bày các kỹ thuật tiền xử lý dữ liệu đầu vào là các câu nói Tiếng Việt có tính chất sai khiến, yêu cầu ra lệnh.Liệt kê các vấn đề và giải pháp khắc phục khi huấn luyện mô hìnhdữ liệu