深層学習と質問応答システムのためのハッカソンとウィンターサイエンススクール

今日、機械は簡単に「2つの単語をバインド」します( 1、2 )が、これまでのところ、共通のトピックに関する対話を保証することはできません。 ただし、明日は履歴書を正しく作成し、あなたの家の近くの子供に最適なチェスセクションを選択するよう依頼します。 Facebook、Google、その他の科学者がこの方向でどのように働いているかをもっと詳しく知りたいですか? 聞いてください。





1月31日から2月5日まで、ディープラーニングとマシンインテリジェンスのための2回目の国際ハッカソンDeepHack.Q&Aがモスクワ物理学研究所で開催されます。 科学のハッカソンスクールの一部として、Google Brain、Facebook AI Research、OpenAI、Skoltech、オックスフォード大学、クーラント数学研究所(NYU)の世界有数の専門家が、ディープラーニングとその自然言語処理タスクへの応用について一連の講義を行います。 それらのほとんどは遠隔地ですが、ロブ・ファーガスとフィル・ブランソンは直接会う予定です。



トピックについて。 ハッカソンは、アレンAIサイエンスチャレンジに捧げられます。 参加者は、アメリカの学校の8年生レベルで質問に答えることを独自に学習できるプログラムを開発する必要があります。 このため、参加者に csvファイル形式のトレーニング(2,500の質問)および検証(8,132の質問)の質問セットが与えられ、 4つの回答がありました。 テストスイートの正解はわかっています。 検証セットは、システムの回答の正確さのレベルを決定し、それに応じて宣言されたソリューションをこの基準でランク付けするために必要です。 セットには、学校のカリキュラムの主なテーマである物理学、生物学、地理などに関する質問が含まれています。



問題文は非常に一般的に見えるので、自然言語処理の分野での深い専門知識がなければ、その解決策にアプローチすることは不可能であると思われます。 ただし、これは完全に真実ではありません。 すでに開発されたニューラルネットワーク手法をいくつかのコード行に適用して、32%の精度で結果を得ることができます。



これはまさに、5visionチームのメンバーが(ちなみに、夏のハッカソンの勝者)やったことで、Kaggle フォーラムGithub フォーラムで決定を発表しました。 ここにインストール手順があります 。 Linuxを使いたくてたまらない欲望があり、手元にない場合は、 koding.com (またはそれ以上の場所)で無料で登録して、すべてを実行できます。 ここで、この決定が何をするかについてさらに詳しく説明したいと思います。



多次元ベクトル空間での単語表現の実装の1つであるGloVe (単語表現のグローバルベクトル)に基づいており、意味が似ている単語はベクトルのユークリッドメトリックに近い単語にマッピングされます。 より有名なword2vecの実装は、すでにHabré( 1、2、3など)で取り上げられています(この実装の著者の1人であるTomas Mikolovがハッカソンについて講演します)。



GloVe( glove_predict.py )を質問に適用する方法は次のとおりです。

  1. 質問の前処理:
    • 英語のアルファベットの大文字と小文字、およびスペースを除くすべてを捨てます。
    • いわゆる「ストップ」ワード(実際に文の意味に影響を与えないワード)を捨てます。
  2. 質問q = 0のゼロベクトル表現を設定します。
  3. 質問の残りのすべての単語をループし、各単語のベクトル表現をqに追加します。
  4. 4つの回答すべてのベクトル表現の同様の計算を実行します。
  5. ベクトルqからの距離が最小となる答えを選択します。


この実装は、検証セットで32%の精度を提供します。



5visionには、 TF-IDFメジャーの使用に基づいた別の「クラシック」実装( ck12_wiki_predict.py )があります。 次のように機能します。

  1. サイトwww.ck12.orgの主要トピックのキーワードを解析します(たとえば、トピック「Physics」: http : //www.ck12.org/physics/ )。
  2. 収集されたキーワードのドキュメントをウィキペディアからダウンロードします。
  3. このドキュメントと単語のコレクションの測定値TFとIDFを計算します。
  4. 質問ごとに、コレクションから最も関連性の高い記事を選択します。
  5. それぞれの答えについて、この記事との関連性を考慮し、最大値を与えるものを選択します。


この実装により、36%の精度が実現します。 結果の規模を示すために、現時点では、 評価の最初の場所が質問の56%を正しく答えていることに注意する価値があります。



コンテストには多くの機能があります( ここでは、コンテストフォーラムからレビューの絞り込みを見つけることができます)-たとえば、最終的なソリューションはインターネットにアクセスしなくても機能します。 一般に、コンテストフォーラムを読むと、多くの有用な情報が得られます。



イベントのスケジュールは、過去のDeepHack'eと同じです。



日曜日:参加者の集まり、組織会議、チームビルディング、環境のセットアップ、入門講義、計算の最初の夜の実行。



月曜日から金曜日:中間結果の議論、チームで開発された新しいソリューションのプログラミング、講義、計算の開始。



土曜日:要約すると、勝者に報いる。



すべての参加者には、 宿泊施設とコンピューティングリソースも提供されます。 ただし、ラップトップを携帯する必要があります。



近い将来、自然言語処理の分野でニューラルネットワークアーキテクチャのレビューを公開し、そこから現在のソリューションを改善するためのアイデアを引き出すことができます。



All Articles