SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Các bài toán x lý ngôn ng t nhiên
trong phát tri n h th ng chatbot
Ph m Quang Nh t Minh
Vi n nghiên c u công ngh FPT (FTRI)
minhpqn2@fe.edu.vn
Ngày 30 tháng 3 năm 2017
M t s h th ng giao ti p t đ ng
Hình: Chatbot Symptomate1
cho ch n đoán b nh và tr lý o Cortana
1
https://www.facebook.com/Symptomate
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 2/37
Vì sao nhu c u s d ng chatbot ngày càng tăng?
Chatbot h u ích trong các h th ng tr c tuy n v i s lư ng
l n ngư i dùng:
H tr ho c thay th ngư i trong m t s tác v : chăm sóc
khách hàng, h tr đ t hàng, tr l i câu h i, giáo d c,. . .
R t nhi u các n n t ng h tr trò chuy n tr c tuy n:
Facebook messenger, Slack, Skype, Telegram,...
S lư ng ngư i dùng đi n tho i thông minh ngày càng nhi u
Nh ng bư c ti n m i trong ngành AI:
X lý ngôn ng t nhiên
X lý ti ng nói
H c máy
Ngày càng nhi u platform h tr t o chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 3/37
N n t ng h tr phát tri n chatbot
M t s n n t ng h tr phát tri n chatbot:
Watson Conversation Service
Microsoft’s LUIS
Google Natural Language API
Wit.ai
Api.ai
Amazon Lex
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 4/37
Ki n trúc cơ b n c a m t h th ng tr l i t đ ng
Hình: Ki n trúc cơ b n c a m t h th ng tr l i t đ ng2
2
nh l y t cu n sách c a Daniel Jurafsky và James Martin
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 5/37
Hình: Ví d v c u trúc h i tho i c a chatbot. (Ngu n: stanfy.com:
http://tinyurl.com/mdfsa6h)
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 6/37
N i dung trình bày
1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection)
2 Bài toán trích xu t thông tin (named entity extraction)
3 Qu n lý h i tho i (dialogue management)
4 Mô hình sinh h i tho i cho chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 7/37
N i dung trình bày
1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection)
2 Bài toán trích xu t thông tin (named entity extraction)
3 Qu n lý h i tho i (dialogue management)
4 Mô hình sinh h i tho i cho chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 8/37
Ý đ nh (intent) là gì?
Intent: Đi u ngư i dùng mong mu n chatbot th c hi n (h
tr ) khi đưa ra câu h i tho i
Ví d , khi ngư i dùng mu n chatbot đưa ra thông tin v th i
ti t hôm nay
Th i ti t hôm nay th nào ad?
Hà N i hôm nay có mưa không v y?
Tr i hôm nay th nào b n?
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 9/37
T i sao xác đ nh intent quan tr ng?
Intent đư c xác đ nh s quy t đ nh c u trúc (frame) và k ch
b n (script) c a đo n h i tho i ti p theo.
N u chatbot xác đ nh sai intent:
Ph n h i không thích h p → Ngư i dùng không hài lòng →
R i b h th ng
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 10/37
Các v n đ trong bài toán xác đ nh intent (1)
Làm sao đ nh n bi t nh ng cách di n đ t khác nhau cho cùng
m t intent?
Ví d , t “lag“ và “ch m“ trong 2 câu sau mang cùng ng
nghĩa
Ad ơi, sao m ng nhà em d o này ch m th ?
M ng lag l m, dùng r t c ch .
Ngư i dùng có th dùng câu h i, câu c u khi n hay câu than
phi n khi đưa ra yêu c u h tr
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 11/37
Các v n đ trong bài toán xác đ nh intent (2)
X lý v n đ sai chính t
Ví d : “Ad ơi, m ng chaamj l m“
Trong ti ng Vi t, chúng ta có th ph i x lý v n đ ti ng Vi t
không d u và mix gi a có d u và không d u.
X lý các t vi t t t, ngôn ng chat
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 12/37
Cách ti p c n h c máy cho bài toán xác đ nh intent
Trong nh ng nh ng mi n ng d ng đóng (closed domain)
S lư ng intent là h u h n
Mô hình phân l p văn b n (text classification)
Hu n luy n mô hình phân l p intent t m t t p d li u hu n
luy n
intent text
order.pizza i want a small pizza with tomatos
order.pizza i want a pizza with bbq souce
order.pizza pizza delivery
greeting Hi
greeting Hello
...
B ng: Ví d v d li u hu n luy n cho chatbot ph c v order pizza
(Api.ai)
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 13/37
Mô hình phân l p intent
Hình: Ki n trúc h th ng phân l p intent
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 14/37
Ti n x lý d li u
Tách t (word segmentation)
X lý t gõ sai chính t (ví d m ng chaamj)
X lý t vi t t t (ví d : gõ ip thay vì iphone)
POS Tagging
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 15/37
Trích xu t đ c trưng
Bag-of-words
Hi n t i intent detection t i FPT.AI đang s d ng bag-of-word
features
tf-idf features
...
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 16/37
Thu t toán hu n luy n mô hình phân l p
Thu t toán phân l p ph bi n:
Support Vector Machines (SVM)
Random Forest
Quora đang s d ng đ phát hi n câu h i trùng l p
Neural Networks
FPT.AI s d ng mô hình m ng Neural Feed Forward v i m t
t ng n
S d ng thư vi n keras v i Theano backed end.
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 17/37
Đánh giá đ chính xác c a h th ng phân l p intent
Mô hình đánh giá 5-fold cross validation
Phân chia t p d li u thành 5 t p con
M i l n s d ng 4 t p con cho hu n luy n mô hình và test
trên t p còn l i
Đ đo: accuracy trên t p test
Tính trung bình cho 5 l n ch y
Engine Đ chính xác
Fpt.ai 0.85424
Wit.ai 0.83419
B ng: Đ chính xác trên t p d li u FTel
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 18/37
N i dung trình bày
1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection)
2 Bài toán trích xu t thông tin (named entity extraction)
3 Qu n lý h i tho i (dialogue management)
4 Mô hình sinh h i tho i cho chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 19/37
Hình: Ví d v c u trúc h i tho i c a chatbot. (Ngu n: stanfy.com:
http://tinyurl.com/mdfsa6h)
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 20/37
Các lo i th c th mà NLU thư ng h tr
V trí (Location)
Th i gian (Datetime)
S (Number)
Đ a ch liên l c (Contact)
Kho ng cách (Distance)
Kho ng th i gian (Duration)
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 21/37
Ví d đ u vào & đ u ra c a module trích xu t thông tin
Tôi mu n đ t vé máy bay đi Phú Qu c t sân bay N i Bài lúc 8
gi t i ngày mai.
Tôi mu n đ t vé máy bay đi <ENTITY TYPE="LOCATION">
Phú Qu c </ENTITY> t sân bay <ENTITY
TYPE="LOCATION"> N i Bài </ENTITY> lúc <ENTITY
TYPE="TIME"> 8 gi t i ngày mai </ENTITY>.
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 22/37
Mô hình gán nhãn chu i - sequence labeling
Sequence labeling là mô hình hay đư c s d ng cho bài toán
trích xu t thông tin.
Chúng ta có m t t p d li u bao g m các câu đư c gán nhãn
cho t ng t trong câu
Tôi/O mu n/O đ t/O vé/O máy/O bay/O đi/O
Phú_Qu c/B-LOCATION t /NA sân/NA bay/NA
N i_Bài/B-LOCATION lúc/NA 8/B-TIME gi /I-TIME
t i/I-TIME ngày/I-TIME mai/I-TIME.
Mô hình gán nhãn B-I-O
B: Beginning, I: Inside, O: Outside
Bài toán: Hu n luy n m t mô hình gán nhãn cho m t câu m i
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 23/37
Mô hình Conditional Random Fields (CRF)
Ý tư ng chính: Mô hình hoá xác su t đi u ki n c a m t chu i các
nhãn v i m t dãy các t cho trư c.
Mô hình hoá P(Y |X) t d li u.
V i m t câu X cho trư c, dãy các nhãn đư c ch n sao cho giá tr
P(Y |X) đ t giá tr c c đ i.
Công c : CRFsuite3, CRF++4, Mallet5,etc
3
http://www.chokkan.org/software/crfsuite/
4
https://taku910.github.io/crfpp/
5
http://mallet.cs.umass.edu/
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 24/37
N i dung trình bày
1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection)
2 Bài toán trích xu t thông tin (named entity extraction)
3 Qu n lý h i tho i (dialogue management)
4 Mô hình sinh h i tho i cho chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 25/37
Vai trò c a qu n lý h i tho i (Dialogue Manager)
Nh n đ u vào t thành ph n NLU
Qu n lý các tr ng thái h i tho i (dialogue state)
Qu n lý ng c nh h i tho i (dialogue context)
Truy n đ u ra cho thành ph n sinh ngôn ng
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 26/37
Các mô hình qu n lý h i tho i ph bi n
Mô hình d a trên máy tr ng thái h u h n (Finite State
Automata - FSA)
Mô hình d a trên frame (frame-based hay form-based)
K t h p gi a hai mô hình trên
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 27/37
Mô hình FSA
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 28/37
Mô hình qu n lý dialogue d a trên Frame
Gi i quy t như c đi m c a FSA khi ngư i dùng đưa cùng lúc
nhi u thông tin
T i m i tr ng thái, FSA ch nh n 1 câu tr l i cho 1 câu h i
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
Dialogue Manager s h i cho đ n khi các slot đư c đi n h t
Slot Câu h i
H tên Xin quý khách cho bi t h tên
S đi n tho i S đi n tho i c a quý khách là gì ?
Tên gói Internet Gói Internet mà quý khách đang dùng là
gì ?
T c đ Internet th c t T c đ vào Internet c a quý khách
hi n th i là bao nhiêu ?
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 29/37
Mô hình qu n lý dialogue d a trên Frame
Trong m t h i tho i có th có nhi u hơn 1 frame
Ví d : khách hàng có th v a h i v v n đ m ng ch m, v a
mu n đ i gói Internet
Dialogue manager c n bi t khi nào thì c n chuy n sang frame
khác
Đ nh nghĩa các lu t (production rule) đ chuy n gi a các frame
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 30/37
N i dung trình bày
1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection)
2 Bài toán trích xu t thông tin (named entity extraction)
3 Qu n lý h i tho i (dialogue management)
4 Mô hình sinh h i tho i cho chatbot
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 31/37
Ý tư ng chính c a mô hình sinh h i tho i (1)
Như c đi m c a mô hình truy xu t thông tin (phát hi n
intent và tr l i d a trên các m u có s n)
T n công xây d ng d li u hu n luy n và các m u tr l i
Không t n d ng đư c các h i tho i đã có
Ví d : gi a các nhân viên chăm sóc khách hàng và ngư i dùng
Ý tư ng: T n d ng các h i tho i đã có đ t đ ng sinh h i
tho i
Chatbot h c theo cách tr l i c a con ngư i trong các đo n
h i tho i trong quá kh
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 32/37
Ý tư ng chính c a mô hình sinh h i tho i (2)
Ví d v đo n h i tho i trong d li u IT Helpdesk [Vinyals
and Le 2015]6
Describe your problem: i am having issues accessing vpn
Machine: could you please let me know what are the operating
systems you are using ?
Human: i am using linux
Machine: ok it was in the ssl vpn on which you stated it was
broken
Machine: please check if you are logged in to corp network
Machine: what is the error that you are running please
Human: i am seeing an error related to vpn
Machine: what is the error message that you are getting when
connecting to vpn using network connect ?
Human: connection refused or something like that
Machine: may i know the version of network connect you
connect ?
6
https://arxiv.org/abs/1506.05869
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 33/37
Ý tư ng chính c a mô hình sinh h i tho i (3)
Chatbot theo mô hình sinh b t chư c các t ng trong câu
h i tho i c a nhân viên h tr
....
Machine: try this
Machine: goto <URL> page and enter your name and
password
Human: done
Machine: try logging in with <NAME> and check if its
working fine now
Human: yes , now it works !
Machine: great
(The <URL> indeed contains information about vpn access.)
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 34/37
Mô hình sinh h i tho i s d ng Deep Learning
Mô hình "sequence to sequence"
Gi i thi u trong bài báo "Sequence to Sequence Learning with
Neural Networks"7
Hình: Minh ho mô hình sequence-to-sequence8
7
http://tinyurl.com/kr57pde
8
https://github.com/farizrahman4u/seq2seq
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 35/37
Đ c đi m c a mô hình sinh h i tho i (neural chatbot)
Không c n d li u gán nhãn ho c c n lư ng d li u gán nhãn
ít hơn r t nhi u so v i mô hình chatbot truy n th ng
M t mô hình duy nh t h c tr c ti p t d li u h i tho i
C n d li u h i tho i l n
Mô hình không th c s ph n nh b n ch t c a h i tho i gi a
ngư i v i ngư i
Ch t lư ng h i tho i sinh ra ph thu c l n vào d li u h i
tho i
Chatbot Tay AI c a Microsoft phân bi t ch ng t c do b ngư i
dùng "hu n luy n"
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 36/37
Tóm t t n i dung đã trình bày
Các bài toán NLP cơ b n trong cách ti p c n truy n th ng
trong phát tri n chatbot
Xác đ nh intent
Trích xu t thông tin
Qu n lý h i tho i
Cách ti p c n truy n th ng
Là mô hình chatbot ph bi n trong các s n ph m chatbot
th c t
Theo mô hình truy xu t thông tin
C n nhi u d li u hu n luy n và lu t chu n b b ng tay
Thích h p cho mi n ng d ng đóng
Neural chatbot: cách ti p c n m i trong phát tri n chatbot
H c t d li u h i tho i theo mô hình “sequence to sequence“
trong Deep learning.
Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 37/37

