无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 如何在Python上開發(fā)Telegram聊天機器人

如何在Python上開發(fā)Telegram聊天機器人

2020-09-27 15:21:28 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

技術(shù)進步和自動化開始影響人類經(jīng)濟和日常生活的各個領(lǐng)域。人工智能的飛速發(fā)展要求訓(xùn)練計算機完成人工工作,并在業(yè)務(wù)中實現(xiàn)其用途。聊天機器人是人工智能在商業(yè)中的主要應(yīng)用之一。NLP與聊天機器人一起在客戶服務(wù)領(lǐng)域具有巨大的潛力,并且可以輕松接受客戶的訂單并向他們提供有關(guān)司服務(wù)的咨公詢。可以在公司官方網(wǎng)站上或在其他等流行的Messenger中借助bot自動化支持中心的工作。在本文中,將為您提供有關(guān)聊天機器人開發(fā)的簡短教程,并分享在Python中構(gòu)建Telegram聊天機器人的經(jīng)驗。

項目簡介

如今,NLP變得非常重要,因為它可以理解非結(jié)構(gòu)化文本數(shù)據(jù)。例如,它可以用于商業(yè)用途,并創(chuàng)建可以根據(jù)客戶的需求,興趣和特征對客戶進行分類并同時處理數(shù)百萬個請求的智能機器人。

我們的項目允許創(chuàng)建聊天機器人,該聊天機器人能夠分析客戶與顧問之間的實時對話。可以教一個機器人以提高答案的質(zhì)量,并訓(xùn)練他處理更多個案的情況。

在線咨詢意味著與客戶進行面對面的咨詢,并影響其作為潛在買家的影響。為此,顧問應(yīng)了解客戶的個人資料。大多數(shù)在線對話是通過電話或消息來處理的。該應(yīng)用程序具有多個庫,用于理解人的語音并將其轉(zhuǎn)換為文本數(shù)據(jù)。

據(jù)此,該項目的想法是建立一個能夠自學(xué)習(xí)的交互式系統(tǒng),同時通過分類和處理客戶的詞匯形式與客戶進行交流。我們的AI機器人的主要目的是識別實體集群-相關(guān)實體的組。實體群集對于許多活動可能非常有用。例如,我們可以分析客戶需求,并根據(jù)興趣組對需求進行識別甚至分類。

  技術(shù)棧

  前端:

· Javascript編程語言;

· JSON對象可視化工具JSON模式查看器;

· 前端框架Twitter Bootstrap;

· 用于實時客戶端-服務(wù)器連接的SocketIO。

  技術(shù)選擇

該項目的體系結(jié)構(gòu)基于Telegram,其后端部分以Python編程語言編寫。由于Web客戶端是項目的主要組成部分,因此最重要的決定之一就是選擇合適的框架來實現(xiàn)Web應(yīng)用程序。有幾種用于Python語言的“全棧”框架:Django,Grok,web2py,Giotto。

該應(yīng)用程序用Python編程語言編寫,以統(tǒng)一開發(fā)和機器學(xué)習(xí)的過程。選擇Django和Web2py框架進行開發(fā)。為了制作Telegram機器人并將其與Telegram服務(wù)集成,使用了Telegram Bot API。

為了實現(xiàn)項目的AI部分,使用了以下Python庫:

· NumPy?—支持大型多維數(shù)組和矩陣的庫。

· SciPy—用于Python編程語言的科學(xué)儀器的開源庫,其中包含用于優(yōu)化和遺傳算法的模塊。

· NLPK庫?—在Python上用于符號和統(tǒng)計自然語言處理的一組庫和程序。

· Gensim Python庫?-一種流行的工具,用于基于機器學(xué)習(xí)的自動語言處理。在該庫中,實現(xiàn)了聚類和分布式語義算法(word和doc)。它可以解決主題建模的問題,并區(qū)分文本或文檔的主要主題。

· Scrapy-?用于從網(wǎng)頁接收數(shù)據(jù)的生產(chǎn)力最高的Python庫之一。

