O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

6.507 visualizações

Publicada em

Trình bày về những bài toán xử lý ngôn ngữ tự nhiên trong phát triển hệ thống chatbot theo mô hình truy xuất thông tin. Ngoài ra mô hình sinh hội thoại sử dụng mạng Neural cũng được đề cập (neural chatbot)

Publicada em: Dados e análise
  • Seja o primeiro a comentar

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 28. Mô hình FSA Ph m Quang Nh t Minh Các v n đ NLP trong chatbot 28/37
  29. 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. 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. 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. 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. 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. 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. 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. 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. 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

×