當(dāng)前位置:首頁 > 公眾號(hào)精選 > AI科技大本營
[導(dǎo)讀]作者|周蘿卜來源|蘿卜大雜燴我們學(xué)習(xí)一些如何使用ChatterBot庫在Python中創(chuàng)建聊天機(jī)器人,該庫實(shí)現(xiàn)了各種機(jī)器學(xué)習(xí)算法來生成響應(yīng)對(duì)話,還是挺不錯(cuò)的1什么是聊天機(jī)器人聊天機(jī)器人也稱為聊天機(jī)器人、機(jī)器人、人工代理等,基本上是由人工智能驅(qū)動(dòng)的軟件程序,其目的是通過文本或語音與...


作者 | 周蘿卜來源 | 蘿卜大雜燴我們學(xué)習(xí)一些如何使用 ChatterBot 庫在 Python 中創(chuàng)建聊天機(jī)器人,該庫實(shí)現(xiàn)了各種機(jī)器學(xué)習(xí)算法來生成響應(yīng)對(duì)話,還是挺不錯(cuò)的

1什么是聊天機(jī)器人

聊天機(jī)器人也稱為聊天機(jī)器人、機(jī)器人、人工代理等,基本上是由人工智能驅(qū)動(dòng)的軟件程序,其目的是通過文本或語音與用戶進(jìn)行對(duì)話。我們?nèi)粘=佑|的比較著名的例子包括 Siri、Alexa 等這些聊天機(jī)器人傾向于為用戶執(zhí)行特定任務(wù),聊天機(jī)器人經(jīng)常執(zhí)行諸如進(jìn)行交易、預(yù)訂酒店、提交表格等任務(wù)。隨著人工智能領(lǐng)域的技術(shù)進(jìn)步,聊天機(jī)器人的可能性也是無窮無盡的當(dāng)然了,在當(dāng)前技術(shù)下,聊天機(jī)器人還是有很多局限性的
  • 領(lǐng)域知識(shí) —— 由于真正的人工智能仍然遙不可及,任何聊天機(jī)器人在與人類對(duì)話時(shí)都很難完全理解對(duì)話含義


  • 個(gè)性 —— 無法正確響應(yīng)和相當(dāng)差的理解能力比任何聊天機(jī)器人的常見錯(cuò)誤更重要,為聊天機(jī)器人添加個(gè)性仍然是很遙遠(yuǎn)和困難的事情


我們可以將聊天機(jī)器人定義為兩類
  • 基于特定規(guī)則 —— 在這種方法中,機(jī)器人是根據(jù)規(guī)則進(jìn)行訓(xùn)練的?;诖耍瑱C(jī)器人可以回答簡單的查詢,但有時(shí)無法回答復(fù)雜的對(duì)話


  • 自學(xué) —— 這些機(jī)器人遵循機(jī)器學(xué)習(xí)方法,效率更高,并進(jìn)一步分為另外兩類


    • 基于檢索模型 —— 在這種方法中,機(jī)器人根據(jù)用戶輸入從響應(yīng)列表中檢索最佳響應(yīng)


    • 生成模型 —— 這些模型通常會(huì)給出答案,而不是從一組答案中進(jìn)行搜索,這也使它們成為智能機(jī)器人


好了,高大上的聊天機(jī)器人知識(shí)就先介紹到這里,下面我們就通過 chatterbot 來構(gòu)建一個(gè)簡單的在線聊天機(jī)器人


2ChatterBot 庫簡介

ChatterBot 是 Python 中的一個(gè)庫,它生成對(duì)用戶輸入的響應(yīng),使用多種機(jī)器學(xué)習(xí)算法來產(chǎn)生各種響應(yīng)。用戶可以更輕松地使用 ChatterBot 庫制作具有更準(zhǔn)確響應(yīng)的聊天機(jī)器人ChatterBot 的設(shè)計(jì)允許機(jī)器人接受多種語言的訓(xùn)練,最重要的是,機(jī)器學(xué)習(xí)算法使機(jī)器人更容易使用用戶的輸入自行改進(jìn)ChatterBot 可以輕松創(chuàng)建參與對(duì)話的軟件,每次聊天機(jī)器人從用戶那里獲得輸入時(shí),它都會(huì)保存輸入和響應(yīng),這有助于沒有初始知識(shí)的聊天機(jī)器人使用收集到的響應(yīng)進(jìn)行自我進(jìn)化隨著響應(yīng)的增加,聊天機(jī)器人的準(zhǔn)確性也會(huì)提高。程序從與輸入匹配的最接近匹配語句中選擇最接近匹配的響應(yīng),然后從該響應(yīng)的已知語句選擇中選擇響應(yīng)安裝 ChatterBot 也非常簡單pip install chatterbot
下面我們就正式進(jìn)入 Chatterbot 的世界吧

3構(gòu)建聊天機(jī)器人

機(jī)器人訓(xùn)練

Chatterbot 帶有一個(gè)數(shù)據(jù)實(shí)用程序模塊,可用于訓(xùn)練聊天機(jī)器人。目前該模塊中有十多種語言的訓(xùn)練數(shù)據(jù),我們可以拿來直接使用
https://github.com/gunthercox/chatterbot-corpus
下面是在 python 中開始使用 ChatterBot 的簡單示例from chatterbot import chatbot
from chatterbot.trainers import ListTrainer