Contenu connexe

Tendances

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTHiệu Nguyễn
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...GMO-Z.com Vietnam Lab Center
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhHoat Thai Van
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT NguynMinh294
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thácletranganh
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Dịch vụ Làm Luận Văn 0936885877
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdf
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdfGiáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdf
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdfMan_Ebook
 
Tương tác người-máy
Tương tác người-máyTương tác người-máy
Tương tác người-máyAlice_Stone
 

Tendances (20)

Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Luận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOTLuận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOT
 
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...
Ứng dụng NLP vào việc xác định ý muốn người dùng (Intent Detection) và sửa lỗ...
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đĐề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thác
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SENĐề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
 
Chuong+1 2-3-4
Chuong+1 2-3-4Chuong+1 2-3-4
Chuong+1 2-3-4
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdf
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdfGiáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdf
Giáo trình lập trình Python căn bản - Trần Nhật Quang, Phạm Văn Khoa.pdf
 
Tương tác người-máy
Tương tác người-máyTương tác người-máy
Tương tác người-máy
 

En vedette

Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processingMinh Pham
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 
Natural language processing
Natural language processingNatural language processing
Natural language processingHansi Thenuwara
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
Manual de serviço cg125 titan ks es cg125 cargo rodatras
Manual de serviço cg125 titan ks es cg125 cargo rodatrasManual de serviço cg125 titan ks es cg125 cargo rodatras
Manual de serviço cg125 titan ks es cg125 cargo rodatrasThiago Huari
 
