MajBot
1.0.0
ライセンス: GPL
<?xml バージョン = "1.0" エンコーディング="UTF-8"?> <設定> <状態id="0"> <メッセージ>こんにちは、お元気ですか?</メッセージ> <キーワード> <キーワード ターゲット="1">幸せ</キーワード> </キーワード> </状態>上記の例では、ユーザーがハッピーキーワードを入力すると、ボットは状態「1」に移動し、状態「1」のメッセージのいずれかをランダムに表示します。ユーザーが他の文字列を入力すると、無効なメッセージのいずれかが表示されます。<状態id="1"> <メッセージ>わあ、幸せですね!</メッセージ> <メッセージ> それを聞いてうれしいです!</メッセージ> </状態> <無効なメッセージ> < message >え、わかりませんでしたか?</ message > <メッセージ>どういう意味ですか?</メッセージ> </無効なメッセージ> </設定>
キーワード タグには複数の属性が含まれており、要件に応じてボットをカスタマイズできます。
<状態id="16"> < message >こんにちは、今日はどうですか?</ message > <メッセージ>調子はどうですか?</メッセージ> <メッセージ>お元気ですか?</メッセージ> <キーワードターゲット="11">幸せ、とても幸せ</キーワード> <キーワードターゲット="13">嬉しくない、よくない、良くない、悲しい、動揺</キーワード> <キーワードターゲット="23">大丈夫、良かった、ありがとう</キーワード> <キーワードターゲット="14">自分自身</キーワード> </状態>
天気機能を使う
天気機能を使用するには、キーワード タグに className と arg の 2 つの属性を含める必要があります。className を Weather に設定し、arg を「today」、「tomorrow」、または「dayaftertomorrow」キーワードに設定する必要があります。今日の天気を取得する例を次に示します。
<キーワードclassName ="天気" arg ="today">天気</キーワード>
結果:
あなた:天気はどうですか ボット: 今日は霧だと思います
<状態id="11"> < message >それは素晴らしいですね。なぜ幸せですか?</ message > <キーワード> <キーワードターゲット="21">宝くじ</キーワード> <キーワードターゲット="22">*</キーワード> </キーワード> </状態>
<?xml バージョン="1.0" エンコーディング="UTF-8"?> <設定> <状態id="0"> < message >こんにちは、私の名前は MajBot ですが、あなたの名前は何ですか?</ message > <キーワード> <キーワードターゲット="2"変数="名前">([a-zA-Z ]+)</キーワード> </キーワード> </状態> <状態id="16"> <メッセージ>こんにちは、[名前] さん、よろしくお願いします!</メッセージ> </状態> </設定>結果:
ボット: こんにちは、私の名前は MajBot ですが、あなたの名前は何ですか? あなた:マジッド ボット: こんにちは、マジッド、会えて嬉しいです!上記の例では、「([a-zA-Z )+)」正規表現は、スペースを含む a から z までの任意の文字 (大文字と小文字は区別されません) を受け入れ、一致する単語を name 変数に保存し、メッセージで [name] を使用することで、ユーザーのname はこのタグに置き換えられます。 (正規表現構文の詳細については、Java Regex ドキュメントを参照してください)。
<設定> <状態id="0"> < message >こんにちは、私の名前は MajBot ですが、あなたの名前は何ですか?</ message > <キーワード> <キーワードターゲット="16"変数="名前"ポイント="2">.*私の名前は ([a-zA-z]+) です。*</キーワード> <キーワードターゲット="16"変数="名前">([a-zA-Z ]+)</キーワード> </キーワード> </状態> <状態id="16"> <メッセージ>こんにちは、[名前] さん、よろしくお願いします!</メッセージ> </状態> </設定>結果:
ボット: こんにちは、私の名前は MajBot ですが、あなたの名前は何ですか? あなた: 私の名前はマジッドです ボット: こんにちは、マジッド、会えて嬉しいです!上の例では、最初のキーワードに 2 ポイントを追加しているため、ユーザーが「my name is Majid」と入力した場合、名前として「My name is Majid」は返されず、名前のみが取得されます。
<状態id="1"> < message >何について話したいのですか?</ message > <キーワード変数="subject" target ="27">([a-zA-z]+)</キーワード> </状態> <状態id="27"> <メッセージ>[件名] とは何ですか?</メッセージ> <キーワードターゲット="43"変数="結果"学習="件名">(.*)</キーワード> </状態>結果:
ボット: 何について話したいのですか? あなた:サッカー ボット: サッカーとは何ですか? あなた:良いゲームですね ボット: なるほど… ボット: 何について話したいのですか? あなた:サッカー ボット: 良いゲームだよ上の例に示されているように、ボットはサッカーのキーワードを学習し、ユーザーが同じキーワードを再度送信すると、応答をユーザーに送り返します。
java -cp MajBot.jar bot.MainMajBot を実行するには、次のように入力するだけです。
sh run.shWindows を使用している場合は、代わりに run.bat ファイルを実行できます。
ボットを起動した後、ユーザーはメッセージを入力して MajBot とのチャットを開始できます。
楽しむ!
http://www.majidkhosravi.com/chat-bot/