選擇工具的關(guān)鍵是選擇機器學(xué)習(xí)庫。在形態(tài)分析方面,我們決定選擇Pyromorphy2,因為它支持俄語。選擇TeleBot庫以使用Telegram Bot API。Web套接字的客戶端實現(xiàn)是通過SocketIO庫處理的。Flask-SocketIO庫用于建立實時的客戶端-服務(wù)器通信。它是用于將SocketIO庫與Flask結(jié)合使用的工具-Flask是用于處理Web套接字的便捷框架。

  資料庫

為了創(chuàng)建一個基于AI的機器人,有必要使用問題和答案數(shù)據(jù)庫。客戶的查詢與漫游器的回復(fù)之間的時間間隔應(yīng)盡可能小。為了實現(xiàn)此目標(biāo),我們決定選擇Redis-一個高效的非關(guān)系數(shù)據(jù)庫。有關(guān)問題和答案的信息存儲為對話中的消息塊。這種方法的優(yōu)點是:

· 它使人們可以方便地找到記錄的必要元素。

· 通過使用這種存儲數(shù)據(jù)的方式,可以記錄任意長度的對話,而對哈希表中字段或鍵的數(shù)量沒有任何限制。

由于開發(fā)的主要目標(biāo)是創(chuàng)建實時應(yīng)用程序,因此使用了網(wǎng)絡(luò)套接字技術(shù)。它們將暗示允許實時客戶端-服務(wù)器交互的交互式連接。與HTTP/HTTPS相比,Web套接字能夠與雙向流一起使用,這將加速應(yīng)用程序的工作。它們對于創(chuàng)建任何類型的實時軟件都是很有用的:聊天機器人,物聯(lián)網(wǎng)應(yīng)用程序或多人在線游戲。

  實施機器學(xué)習(xí)

在任何智能系統(tǒng)的開發(fā)中,選擇合適的機器學(xué)習(xí)算法是重要的一點。機器學(xué)習(xí)的所有算法可以分為三種類型:

· 如果存在具有特定明顯屬性的數(shù)據(jù)塊,而另一塊塊尚不清楚,則使用受控學(xué)習(xí),并且有必要在工作時對其進行預(yù)測。

· 不受控制的學(xué)習(xí)用于找出未標(biāo)記的數(shù)據(jù)集中的隱式關(guān)系。

· 強化學(xué)習(xí)是上述類別的共生關(guān)系,意味著存在某種特定類型的反饋,當(dāng)沒有標(biāo)記或錯誤消息時,該反饋可用于每個步驟或操作。

該項目的任務(wù)之一是根據(jù)數(shù)據(jù)庫中的問題對答案進行分類。根據(jù)答案與相應(yīng)類別的關(guān)系對其進行分類。

借助決策樹來處理機器學(xué)習(xí)。其中之一代替了隨機森林。它是處理投票的幾棵經(jīng)過訓(xùn)練的樹的集合。根據(jù)其結(jié)果,隨機林根據(jù)指定的選擇準(zhǔn)備答復(fù)。為了選擇合適的設(shè)備,使用了執(zhí)行圖備忘錄。它是由Microsoft設(shè)計的模型,用于為特定任務(wù)選擇機器學(xué)習(xí)算法。

基于該方案,我們得出結(jié)論:當(dāng)學(xué)習(xí)的精度和速度是最高優(yōu)先級時,隨機森林算法是最適合解決多類分類任務(wù)的算法。

  機器人培訓(xùn)過程

機器人學(xué)習(xí)的過程包括以下幾個階段:

· 對話數(shù)據(jù)庫預(yù)處理?-在完成此階段之后,僅保留與對話當(dāng)前階段相對應(yīng)的那些集合。

· 選擇問題?-完成上一個階段后,系統(tǒng)創(chuàng)建了學(xué)習(xí)的核心。在此階段之前,將每個問題的文本簡化為通用形式。此外,借助詞法分析儀Pymorphy2對所有單詞進行了歸一化處理。這樣,每個單詞都恢復(fù)為其初始形式,并且分詞簡化為不定式。盡管上下文不同,但它允許以相同的方式處理相同的單詞。

· 創(chuàng)建TF-IDF矢量化器以對問題進行規(guī)范化選擇?-基于矢量化器,整個問題數(shù)據(jù)庫的處理以及對隨機森林的學(xué)習(xí)均基于矢量化器。

  應(yīng)用程序的工作流程

該應(yīng)用程序由一個Web客戶端和一個基于Python的Telegram聊天機器人組成。該應(yīng)用程序的主要功能是:

· 實時處理客戶信息;

· 提供機器人回復(fù)的可能變體;

· 機器人決策的實時處理并將回復(fù)發(fā)送給客戶端。

Web客戶端包括用于對話圖工作的界面和用于發(fā)送消息的鍵盤。與機器人的客戶端交互是使用Telegram機器人的經(jīng)典選擇。啟動應(yīng)用程序后,還將啟動兩個流程。其中一項是維護Telegram bot的工作,另一項是維護應(yīng)用程序的工作。通過TeleBot庫的“消息處理程序”工具處理客戶消息。

在圖的頂部,找到用戶的問題和答案的可能選項。單擊答案之一后,其文本將自動顯示在答案的空間中。

然后,系統(tǒng)正在等待客戶端對已發(fā)送消息的答復(fù)。當(dāng)它收到它時,通過將用戶的答案與所選消息一起添加到分支中來重新組織圖形。應(yīng)用程序準(zhǔn)備了新的答復(fù)。

項目的主要挑戰(zhàn)

在進行該項目時,我們面臨以下挑戰(zhàn):

· 實施客戶消息的實時處理;

· 實時介紹顧問答案的可能變體;

· 實時處理顧問的決定并將答復(fù)發(fā)送給客戶;

· 系統(tǒng)運行時動態(tài)擴展對話數(shù)據(jù)庫。

  為了解決這些挑戰(zhàn),我們實現(xiàn)了以下功能:

· 預(yù)處理客戶的答案-創(chuàng)建詞匯頻率矩陣以從最常用的單詞中找出。

· 在自組織映射的幫助下,搜索將具有相似含義的單詞組合在一起的有義聚類。這是一種人工神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練后可以生成訓(xùn)練樣本輸入空間的低維離散化表示,稱為地圖。自組織圖不同于其他人工神經(jīng)網(wǎng)絡(luò),因為它們應(yīng)用競爭性學(xué)習(xí)而不是糾錯學(xué)習(xí)。

· 使用Redis進行數(shù)據(jù)存儲,可以快速處理查詢。

上述就是關(guān)于如何在Python上開發(fā)Telegram聊天機器人的全部內(nèi)容,想了解更多關(guān)于Python的信息,請繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Python 軟件研發(fā)
主站蜘蛛池模板: 高清久久久久 | 日韩亚无码一区二区三区 | 日韩欧美中文字幕在线视频 | 91淫黄大片 | 国产综合社区 | 高清国产在线播放成人 | 精精国产xxxx视频在线中文版 | 国产精品一区二区久久冈江凛 | 欧日韩在线 | 免费操视频 | 日本在线免费观看 | 中文文字幕文字幕亚洲色 | 国产麻豆出品在线观看av | 邻居少妇水好多好紧 | 国产亚洲精品久久19p | 欧美日韩高清免费 | 伦理2男一女3p黑人 欧美黑人巨大精品VIDEOS | 免费视频爱爱太爽了无码 | 欧美黄色大片视频 | 亚洲第2页 | 在线看片国产福利你懂的 | 国产亚洲精品线观看动态图 | 韩国一级黄色大片 | 国产激情 | 狠狠色婷婷久久一区二区三区 | 超碰在线中文 | 国产农村女人一级毛片 | 高潮喷水无码一区二区三区 | 女人私视频免费观看 | 国产亚洲精品久久久久久动漫 | 成人在线免费看视频 | 成年人午夜免费视频 | 一线天逼逼 | 欧美在线视频网 | 野花社区WWW在线全网 | japansex久久高清精品 | 欧美日韩精品一区二区在线观看 | 人xxxx性xxxxx欧美 | 成人国产免费软件 | 从欧美一区二区三区 | 玩丰满熟妇XXXX视频 |