Data Mining on Twitter
Data Mining on TwitterData Mining on Twitter
Data Mining on TwitterPulkit Goyal
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)WSO2
 
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.Pham Phuoc Nguyen
 
The Butterfly Effect
The Butterfly EffectThe Butterfly Effect
The Butterfly Effectjulieadamen
 
Kaggle presentation
Kaggle presentationKaggle presentation
Kaggle presentationHJ van Veen
 
A Secure Model of IoT Using Blockchain
A Secure Model of IoT Using BlockchainA Secure Model of IoT Using Blockchain
A Secure Model of IoT Using BlockchainAltoros
 
Chaos Theory And Strategy: Theory Application And Managerial Implications
Chaos Theory And Strategy: Theory Application And Managerial ImplicationsChaos Theory And Strategy: Theory Application And Managerial Implications
Chaos Theory And Strategy: Theory Application And Managerial ImplicationsTaimur Khan
 
Chaos theory the butterfly effect
Chaos theory the butterfly effectChaos theory the butterfly effect
Chaos theory the butterfly effectAssaad Moawad
 

En vedette (20)

Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processing
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
Manual de serviço cg125 titan ks es cg125 cargo rodatras
Manual de serviço cg125 titan ks es cg125 cargo rodatrasManual de serviço cg125 titan ks es cg125 cargo rodatras
Manual de serviço cg125 titan ks es cg125 cargo rodatras
 
