成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 ChatterBot 庫制作一個聊天機器人

人工智能 機器人
我們學習一些如何使用 ChatterBot 庫在 Python 中創(chuàng)建聊天機器人,該庫實現了各種機器學習算法來生成響應對話,還是挺不錯的。

 [[437576]]

我們學習一些如何使用 ChatterBot 庫在 Python 中創(chuàng)建聊天機器人,該庫實現了各種機器學習算法來生成響應對話,還是挺不錯的

1. 什么是聊天機器人

聊天機器人也稱為聊天機器人、機器人、人工代理等,基本上是由人工智能驅動的軟件程序,其目的是通過文本或語音與用戶進行對話。我們日常接觸的比較著名的例子包括 Siri、Alexa 等

這些聊天機器人傾向于為用戶執(zhí)行特定任務,聊天機器人經常執(zhí)行諸如進行交易、預訂酒店、提交表格等任務。隨著人工智能領域的技術進步,聊天機器人的可能性也是無窮無盡的

當然了,在當前技術下,聊天機器人還是有很多局限性的

  •  領域知識 —— 由于真正的人工智能仍然遙不可及,任何聊天機器人在與人類對話時都很難完全理解對話含義
  •  個性 —— 無法正確響應和相當差的理解能力比任何聊天機器人的常見錯誤更重要,為聊天機器人添加個性仍然是很遙遠和困難的事情

我們可以將聊天機器人定義為兩類

  •  基于特定規(guī)則 —— 在這種方法中,機器人是根據規(guī)則進行訓練的。基于此,機器人可以回答簡單的查詢,但有時無法回答復雜的對話
  •  自學 —— 這些機器人遵循機器學習方法,效率更高,并進一步分為另外兩類
    •  基于檢索模型 —— 在這種方法中,機器人根據用戶輸入從響應列表中檢索最佳響應
    •  生成模型 —— 這些模型通常會給出答案,而不是從一組答案中進行搜索,這也使它們成為智能機器人

好了,高大上的聊天機器人知識就先介紹到這里,下面我們就通過 chatterbot 來構建一個簡單的在線聊天機器人

2. ChatterBot 庫簡介

ChatterBot 是 Python 中的一個庫,它生成對用戶輸入的響應,使用多種機器學習算法來產生各種響應。用戶可以更輕松地使用 ChatterBot 庫制作具有更準確響應的聊天機器人

ChatterBot 的設計允許機器人接受多種語言的訓練,最重要的是,機器學習算法使機器人更容易使用用戶的輸入自行改進

ChatterBot 可以輕松創(chuàng)建參與對話的軟件,每次聊天機器人從用戶那里獲得輸入時,它都會保存輸入和響應,這有助于沒有初始知識的聊天機器人使用收集到的響應進行自我進化

隨著響應的增加,聊天機器人的準確性也會提高。程序從與輸入匹配的最接近匹配語句中選擇最接近匹配的響應,然后從該響應的已知語句選擇中選擇響應

安裝 ChatterBot 也非常簡單 

  1. pip install chatterbot 

下面我們就正式進入 Chatterbot 的世界吧

3. 構建聊天機器人

機器人訓練

Chatterbot 帶有一個數據實用程序模塊,可用于訓練聊天機器人。目前該模塊中有十多種語言的訓練數據,我們可以拿來直接使用

https://github.com/gunthercox/chatterbot-corpus

