一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>聊天機(jī)器人開源分享

聊天機(jī)器人開源分享

2023-06-20 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

是時候談?wù)劻恕?/font>

我想我應(yīng)該給這個它自己的特定帖子——這是我在我的RaspbinatorNvidinator項(xiàng)目中使用的聊天機(jī)器人下面鏈接的 GitHub 將隨著我對其進(jìn)行改進(jìn)而不斷更新。

我已經(jīng)決定了 Chatbot 8 這個名字——在我使用 GitHub 之前,我把它放在了我的 Google Drive 上,每次迭代我都會增加它的數(shù)量;我很高興在 Raspbinator 中使用的第一個是第 8 次迭代,現(xiàn)在,這個名字有點(diǎn)卡住了。

主要目標(biāo):

  • 制作一個可以響應(yīng)人類輸入的機(jī)器人,隨著時間的推移學(xué)習(xí)并返回更多有機(jī)響應(yīng)。
  • 能夠從大型文本文件(例如電影腳本和對話記錄)中進(jìn)行訓(xùn)練。
  • 使其能夠輕松集成到其他項(xiàng)目中。

工作原理。

所以這是我的GitHub 上的代碼。

我已經(jīng)讓這些聊天機(jī)器人與Raspberry Pi項(xiàng)目一起工作——因此一切都將基于 Pi 和 Raspbian 操作系統(tǒng)。

有幾個依賴項(xiàng):

其他一切都應(yīng)該包含在Raspbian上的 Python 包中

在較高層次上,系統(tǒng)的邏輯如下:

Bot 說最初的“你好”。
人類回應(yīng)。
Bot 存儲對“Hello”的響應(yīng),并在其數(shù)據(jù)庫中搜索其之前所說的與人類輸入的內(nèi)容非常匹配的任何內(nèi)容,然后顯示先前交互的結(jié)果。

通過存儲人類對機(jī)器人 Mongo 數(shù)據(jù)庫的反應(yīng)并將它們分配給機(jī)器人之前說過的事情,然后將人的輸入與這些項(xiàng)目進(jìn)行比較以找到合適的反應(yīng),您可以從機(jī)器人那里得到一些相當(dāng)不錯的反應(yīng)。

舉個例子; 如果機(jī)器人說“天氣怎么樣”并且我輸入“外面正在下雨”,它會存儲該響應(yīng)并將其與該輸入相關(guān)聯(lián)。現(xiàn)在,如果其他人出現(xiàn)并輸入“天氣如何”,它將在其數(shù)據(jù)庫中搜索相近的匹配項(xiàng)并找到之前的回復(fù)“天氣怎么樣”,此時它將搜索對此的回復(fù)并找到我的回復(fù)“它的外面在下雨”。因此,雖然它并沒有真正“思考”它的反應(yīng),但它確實(shí)最終會給出一些合理的回復(fù)。

它將首先以相當(dāng)高的準(zhǔn)確度搜索已知輸入,然后如果失敗,它將降低到中等準(zhǔn)確度,最后降低到低準(zhǔn)確度。我目前正在使用?這個?庫來比較字符串:

準(zhǔn)確度級別為:

  • fuzz.ratio(Str1.lower(),Str2.lower())
  • fuzz.partial_ratio(Str1.lower(),Str2.lower())
  • fuzz.token_set_ratio(Str1,Str2)

您可以在我上面鏈接的網(wǎng)站上看到這些函數(shù)是如何工作的——但通常所需的準(zhǔn)確性會隨著函數(shù)的運(yùn)行而降低。每個的閾值也可以調(diào)整。

因此,如果輸入字符串/存儲字符串的最高返回比率低于閾值,它將下降到第二個部分匹配并執(zhí)行相同的操作,最后如果失敗;它將移動到設(shè)定的比率匹配。最后一個適用于具有匹配單詞的不同大小的字符串。

現(xiàn)在如果上面沒有匹配項(xiàng)會發(fā)生什么?在機(jī)器人響應(yīng)之前,它會將收到的輸入存儲到數(shù)據(jù)庫中,它還會拆分每個輸入并存儲所有單個單詞。因此,當(dāng)它找不到之前對您的輸入的回復(fù)時,它有 40% 的機(jī)會從這些詞中生成一個隨機(jī)句子,并有 60% 的機(jī)會選擇一個它知道的完全隨機(jī)的完整句子。

現(xiàn)在你可能會認(rèn)為這會導(dǎo)致機(jī)器人說很多廢話——你是對的,但一開始它只會在你和它說話時重復(fù)你說的話。但是你輸入和回復(fù)的越多,它學(xué)到的越多,它生成的隨機(jī)句子有時實(shí)際上有一定的意義;當(dāng)你回復(fù)它時,它就會有一個參考點(diǎn),用于確定它何時收到類似于它剛才所說的輸入。

這是另一個例子:

如果我對機(jī)器人說:“我喜歡奶酪”,它的數(shù)據(jù)庫中沒有任何輸入信息,也沒有足夠的詞來生成一個隨機(jī)句子,基本上是一個猜測,它可能會返回:“Hello television like usually”。這當(dāng)然沒有意義,但如果我隨后回復(fù)“是的,我也喜歡電視”,它會存儲該回復(fù)。現(xiàn)在,比方說,其他人出現(xiàn)并輸入“我通常看電視”,它會在數(shù)據(jù)庫中運(yùn)行它并找到它與之前所說的相似(“你好電視就像通常一樣”)并找到我的回答(“是的,我喜歡電視也是”),給人一種真實(shí)反應(yīng)的錯覺。