Thực tập GameLoft SAI1
Thực tập GameLoft SAI1Thực tập GameLoft SAI1
Thực tập GameLoft SAI1
 
Nivea "Gesti d'Amore"
Nivea "Gesti d'Amore"Nivea "Gesti d'Amore"
Nivea "Gesti d'Amore"
 
Laravel 5 framework
Laravel 5 frameworkLaravel 5 framework
Laravel 5 framework
 
Our roots
Our rootsOur roots
Our roots
 
Data Mining on Twitter
Data Mining on TwitterData Mining on Twitter
Data Mining on Twitter
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.
Bí Quyết nhắm đối tượng khi Quảng cáo Bất Động Sản - by Phạm Phước Nguyên.
 
The Butterfly Effect
The Butterfly EffectThe Butterfly Effect
The Butterfly Effect
 
Kaggle presentation
Kaggle presentationKaggle presentation
Kaggle presentation
 
Butterfly effect
Butterfly effectButterfly effect
Butterfly effect
 
A Secure Model of IoT Using Blockchain
A Secure Model of IoT Using BlockchainA Secure Model of IoT Using Blockchain
A Secure Model of IoT Using Blockchain
 
Chaos Theory And Strategy: Theory Application And Managerial Implications
Chaos Theory And Strategy: Theory Application And Managerial ImplicationsChaos Theory And Strategy: Theory Application And Managerial Implications
Chaos Theory And Strategy: Theory Application And Managerial Implications
 
Chaos theory the butterfly effect
Chaos theory the butterfly effectChaos theory the butterfly effect
Chaos theory the butterfly effect
 

Similaire à Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot

trí tuệ nhân tạo AI.pdf
trí tuệ nhân tạo AI.pdftrí tuệ nhân tạo AI.pdf
trí tuệ nhân tạo AI.pdfQucHiNguynT
 
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTPrompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTMinh Pham
 
[1]he thong thong tin quan ly th s_nguyenanhhao
[1]he thong thong tin quan ly th s_nguyenanhhao[1]he thong thong tin quan ly th s_nguyenanhhao
[1]he thong thong tin quan ly th s_nguyenanhhaoBichtram Nguyen
 
01. Giới thiệu chatbot.pdf
01. Giới thiệu chatbot.pdf01. Giới thiệu chatbot.pdf
01. Giới thiệu chatbot.pdftungdinhthanh3
 
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đông
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đôngPresentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đông
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đôngthanhnguyendinh
 
69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tin
69 câu hỏi phỏng vấn kỹ  sư Công nghệ Thông tin69 câu hỏi phỏng vấn kỹ  sư Công nghệ Thông tin
69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tinVu Hung Nguyen
 
