投稿日:

人狼知能プレ大会@GAT2017

ここ1ヶ月くらいこればっかりやってました。

今回の方針

今回から新しく自然言語処理部門というのができたので、せっかくなので参加することにしました。

プロトコルと自然言語を相互に変換する機能をつくってしまえば、プロトコル版でつくったエージェントをそのまま自然言語に流用できて楽だろう、ということで、まずはプロトコル版をさくっとつくることにしました。

プロトコル部門

プラットフォームのバージョンが上がって、去年夏の第2回大会のエージェントはそのままでは動かないということで、まずは動くように修正をかけました。それ以外の変更点は以下の通り。

  • 任意の人数で動作するようにした(これまでは15人でしか動作しなかった)
  • 狩人のとき、襲撃失敗した場合に護衛先が人狼であると推定する確率を下げるパターンを追加
  • 占い先・護衛先・襲撃先から、直前の追放者を除外するように変更
  • パワープレイを実装
    • 狂人CO ⇒ 人狼CO ⇒ 人狼のうち誰かがREQUEST(VOTE AGENT[XX]) ⇒ 狂人と人狼がそれに従う
  • 再投票を実装
    • 1回目投票で最高票数だった中から投票優先度が一番高い対象に投票

自然言語部門

で、今回は自然言語処理部門メインで時間を割いたつもりです。内容はこちらの資料にまとめてあります。

ソースコード

Githubで公開しています。

結果

プロトコル部門で、15人人狼、5人人狼ともに1位で、メダルをいただいてしまいました。
5人人狼はちょっとだけ自信があったのですが、15人人狼でもとれるとは。

自然言語処理部門は、今回はテストのような位置づけで順位はつかなかったのですが、結果としては満足できる感じではなかったです。

夏の本大会にむけて

次のような変更を予定しています。

プロトコル部門

  • 行動パターン・推定パターンを増やしたい
    • 投票先も推定理由にいれるとか
  • 推定パラメータの調整
    • GAT2017の参加エージェントでゲームを回しまくって、「そういう状況へのなりやすさ」を数値化
  • 短時間で大量のゲーム数を稼げるプラットフォームの検討
    • Azure Batchとか

 自然言語部門

  • プロトコル版の推定内容を見えるようにする
    • いまは自然言語版からプロトコル版の推定内容をみることができない
      (かわりにどんなエージェントでも中に入れることができていたが)
  • 人間っぽくする
    • 同意/否定/要求 をする
      • プロトコル版にもいれよう
    • 発言タイミングを考える
      • むやみやたらにすぐCOや投票宣言をするのは不自然
      • 自然な発話を優先にすべき場面ではプロトコル版のtalkを呼ばない
        (今はプロトコルが言うことがない場合にのみ自然言語版で質問への回答をしたりするけど、自然言語版が主になるように変更する)
    • 発話に理由をつける
      • ○○だから誰々に投票するよ、と言わないと投票先変更した場合に一貫性がないと感じられる
    • 説得する
    • 状況反応発話を増やす
    • 雑談確率の調整
      • 現状20%一定としているが、ターンが進むにつれ減衰させるようにしたい
  • クライアントログを充実させる
    • いまだと自分の役職でさえ表示していない・・・
  • 1発話2プロトコルの認識への対応
    • 現状「私は占い師です、○○に投票します」がうまく変換できない

投稿日:

今年の目標

冬休みの終わり際に胃腸炎で災難でした。
前の記事にもちょっと書いたけど、目標をあらためて。

  • 毎日7時間睡眠
    • すいみんはだいじ
  • Unityを使えるようになる
    • 去年はRailsでつくれるものの幅が広がった。今年はUnity
  • 英語毎日勉強
    • 一日5分でも
  • 人狼知能自然言語部門に出場する (2017/02/05追記)
  • 家の庭をきれいにする (2017/02/05追記)

投稿日:

ここ半年のこと

久々にあたまの中がもやもやしてる感じなので、
頭の整理のためにいろいろ書きます。

仕事のこと

今年の7月に社内異動しました。
異動といっても、7年間やってた営業企画 ⇒ エンジニア、
というふつうありえないような異動で、ほぼ社内転職のような気分でした。

なんでそんなこと可能だったのかはよくわからないのですが、
言い続ければなんとかなることもあるのだということにしておきます。

変わったこと

  • 通勤がいままでの9時から10時に
    • 朝ごはんが家で食べられる
  • 毎日プログラミング(コーディング)とか設計とか
    • sqlとかpython
  • 仕事のスケジューリングができるようになった
    • 前の業務は毎日業務が増えてスケジューリングしようがないのがストレスで・・・
  • 外出がある
    • 展示会とか
    • データセンターとか
    • 勉強会とか
  • 来客がある
  • 出張がある
    • 来月福岡出張予定

あと、社内のストレスチェックが2年連続のDからAへ。
今思えば営業企画なんかが自分に向いてるわけがない。

※A-Eの5段階でAが一番良い

技術面では、今まで趣味で覚えてきたようなことをほいほい使うので、だいぶ変な感覚がしてます。

とはいえ、もともと苦手と思っていた、資料作成、折衝、業務運用たてつけ、仕事の振り方、受け方、断り方とかいうエンジニア的じゃないものは、人並にできるように社畜業通して鍛えられたつもりはあるので、その辺を活かしたエンジニアになりたい。

ここ半年でつくったもの

人狼知能

前回のエントリーが5月の人狼知能のセミナーに行った話でしたが、6,7,8月あたりは第2回人狼知能大会に出場するためのエージェントをひたすらつくってました。結果は決勝に進出し、5位でした。

ソースコードと説明が、こちらで公開されています。

アウトプットで交流がうまれる感じがとてもいいです。来年も出場すると思います。

株式予測

8,9,10月あたりは、株価分析やってました。Microsoft Azureに機械学習のサービスがあって、この中に15年分の各日本株の日別の動きをつっこんだモデルをつくっておいて、
最近の株の動きをつっこむと、明日上がるのはこの銘柄だよー、
って教えてくれるような感じのをつくってました。

運用も始めていていまのところちょっとだけ儲かってます。

高専ロボコンデータベース

11,12月あたり。たぶんそのうち詳しく書けると思いますが、そんなこともやってます。
初めて複数人での協力開発というものをするということが楽しみ。

勉強したこと

ここ半年で勉強したことのメモ。

  • sqlserverのsql
  • Microsoft Azure
  • 複数人開発の運用フローの検討(Github Flow)
  • Markdown
  • Docker
  • 機械学習
  • 英語
    • 仕事でつかいようがあるようなので今度こそなんかするつもり

今後の予定

1月に母校(高専)に行って進学・就職についての講演を行うことになってしまいました。正月休みに講演資料つくります。

面白くしろ、というのが恩師からのリクエスト。

来年の目標

  • 毎日7時間睡眠
    • アイディアは十分な睡眠から産まれるというのが最近の持論

いま作りたいもの

  • 人狼シミュレータ
    • 人狼知能のアイディアを応用すれば、実際の人狼ゲームにも役に立つのではないか、逆にそこから人狼知能のアルゴリズム(パラメータ)を集められるのではないか、というアイディア
  • Microsoft Cognitive Servicies
    • これをつかったアプリをなんか作れないかなー、っと。
  • ROBOCON 30
    • つくらなければいけない気がしている

料理は今でも続いています。たった今も明日のクリスマスに向けて、鶏もも肉を燻製しています。4時間燻煙します。あと1時間半。さむいです。

それと、明日放送のBSプレミアム謎解きライブが楽しみ。