MajBot
1.0.0
ライセンス: GPL
バージョン = "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">*キーワード> キーワード> 状態>
<設定> <状態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/