<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    20行代碼搭建微信聊天機器人

    共 1468字,需瀏覽 3分鐘

     ·

    2022-02-09 17:28

    介紹了如何用20行Python搭建一個微信聊天機器人,并討論了其可能的拓展方向。

    引子

    在之前一邊文章中介紹客服機器人:AI實戰(zhàn):搭建客服機器人,本文將在此基礎上制作一個聊天機器人,前一篇文章的重點在于問答,而本文的重點在于如何接入微信。

    環(huán)境配置

    實現(xiàn)一個微信機器人,最重要的有兩件事:

    • 接入微信
    • 智能回復

    第一個功能,可以借助wxpy;而對于第二個功能,則使用之前已經(jīng)實踐過的ChatterBot。在開源社區(qū)有不少接入微信的庫,而開源的聊天機器人也有很多,之所以選擇二者是因為他們的文檔都非常齊全,因此本文也不會對如何使用這兩個庫做過多講解。
    注意!Python版本要求3.5,wxpy和ChatterBot都可以通過pip安裝,不贅述。

    編寫代碼

    實際的代碼不超過20行(果然人生苦短、我用Python),這里添加一些注釋便于理解

    #!/usr/bin/env python3.5
    from wxpy import *
    from chatterbot import ChatBot
    from chatterbot.trainers import ChatterBotCorpusTrainer
    chatbot = ChatBot("deepThought")# 用于回復消息的機器人
    chatbot.set_trainer(ChatterBotCorpusTrainer)
    chatbot.train("chatterbot.corpus.chinese")# 使用該庫的中文語料庫
    bot = Bot(cache_path=True)# 用于接入微信的機器人
    group_2 = bot.groups("友誼是")[0]# 進行測試的群
    group_2.send("大家好,我是人工智障")
    
    @bot.register(group_2)
    def reply_my_friend(msg):
       print(msg)
       return chatbot.get_response(msg.text).text# 使用機器人進行自動回復
    
    # 堵塞線程,并進入 Python 命令行
    embed()

    效果演示

    掃碼登陸(為防止知乎識別二維碼已打碼):


    進入人工智障模式:




    后臺效果:



    一點思考

    這是一個非常簡單的例子,因為沒有對機器人的知識庫進行定制,所以機器人的回復十分簡單,十幾句對話就會被識破。但基于這兩個庫所能做的事情絕不僅限于此,本文只是拋磚引玉,可以在此基礎上做出更多有意思的東西,比如:

    1. 監(jiān)測微信群對話,以此為語料庫訓練機器人。其實我之前有一個想法就是利用海賊王里面的對話(又或者金庸的小說)作為訓練的語料,可以得到一個滿滿海賊王畫風(又或者武俠風格)的聊天機器人。
    2. 完成一些自動化的任務,比如每天定時跟女票道早安(這個的難點在于首先得有一個女票)。最近在鵝廠實習,每天早晨都需要微信簽到,可以考慮自動化(因為程序員的信條就是不做重復性的工作)。
    3. Demo中機器人對每句話都做了回復,可以增強其表現(xiàn),比如只回復@了自己的以及語料庫匹配度比較高的消息(對應實際情景中聊天者比較熟悉的話題),這樣就更能以見亂真了。

    以上,是我比較期望的三點,如有時間、精力可以試試。此外,除了使用庫,了解背后的原理也十分有必要。比如,要實現(xiàn)一個wxpy可能就需要對微信抓包,分析他的通信協(xié)議;要實現(xiàn)一個ChatterBot功能類似的庫可能就需要實現(xiàn)一種NLU算法,選擇合適的機器學習模型和數(shù)據(jù)庫等。風格良好的文檔可以幫助我們快速上手,但要游刃有余還需深入源碼!
    以上,一點思考。

    瀏覽 17
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    中文字幕国产 | 国产精品剧情无码专区AV | 国产一级a毛一级a做免费图片 | 中文字幕网站 | 亚洲免费观看高清无码在线观看 |