ENGLISH | JAPANESE

Protocol_branch

プロトコル部門

人狼知能大会プロトコル部門とは

人狼知能大会プロトコル部門は,自然言語によりコミュニケーションは難しいことを考慮して,定型文(人狼知能プロトコル)によるコミュニケーションのみを許可した人狼知能による大会です.開発者は,相手が何を言っているのかを自然言語として処理する必要がなく,記号化された情報を処理するだけで人狼知能を開発できるため,開発負荷が大幅に軽減されています.

例えば,「私は占い師です」という意味を表わす言葉は自然言語では「占い師だよ」「CO占い師」「実は占い師で,占い結果をいうと”〇〇さん”は人狼だったよ」などのように色々な言い方をすることができます.人間にまじって人狼をプレイする人狼知能を実現するには,このような自然言語をすべて理解しなければいけません.これは現時点での自然言語研究の最先端技術を使ったとしても難しい処理です.

そこで人狼知能プロジェクトでは,人狼ゲームでの発言を「COMINGOUT Agent[15] SEER」(エージェント15(自分)が占い師であるとカミングアウトします)のようにプロトコルという形として決まった発言のみを許可することで,自然言語処理ができなくても人狼知能エージェントを作成できるようにしました.その決まったフォーマットを人狼知能プロトコルと呼んでおります.人狼知能プロトコルを処理するパーサ(ライブラリ)は,参加者の協力を得てJava, .NET, Pythonなどの言語で利用ができ,これらのライブラリを利用することで,一般的なプログラミング技術のみで人狼知能を作成できるようになっています.

プロトコル部門で必要とされる技術

プロトコル部門では,自然言語処理や記号化された発言の処理について意識する必要はありません.また,Java, .NET, Python などの言語では対話処理に関する基本的なライブラリが提供されているため,通常のオブジェクト指向プログラミングによって人狼知能の会話部分を処理することができます.そのほかの言語でも,人狼知能プロトコルに沿ったライブラリを実装していただければ,人狼知能サーバでの対戦が可能となります.

Java用ライブラリでは,対戦している人狼知能エージェントの発言は,プロトコルを処理するパーサを通じてContentオブジェクトとしてエージェントに渡される,メソッドを呼び出しすることで意味を理解するように出来ております.また,発言をする場合もContentBuilderクラスを利用することで正しいプロトコル(他のエージェントが確実に理解できるフォーマット)で発言を作ることができます.

Java用ライブラリを使用した人狼知能エージェントの実装に関する詳細については,人狼知能エージェントの作り方を参考にしてください.

関連リンク