Báo Cáo Cuối Kỳ Cá Nhân.pptx
Báo Cáo Cuối Kỳ Cá Nhân.pptxBáo Cáo Cuối Kỳ Cá Nhân.pptx
Báo Cáo Cuối Kỳ Cá Nhân.pptxcAnhTrn53
 
Một số vấn đề về giao diện
Một số vấn đề về giao diệnMột số vấn đề về giao diện
Một số vấn đề về giao diệnNguyen Tran
 

Similaire à Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot (11)

trí tuệ nhân tạo AI.pdf
trí tuệ nhân tạo AI.pdftrí tuệ nhân tạo AI.pdf
trí tuệ nhân tạo AI.pdf
 
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPTPrompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
Prompt Engineering Tutorial: Cách viết prompt hiệu quả với ChatGPT
 
[1]he thong thong tin quan ly th s_nguyenanhhao
[1]he thong thong tin quan ly th s_nguyenanhhao[1]he thong thong tin quan ly th s_nguyenanhhao
[1]he thong thong tin quan ly th s_nguyenanhhao
 
01. Giới thiệu chatbot.pdf
01. Giới thiệu chatbot.pdf01. Giới thiệu chatbot.pdf
01. Giới thiệu chatbot.pdf
 
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đông
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đôngPresentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đông
Presentation skill Rèn luyện kỹ năng thuyết trình và nói trước đám đông
 
10 bai tap
10 bai tap10 bai tap
10 bai tap
 
69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tin
69 câu hỏi phỏng vấn kỹ  sư Công nghệ Thông tin69 câu hỏi phỏng vấn kỹ  sư Công nghệ Thông tin
69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tin
 
DetaiBTL
DetaiBTLDetaiBTL
DetaiBTL
 
Chuong 2 phan tich cong viec
Chuong 2 phan tich cong viecChuong 2 phan tich cong viec
Chuong 2 phan tich cong viec
 
Báo Cáo Cuối Kỳ Cá Nhân.pptx
Báo Cáo Cuối Kỳ Cá Nhân.pptxBáo Cáo Cuối Kỳ Cá Nhân.pptx
Báo Cáo Cuối Kỳ Cá Nhân.pptx
 
Một số vấn đề về giao diện
Một số vấn đề về giao diệnMột số vấn đề về giao diện
Một số vấn đề về giao diện
 

Plus de Minh Pham

AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...
AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...
AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...Minh Pham
 
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...Minh Pham
 
Research methods for engineering students (v.2020)
Research methods for engineering students (v.2020)Research methods for engineering students (v.2020)
Research methods for engineering students (v.2020)Minh Pham
 
Giới thiệu về AIML
Giới thiệu về AIMLGiới thiệu về AIML
Giới thiệu về AIMLMinh Pham
 
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiênMạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiênMinh Pham
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingMinh Pham
 
Deep Contexualized Representation
Deep Contexualized RepresentationDeep Contexualized Representation
Deep Contexualized RepresentationMinh Pham
 
Research Methods in Natural Language Processing (2018 version)
Research Methods in Natural Language Processing (2018 version)Research Methods in Natural Language Processing (2018 version)
Research Methods in Natural Language Processing (2018 version)Minh Pham
 
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...Minh Pham
 
Về kỹ thuật Attention trong mô hình sequence-to-sequence tại hội nghị ACL 2017
Về kỹ thuật Attention trong mô hình sequence-to-sequence  tại hội nghị ACL 2017Về kỹ thuật Attention trong mô hình sequence-to-sequence  tại hội nghị ACL 2017
Về kỹ thuật Attention trong mô hình sequence-to-sequence tại hội nghị ACL 2017Minh Pham
 
Research Methods in Natural Language Processing
Research Methods in Natural Language ProcessingResearch Methods in Natural Language Processing
Research Methods in Natural Language ProcessingMinh Pham
 

Plus de Minh Pham (11)

AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...
AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...
AimeLaw at ALQAC 2021: Enriching Neural Network Models with Legal-Domain Know...
 
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...
A Multimodal Ensemble Model for Detecting Unreliable Information on Vietnames...
 
Research methods for engineering students (v.2020)
Research methods for engineering students (v.2020)Research methods for engineering students (v.2020)
Research methods for engineering students (v.2020)
 
Giới thiệu về AIML
Giới thiệu về AIMLGiới thiệu về AIML
Giới thiệu về AIML
 
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiênMạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên
Mạng neural nhân tạo và ứng dụng trong xử lý ngôn ngữ tự nhiên
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Deep Contexualized Representation
Deep Contexualized RepresentationDeep Contexualized Representation
Deep Contexualized Representation
 
Research Methods in Natural Language Processing (2018 version)
Research Methods in Natural Language Processing (2018 version)Research Methods in Natural Language Processing (2018 version)
Research Methods in Natural Language Processing (2018 version)
 
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
 
