カテゴリー
ネットのサービス

lexiconjure – 機械学習で英単語の意味を作り上げるツイッターbot

ロス・グッドウィンさん(Ross Goodwin)の手によるツイッターアカウント@lexiconjure は、それに向けてアルファベットの単語をつぶやくと、その単語の意味を「生成」して返してくれるという新しい自動応答ボットです。

たとえば、Hexidecimated, 「16進数にされた」的な造語を与えられて、こんな定義を生成しています。

Hexidecimated

[形] アメリカ合衆国ヘキシカ島時代に関する/意味する。Hexide は北半球で強調される音節を持ち、イスラム教徒とユダヤ教徒が住んでいた。

[名] Hexidecimateの子孫

19世紀後半: ギリシア語の hexis (健康) + kedimē (種) から

なんかもっともらしいんですが、デタラメです。

この定義、オックスフォード辞書のデータからディープラーニングを使って自動生成しているそうです。

既存の辞書の定義をなぞって、あるはずのない言葉の定義をそれらしい英語と辞書っぽいフォーマットで生成してくれるというわけですね。

PythonのソースコードがGitHubで公開されています。

もう一つ傑作を紹介。このbotが紹介されたHacker Newsのコメント欄より。

ycombinator

[名] 受け入れられる状況に対して騙したり敵意を見せたりするように設計された人物

Y Combinator はHacker Newsの運営元ですね。

辞書風の定義文はTwitterの(今の)文字数では収まらないので、完全版はTumblrの方で記録されています

多数のツイッターユーザーから辞書にない単語も与えられていますし、”love”のような辞書に既にあるはずの単語も与えられ、それについても新しい「意味」が生成されています。

lexiconjure-top

AWSの無料枠を使って運営され、90分に一個の定義を返すようになっているそうで、現在はリクエスト殺到のため返答が遅れている状況です。

辞書にない単語の定義をでっちあげるゲームとしては、昔フジテレビで深夜にやっていた「たほいや」がありました。英語圏では「ボルダーダッシュ」(たわごと)とか「フィクショナリー」(フィクション+ディクショナリー)と言うそうです。

via Hacker News

カテゴリー
技術

メールの返信をプログラムが「提案」する機能をグーグルが開発

本日、グーグルのリサーチブログで、メールの返答を勝手に考えてくれる機能 Smart Reply ができた、という発表がありました。smart reply = 賢い返答、ですね。

まだこの Smart Reply を試せるところは無いようですが、Gmailブログに出ているアニメーションGIFで、どんな感じの機能かが見て取れます。

(credit: Gmail Blog)
(credit: Gmail Blog)

「来月休暇を取ろうと思うんだけど、あなたの休暇予定は決まってるか? 決まってたら教えてほしい」という、社内での休暇取得を調整するメールに対して、アプリの下部に3種類の回答案が表示されます。

「まだ計画してません」「ちょうどあなたに送ったところです」「今それについて検討していたところです」の3つの案が表示され、このユーザーは3つめの案を選び、そこに続けて自分の言葉でメールを続けていきます。

今回ブログで報告しているグーグルの研究者Greg Corradoさんは、モバイルでメールの返事を書くことのたいへんさから、もしメールの内容が簡単な返答で済むようなものかどうか判定できて、ワンクリックで選べる雛形が出てきたらどうだろう、という同僚のアイデアを聞いて、挑戦してみようと思ったとのこと。

6月に発表された論文では、大量の既存の会話データを使い、しかし英語についての知識は内蔵していないプログラムによって、人生の意味について人間とチャットするプログラムを作っていますが、今回の成果はその研究の延長にあるということ。

このスマートリプライシステムでは、時系列データ(この場合は単語-単語のつながり)を扱うリカレントニューラルネットワーク(RNN)二組の一方で受け取ったメールをエンコードしていき、他方で可能な返答を予測していくそうですが、この時に伝わるベクトルが、「あなたは明日フリーですか?」という文章と「明日は都合の良い日ですか?」という文章でちゃんと似たものになるそうです。

また、3つの提案がどれも似たものになってしまう、というプロトタイプの問題点は、3つの回答の意味がそれぞれ離れたものになるように調整したのだとか。あと何にでも「愛してるよ」と返してしまう癖があって困った、みたいな話もあって興味深いです。感謝の気持ちを表すのにそういう言葉も多々含まれるからだろう、ということで、そのへんは出にくくなるように調整したのだとか。

今週後半には、AndroidiOS の Inbox アプリで、この Smart Reply が使えるようになるということです。残念ながら英語のみですが、アプリの対応版が出たらぜひ試してみたいところです。

こういう研究がさらに進んでいけば、提案から選ぶ、どころではなく、単純なものや定期的なものについては、プログラムが勝手に応答してしまうような未来も来るのかもしれないですね。

カテゴリー
技術

MarI/O – ニューラルネットワークと遺伝的アルゴリズムでマリオの早解き

ニューラルネットワークと遺伝的アルゴリズムの組み合わせにより、ゲーム「スーパーマリオブラザーズ」の一面を教師無し学習で解かせている動画です。

mario-neural-network

最初に学習が十分済んだ状態のプレイが実演されますが、1面を46秒で解いています。世の中には41秒で解いてる動画もあるようですが、かなり早い部類と言えるでしょう。

0:46 からは、今回の解法についての解説です。マリオを含む画面上の地形やキャラクターのスプライトを入力に、どのボタンを押すかを出力としたニューラルネットワークをランダムに作り、うまくいったネットワークを組み合わせて次の世代のネットワークを作り試行させます。これを繰り返し、この例では34世代目でマリオが46秒でゴールに到達する組み合わせが出来ています。

luaのソースコードがPastebinで公開されているので、追試も可能かもしれません。NESエミュレーター(Bizhawk Emulator)とマリオ本体が必要だと思いますが。

SethBling さんは、マインクラフトなどゲームを扱った多数のヒット動画を持つ人気ユーチューバーでもあり、今は抜かれました(この記事執筆次点で歴代9位)がスーパーマリオの早解きで世界一を取ったこともあります。もしかすると早解きのルートはこのようなプログラムの解析を参考にしたのかもしれません。

# あるいはその早解きプレイ動画自体がこうしたプログラムによるものだった可能性もあるのかも

via TNW