倪志華 狄國強 劉亞偉 楊真年 楊力超

摘要:基于智能語音實現一個以智能語音機器人問答為交互的Android課程答疑APP,以軟件工程課程為例。通過AIML來構建課程知識的中文語料庫,使系統具有模糊匹配、學習以及快速應答能力,對話更加專業。為適應通常的對話,接入圖靈機器人服務,使對話更有趣。該文介紹了系統的架構、功能及各個模塊之間的關鍵技術,實現的系統能夠解答軟件工程課程學習中常見的問題,為用戶答疑解惑。
關鍵詞:安卓;AIML;課程答疑;軟件工程
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)04-0048-02
Design of Answer APP for Intelligent Speech Course
NI Zhi-hua, DI Guo-qiang, LIU Ya-wei, YANG Zhen-nian, YANG Li-chao
(School of Information Management, Jiangxi University of Finance and Economics, Nanchang 330063, China)
Abstract: Based on intelligent voice to implement an Android course answering APP, which interactive is the question and answer of intelligent voice robot, take software engineering course as an example. The Chinese corpus of curriculum knowledge built by AIML will enable the system to have the ability of fuzzy matching, learning and quick response, thus making the dialogue more professional. To make the conversation more harmonious, we access Turing robot services to make the conversation more interesting. This article describes the system architecture, functions and key technologies between the various modules. The system can answer both the common problems in the software engineering course and the other aspects of life.
Key words: Android; AIML; course answering; software engineering
隨著信息技術的發展,智能語音作為一種已經成熟的信息技術,在各個領域大展身手,現在市面上的人機對話APP主要有蘋果的Siri、谷歌的Munster、百度的小度、小i機器人等,但針對于軟件工程課程進行答疑的Android平臺終端則未見到。如何把智能語音應答技術及AIML構建的知識庫恰當的融入到課程教學中,進一步的提高課程教學和輔導的效率,是本項目研究的重點。以軟件工程課程為例,基于智能語音實現一個以智能語音機器人應答為交互方式的Android課程答疑APP。同時,為了兼顧到普通聊天的用戶,能夠隨時隨地為用戶提供輕松愉悅的聊天氛圍,傾聽他們的心聲并與之交流,在保證對話通暢的前提下,能夠具有一些人性化的貼心服務,智能語音課程答疑APP的后臺采用具有智能適應性的知識庫系統,使它能用自然語言回答用戶提出的問題。課余使用該APP可以隨時隨地為學習者提供輕松愉悅的學習氛圍,傾聽他們的心聲并與之交流,提高課程的學習熱情和解疑答惑的效率,提高教學成效。
1 系統總體設計
1.1 架構設計
系統框架如圖1所示:服務器采用分布式設計,裝載本系統客戶端的Android設備,通過Post傳輸語言特征值或者其他指令給服務器。服務器通過調用科大訊飛的語音識別、語音合成、專業知識服務器的AIML(Artifical Intelligence Mark-up Language—人工智能標記語言)知識庫和圖靈的圖靈機器人模塊處理客戶端傳送過來的信息,采用本地服務器的交換記錄數據庫存儲傳送過來的信息,最后將結果通過Json數據交換傳輸給客戶端以文字及語音的方式呈現給用戶。如圖1所示。
1.2 系統核心活動
該智能語音課程答疑APP在學生提出問題后,從提問中提取關鍵詞,然后到知識庫中檢索匹配度高的答案,回答對方,能夠通過學習功能,提取對話內容中有效的問答信息增加到自己的AIML知識庫中。用戶主要是通過Post向服務器端發送請求,兩者建立連接后開始傳遞語音及文本數據。服務器端首先進行判斷接受的內容是語音還是文本。若為語音,服務器端會將接收到的語音特征進行語音識別。
識別出的文本先轉交由AIML知識庫模塊處理,如果檢索到相應信息則返還所需的結果語句,可以解答軟件工程方面的專業性問題,為學生進行答疑解惑。
如果沒有檢索到相應信息則直接轉交到圖靈機器人模塊,從而返還所需的結果語句。若為文本,則免去了語音識別這一步驟,返還回來結果語句,進行相應處理后語句還需進行語音合成,將文字轉化為語音。
通過使用Json數據交換將結果語句、對應語音流數據發送返回給手機客戶端。手機客戶端再接收回答文本,最后反饋給用戶。此外,輸入的文字及返回的結果存儲于交換記錄數據庫,用于查詢聊天記錄。主要業務活動如圖2所示。