チャットロボット学習まとめ(1)-chatterbot概要

4361 ワード

インストール前の準備


私が使っているのはpycharmコンパイラで、ネット上で推奨されている仮想環境を見て、異なるプロジェクトに必要な依存を独立した場所に置くためのツールを作成したほうがいいです.メリットは、各プロジェクト間で同じライブラリの異なるバージョンに依存する問題を防止することです.詳細を知りたい場合はクリックしてください.次は直接コードを貼ります.
1.   sudo pip install virtualenv   virtualenv 
   Ubuntu ,     sudo apt-get install python-virtualenv

2.virtualenv     ,            ,        venv   
  mkdir myproject
  cd myproject
  virtualenv venv

3.              ,            . venv/bin/activate

4.        virtualenv,      pip       

インストール


chatterbotのインストールには2つの方法があります.
  • pip install chatterbotを使用して
  • をインストール
  • はgithub chatterbotで直接このプロジェクトをダウンロードし、examplesフォルダにはいくつかの例が含まれており、例によって自分の理解を深めることができます.

  • chatterbotインスタンスの作成


    まずコードを貼り付けて、コードによって具体的な内容を話して、私のchatbot.pyファイル
    from chatterbot import ChatBot
    from chatterbot.trainers import ChatterBotCorpusTrainer
    from chatterbot.trainers import ListTrainer
    
    class SimpleChat():
    
        def __init__(self):
            self.chatbot = ChatBot('myBot',
                                   storage_adapter="chatterbot.storage.MongoDatabaseAdapter",
                                   logic_adapters=[
                                       {
                                           'import_path': 'chatterbot.logic.BestMatch'
                                       },
                                       {
                                           'import_path': 'chatterbot.logic.LowConfidenceAdapter',
                                           'threshold': 0.6,
                                           'default_response': '     '
                                       }
                                   ],
                                   input_adapter="chatterbot.input.VariableInputTypeAdapter",
                                   output_adapter="chatterbot.output.TerminalAdapter",
                                   database_uri='mongodb://admin:[email protected]:27017/admin?authMechanism=MONGODB-CR',
                                   database='chatbot'
                                   )
    
            self.chatbot.set_trainer(ListTrainer)
            self.chatbot.train("chatterbot.corpus.chinese")
    
        def get_response(self, info):
            #    
            return str(self.chatbot.get_response(info))
    
    if __name__ == '__main__':
        chat = SimpleChat()
        res = chat.get_response('   ')
        print(res)
    

    まずクラス内のコンストラクション関数にchatbotのインスタンスを作成します.
  • パラメータ1「myBot」とは、myBotというロボットを作成したことを意味します(後のパラメータは必須ではなく、デフォルトのパラメータがあります)
  • storage_adapterは、ストレージアダプタ
  • を表す
    ストレージアダプタはstorage_をadaoterパラメータは、使用するストレージアダプタのインポートパスに設定され、デフォルトはsqliteタイプです.私はネット上でsqliteデータベースがビッグデータの時に長い時間がかかるのを見て、ちょうど私たちのバックグラウンドでmongodbを使っているので、私はmongodbタイプ(MongoDatabaseAdapter)のアダプタを採用しています.mongodbには2つのパラメータdatabaseがあります.uriとdatabaseは、ローカル・データベースのみに接続され、検証されていない場合はdatabase(データベース名)だけでいいです.リモート・データベースに接続して検証が必要な場合は、両方を使用する必要があります.詳細はこちら
  • logic_adaptersは論理アダプタで、いくつかのパラメータがあり、一緒に使用できます.BestMatch論理adaterは、入力文に最も近い一致する既知の応答に基づいて応答を返す.TimeLogicAdapterは現在の時間を返します.MathematicalEvaluationは数学式を実行し、結果を計算することができる.LowConfidenceAdapterは、高信頼度応答が不明な場合、高信頼度のデフォルト応答を返します.SpecificResponseAdapterは、特定の入力に特定の応答を返します.詳細はこちらをクリックしてください.
  • self.chatbot.train(「chatterbot.corpus.chinese」)という言葉は、中国語のチャットをサポートすることを意味します.ここで注意しなければならないのは、当時英語の時、python 2.7は利用可能です.中国語の場合、python 3以上が必要でしょう.どうせ私が詰めたのは3.6最新版です.このパラメータは
  • と書くこともできます
    deepThought.train("chatterbot.corpus.chinese")
    deepThought.train([
           ,
          ,
    ]) 
    

    トレーニング文を実装します.これらの文はデータベースに保存されます.詳細はこちらをクリックしてください.
  • self.chatbot.set_trainer(ListTrainer)は、会話を表す文字列リストを使用してチャットロボットを訓練することを許可する.

  • chatBotインスタンスには、応答値を取得する方法があります.chat.get_response('こんにちは')は、私を送りにくくなります.
    chatterbotにはカスタマイズできるパラメータがたくさんあります.これらはドキュメントを見ただけで、まだ始まっていません.後でこのシリーズに補充します.これらのものは開発ドキュメントで見つけることができます.
    知行事務、専門移動事務プラットフォームhttps://zx.naton.cn/【総監】十二春秋之、[email protected]; 【Master】zelo,[email protected]; 【運営】狼行天下、[email protected];**** 【製品デザイン】放浪猫、[email protected]; 【体験デザイン】ポケット、[email protected]; 【iOS】コードを研ぐ作業員、[email protected];iMcG33K,[email protected]; 【Android】人猿居士、[email protected];考えの悟り、[email protected]; 【java】チーフエンジニアMR_W,[email protected]; 【テスト】土鏡が尋ねた[email protected]; 【データ】喜楽多、[email protected]; 【安全】秘密にして、あなたは知っています.