5分鐘內(nèi)搭建你的第一個Python聊天機器人
原文鏈接:https://developer.51cto.com/art/202007/622541.htm
作者:機器學(xué)習(xí)與數(shù)據(jù)分析
前言
在人工智能時代,聊天機器人日益流行。它是業(yè)界設(shè)計用來簡化人機交互的最新工具。從電子商務(wù)到醫(yī)療保健機構(gòu),每個人都希望使用Chatbot與用戶進行交互。
什么是聊天機器人
聊天機器人是一種軟件應(yīng)用程序,用于通過文本或文本到語音進行在線聊天對話,而不是與真人代理直接接觸。-根據(jù)維基百科。
聊天機器人的類型
聊天機器人可以分為兩類
?基于規(guī)則的?自學(xué)習(xí)
基于規(guī)則的:?-基于規(guī)則的聊天機器人訓(xùn)練聊天機器人回答基于預(yù)先訓(xùn)練的規(guī)則的問題。這些類型的聊天機器人很適合進行簡單的查詢。
自主學(xué)習(xí)聊天機器人:?自主學(xué)習(xí)聊天機器人基于機器學(xué)習(xí)算法,它們比基于規(guī)則的聊天機器人更聰明。他們可以自己學(xué)習(xí)。
聊天機器人是如何工作的
由人工智能驅(qū)動的聊天機器人是智能的,也可以自己學(xué)習(xí)。它們使用自然語言處理和機器學(xué)習(xí)算法來學(xué)習(xí)和獲取數(shù)據(jù)。
例如:谷歌助手,Alexa, Siri
智能的人工智能聊天機器人提供用戶數(shù)據(jù),并學(xué)習(xí)和嘗試提高自己。他們用復(fù)雜的人工智能算法分析它,并以文本或語音的形式輸出響應(yīng)。
由于這些機器人可以從行為和經(jīng)驗中學(xué)習(xí),它們可以對廣泛的查詢和命令作出回應(yīng)。
開始搭建
今天,我們將使用ChatterBot庫創(chuàng)建python chatbot。讓我們開始吧!
1. 創(chuàng)建虛擬環(huán)境
pipenv是一個輕松創(chuàng)建虛擬環(huán)境的python庫。
pip install pipenv
pipenv install
2. 安裝庫
我們將使用ChatterBot庫來創(chuàng)建簡單的Python Chatbot。通過pip命令安裝chatterbot和chatterbot_corpus。
pipenv install chatterbot
pipenv install chatterbot_corpus
3.創(chuàng)造和訓(xùn)練聊天機器人
from chatterbot importChatBot
from chatterbot.trainers importChatterBotCorpusTrainer
BOTNAME = "Pyter"
def start():
bot = ChatBot(BOTNAME,
logic_adapters=[
{
'import_path': 'chatterbot.logic.BestMatch',
'default_response': 'I am sorry, but I do not understand.',
'maximum_similarity_threshold': 0.90,
},
],
preprocessors = [
"chatterbot.preprocessors.clean_whitespace",
],
input_adaptor="chatterbot.input.TerminalAdaptor",
output_adaptor="chatterbot.output.TerminalAdaptor",
database_uri='sqlite:///database.sqlite3')
trainer = ChatterBotCorpusTrainer(bot)
# Train based on the english corpus
trainer.train(
"chatterbot.corpus.english",
"chatterbot.corpus.english.greetings",
"chatterbot.corpus.english.conversations",
)
print(f"Hello I am {BOTNAME}")
whileTrue:
try:
bot_input = input("You: ")
bot_respose = bot.get_response(bot_input)
print(f"{BOTNAME}: {bot_respose}")
except(KeyboardInterrupt, EOFError, SystemExit):
break
if __name__ == "__main__":
start()
-END-
推薦閱讀
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!