ブログではないですスマートフォン用の表示で見るブログではないですブログでなくはないですこの広告は、90日以上更新していないブログに表示しています。conversationを解決しようという話。発話をX、応答をYとした時に(1)トピックTの一貫性:(2)発話・応答の類似度:を重み付けして応答生成時のスコアリングに用いるというもの。(1)のトピック類似度計算についてはHMM-LDAベースの手法を用いて単語単位でトピックに対する確率分布を推定した後、それを文全体に適用して文単位のトピックに対する確率分布を得て、発話応答間でのコサイン類似度で計算。probability)して平均を取るという手法でかなり優秀な文ベクトルを作れるらしく、それを使って作った2つの文のコサイン類似度を用いている。した割とシンプルな手法を取る理由としてはこの計算はdecodeの途中で1単語生成するごとに行うため、計算に時間が掛からずかつ生成途中の不完全な文に対しても適用できる手法が望ましいため。Corpusを用いている。NAACL'16で使っていた際の前処理を加えたいい感じのコーパスを使い、なんとそれを配布してくれている。自分で使っていてもこんなノイジーで大丈夫かよ感があったのでこれは試してみたい。ついてのサーベイ論文。マルチタスクの利点や考え方、これまでの手法などがニューラル・非ニューラル共に列挙されていて勉強になった。自分がこれまで読んできたニューラルベースのMTL論文だとネットワーク間で陽にパラメータを共有するhard-sharingな手法が主で、パラメータは独立に持つけれども共有されていて欲しい2つのレイヤ間の類似度を損失として加えるなどするsoft-sharingな手法はあまり見てこなかったので新鮮。hard-sharingなモデルを用いてそれらを1つのベクトルに押し込めるとあるタスクにおいては使われない特徴量がノイズとして働くので、soft-sharingな形を取るほうが有望なのではないか、とのこと。それぞれに空間を用意してやってそれらがきちんと分離されるような学習を行う形もあるわけで、結局どちらがいいのか?というところはやってみなきゃ分からないのかな。NLPのNC2組のタスクについてM通りの設定でMTLしてみました、という論文あったりしないだろうか。結局どういう設定でどの手法がどれだけいいのか、そしてそれがタスクごとにどの程度異なるのか、というところを網羅的に知りたい。あたりが見たこと無いタイプで面白かった。まとめ関係抽出タスクについて読んだものをメモ。新しいの読むたび更新。path)を主要な特徴量として分類を行う。学習した上で関係抽出モデルで活用するという話。supervisionに基づき構築されたデータセットにおけるノイズに対して頑健になるとのこと。supervisionで構築された関係抽出データセットを使用。ACL'16]Distant-supervisionで構築されたデータセットでは関係を持つエンティティの組が登場する文であっても、必ずしもその関係について言及しているとは限らないにも関わらずそれを無条件に正例とみなしているという問題がある。あるエンティティの組を含む複数の文のうち少なくとも1つは推定対象の関係について言及しているとの仮定のもと、もっとも信用のおける文のみを使うことでそれを解決しようとしていた。それに対してこの論文ではそれぞれの文をCNNでエンコードしたベクトルに対するアテンションを張ることで動的な重み付けを可能にしている。データセットはNYT。ACL'16]上述した2つの研究をはじめとして、NYTなどのデータセットを用いた関係抽出タスクは登場するエンティティがgivenである設定のもと行われていた。labelingタスクとして解いた上で、特定したエンティティのそれぞれの組に対して関係分類を行うend-to-endな関係抽出モデルを提案。LSTMでエンコードし、エンティティのスパン抽出に用いたエンコーダの出力(該当の2つのエンティティの箇所)と組み合わせて用いる。testで試していたが、少なくとも最短のものがないと駄目とのこと。comprehensionのデータセットの作成・分析についての話。データセットの分析や関連研究との比較,RCデータセットの構築で起こりがちなバイアスについてなどしっかり気を使っていて勉強になった。objectを当てる。似ているが大きな違いはタイトルにもmulti-hopとあるように,subjectとなるエンティティの記事だけではなくそこに含まれるリンクを辿って,関係のある他の記事も用いた上でobjectを当てる形式にしていること。"India"までの全ての記事を見てようやく推定が可能になる.このように推定のためには複数記事の情報を統合する必要があるような関係トリプルを集めたデータセットとなっている。entityに当たるまで繰り返す。entityの定義はwikidata中に登録されている他の全トリプル中で,クエリのrelationを伴って登場したことのあるobject。あり,その記事にたどり着けばそれを回答候補に加え探索を打ち切る。NIPS'15]のようにマスクすることで表層を手がかりとして使わせない(=文脈をちゃんと理解するように強制させる)場合や関係のない記事を抜いた場合どう変わるのかなど,実験結果の分析についてもなかなか興味深い事が色々。embeddingsを使うことでパラレルコーパス無しで機械翻訳をしよう、という論文。(入力文をそのまま復元するモデル)を学習することでencoderが言語非依存の中間表現を出力してくれることを期待する。テスト時に入力の言語と異なるdecoderを用いると復元された入力文は目的言語のものになり、結果的に翻訳が行われているという仕組み。(自分の理解ではattentionに頼りすぎて、という事だと思う)入力文の単語を盲目的に一つずつコピーしていくようなモデルになってしまい、結果的に違う言語では上手くいかなくなってしまう事らしい。N/2回隣り合う単語をランダムに入れ替えて順番をめちゃくちゃにして、単純に左からコピーしていっても復元できないようにしてやる、という方法。後者の具体的な内容としては、まず訓練の各ステップで現在のモデルを使って翻訳を行う。ペアをひっくり返してそのステップの訓練データに加えてやることで,モデルが出力したちょっと変な言語Bの文から言語Aの文を復元できるようにする、という方法。backtranslationについてはモデルが途中のステップで出力する文って恐らくかなりおかしい感じになっている訳で、そんなの訓練中に突っ込んで学習がぶっ壊れないのかよ、という感想。読んだほうがいいのかな。勝てないまでもそこそこいい線行くらしい。*1また、semi-supervisedの結果が示すように単体ではモデルの学習が困難な小さいデータでもunsupervisedにちょっと加えてやると大分性能が良くなるというのはかなり面白い。コーパスを組み合わせるみたいな話は有望だと思う。面白かったけどメインの提案である中間表現の質を上げる話、入力を盲目的にコピーする問題はattention使ってるせいじゃねえのという感が否めない。そもそもattentionという手法が入力文全体の情報を一つの中間表現に全部負担させるのではなく、各ステップのencoderの出力に分散させてやろうという発想なわけで、autoencoderのようなuniversalな中間表現を作りたいという話と相反しているように感じる。Extractionと呼ばれる2つのエンティティ間の関係抽出タスクの論文。含む文(文の集合)からrelを当てるといった形式。あるサンプルが実際には全然relと関係ない文であった場合それは学習におけるノイズとなってしまうことが問題となる。彼らの貢献は主に以下の3つ。以下の図がモデルの概要図。間違える確率になっている。真の確率分布をモデリングしているのに対し,それをノイズが含まれうる訓練データで直接最適化すると訓練データのノイズもそのまま学習されてしまう。(=~T)」も無いので真の確率分布とノイズの部分の分離を促す力は単にネットワークを分けただけでは得られないんじゃないか?という気がするがそこはどう考えてるんだろう。自分が読み込めていないだけの可能性もあるかも・・・。そこまで変わんないかなあ・・・?という印象。taskのSOTAモデル。概要としては従来のメンション間のスコアを算出して同一クラスタに属するかどうかを判断し、最後にリンクを辿ってクラスタを構築するモデルだと既に同一クラスタであると判断した他のメンションの情報が使えないことが問題となる。同一であるという情報を使えば比較的容易である、という話。そのためにタイトルにもEntity-Levelとあるように,個々のメンションを要素が1つのクラスタとみなしてスタートして,モデルが推定した結果をインクリメンタルに取り込んだ上で、entity-levelの(言い換えるとcluster-levelの)representationを計算しつつクラスタ同士をマージし続けるような形で共参照解析を行えるモデルにしようと言う話。モデルまず前提として、個々のメンションの抽出は別モジュールで既に行われているとする。(1)のエンコーダは特筆することもなく2つのメンションのembeddingと周囲の単語、メンション間の距離などの特徴量を使ってFFNNに通して新たなrepresetantionを計算する。(2)でそれを使って、あるメンションmとある先行詞aの間のスコアを算出する。(3)はクラスタのペアについてのエンコーダなので2つのクラスタに属するメンションの全通りの組み合わせに対してあれこれしてrepresentationを計算。詳しくは論文の図参照。(2)が必要になるかというと、具体的には(4)での枝刈り&実行順序決め(簡単なものから実行するため)に用いる。Modelを適用して実際の共参照解析を行っている。学習データとして持っているのは最終的に得られたクラスタだけで途中にどのような順番でクラスタとクラスタのマージを行ったか、というラベルは陽に存在しないため,通常のneural-basedなモデルと違って最終的なクラスタ同士を比較するだけでは最適化が難しく、ここについてはDaumeのlearning-to-searchというアルゴリズムを使って解決している。