下面是在 python 中開始使用 ChatterBot 的簡單示例 

  1. from chatterbot import chatbot  
  2. from chatterbot.trainers import ListTrainer  
  3. chatbot = Chatbot('Edureka')  
  4. trainer = ListTrainer(chatbot)  
  5. trainer.train([ 'hi, can I help you find a course', 'sure I'd love to find you a course', 'your course have been selected'])  
  6. response = chatbot.get_response("I want a course")  
  7. print(response) 

在例子中,我們根據提供的輸入從聊天機器人獲得響應

構建 flask app

對于基本的 flask 結構,我們直接使用 GitHub 上的一個腳手架,這個是專門用來開發(fā) ChatterBot 應用的

https://github.com/chamkank/flask-chatterbot

我們直接克隆項目就好

把項目下載到本地之后,我們進行一些修改

我們需要為 HTML 和 CSS 文件添加另外兩個目錄 static 和模板

修改 App.py 文件 

  1. from flask import Flask, render_template, request  
  2. from chatterbot import ChatBot  
  3. from chatterbot.trainers import ChatterBotCorpusTrainer  
  4.  app = Flask(__name__)  
  5.  english_bot = ChatBot("Chatterbot", storage_adapter="chatterbot.storage.SQLStorageAdapter" 
  6. trainer = ChatterBotCorpusTrainer(english_bot)  
  7. trainer.train("chatterbot.corpus.english")  
  8. @app.route("/")  
  9. def home():  
  10.     return render_template("index.html")  
  11. @app.route("/get")  
  12. def get_bot_response():  
  13.     userText = request.args.get('msg')  
  14.     return str(english_bot.get_response(userText)) 
  15.  if __name__ == "__main__":  
  16.     app.run() 

index.html 文件 

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <link rel="stylesheet" type="text/css" href="/static/style.css">  
  5. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>  
  6. </head>  
  7. <body>  
  8. <h1>Flask Chatterbot Example</h1>  
  9. <div>  
  10. <div id="chatbox">  
  11. <p class="botText"><span>Hi! I'm Chatterbot.</span></p>  
  12. </div>  
  13. <div id="userInput">  
  14. <input id="textInput" type="text" name="msg" placeholder="Message">  
  15. <input id="buttonInput" type="submit" value="Send">  
  16. </div>  
  17. <script>  
  18. function getBotResponse() {  
  19. var rawText = $("#textInput").val();  
  20. var userHtml = '<p class="userText"><span>' + rawText + '</span></p>';  
  21. $("#textInput").val("");  
  22. $("#chatbox").append(userHtml);  
  23. document.getElementById('userInput').scrollIntoView({block: 'start', behavior: 'smooth'});  
  24. $.get("/get", { msg: rawText }).done(function(data) {  
  25. var botHtml = '<p class="botText"><span>' + data + '</span></p>';  
  26. $("#chatbox").append(botHtml);  
  27. document.getElementById('userInput').scrollIntoView({block: 'start', behavior: 'smooth'});  
  28. });  
  29.  
  30. $("#textInput").keypress(function(e) {  
  31. if(e.which == 13) {  
  32. getBotResponse();  
  33.  
  34. });  
  35. $("#buttonInput").click(function() {  
  36. getBotResponse();  
  37. })  
  38. </script>  
  39. </div>  
  40. </body>  
  41. </html> 

index.html 文件將包含應用程序的模板,而 style.css 將包含帶有 CSS 代碼的樣式表。執(zhí)行上述程序后,我們將得到如下圖所示的輸出

Style.css 文件 

  1. body  
  2.  
  3. font-family: Garamond;  
  4. background-color: black;  
  5.  
  6. h1  
  7.  
  8. color: black;  
  9. margin-bottom: 0;  
  10. margin-top: 0;  
  11. text-align: center;  
  12. font-size: 40px;  
  13.  
  14. h3  
  15.  
  16. color: black;  
  17. font-size: 20px;  
  18. margin-top: 3px;  
  19. text-align: center;  
  20.  
  21. #chatbox  
  22.  
  23. background-color: black;  
  24. margin-left: auto;  
  25. margin-right: auto;  
  26. width: 40%;  
  27. margin-top: 60px;  
  28.  
  29. #userInput {  
  30. margin-left: auto;  
  31. margin-right: auto;  
  32. width: 40%;  
  33. margin-top: 60px;  
  34.  
  35. #textInput {  
  36. width: 87%;  
  37. border: none;  
  38. border-bottom: 3px solid #009688;  
  39. font-family: monospace;  
  40. font-size: 17px;  
  41.  
  42. #buttonInput {  
  43. padding: 3px;  
  44. font-family: monospace;  
  45. font-size: 17px;  
  46.  
  47. .userText {  
  48. color: white;  
  49. font-family: monospace;  
  50. font-size: 17px;  
  51. text-align: right;  
  52. line-height: 30px;  
  53.  
  54. .userText span {  
  55. background-color: #009688;  
  56. padding: 10px;  
  57. border-radius: 2px;  
  58.  
  59. .botText {  
  60. color: white;  
  61. font-family: monospace;  
  62. font-size: 17px;  
  63. text-align: left;  
  64. line-height: 30px;  
  65.  
  66. .botText span {  
  67. background-color: #EF5350;  
  68. padding: 10px;  
  69. border-radius: 2px;  
  70.  
  71. #tidbit {  
  72. position:absolute;  
  73. bottom:0;  
  74. right:0;  
  75. width: 300px;  

接下來我們打開網頁,就可以看到聊天頁面啦!

有一個文本框,我們可以在其中提供用戶輸入,機器人將為該語句生成相應的響應消息,當我們輸入的消息越多,機器人就會越智能!

好了,今天的分享就到這里,我們下次見!

 

 

責任編輯:龐桂玉 來源: 菜鳥學Python
相關推薦

2021-05-24 15:29:24

人工智能機器人聊天

2021-03-30 17:51:25

機器人系統(tǒng)聊天

2020-12-02 13:00:17

Recast.AI聊天機器人人工智能

2022-09-30 13:55:46

Python機器人

2021-10-28 22:46:13

Python機器人數據

2023-12-18 19:05:34

2022-07-05 06:42:01

聊天機器人人工智能

2024-11-01 14:52:24

2022-08-04 07:03:41

AnswersInfobip無代碼

2023-07-27 14:38:58

人工智能機器人開發(fā)

2024-11-01 07:30:00

2017-06-08 10:07:53

機器人銀行微軟

2020-02-26 17:39:18

Python機器人Word

2019-04-19 14:40:15

代碼Python機器人

2017-08-21 13:31:44

AI聊天機器人facebook

2020-02-20 09:00:00

網絡應用數據技術

2019-01-25 16:30:34

機器人機器學習人工智能

2023-04-05 19:32:28

2019-12-19 16:08:40

人工智能機器人數據

2020-02-02 09:19:14

聊天機器人機器人智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲第一区国产精品 | 日韩精品在线观看一区二区 | 天堂亚洲网 | 日本成人在线网址 | 日韩亚洲一区二区 | 黄色在线观看网址 | 色婷婷国产精品综合在线观看 | 激情福利视频 | 免费在线视频一区二区 | 亚洲午夜精品 | 亚洲精品久久嫩草网站秘色 | 久久中文字幕一区 | 午夜免费视频 | 91国语清晰打电话对白 | h在线看 | 国产精品污www在线观看 | 久久久一区二区三区 | 国产在线观看一区二区 | 在线一区二区观看 | 久久久久久精 | av黄色在线 | 福利社午夜影院 | 91麻豆精品国产91久久久久久久久 | 日韩喷潮 | 亚洲综合无码一区二区 | 成人av激情| 91爱啪啪| 国产视频一区二区 | 国产精品伦理一区二区三区 | 日本在线你懂的 | 国产视频导航 | 久久国产欧美日韩精品 | 日韩一级免费电影 | 综合色影院 | 久久久国产一区 | 成人激情免费视频 | 成人精品啪啪欧美成 | 中文字幕1区 | www精品美女久久久tv | 91精品国产乱码久久久久久久久 | 天天看天天操 |