原創(chuàng)|行業(yè)資訊|編輯:黃竹雯|2016-05-06 16:51:13.000|閱讀 897 次
概述:機(jī)器人程序是新的應(yīng)用程序,機(jī)器人程序商店就是新的應(yīng)用程序商店。結(jié)合人工智能,機(jī)器人程序變得功能日益強(qiáng)大,而且在學(xué)習(xí)新的本領(lǐng)。我在本文中將介紹如何使用IBM Watson API,用短短50行代碼,編寫出一個(gè)Telegram語音轉(zhuǎn)換成文本的機(jī)器人程序。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

這年頭,機(jī)器人程序是新的應(yīng)用程序,大家都在談?wù)摍C(jī)器人程序。微軟宣布,機(jī)器人程序是改善Skyper的戰(zhàn)略的一部分,F(xiàn)acebook擁有面向Messenger的機(jī)器人程序。至于其他公司,Telegram和Slack早已擁有機(jī)器人程序。
隨著時(shí)間的推移,越來越多的公司認(rèn)識到機(jī)器人程序大有潛力。加上人工智能的不斷發(fā)展,開發(fā)出與現(xiàn)有應(yīng)用程序輕松整合起來的、人工智能驅(qū)動的機(jī)器人程序已變得很容易。
我在本文中將為大家介紹基于IBM Watson的人工智能機(jī)器人程序,它有望成為許多項(xiàng)目的一個(gè)不錯(cuò)的起點(diǎn)。Watson API是一種可整合的出色服務(wù),它隨帶完備的說明文檔和豐富的實(shí)例。

最近,我在Hacker News上看到了,軟件工程師菲利浦·朗漢斯(Philipp Langhans)分享了一篇文章,介紹如何編寫一個(gè)基本的機(jī)器人程序。
這款人工智能機(jī)器人程序解決了語音信息并非始終很方便的問題,你可能在聊天時(shí)不想聽語音信息。原因可能是在某個(gè)公共場所,或者對方是你的好友。
菲利浦介紹了如何構(gòu)建一個(gè)語音轉(zhuǎn)換成文本的機(jī)器人程序,它可以將語音信息轉(zhuǎn)換成文本。為此,如前所述,他借助了世界上智能化程度最高的機(jī)器人程序IBM Watson。
首先,你需要注冊免費(fèi)使用,這讓你可以獲得2GB的運(yùn)行時(shí)環(huán)境和容器內(nèi)存以運(yùn)行應(yīng)用程序,還有無限制的IBM服務(wù)和API。
完成注冊并設(shè)置好區(qū)域和公司之后,可以在需要時(shí)隨時(shí)瀏覽Web用戶界面了。
完成這一步后,按照這個(gè)一目了然的,使用命令行,創(chuàng)建語音轉(zhuǎn)換成文本的服務(wù)。
現(xiàn)在回到Web界面,找到剛創(chuàng)建的那個(gè)服務(wù),并獲得登錄信息。
這一步很簡單,你只需要將BotFather添加到你的聯(lián)系人。現(xiàn)在,使用/newbot命令,按說明操作即可,比如添加你的姓名和用戶名。
確保你記下了自己的API令牌。為了獲得更多的幫助,你可以訪問Telegram的。
完成這一切后,下面是可以用來自行構(gòu)建機(jī)器人程序的開源代碼。不妨看一下:
var Bot = require('node-telegram-bot-api')
var watson = require('watson-developer-cloud');
var request = require('request');
var config = require('./config');
var speech_to_text = watson.speech_to_text({
username: config.watson.username,
password: config.watson.password,
version: 'v1',
url: '//stream.watsonplatform.net/speech-to-text/api'
});
var params = {
content_type: 'audio/ogg;codecs=opus',
continuous: true,
interim_results: false
};
var bot = new Bot(config.telegram.token, { polling: true });
bot.on('message', function (msg) {
if(msg['voice']){ return onVoiceMessage(msg); }
});
function onVoiceMessage(msg){
var chatId = msg.chat.id;
bot.getFileLink(msg.voice.file_id).then(function(link){
//setup new recognizer stream
var recognizeStream = speech_to_text.createRecognizeStream(params);
recognizeStream.setEncoding('utf8');
recognizeStream.on('results', function(data){
if(data && data.results && data.results.length>0 && data.results[0].alternatives && data.results[0].alternatives.length>0){
var result = data.results[0].alternatives[0].transcript;
console.log("result: ", result);
//send speech recognizer result back to chat
bot.sendMessage(chatId, result, {
disable_notification: true,
reply_to_message_id: msg.message_id
}).then(function () {
// reply sent!
});
}
});
['data', 'error', 'connection-close'].forEach(function(eventName){
recognizeStream.on(eventName, console.log.bind(console, eventName + ' event: '));
});
//pipe voice message to recognizer -> send to watson
request(link).pipe(recognizeStream);
});
}
你還可以在Telegram上試一試這個(gè)機(jī)器人程序,只要將@speech2textbot(//telegram.me/speech2textbot)添加到你的聯(lián)系人或任何聊天即可。
下面是它呈現(xiàn)的樣子,并附有所有語音信息的文字記錄:

繼續(xù),現(xiàn)在就創(chuàng)造一個(gè)自己的人工智能機(jī)器人吧。祝你好運(yùn)!
本文翻譯自:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn