欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 如何在Python上開發Telegram聊天機器人

如何在Python上開發Telegram聊天機器人

2020-09-27 15:21:28 | 來源:中培企業IT培訓網

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

項目簡介

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

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

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

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

  技術棧

  前端:

· Javascript編程語言;

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

· 前端框架Twitter Bootstrap;

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

  技術選擇

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

該應用程序用Python編程語言編寫,以統一開發和機器學習的過程。選擇Django和Web2py框架進行開發。為了制作Telegram機器人并將其與Telegram服務集成,使用了Telegram Bot API。

為了實現項目的AI部分,使用了以下Python庫:

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

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

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

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

· Scrapy-?用于從網頁接收數據的生產力最高的Python庫之一。

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

  資料庫

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

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

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

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

  實施機器學習

在任何智能系統的開發中,選擇合適的機器學習算法是重要的一點。機器學習的所有算法可以分為三種類型:

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

· 不受控制的學習用于找出未標記的數據集中的隱式關系。

· 強化學習是上述類別的共生關系,意味著存在某種特定類型的反饋,當沒有標記或錯誤消息時,該反饋可用于每個步驟或操作。

該項目的任務之一是根據數據庫中的問題對答案進行分類。根據答案與相應類別的關系對其進行分類。

借助決策樹來處理機器學習。其中之一代替了隨機森林。它是處理投票的幾棵經過訓練的樹的集合。根據其結果,隨機林根據指定的選擇準備答復。為了選擇合適的設備,使用了執行圖備忘錄。它是由Microsoft設計的模型,用于為特定任務選擇機器學習算法。

基于該方案,我們得出結論:當學習的精度和速度是最高優先級時,隨機森林算法是最適合解決多類分類任務的算法。

  機器人培訓過程

機器人學習的過程包括以下幾個階段:

· 對話數據庫預處理?-在完成此階段之后,僅保留與對話當前階段相對應的那些集合。

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

· 創建TF-IDF矢量化器以對問題進行規范化選擇?-基于矢量化器,整個問題數據庫的處理以及對隨機森林的學習均基于矢量化器。

  應用程序的工作流程

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

· 實時處理客戶信息;

· 提供機器人回復的可能變體;

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

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

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

然后,系統正在等待客戶端對已發送消息的答復。當它收到它時,通過將用戶的答案與所選消息一起添加到分支中來重新組織圖形。應用程序準備了新的答復。

項目的主要挑戰

在進行該項目時,我們面臨以下挑戰:

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

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

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

· 系統運行時動態擴展對話數據庫。

  為了解決這些挑戰,我們實現了以下功能:

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

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

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

上述就是關于如何在Python上開發Telegram聊天機器人的全部內容,想了解更多關于Python的信息,請繼續關注中培偉業。

標簽: Python 軟件研發
主站蜘蛛池模板: 永久免费AV无码网站国产 | 免费久久久久 | 成人伊人青草久久综合网 | 国产超薄丝袜足底脚交国产 | 少妇做爰高潮呻吟A片免费 放荡少妇张开双腿任人玩 嫩草网站 | 亚洲欧美日韩在线资源观看 | 麻花传媒MV国产免费观看视频 | 少妇被粗大的猛烈进出免费视频 | 色妺妺视频网 | 爱爱免费| 亚洲国产成人精品无码区在线秒播 | 久久国产亚洲av无码麻豆 | 青青草原精品国产亚洲AV | 亚洲人成人无码.www粉色 | 又大又粗又硬又爽黄毛少妇 | 一区二区三区欧美大片 | 夜夜爽日日澡人人添 | 精品人妻AV区波多野结衣 | 欧美激情综合 | 精品人妻无码一区二区三区软件 | 小仙女JK白丝袜美腿自慰 | 精品日产卡一卡二卡国色天香 | 亚洲精品成人网线在线播放va | 中文字幕无码AV波多野吉衣 | 中文字幕免费在线播放 | 内射精品无码中文字幕 | 在线免费观看av网 | 女人和拘做受大片免费看 | 丰满熟妇人妻中文字幕 | 麻豆123 | 免费毛儿一区二区十八岁 | 免费看片A级毛片免费看 | H无码精品动漫在线观看导航 | 久久午夜无码免费 | 亚洲日韩精品无码专区网站 | 国产伦子系列沙发午睡 | 亚洲国产综合在线观看不卡 | 日韩欧美在线视频一区 | 国产中文一区二区 | 亚洲精品无码专区在线观看 | 欧美饥渴少妇XXXXX性 |