Về kỹ thuật Attention trong mô hình sequence-to-sequence tại hội nghị ACL 2017
Về kỹ thuật Attention trong mô hình sequence-to-sequence  tại hội nghị ACL 2017Về kỹ thuật Attention trong mô hình sequence-to-sequence  tại hội nghị ACL 2017
Về kỹ thuật Attention trong mô hình sequence-to-sequence tại hội nghị ACL 2017
 
Research Methods in Natural Language Processing
Research Methods in Natural Language ProcessingResearch Methods in Natural Language Processing
Research Methods in Natural Language Processing
 

Các bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot

  • 1. Các bài toán x lý ngôn ng t nhiên trong phát tri n h th ng chatbot Ph m Quang Nh t Minh Vi n nghiên c u công ngh FPT (FTRI) minhpqn2@fe.edu.vn Ngày 30 tháng 3 năm 2017
  • 2. M t s h th ng giao ti p t đ ng Hình: Chatbot Symptomate1 cho ch n đoán b nh và tr lý o Cortana 1 https://www.facebook.com/Symptomate Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 2/37
  • 3. Vì sao nhu c u s d ng chatbot ngày càng tăng? Chatbot h u ích trong các h th ng tr c tuy n v i s lư ng l n ngư i dùng: H tr ho c thay th ngư i trong m t s tác v : chăm sóc khách hàng, h tr đ t hàng, tr l i câu h i, giáo d c,. . . R t nhi u các n n t ng h tr trò chuy n tr c tuy n: Facebook messenger, Slack, Skype, Telegram,... S lư ng ngư i dùng đi n tho i thông minh ngày càng nhi u Nh ng bư c ti n m i trong ngành AI: X lý ngôn ng t nhiên X lý ti ng nói H c máy Ngày càng nhi u platform h tr t o chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 3/37
  • 4. N n t ng h tr phát tri n chatbot M t s n n t ng h tr phát tri n chatbot: Watson Conversation Service Microsoft’s LUIS Google Natural Language API Wit.ai Api.ai Amazon Lex Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 4/37
  • 5. Ki n trúc cơ b n c a m t h th ng tr l i t đ ng Hình: Ki n trúc cơ b n c a m t h th ng tr l i t đ ng2 2 nh l y t cu n sách c a Daniel Jurafsky và James Martin Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 5/37
  • 6. Hình: Ví d v c u trúc h i tho i c a chatbot. (Ngu n: stanfy.com: http://tinyurl.com/mdfsa6h) Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 6/37
  • 7. N i dung trình bày 1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection) 2 Bài toán trích xu t thông tin (named entity extraction) 3 Qu n lý h i tho i (dialogue management) 4 Mô hình sinh h i tho i cho chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 7/37
  • 8. N i dung trình bày 1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection) 2 Bài toán trích xu t thông tin (named entity extraction) 3 Qu n lý h i tho i (dialogue management) 4 Mô hình sinh h i tho i cho chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 8/37
  • 9. Ý đ nh (intent) là gì? Intent: Đi u ngư i dùng mong mu n chatbot th c hi n (h tr ) khi đưa ra câu h i tho i Ví d , khi ngư i dùng mu n chatbot đưa ra thông tin v th i ti t hôm nay Th i ti t hôm nay th nào ad? Hà N i hôm nay có mưa không v y? Tr i hôm nay th nào b n? Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 9/37
  • 10. T i sao xác đ nh intent quan tr ng? Intent đư c xác đ nh s quy t đ nh c u trúc (frame) và k ch b n (script) c a đo n h i tho i ti p theo. N u chatbot xác đ nh sai intent: Ph n h i không thích h p → Ngư i dùng không hài lòng → R i b h th ng Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 10/37
  • 11. Các v n đ trong bài toán xác đ nh intent (1) Làm sao đ nh n bi t nh ng cách di n đ t khác nhau cho cùng m t intent? Ví d , t “lag“ và “ch m“ trong 2 câu sau mang cùng ng nghĩa Ad ơi, sao m ng nhà em d o này ch m th ? M ng lag l m, dùng r t c ch . Ngư i dùng có th dùng câu h i, câu c u khi n hay câu than phi n khi đưa ra yêu c u h tr Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 11/37
  • 12. Các v n đ trong bài toán xác đ nh intent (2) X lý v n đ sai chính t Ví d : “Ad ơi, m ng chaamj l m“ Trong ti ng Vi t, chúng ta có th ph i x lý v n đ ti ng Vi t không d u và mix gi a có d u và không d u. X lý các t vi t t t, ngôn ng chat Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 12/37
  • 13. Cách ti p c n h c máy cho bài toán xác đ nh intent Trong nh ng nh ng mi n ng d ng đóng (closed domain) S lư ng intent là h u h n Mô hình phân l p văn b n (text classification) Hu n luy n mô hình phân l p intent t m t t p d li u hu n luy n intent text order.pizza i want a small pizza with tomatos order.pizza i want a pizza with bbq souce order.pizza pizza delivery greeting Hi greeting Hello ... B ng: Ví d v d li u hu n luy n cho chatbot ph c v order pizza (Api.ai) Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 13/37
  • 14. Mô hình phân l p intent Hình: Ki n trúc h th ng phân l p intent Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 14/37
  • 15. Ti n x lý d li u Tách t (word segmentation) X lý t gõ sai chính t (ví d m ng chaamj) X lý t vi t t t (ví d : gõ ip thay vì iphone) POS Tagging Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 15/37
  • 16. Trích xu t đ c trưng Bag-of-words Hi n t i intent detection t i FPT.AI đang s d ng bag-of-word features tf-idf features ... Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 16/37
  • 17. Thu t toán hu n luy n mô hình phân l p Thu t toán phân l p ph bi n: Support Vector Machines (SVM) Random Forest Quora đang s d ng đ phát hi n câu h i trùng l p Neural Networks FPT.AI s d ng mô hình m ng Neural Feed Forward v i m t t ng n S d ng thư vi n keras v i Theano backed end. Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 17/37
  • 18. Đánh giá đ chính xác c a h th ng phân l p intent Mô hình đánh giá 5-fold cross validation Phân chia t p d li u thành 5 t p con M i l n s d ng 4 t p con cho hu n luy n mô hình và test trên t p còn l i Đ đo: accuracy trên t p test Tính trung bình cho 5 l n ch y Engine Đ chính xác Fpt.ai 0.85424 Wit.ai 0.83419 B ng: Đ chính xác trên t p d li u FTel Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 18/37
  • 19. N i dung trình bày 1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection) 2 Bài toán trích xu t thông tin (named entity extraction) 3 Qu n lý h i tho i (dialogue management) 4 Mô hình sinh h i tho i cho chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 19/37
  • 20. Hình: Ví d v c u trúc h i tho i c a chatbot. (Ngu n: stanfy.com: http://tinyurl.com/mdfsa6h) Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 20/37
  • 21. Các lo i th c th mà NLU thư ng h tr V trí (Location) Th i gian (Datetime) S (Number) Đ a ch liên l c (Contact) Kho ng cách (Distance) Kho ng th i gian (Duration) Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 21/37
  • 22. Ví d đ u vào & đ u ra c a module trích xu t thông tin Tôi mu n đ t vé máy bay đi Phú Qu c t sân bay N i Bài lúc 8 gi t i ngày mai. Tôi mu n đ t vé máy bay đi <ENTITY TYPE="LOCATION"> Phú Qu c </ENTITY> t sân bay <ENTITY TYPE="LOCATION"> N i Bài </ENTITY> lúc <ENTITY TYPE="TIME"> 8 gi t i ngày mai </ENTITY>. Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 22/37
  • 23. Mô hình gán nhãn chu i - sequence labeling Sequence labeling là mô hình hay đư c s d ng cho bài toán trích xu t thông tin. Chúng ta có m t t p d li u bao g m các câu đư c gán nhãn cho t ng t trong câu Tôi/O mu n/O đ t/O vé/O máy/O bay/O đi/O Phú_Qu c/B-LOCATION t /NA sân/NA bay/NA N i_Bài/B-LOCATION lúc/NA 8/B-TIME gi /I-TIME t i/I-TIME ngày/I-TIME mai/I-TIME. Mô hình gán nhãn B-I-O B: Beginning, I: Inside, O: Outside Bài toán: Hu n luy n m t mô hình gán nhãn cho m t câu m i Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 23/37
  • 24. Mô hình Conditional Random Fields (CRF) Ý tư ng chính: Mô hình hoá xác su t đi u ki n c a m t chu i các nhãn v i m t dãy các t cho trư c. Mô hình hoá P(Y |X) t d li u. V i m t câu X cho trư c, dãy các nhãn đư c ch n sao cho giá tr P(Y |X) đ t giá tr c c đ i. Công c : CRFsuite3, CRF++4, Mallet5,etc 3 http://www.chokkan.org/software/crfsuite/ 4 https://taku910.github.io/crfpp/ 5 http://mallet.cs.umass.edu/ Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 24/37
  • 25. N i dung trình bày 1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection) 2 Bài toán trích xu t thông tin (named entity extraction) 3 Qu n lý h i tho i (dialogue management) 4 Mô hình sinh h i tho i cho chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 25/37
  • 26. Vai trò c a qu n lý h i tho i (Dialogue Manager) Nh n đ u vào t thành ph n NLU Qu n lý các tr ng thái h i tho i (dialogue state) Qu n lý ng c nh h i tho i (dialogue context) Truy n đ u ra cho thành ph n sinh ngôn ng Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 26/37
  • 27. Các mô hình qu n lý h i tho i ph bi n Mô hình d a trên máy tr ng thái h u h n (Finite State Automata - FSA) Mô hình d a trên frame (frame-based hay form-based) K t h p gi a hai mô hình trên Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 27/37
  • 28. Mô hình FSA Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 28/37
  • 29. Mô hình qu n lý dialogue d a trên Frame Gi i quy t như c đi m c a FSA khi ngư i dùng đưa cùng lúc nhi u thông tin T i m i tr ng thái, FSA ch nh n 1 câu tr l i cho 1 câu h i 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 Dialogue Manager s h i cho đ n khi các slot đư c đi n h t Slot Câu h i H tên Xin quý khách cho bi t h tên S đi n tho i S đi n tho i c a quý khách là gì ? Tên gói Internet Gói Internet mà quý khách đang dùng là gì ? T c đ Internet th c t T c đ vào Internet c a quý khách hi n th i là bao nhiêu ? Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 29/37
  • 30. Mô hình qu n lý dialogue d a trên Frame Trong m t h i tho i có th có nhi u hơn 1 frame Ví d : khách hàng có th v a h i v v n đ m ng ch m, v a mu n đ i gói Internet Dialogue manager c n bi t khi nào thì c n chuy n sang frame khác Đ nh nghĩa các lu t (production rule) đ chuy n gi a các frame Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 30/37
  • 31. N i dung trình bày 1 Bài toán xác đ nh ý đ nh ngư i dùng (intent detection) 2 Bài toán trích xu t thông tin (named entity extraction) 3 Qu n lý h i tho i (dialogue management) 4 Mô hình sinh h i tho i cho chatbot Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 31/37
  • 32. Ý tư ng chính c a mô hình sinh h i tho i (1) Như c đi m c a mô hình truy xu t thông tin (phát hi n intent và tr l i d a trên các m u có s n) T n công xây d ng d li u hu n luy n và các m u tr l i Không t n d ng đư c các h i tho i đã có Ví d : gi a các nhân viên chăm sóc khách hàng và ngư i dùng Ý tư ng: T n d ng các h i tho i đã có đ t đ ng sinh h i tho i Chatbot h c theo cách tr l i c a con ngư i trong các đo n h i tho i trong quá kh Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 32/37
  • 33. Ý tư ng chính c a mô hình sinh h i tho i (2) Ví d v đo n h i tho i trong d li u IT Helpdesk [Vinyals and Le 2015]6 Describe your problem: i am having issues accessing vpn Machine: could you please let me know what are the operating systems you are using ? Human: i am using linux Machine: ok it was in the ssl vpn on which you stated it was broken Machine: please check if you are logged in to corp network Machine: what is the error that you are running please Human: i am seeing an error related to vpn Machine: what is the error message that you are getting when connecting to vpn using network connect ? Human: connection refused or something like that Machine: may i know the version of network connect you connect ? 6 https://arxiv.org/abs/1506.05869 Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 33/37
  • 34. Ý tư ng chính c a mô hình sinh h i tho i (3) Chatbot theo mô hình sinh b t chư c các t ng trong câu h i tho i c a nhân viên h tr .... Machine: try this Machine: goto <URL> page and enter your name and password Human: done Machine: try logging in with <NAME> and check if its working fine now Human: yes , now it works ! Machine: great (The <URL> indeed contains information about vpn access.) Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 34/37
  • 35. Mô hình sinh h i tho i s d ng Deep Learning Mô hình "sequence to sequence" Gi i thi u trong bài báo "Sequence to Sequence Learning with Neural Networks"7 Hình: Minh ho mô hình sequence-to-sequence8 7 http://tinyurl.com/kr57pde 8 https://github.com/farizrahman4u/seq2seq Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 35/37
  • 36. Đ c đi m c a mô hình sinh h i tho i (neural chatbot) Không c n d li u gán nhãn ho c c n lư ng d li u gán nhãn ít hơn r t nhi u so v i mô hình chatbot truy n th ng M t mô hình duy nh t h c tr c ti p t d li u h i tho i C n d li u h i tho i l n Mô hình không th c s ph n nh b n ch t c a h i tho i gi a ngư i v i ngư i Ch t lư ng h i tho i sinh ra ph thu c l n vào d li u h i tho i Chatbot Tay AI c a Microsoft phân bi t ch ng t c do b ngư i dùng "hu n luy n" Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 36/37
  • 37. Tóm t t n i dung đã trình bày Các bài toán NLP cơ b n trong cách ti p c n truy n th ng trong phát tri n chatbot Xác đ nh intent Trích xu t thông tin Qu n lý h i tho i Cách ti p c n truy n th ng Là mô hình chatbot ph bi n trong các s n ph m chatbot th c t Theo mô hình truy xu t thông tin C n nhi u d li u hu n luy n và lu t chu n b b ng tay Thích h p cho mi n ng d ng đóng Neural chatbot: cách ti p c n m i trong phát tri n chatbot H c t d li u h i tho i theo mô hình “sequence to sequence“ trong Deep learning. Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 37/37