アルゴリズム忘備録

競技プログラミングとかデータ分析とか

交渉をするAI

code.facebook.com

 

Facebook Research Blogに面白いAIの記事が出ていました。自然言語(英語)で交渉をするAIを作ってみたという記事です。シチュエーションとしては、2者がそれぞれ何個かのアイテムを所持しており(公開情報)、それぞれのアイテムに2者それぞれが価値を持っています(非公開情報)。これらの前提のもとでアイテムのやりとりをする、という交渉をするAIを作ってみたよ、というものでした。

 

モデルとしては自然言語をLSTM系のモデルを使って自然言語を入力するとそれに対して自然言語で応答する、というものを作った後これを強化学習や、新しく開発したdialogue rolloutという方法で戦略も学ばせた、というものらしいです。LSTM系はほとんどわからないので途中のネットワークがどういう構造になってるのかいまいちピンときませんでした。

 

また、面白かった点としては教師データである交渉会話ログをAmazon Mechanical Turkというクラウドソーシングサービスによって集めた、という点です。会話1個に対し0.15ドル、交渉で勝ったら0.05ドルのボーナスという形で集めたとのこと。ラベル付きデータはコストが高い、というのは機械学習系ではよく話題になるので巷では半教師あり学習とかが流行ってるようですがこういうアプローチもあるのかと思いました。

 

自然言語のNNによる解釈、生成は若干敷居が高いと感じるものの、その後の戦略の強化学習やrolloutは結構単純なモデルなので実装してみると面白いかもしれません。