1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        20行代碼搭建微信聊天機(jī)器人

        共 1468字,需瀏覽 3分鐘

         ·

        2022-02-09 17:28

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

        引子

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

        環(huán)境配置

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

        • 接入微信
        • 智能回復(fù)

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

        編寫代碼

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

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

        效果演示

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


        進(jìn)入人工智障模式:




        后臺(tái)效果:



        一點(diǎn)思考

        這是一個(gè)非常簡(jiǎn)單的例子,因?yàn)闆]有對(duì)機(jī)器人的知識(shí)庫(kù)進(jìn)行定制,所以機(jī)器人的回復(fù)十分簡(jiǎn)單,十幾句對(duì)話就會(huì)被識(shí)破。但基于這兩個(gè)庫(kù)所能做的事情絕不僅限于此,本文只是拋磚引玉,可以在此基礎(chǔ)上做出更多有意思的東西,比如:

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

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

        瀏覽 17
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            3级片在线播放 | 别揉了别揉了在揉就尿出来了 | 一级A片巜女人性放纵 | 白丝校花被狂揉大胸网站 | 成人中文字幕在线 | 999色色 | 日本黄色三级 | 新婚之夜又粗又长舒服 | 亚洲AV无码成人网 | 欧洲成人视频 |