它本質(zhì)上是從頭開始學(xué)習(xí),它什么都不知道,所以它會盡力使用以前的經(jīng)驗(yàn),作為最后的手段,猜測——直到它學(xué)到更多,這樣它就不必再猜測了。

它還能夠與多人保持對話——為與之交談的每個人創(chuàng)建一個新班級,并記錄他們與機(jī)器人的最后回應(yīng)。因此,當(dāng)您使用“change_name”命令或通過從外部程序向?qū)υ捁δ茌斎氩煌拿Q來切換人員時,它可以與在該會話中已經(jīng)與之交談過的人進(jìn)行對話。

模塊化的。

最近,我添加了將聊天機(jī)器人導(dǎo)入其他程序的功能,并且能夠從機(jī)器人獲取文本輸入和接收輸出——具有一個簡單的界面,只需要一個帶名稱的輸入字符串。然后機(jī)器人本身會處理之前的回復(fù)和機(jī)器人響應(yīng);隨著對話切換并返回響應(yīng)。

它還可以獨(dú)立運(yùn)行以進(jìn)行測試,即使作為另一個項(xiàng)目的組件也可以輕松進(jìn)行訓(xùn)練和測試——例如與Nvidianator的 STT/TTS 和 ML 部分集成。

要使用它,只需將 bot .py 文件放在與它將使用的程序相同的文件夾中并使用:

將 bot_8 導(dǎo)入為聊天機(jī)器人

一旦導(dǎo)入到 Python 程序中,它就可以與命令交互:

回復(fù) = chatbot.conversation(inputWords,humanid)

輸入的單詞當(dāng)然就是輸入的內(nèi)容,因此這可以從語音到文本功能(例如wit.ai?或其他一些文本輸入)中獲取。

humanid 是當(dāng)前與之交互的人的名字。

將這兩個輸入都放入函數(shù)后,它將以字符串形式返回回復(fù)——然后可用于在導(dǎo)入聊天機(jī)器人的程序中進(jìn)行進(jìn)一步處理。

訓(xùn)練。

我還添加了一個訓(xùn)練模塊——這可以很方便地加載大型文本文件,例如電影劇本或?qū)υ捰涗?,這樣機(jī)器人就可以在現(xiàn)有數(shù)據(jù)上進(jìn)行訓(xùn)練——我已經(jīng)用合金裝備的腳本試過了它工作得很好。

它通過掃描每一行并將數(shù)據(jù)放入機(jī)器人來工作——當(dāng)每一行新行進(jìn)入機(jī)器人代碼時,都會將其分配為對前一行的響應(yīng)。

它被編程為過濾掉以非字母字符開頭的空行和句子,以及以“:”分割行;因此,如果一個腳本的名字表示誰在說話,并且有各種注釋,應(yīng)該跳過這些行并刪除名字。雖然目前這有點(diǎn)混亂并且可以做一些工作,但這基本上意味著你可以插入一個腳本并且它(應(yīng)該)整齊地通過它,只選擇相關(guān)的語音文本。

通過在腳本上訓(xùn)練機(jī)器人,您可以輸入來自游戲/電影/對話的輸入,它會非??煽康胤祷卣_的響應(yīng)——就上面的《合金裝備》腳本而言,您可以通過輸入角色所說的話。

例如,使用上述 MGS 訓(xùn)練數(shù)據(jù):

  • 如果我輸入“你是菜鳥嗎?”
  • 機(jī)器人用 Meryl 的一句話回應(yīng):“小心,我不是菜鳥?。 ?/font>

等等。

可以使用開關(guān)“-fresh”調(diào)用訓(xùn)練模塊,這將清除數(shù)據(jù)庫并從頭開始訓(xùn)練,如果沒有此開關(guān),它將進(jìn)一步訓(xùn)練現(xiàn)有數(shù)據(jù)庫。

訓(xùn)練數(shù)據(jù)需要與機(jī)器人位于同一文件夾中,并稱為“l(fā)earning.txt”。

還有一個 deleteDB 模塊,當(dāng)它運(yùn)行時,它按照它說的去做并清除數(shù)據(jù)庫。

從理論上講,如果它接受大量正常人類對話的訓(xùn)練,它會返回大量有機(jī)反應(yīng);此外,根據(jù)他們接受的培訓(xùn)輸入,每個機(jī)器人都可以有自己獨(dú)特的個性。

正在進(jìn)行中。

隨著時間的推移,我將繼續(xù)改進(jìn)它以使其變得更好。因此,請繼續(xù)檢查我的 GitHub 以獲取更新。

我也在努力讓聊天機(jī)器人與Docker打包在一起?——這樣它就可以很容易地與所有依賴項(xiàng)一起部署,并且在同一臺機(jī)器上也有單獨(dú)的持久機(jī)器人,甚至不需要在操作系統(tǒng)本身上安裝 MongoDB。

您有任何改進(jìn)機(jī)器人的想法嗎?讓我知道。

也可以隨意下載并自己嘗試——請注意,從空白開始,在它開始變得有意義之前需要大量的訓(xùn)練數(shù)據(jù)/與之交談。

下個項(xiàng)目見。

?
poYBAGOo5Q-AErUdAABVisbHvsM916.png
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)