Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)

52 230 0
Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)

Đ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

Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỮU CƢỜNG NGHIÊN CỨU HỆ THỐNG TRỢ THÔNG MINH ẢO LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỮU CƢỜNG NGHIÊN CỨU HỆ THỐNG TRỢ THÔNG MINH ẢO Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Ngƣời hƣớng dẫn khoa học: TS Nguyễn Văn Vinh Hà Nội - 2017 LỜI Đ N Tơi Nguyễn Hữu Cườ g h iên khóa K21, ngành Công nghẹ thông tin, chuyên ngành Hẹ Thố g Th g Ti T i i ạn va “Nghiê ứu hệ thống trợ thông minh ảo i ghiê ứ hi ph i i s hu ng d TS Nguyễn Van Vinh Luạn va h g hải h i iẹu, c g h ghiê ứ g ời khác mà không ghi rõ tài liẹ h T i i h h nhiẹm v ời Hà Nội, ngày 05 tháng 04 nam 2017 LỜI Ả N Đ iê i i g i ời ả n t i th y cô Truờng Đại h ông nghẹ, Đại h Q ố Gi H N i ã ạn t h giả g ạ i g ố h h h T i g i ợc g i lời ả on n cá h g môn Hẹ thố g h g i g h khoa công nghẹ th g i ã g ại h i hữ g i g gi h g h h ại ờng Đạc biẹt xin ch h h ả n th y giáo, TS Nguyễn Van Vinh, nguời ã h hu ng, giúp , tr c ti p hu ng d n tạn t h h ả i g ố h ghiê ứ g h hiẹn luạn van T i g i ợ ả i gi h hữ g g ời thân, ng nghiẹp v è ã h ờng xuyên quan tâm, ng viê hi i h ghiẹm, cung c i iẹu hữ h g hời gi h ạp, nghiê ứ g h suốt trì h h hiẹn luạn va ố ghiẹp Hà Nội, ngày 05 tháng 10 nam 2017 MỤC LỤC MỤC LỤC iii DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT i DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ ii DANH MỤC BẢNG BIỂU iii MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRỢ ẢO 1.1 Gi i thiệu v hệ thống trợ ảo 1.2 C u trúc hệ thống trợ ảo 1.3 Nhận dạng gi ng nói t ộng (ASR - Automatic Speech Recognition) .3 1.4 X hình ảnh IMM (Image Matching) .4 1.5 Quản câu hỏi trả lời QA (Question-Answering) .5 1.5.1 Cấu tạo quản câu hỏi 1.5.2 Xử ngôn ngữ tự nhiên Quản câu hỏi trả lời 1.5.3 Các mức NLP 1.6 Ứng dụng NLP chatbot 1.6.1 Cấu tạo hệ thống chatbot 1.6.2 Cấu trúc hộp thoại chatbot 1.6.3 Xử liệu chatbot CHƢƠNG 2: MỘT SỐ KĨ THUẬT SỬ DỤNG TRONG TRỢ ẢO 11 2.1 Mạng h c sâu DNNs 11 2.1.1 Khái nghiệm mạng học sâu .11 2.1.2 Xây dựng mơ hình 11 2.1.3 Vấn đề giải pháp khắc phục .13 2.2 Quản hội thoại 15 2.2.1 Mơ hình quản dựa khung (Frame based dialog Agents) .15 2.2.2 VoiceXML 16 2.3 Mơ hình sinh hội thoại 18 2.3.1 Ý nghĩa mơ hình sinh hội thoại .18 2.3.2 Đặc điểm mơ hình hội thoại .18 2.4 Nhận xét 19 CHƢƠNG 3: THỰC NGHIỆ VÀ ĐÁNH GIÁ .20 3.1 Phát tri n toán .20 3.2 Chươ g h h c nghiệm 20 3.2.1 Cấu trúc Api.ai 21 3.2.2 Thành phần API.AI 21 3.2.3 Mơ hình xây dựng 23 3.2.4 Giao diện ứng dụng 24 3.3 Dữ liệu th c nghiệm 26 3.4 Mô hình hội thoại 29 3.5 Dữ liệu phân tích 32 3.6 Dữ liệu câu hỏi 33 3.7 Nhận xét k t .36 KẾT LUẬN 38 TÀI LIỆU THAM KHẢO 39 PHỤ LỤC .40 DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT T vi t tắt AI ML RNN T chu n Diễn iải Artificial Intelligence Trí tuẹ nh M h h ạp Machine Learning Recurrent Neural Network Mạ g g ron tái phát NLP Natural Languague Processing Mạ g ải i giải hụ h c dài X g gữ hiê SDK Support Development Kit B c API Application Programming Interface Giao diẹn lạp tr h ứ g ụ g QA Question Answering IPA Intelligent Personal Assistants ASR Automatic Speech Recognition Các cạp c hỏi Ứng dụng H trợ Cá nhân Thông minh X gi ng nói QC HMM GMM IMM SURF QA NLU CRF Query Classifier Hidden Markov Gaussian Image Matching Speeded up robust features Question-Answering Natural language understanding Conditional Random Fields Phân loại truy v n Mơ hình Hidden Markov mơ hình h hợp Gaussian X hình ảnh Nhận dạng hình ảnh D ch vụ câu hỏi trả lời Hi u ngơn ngữ t nhiên Mơ hình CRF FSA Finite State Automata Mơ hình d a máy trạng thái hữu hạn FSM Finite State Machine FST Finite State Transducer LSTM Long short-term memory g ụh ợ h i A-FSM Acceptor Finite State Machine Máy trạng thái hữu hạn Máy chuy n i trạng thái hữu hạn Máy trạng thái hữu hạn ch p nhận WFST Weighted Finite State Transducer Máy chuy n i trạng thái hữu hạn có tr ng số DNN Deep Neural Networks M h hh i Hình 1.1: Sơ DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ hệ thống trợ ảo Hình 1.2: Sơ x âm .4 Hình 1.3: Sơ x hình ảnh Hình 1.4: Quản câu hỏi trả lời .6 Hình 1.5: M h h ản c a hệ thống chatbot .8 Hình 1.6: C u trúc hộp thoại chatbot .8 Hình 2.7: Ki n trúc seq2seq 10 Hình 2.1: Bi u diễn mơ hình mạng .11 Hình 2.2: Mạ g i h RNN 12 ộng trạng thái hữu hạn cho hộp thoại d a khung 15 Hình 2.4: Ki n trúc t Hình 2.5: Ví dụ v mơ hình dialogue d a Frame 15 Hình 2.6: Ví dụ v mơ hình VoiceXML 17 Hình 3.1: Sơ phát tri n tốn 20 Hình 3.2: Sơ hoạt ộng c a Api.ai 21 Hình 3.3: Giao diện Api.ai intents 22 Hình 3.4: Giao diện Api.ai contexts 23 Hình 3.5: Giao diện Api.ai webhook .23 Hình 3.6: Mơ hình xây d ng giao diện 24 Hình 3.7: Giao diện Chatbot 25 Hình 3.8: Mơ hình hội thoại 29 Hình 3.9: Dữ liệu uống .30 Hình 3.10: Dữ liệu thức ăn 30 Hình 3.11: Dữ liệu a i m 31 Hình 3.12: Dữ liệu thời ti t 31 Hình 3.13: Dữ liệu truy v n m i phiên làm việc 32 Hình 3.14: Dữ liệ h h ươ g 32 Hình 3.15: Dữ liệu intents .32 ii DANH MỤC BẢNG BIỂU Bảng 3.1: K t th nghiệm .33 Bảng 3.2: Dữ liệu câu hỏi 33 iii MỞ ĐẦU Ngày nay, trí tuệ nhân tạ g g g h i n mạnh mẽ Các hãng l hư Apple, Microsoft G g e g ghệ ươ g c ti p v i gười dùng Trí tuệ nhân tạo g g g ược nâng c p hoàn thiệ giú gười dùng dễ dàng ươ g ễ s dụng giảm q trình th c Trí tuệ nhân tạ g ộ ĩ h c m im ược s quan tâm r t l n t hãng công nghệ h g u V i công nghệ g g g ược áp dụ g g ời số g giú gười làm việc hiệu hơ i t kiệm thời gian sức l c, trí tuệ nhân tạ hư ột hệ thố g ược xây d g phục vụ h i Hệ thống trợ ảo hệ thố g giú gười giao ti p v i máy th c yêu c u ý muốn c gười dùng Hiện th gi i hệ thống trợ ả g ược nghiên cứu phát tri n mạnh mẽ hãng công nghệ h g u th gi i V i mong muốn hi u sâu v trí tuệ nhân tạo, em quy nh ch i “Nghiê ứu hệ thống trợ thông minh ả tài luậ ă hạ ĩ Q tài em muốn nâng cao s hi u bi t v trí tuệ nhân tạ ng thời nghiên có th áp dụng th c tiễn Việt Nam Nội dung luận ă ược chia làm ph hư : Chương 1: Gi i thiệu t ng quan v hệ thống trợ ảo, c u trúc hệ thống trợ ảo, trình bày v x ngơn ngữ t nhiên NLP ứng dụng NLP chatbot Chương 2: Nghiên cứu số ĩ h ật ược s dụng chatbot, tìm hi u quản hội thoại, mơ hình sinh hội thoại Chương 3: Trình bày v trình th c nghiệ h gi , k t ược th c nghiệm xây d ng chatbot CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRỢ ẢO 1.1 Giới thiệu hệ thống trợ ảo Siri c a Apple [1], Google Now c a Google [2] Cortana c a Microsoft [3] ại diện cho l p d ch vụ web m i n i g i Ứng dụng H trợ Cá nhân Thông minh (Intelligent Personal Assistants - IPA) IPA ứng dụng s dụng y u tố u vào hư i ng nói, hình ảnh thơng tin theo ngữ cảnh c a người d g h trợ cách trả lời câu hỏi ngôn ngữ t nhiê h n ngh v h h ộng Các IPA g i lên d ch vụ Internet phát tri n nhanh nh t g n h ã tri n khai n n tảng n i ti ng iOS A i Wi w Ph e h chúng ph bi n thi t b di ộng toàn th gi i S dụng IPAs g gi ă g h h h g i sản phẩm m i nh t cơng nghệ có th e hư ng h thơng minh kính thơng minh S tă g ưởng th ph n này, v i việc thi t k sản phẩm e h phụ thuộc nhi u v u vào hình ảnh gi ng nói, cho th y nhu c u s dụng d ch vụ IPA g ă g ê nhanh chóng IPA khác v i nhi u khối lượng công việc d ch vụ web có máy tính có quy mơ l n (WSCs) Ngược lại v i truy v n c a d ch vụ trung tâm duyệt web, lu ng truy v n IPA thông qua thành ph n ph n m m thú ẩy ti n g n g hận dạng gi ng nói, x ngôn ngữ t nhiên t m nh h cung c p cho người dùng câu hỏi d a câu hỏi hệ thống trả lời Do cường ộ tính tốn c a thành ph n mơ hình liệu d a mơ hình mà h s dụng, nhà cung c p d ch vụ u c u tính tốn n n tảng trung tâm liệu l n thay cho việc tính tốn thi t b di ộng Cách ti p cận giảm tải n ược s dụng Siri c a Apple l n Google Now c a Google h g i ghi nén lệnh truy v n gi ng nói t i trung tâm liệu nhận dạng ti ng nói khai thác ngữ nghĩa S tươ g thi t b thông minh v i người khơng nằm việc gõ ă mà hình ảnh l n gi ng n i ứng ược nhu c u ngày cao c a trải nghiệm người dùng, hãng công nghệ thông tin l n g g g u tư ạnh vào hệ thống trợ thơng minh ảo Hình 3.9: Dữ liệu uống Hình 3.10: Dữ liệu thức ăn 30 Hình 3.11: Dữ liệu a i m Hình 3.12: Dữ liệu thời ti t 31 3.5 Dữ liệu phân tích D a liệ ược l y 30 ngày g n nh t Bi tác giữ gười dùng v i Abot Sessions cho th ươ g Hình 3.13: Dữ liệu truy v n m i phiên làm việc Hình 3.14: Dữ liệu ph h ươ g D a liệ ược l y 30 ngày g n nh t Bi Abot s dụ g f e hư G ee i g F e e… lời phù hợ ứ g gười dùng Hình 3.15: Dữ liệu intents 32 Intents cho th y liệu l y giá tr t ả Ti n hành th nghiệm chat ng u nghiên v i ABot m i l n 50 câu l y k t Bảng k t h gi : Bảng 3.1: K ả th nghiệm Th nghiệm Số ú g Số câu sai Độ xác 28/50 22/50 56% 31/50 19/50 62% 24/50 26/50 48% 39/50 11/50 78% 41/50 9/50 82% Đ h gi t th nghiệm D a bảng k t có th th ộ xác ă g n Có th giải thích vì: Lần 1: chat v i bot có nhữ g hư ược hu n luyện nên d n t i khơng hi u trả lời sai Vì th ộ xác th p Lần 2: câu trả lời m i ược hu n luyện lại cho bot hi u, nên l n sau gặ trả lời ú g gười dùng Vì th ộ xác ă g Lần 3: chat nội dung khác nhau, hu n luyệ hư ội g ê ả lời sai th ộ h h g h p Lần 4, 5: hi ược hu n luyện ti ộ xác ă g gười g i ú g ội g ược hu n luyện 3.6 Dữ liệu câu hỏi Trong trình th nghiệm liệu câu hỏi m i l n th nghiệm 50 câu Và bả g i l n thứ th nghiệm ABot v i ộ h h 78% g ố câu trả lời ú g 39/50 ố câu trả lời sai 11/50 Bảng 3.2: Dữ liệu câu hỏi STT Người dùng ABot Đ h giá Chào bạn, tơi giúp Xin chào ược cho bạn Ok! Bạn có muốn thêm Tơi muốn mua bia? khơng? Có Bạn muốn g i thêm Ok Bạn v a ặt su t Tơi muốn mua su t Bún Bạn có muốn thêm bún khơng? C a hàng chuy n t i cho Không bạn Bạn có th tốn nhận hang Cả ABot chư rõ Bạn có th Dữ liệ hư ược Tối ă g? nói lại ược khơng? hu n luyện 33 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Bún có th t i phở 10 Quố Sư Thời ti t hôm th Thời ti t chắn tuyệt vời Thời ti t Hà Nội C ng không lạnh Phở g h t C ng không lạnh Trả lời sai Phở có th t i phở 10 Ă phở Quố Sư Câu hỏi hư ược Ok Bạn muốn thêm Tơi muố i hu n luyện nên trả khơng? lời sai ABot chư rõ Bạn có th Dữ liệ hư ược Nhiệ ộ Hà nội nói lại ược không? hu n luyện Tôi muố uống Bạn muốn g i thêm gì? Nội dung khơng rõ ABot chư rõ Bạn có th bia ràng nên Abot nói lại ược không? không hi u Nội dung rõ ràng OK! Bạn có muốn thêm Tơi muốn cốc bia nên ABot trả lời khơng? ú g Dữ liệ hư ược Đi ă C ng không lạnh hu n luyện OK Bạn v ặt su t th t Cho su t th t bò xào Bạn có muốn thêm khơng? Tơi muố cho OK Bạn có muốn thêm sinh nhật khơng? Bánh ga tơ Bạn muốn g i thêm gì? C a hàng chuy n t i cho Tôi muố ă ú bạn Bạn có th tốn nhận hang Cả Thời ti t C ng không lạnh OK! Bạn có muốn thêm Tơi muố ă t khơng? Đã ặt Tơi có th gợi ý thêm cho bạn số Không ă h hững d p khác Bạn c ă h d p nào? Đ i V g T i ghĩ ạn c n Bún g ? 34 c ng t ABot chư rõ Bạn có th nói lại ược khơng? 26 Không 27 Cho cốc bia 28 Sinh nhật 29 Bánh ga tô mua 30 Mua bánh ga tô 31 32 33 34 35 36 37 38 39 40 41 42 Tối na ă ngon? Đặ ă Th t xào ú Do không ú g ch bản, ABot khơng hi u liệu OK Bạn có muốn thêm khơng Vâng bạn có th c n bánh gato Trả lời i hư C ng không lạnh hu n luyện tình Trả lời khơng OK Bạn muốn thêm xác khơng? Bún có th t i phở 10 quố Bạn muốn g i thêm Abot chư rõ Bạn có th nói lại ược khơng? Đã xong Bạ ã ặt them su t bún su t th t bò su t Bún Th t bò Bạn có muốn thêm khơng? C a hàng chuy n t i cho Khơng bạn Bạn có th toán nhận hang Cả OK Bạn muốn thêm h i e khơng? OK Bạn v a ặt su t th t Su t th t bò xào Bạn có muốn thêm khơng? OK Bạn muốn thêm Đặt bánh ga tơ khơng? OK Bạn v a ặt cốc cốc kem kem Bạn có muốn them khơng? Nư c trái Bạn muốn g i thêm gì? Bia v i pepsi Bia g hơ e i g hơ ? A ghĩ ậy Th t bò v i bún Bún g hơ h t bò 35 Nội dung không rõ ràng nên ABot không hi u g hơ ? 43 Bia v i pepsi 44 Bia v i c l c 45 th t bò xào 46 i i 47 Bia v i th t bò xào 48 bia 49 Hai bát phở i 50 Cả Bạn có muốn th khơng? Bia g hơ e i Bạn muố ặt gì? Bia g hơ c Bạn muố ặt gì? Abot chư rõ Bạn có th nói lại ược khơng? Bạn muốn g i thêm gì? OK! Bạn có muốn thêm khơng? OK bia ã ặt Bạn muốn không? C a hàng chuy n t i cho bạn Bạn có th tốn nhận hang Cảm Cảm 3.7 Nhận xét k t Sau th c th nghiệm Abot mobile k t h ượ hi ặt câu hỏi tỷ lệ h p nhậ ược th ghiê ã giải quy ược số v : -V phát sinh câu hỏi nằm vùng tập liệu hu n luyện, ph n câu hỏi ặt hoàn toàn mang tính ch t khách quan vậ A ã ột số câu trả lời h h ộ phù hợp v i câu hỏi c gười dùng - Xây d ng mơ hình có th hi ược ngơn ngữ ti ng việt API.AI c a Google không h trợ ti ng việt trả lời câu trả lời ti ng việt - V i câu hỏi dài phức tạp, tùy theo tham số ộ dài hu n luyện tùy theo tham số truy n vào Abot có khả ă g ả lời phù hợp - Độ t ộng trả lời c A hư g hời gian hu n luyện hư ê việc trả lời m i khía cạnh khơng th nên ch ả lời khách quan V i v k t ược Abot v hư ạt t i mức có th áp dụng rộng rãi c n thêm thời gi phát tri n thêm v ưởng tập liệu Ý ưởng phát tri n cho Abot: - Nâng c p giao diệ có th s dụng Abot c a hàng, nhà hàng th c phẩm có s dụng mạ g quảng cáo thứ ă - B xung thêm liệu hu n luyện v nhi u mả g hư a ch , thời ti t, thời gian, th h h … - Xây d ng framwork riêng cho d án không phụ thuộc vào google - Nâng c p hu n luyệ Abot có th trợ ảo th c s hư Si i 36 K t h ược sau trình nghiên cứu hồn thành luậ ă - Tìm hi u v c u trúc c a hệ thống trợ ảo - Hi n c u trúc v c u tạo, vận hành thuật tốn ứng dụ g có th d ng riêng framwork - Hi ược cách hu n luyệ h ứng dụng nhi ĩ h c công việ ời sống 37 KẾT LUẬN Hệ thống trợ ả g ĩ h c mà công ty công nghệ tậ g nghiên cứu mạnh mẽ g g ược phát tri n Ứng dụng hệ thống trợ ả g d ượ ời số g ược tích hợp t hệ thố g ả hư h h i tích hợp vào hệ thống phức tạ hư , dạy h c Qua luận vă e ã ược k t nh nh Đ u tiên tìm hi u v mơ hình hệ thống trợ ảo, v c u trúc hệ thống T mơ hình hệ thống trợ ảo giúp em hi ược c u tạo, thuật toán ứng dụng t ng mơ hình T giú e h i ghiê ứu t g g hệ thống ứng dụng th c tiễn xây d ng hệ thống trợ ảo phù hợp v i mụ h a Thứ hai t việc hu n luyệ h ã giú e hững ki n thứ ộ hi u bi t hơ mạng h c sâu, cách xây d ng mơ hình hộp thoại, xây d ng liệu hu n luyện T ú ược ki n thứ có th ứng d ng th c t cơng việc mục h h n luyện hệ thống trợ ảo Thứ ba t việc xây d ng mơ hình chatbot, em có th xây d ng nhi u mơ hình chatbot v i nhi u mụ h h c ví dụ hư h h hệ thống th c phẩm, cho y t hay dạy h …T ỳ theo yêu c u mụ h a th c tiễn có th xây d g ược hệ thống trợ ả ứng yêu c gười dùng Qua nhữ g ả ợc ban u, em nhạn th ò hi iẹ hải hải ối u Nhung cách ti p cạn n ã h hữ g ả h ú g ắ h giải ợc v n xây d ng tính tốn hẹ thố g ối h ại Đ h h ng nghiên cứu ti he em i ụ ợt liẹu, h h i g ả ời sát v i ngữ ả h h t luợng cao ho giả g ả g ánh ua tính cá nhân vào h i h ại T ụng cho nhi u hệ thống trợ ảo v i yêu c u mụ h ng khác 38 TÀI LIỆU THAM KHẢO [1] Apple’ Si i h ://www e /i / i i/ [2] Google’ G g e N w h ://www g g e / i g/ w/ [3] Microsoft’ h ://www wi w h e /e /fe es [4] https://web.stanford.edu/~jurafsky/slp3/ [5] Google’ https://api.ai/docs/getting-started/basics [6] Elizabeth D.Liddy “Natural Language Processing ,papers 1-15, Syracuse University 2001 [7] Johann Hauswald, Michael A Laurenzano, Yunqi Zhang, Cheng Li, Austin Rovinski, Arjun Khurana, Ronald G Dreslinski, Trevor Mudge, Vinicius Petrucci1, Lingjia Tang, Jason Mars “Sirius: An Open End-to-End Voice and Vision Personal Assistant and Its Implications for Future Warehouse Scale Computers ,papers 1-16 [8] Daniel Jurafsky & James H Martin.papers “Speech and Language Processing” chapter 29, papers 1-25, August 7, 2017 [9] Oriol Vinyals, Quoc V Le “A Neural Conversational Model”, papers 1-8, Jul 22, 2015 [10] Ilya Sutskever, Oriol Vinyals, Quoc V Le, Montreal, Canada, “Sequence to Sequence Learning with Neural Networks ,paper 1-9, December 08 - 13, 2014 39 PHỤ LỤC Mã nguồn ứng dụng Kết nối API.AI #pragma mark - APIAI -(void)sendMessageText:(NSString *)text { if ([Util boolForKey:IS_AI]) { [MBProgressHUD showHUDAddedTo:self.view animated:YES]; ApiAI *apiai = [ApiAI sharedApiAI]; AITextRequest *request = [apiai textRequest]; request.query = @[text?:@""]; weak typeof(self) selfWeak = self; [request setMappedCompletionBlockSuccess:^(AIRequest *request, AIResponse *response) { strong typeof(selfWeak) selfStrong = selfWeak; [MBProgressHUD hideHUDForView:selfStrong.view animated:YES]; NSString *str = response.result.fulfillment.speech; NSLog(@"%@",str); [self addMessageForAPIAIwithText:str]; [self.messageTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:self.demoData.messages.count-1 inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; } failure:^(AIRequest *request, NSError *error) { strong typeof(selfWeak) selfStrong = selfWeak; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Alert" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; [MBProgressHUD hideHUDForView:selfStrong.view animated:YES]; [self.messageTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:self.demoData.messages.count-1 inSection:0] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; }]; [apiai enqueue:request]; }else{ } } 40 Thê ữ iệ A i i gi iệ -(void)addMessageForAPIAIwithText:(NSString *)text{ if (text.length>0) { [self textToSpeed:text]; ZHCMessage *message = [[ZHCMessage alloc] initWithSenderId:kIDAbot senderDisplayName:kChatABot date:[NSDate date] text:text]; [self.demoData.messages addObject:message]; [self finishSendingMessageAnimated:NO]; }else{ text = @"ABot chư õ ạn có th nói lại ược không?"; [self textToSpeed:text]; ZHCMessage *message = [[ZHCMessage alloc] initWithSenderId:kIDAbot senderDisplayName:kChatABot date:[NSDate date] text:text]; [self.demoData.messages addObject:message]; [self finishSendingMessageAnimated:NO]; } } Thê ữ iệ gười g gi iệ -(void)addMessageForPerson:(NSString *)text senderId:(NSString *)senderId senderDisplayName:(NSString *)senderDisplayName date:(NSDate *)date{ ZHCMessage *message = [[ZHCMessage alloc] initWithSenderId:senderId senderDisplayName:senderDisplayName date:date text:text]; [self.demoData.messages addObject:message]; [self finishSendingMessageAnimated:YES]; [self sendMessageText:text]; } -(void)addMVoiceForPerson:(NSString*)text{ if (text.length>0) { 41 ZHCMessage *message = [[ZHCMessage alloc] initWithSenderId:kIDUser senderDisplayName:kChatUser date:[NSDate date] text:text]; [self.demoData.messages addObject:message]; [self finishSendingMessageAnimated:YES]; [self sendMessageText:text]; } } Chuyển giọn nói san văn b ản H hởi h h h g ă ả /*! * @brief Starts listening and recognizing user input through the * phone's microphone */ - (void)startListening { // Initialize the AVAudioEngine audioEngine = [[AVAudioEngine alloc] init]; // Make sure there's not a recognition task already running if (recognitionTask) { [recognitionTask cancel]; recognitionTask = nil; } // Starts an AVAudio Session NSError *error; AVAudioSession *audioSession = [AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryRecord error:&error]; [audioSession setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error]; // Starts a recognition process, in the block it logs the input or stops the audio // process if there's an error recognitionRequest = [[SFSpeechAudioBufferRecognitionRequest alloc] init]; AVAudioInputNode *inputNode = audioEngine.inputNode; recognitionRequest.shouldReportPartialResults = YES; recognitionTask = [speechRecognizer recognitionTaskWithRequest:recognitionRequest 42 resultHandler:^(SFSpeechRecognitionResult * _Nullable result, NSError * _Nullable error) { BOOL isFinal = NO; if (result) { // Whatever you say in the microphone after pressing the button should be being logged // in the console NSLog(@"RESULT:%@",result.bestTranscription.formattedString); [MBProgressHUD hideHUDForView:self.view animated:YES]; lastString = result.bestTranscription.formattedString; [ZHCMessagesAudioProgressHUD zhc_changeSubTitle:lastString]; isFinal = !result.isFinal; } if (error) { NSLog(@"error:%@",result.bestTranscription.formattedString); [audioEngine stop]; [recognitionRequest endAudio]; recognitionRequest = nil; recognitionTask = nil; } }]; // Sets the recording format AVAudioFormat *recordingFormat = [inputNode outputFormatForBus:0]; [inputNode installTapOnBus:0 bufferSize:1024 format:recordingFormat block:^(AVAudioPCMBuffer * _Nonnull buffer, AVAudioTime * _Nonnull when) { [recognitionRequest appendAudioPCMBuffer:buffer]; }]; // Starts the audio engine, i.e it starts listening [audioEngine prepare]; [audioEngine startAndReturnError:&error]; } Hàm ắ hiệ gười g -(void)microPhoneTapped:(id)sender { if (audioEngine.isRunning) { [audioEngine stop]; [recognitionRequest endAudio]; } else { [self startListening]; i 43 } } #pragma mark - SFSpeechRecognizerDelegate Delegate Methods (void)speechRecognizer:(SFSpeechRecognizer *)speechRecognizer availabilityDidChange:(BOOL)available { NSLog(@"Availability:%d",available); } 44 ... Cấu trúc hệ thống trợ lý ảo Đ hi u hệ thống trợ lý ảo hoạ ộ g hư h nào, c n phải hi c u tạo c a hệ thống trợ lý ả Sơ c a hệ thống trợ lý ảo: ược c u trúc Hình 1.1: Sơ hệ thống trợ lý ảo D a hình... hình hệ thống trợ lý ảo, có th th xây d ng hệ thống trợ lý ảo c n r t nhi h h gh ại, t u vào c n x lý liệ n vào hệ thống x lý liệu cuối trả lại liệu h gười dùng Hệ thống trợ lý ảo thông minh. .. CÔNG NGHỆ NGUYỄN HỮU CƢỜNG NGHIÊN CỨU HỆ THỐNG TRỢ LÝ THƠNG MINH ẢO Chun ngành: Hệ thống thơng tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Ngƣời hƣớng dẫn khoa học: TS Nguyễn Văn Vinh

Ngày đăng: 19/01/2018, 09:18

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan