5分鐘內(nèi)搭建你的第一個(gè)Python聊天機(jī)器人
原文鏈接:https://developer.51cto.com/art/202007/622541.htm
作者:機(jī)器學(xué)習(xí)與數(shù)據(jù)分析
前言
在人工智能時(shí)代,聊天機(jī)器人日益流行。它是業(yè)界設(shè)計(jì)用來(lái)簡(jiǎn)化人機(jī)交互的最新工具。從電子商務(wù)到醫(yī)療保健機(jī)構(gòu),每個(gè)人都希望使用Chatbot與用戶進(jìn)行交互。
什么是聊天機(jī)器人
聊天機(jī)器人是一種軟件應(yīng)用程序,用于通過(guò)文本或文本到語(yǔ)音進(jìn)行在線聊天對(duì)話,而不是與真人代理直接接觸。-根據(jù)維基百科。
聊天機(jī)器人的類(lèi)型
聊天機(jī)器人可以分為兩類(lèi)
?基于規(guī)則的?自學(xué)習(xí)
基于規(guī)則的:?-基于規(guī)則的聊天機(jī)器人訓(xùn)練聊天機(jī)器人回答基于預(yù)先訓(xùn)練的規(guī)則的問(wèn)題。這些類(lèi)型的聊天機(jī)器人很適合進(jìn)行簡(jiǎn)單的查詢。
自主學(xué)習(xí)聊天機(jī)器人:?自主學(xué)習(xí)聊天機(jī)器人基于機(jī)器學(xué)習(xí)算法,它們比基于規(guī)則的聊天機(jī)器人更聰明。他們可以自己學(xué)習(xí)。
聊天機(jī)器人是如何工作的
由人工智能驅(qū)動(dòng)的聊天機(jī)器人是智能的,也可以自己學(xué)習(xí)。它們使用自然語(yǔ)言處理和機(jī)器學(xué)習(xí)算法來(lái)學(xué)習(xí)和獲取數(shù)據(jù)。
例如:谷歌助手,Alexa, Siri
智能的人工智能聊天機(jī)器人提供用戶數(shù)據(jù),并學(xué)習(xí)和嘗試提高自己。他們用復(fù)雜的人工智能算法分析它,并以文本或語(yǔ)音的形式輸出響應(yīng)。
由于這些機(jī)器人可以從行為和經(jīng)驗(yàn)中學(xué)習(xí),它們可以對(duì)廣泛的查詢和命令作出回應(yīng)。
開(kāi)始搭建
今天,我們將使用ChatterBot庫(kù)創(chuàng)建python chatbot。讓我們開(kāi)始吧!
1. 創(chuàng)建虛擬環(huán)境
pipenv是一個(gè)輕松創(chuàng)建虛擬環(huán)境的python庫(kù)。
pip install pipenvpipenv install
2. 安裝庫(kù)
我們將使用ChatterBot庫(kù)來(lái)創(chuàng)建簡(jiǎn)單的Python Chatbot。通過(guò)pip命令安裝chatterbot和chatterbot_corpus。
pipenv install chatterbotpipenv install chatterbot_corpus
3.創(chuàng)造和訓(xùn)練聊天機(jī)器人
from chatterbot importChatBotfrom chatterbot.trainers importChatterBotCorpusTrainerBOTNAME = "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 corpustrainer.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):breakif __name__ == "__main__":start()
-END-
推薦閱讀
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!