chatbot = Chatbot('Edureka')
trainer = ListTrainer(chatbot)
trainer.train([ 'hi, can I help you find a course', 'sure I'd love to find you a course', 'your course have been selected'])

response = chatbot.get_response("I want a course")
print(response)
在例子中,我們根據(jù)提供的輸入從聊天機(jī)器人獲得響應(yīng)

構(gòu)建 flask app

對(duì)于基本的 flask 結(jié)構(gòu),我們直接使用 GitHub 上的一個(gè)腳手架,這個(gè)是專門用來開發(fā) ChatterBot 應(yīng)用的
https://github.com/chamkank/flask-chatterbot
我們直接克隆項(xiàng)目就好把項(xiàng)目下載到本地之后,我們進(jìn)行一些修改我們需要為 HTML 和 CSS 文件添加另外兩個(gè)目錄 static 和模板
修改 App.py 文件from flask import Flask, render_template, request
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

app = Flask(__name__)

english_bot = ChatBot("Chatterbot", storage_adapter="chatterbot.storage.SQLStorageAdapter")
trainer = ChatterBotCorpusTrainer(english_bot)
trainer.train("chatterbot.corpus.english")

@app.route("/")
def home():
return render_template("index.html")

@app.route("/get")
def get_bot_response():
userText = request.args.get('msg')
return str(english_bot.get_response(userText))


if __name__ == "__main__":
app.run()
index.html 文件html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

人工智能業(yè)務(wù)聊天機(jī)器人/虛擬數(shù)字助手(VDA)市場將仍然由強(qiáng)大且多元化的供應(yīng)商生態(tài)系統(tǒng)提供服務(wù)。Omdia在一份最新報(bào)告中表示,與廣泛的供應(yīng)商評(píng)估和傳統(tǒng)技術(shù)市場趨勢(shì)相反,聊天機(jī)器人/VDA解決方案不會(huì)由少數(shù)大品牌供應(yīng)商主...

關(guān)鍵字: 聊天機(jī)器人 生態(tài)系統(tǒng) 人工智能 虛擬數(shù)字

北京2022年8月11日 /美通社/ -- 近年來,人工智能發(fā)展迅速,各種新奇的應(yīng)用場景讓人們嘆為觀止。比如,人工智能創(chuàng)作音樂、繪畫等領(lǐng)域,都打破了人們通常認(rèn)知。因?yàn)?,人們普遍認(rèn)為它更擅長計(jì)算類的、理性的事情,...

關(guān)鍵字: AI 聊天機(jī)器人 人工智能 數(shù)字媒體

  當(dāng)你走進(jìn)餐廳,給你送餐的不是服務(wù)員,而是一個(gè)機(jī)器人;當(dāng)你走進(jìn)銀行,想要咨詢業(yè)務(wù)并非一定要找大堂經(jīng)理,機(jī)器人也可以回答你;當(dāng)清晨第一縷陽光到來時(shí),機(jī)器人會(huì)幫你打開窗簾,用你最喜歡的方式喚醒你;

關(guān)鍵字: 教育機(jī)器人 服務(wù)機(jī)器人 聊天機(jī)器人

  11月15日消息據(jù)外媒(venturebeat)報(bào)道,自三千年前蘇美爾人發(fā)明了其獨(dú)特的象形文字以來,信息的儲(chǔ)存、檢索,操控與傳播伴隨人類發(fā)展至今。隨著時(shí)間流逝和技術(shù)的演化,人們交流和推動(dòng)信息

關(guān)鍵字: 人工智能 聊天機(jī)器人

  如果我們回顧AI領(lǐng)域在過去50年的演變與發(fā)展,最大的成就莫過于為AI研究開天辟地的算法?;蛟S在未來的10年內(nèi),我們將不會(huì)覺得聊天機(jī)器人有何特別之處,而是將它視為類似app或是亟待想象的一種黑

關(guān)鍵字: 人工智能 服務(wù)機(jī)器人 聊天機(jī)器人

       隨著人工智能與傳統(tǒng)行業(yè)的逐步結(jié)合,以及政策的不斷扶持,人工智能產(chǎn)業(yè)鏈將進(jìn)一步完善。在眾多人工智能布局風(fēng)口中,聊天機(jī)器人與智能家居無疑是熱點(diǎn)中的熱點(diǎn)

關(guān)鍵字: 人工智能 智能家居 聊天機(jī)器人

聊天機(jī)器人是指可以透過文字、聲音或圖片和用戶對(duì)話的計(jì)算機(jī)程序。它的興起,主要是建立在實(shí)時(shí)通訊軟件蓬勃發(fā)展的基礎(chǔ)之上。相較于社交軟件成長趨緩的態(tài)勢(shì),實(shí)時(shí)通訊軟件的使用頻率更高、親密度更強(qiáng),眼看已成為使用

關(guān)鍵字: 機(jī)器人 聊天機(jī)器人 商務(wù)機(jī)器人

  這些實(shí)現(xiàn)將以新一類智能應(yīng)用程序和智能物件的形式呈現(xiàn),并為各種各樣的網(wǎng)格設(shè)備及現(xiàn)有軟件和服務(wù)解決方案提供嵌入式智能。   據(jù)Business Insider報(bào)道,Gartner和Tec

關(guān)鍵字: AI ar 智能眼鏡 聊天機(jī)器人

  三聯(lián)商社股份有限公司昨日發(fā)布公告,公司決定不再從事家電零售業(yè)務(wù),繼而全面轉(zhuǎn)戰(zhàn)智能移動(dòng)終端領(lǐng)域。如此一來,作為三聯(lián)商社全資子公司的德景電子得以借殼登陸A股。   家電零售業(yè)務(wù)增長緩慢

關(guān)鍵字: AI ar vr 網(wǎng)絡(luò)安全 聊天機(jī)器人

AI科技大本營

111 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