Upgrade to Pro — share decks privately, control downloads, hide ads and more …

キーフレーズ抽出手法「SIFRank」について

 キーフレーズ抽出手法「SIFRank」について

キーフレーズ抽出手法「SIFRank」についての解説スライド
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8954611

Avatar for Watanabe Jin

Watanabe Jin

May 07, 2021
Tweet

Other Decks in Technology

Transcript

  1. 3 3 教師なしキーフレーズ抽出の手法 統計モデル : 単語の頻度や位置で評価する (TF-IDFなど) ドキュメント内の単語間の複雑な関係を反映できない グラフモデル :

    ドキュメント内の単語やフレーズ関係をモデル化する (TextRankなど) 教師なしキーフレーズ抽出では、 単語の埋め込み、文の埋め込み、ドキュメントのトピック間の関係を 適切なモデルで説明する必要がある 事前トレーニングされたモデルを使用して、行うことで 統計モデルとグラフモデル両方の利点を使う
  2. 4 4 既存手法 0.PageRank Google検索におけるWebページの順位付けに用いられており、 グラフベースのキーフレーズ抽出手法の根幹をなすアルゴリズム 𝑃𝑅 𝐴 = 1−

    𝑑 +𝑑෍ 𝑖=1 𝑛 𝑃𝑅(𝑇𝑖 ) 𝐶(𝑇𝑖 ) 𝑃𝑅 𝐴 ∶ ページAのPageRank 𝐶 𝑇𝑖 ∶ ページ𝑇𝑖 から出ていくリンク数 𝑇𝑖 : ページAにリンクを張っているページ。総数𝑛 𝑑 : ダンピングファクタ 0 ≤ 𝑑 ≤ 1 の値をとる 「あるWebページをランダムにリンクをたどりそうこうするうち また別のWebページを起点に同じk所とを繰り返すユーザーを仮定したとき そのユーザーがあるページを閲覧している確率」のような意味合い ダンピングファクタは「そうこうするうちに別のWebページを起点に」する確率で、 ページ内のリンクをクリックせずにアドレスバーにURLを直打ちするイメージとなる。 ページ内のリンクをたどるだけでは有効グラフに閉路が形成されていると脱出できないので、 確率1-dでページ内のリンクを無視しててレポートすることで、 閉路がある場合でもPageRankの計算が可能になる
  3. 5 5 既存手法 1.TextRank 「相互に関連度の高い語句は重要度が高い」という仮定に基づき PageRank を用いて語句を選択する手法 文章に含まれる単語をノードとし、 単語と単語が指定した窓幅内で共起した場合にエッジを張り無向グラフを形成 グラフが肥大化しないように品詞による絞り込みを行う

    形成されたグラフはWebページと異なり無向グラフになるので、 ノードへの入力エッジ数 = ノードからの出力エッジ数としてPageRankをかけて、 PageRankの高い順に単語を出力する 最後に連続した抽出単語を単一のキーフレーズにまとめる
  4. 6 6 既存手法 2. SingleRank 𝑊𝑜𝑟𝑑𝑆𝑐𝑜𝑟𝑒 𝑣𝑖𝑖 = 𝜇 ∙

    ෍ 𝑎𝑙𝑙𝑖≠𝑗 𝑊𝑜𝑟𝑑𝑆𝑐𝑜𝑟𝑒 𝑣𝑗 ∙ ෨ 𝑀 𝑗,𝑖 + (1−𝜇) 𝑉 𝑊𝑜𝑟𝑑𝑆𝑐𝑜𝑟𝑒(𝑣𝑖 ): 単語𝑣𝑖 のスコア |𝑉| : キーフレーズを抽出する文章の語彙数 ෨ 𝑀 : |𝑉| ×|𝑉| の重み行列。 ෨ 𝑀 𝑗,𝑖 の値は単語𝑖と単語𝑗の共起回数を ෨ 𝑀の各行を合計1になるよう正規化したもの 𝜇: ダンピングファクタ0 ≤ 𝜇 ≤ 1の値をとる 単語のスコアを計算した後、グラフに追加した単語(名詞+形容詞等)の連続をフレーズ候補とし、 フレーズ候補に含まれる単語のスコアを合計することで、 フレーズ候補のスコアを導出、高スコアのフレーズ候補をキーフレーズとして抽出 𝑃ℎ𝑟𝑎𝑠𝑒𝑆𝑐𝑜𝑟𝑒 𝑃𝑖 = ෍ 𝑣𝑗∈𝑝𝑖 𝑊𝑜𝑟𝑑𝑆𝑐𝑜𝑟𝑒(𝑣𝑗 ) TextRank との相違点 •グラフのエッジを共起回数で重みづけ( TextRank はエッジの重みなし)。 •フレーズ候補を構成する単語のスコアの合計をフレーズ候補のスコアとする ( TextRank は高スコアの単語を抽出してから連続した抽出単語を結合)
  5. 7 7 既存手法 3. PositionRank 無向グラフ形成の手順やフレーズ候補のスコア算出は SingleRank と同じで、 以下のように単語のスコアを計算。 ǁ

    𝑝が異なる 𝑆 𝑡 + 1 = 𝛼 ∙ ෨ 𝑀 ∙ 𝑆 𝑡 + (1 − 𝛼) ∙ ǁ 𝑝 𝑆: 単語スコアの列ベクトル 次元数は文章中の単語を品詞で絞り込んだ後の語彙数 |𝑉| ෨ 𝑀 : |𝑉| ×|𝑉| の重み行列(singleRankと同じ) ǁ 𝑝: エッジを無視しててレポートする際の飛び先の重みを 保持した列ベクトル。次元数は|𝑉| 𝛼: ダンピングファクタ0 ≤ 𝛼 ≤ 1の値をとる PositionRankではダンピングファクタによっての遷移確率がノードによって異なる ǁ 𝑝 がテレポート先の遷移確率となっており、 ǁ 𝑝 の𝑖番目の要素 ǁ 𝑝𝑖 の値は単語𝑖の文章中でのすべての出現位置の逆数の総和を ǁ 𝑝 の全要素の合計が1になるように正規化したものが入る PostionRank では単語の出現位置が文書の先頭に近ければ近いほど テレポート先になる確率が高くなり最終的なスコアでも有利になる
  6. 8 8 既存手法 4. TopicRank • 似たフレーズ候補をトピックにまとめる • トピックレベルで重要度を評価 •

    重要なトピックからキーフレーズを一つづつ抽出 (先頭に近いフレーズ、出現回数が多い、クラスタの重心となるフレーズなど) 前述した単語をノードとする手法の難点は、 「乳児用液体ミルク」、「液体ミルク」のように意味合い的に重複するキーフレーズが 複数抽出されてしまうことだったので、この課題を回避した。 5. MultipartieRank TopicRank を改良したものになります。 TopicRank の課題はトピックレベルで順位付けされるため、 同一トピックに属するフレーズ候補の集合は同じ重要度となり、 代表フレーズがヒューリスティックに抽出される。 MultipartieRank ではグラフ形成の仕方を工夫することで、この課題を回避
  7. 10 10 ベースモデルとの比較 Inspect・SemEval2017: 短いドキュメント Doc 2001 : 長いドキュメント 埋め込みベース

    (Embedding-based)は短いドキュメントで効果的であるが、 長いドキュメントではPositionRankがうまく機能している。 SIFRankは短いドキュメント で最先端の結果となり、 位置の重みを考慮したSIFRank+で長いドキュメントで最先端の結果となっている。 (n=10, 15でも同じような結果であった)
  8. 11 11 SIFRank (SIFRank+)のフレームワーク 𝑇1 𝑇2 𝑇3 … 𝑇𝑛 𝑇1

    𝑇2 𝑇3 … 𝑇𝑛 IN JJ 𝑁𝑃 1 NNP NN 𝑁𝑃 𝑀 候補語(名詞句)の取り出し 𝐸11 𝐸12 𝐸13 𝐸1𝑛 … 𝐸21 𝐸22 𝐸32 𝐸2𝑛 … 𝐸31 𝐸32 𝐸33 𝐸3𝑛 … ELMo 𝑁𝑃1,1 𝑁𝑃1,2 𝑁𝑃1,3 𝑁𝑃2,1 𝑁𝑃2,2 𝑁𝑃2,3 … 𝑁𝑃𝑀,1 𝑁𝑃𝑀,2 𝑁𝑃𝑀,3 候補語のベクトル 出現確率調節 位置調節 長文対応調節 文章ベクトル計算 重要語のスコア 文章と単語の類似度でスコア算出 SIF
  9. 12 12 文埋め込みモデルSIFについて ほとんどのトレーニング済みモデルでうまく機能する モデルによって得られた文埋め込みがドキュメントのトピックをうまく反映できる 平滑化の仮定を置いている 1. いくつかの単語は文脈によって現れない(?) 2. 高頻度で出る単語

    (and , the ..) は文のトピックとは無関係 Pr 𝑠 𝑐𝑑 = ෑ 𝑤∈𝑠 Pr 𝑤 𝑐𝑑 = ෑ[𝛼𝑓 𝑤 +(1−𝛼) exp(< 𝑣𝑤 , ǁ 𝑐𝑑 >) 𝑍 ǁ 𝑐𝑑 仮定に基づいてセンテンスSの生成確立はトピック𝑐𝑑 を用いて以下で表される 𝑍 ǁ 𝑐𝑑 = ෍ 𝑤∈𝑣 exp(< 𝑣𝑤 , ǁ 𝑐𝑑 >) ǁ 𝑐𝑑 = 𝛽𝑐0 +(1−𝛽)𝑐𝑑 𝑐0 ⊥ 𝑐𝑑 𝑓 𝑤 : 大規模コーパスで単語𝑤が出現する統計的確率 これによってセンテンスベクトルはこのようになる 𝑣𝑠 = 1 |𝑠| ෍ 𝑤∈𝑠 𝛼 𝛼 +𝑓 𝑤 𝑣𝑤 = 1 |𝑠| ෍ 𝑤∈𝑠 𝑊𝑒𝑖𝑔ℎ𝑡(𝑤)𝑣𝑤 𝛼,𝛽 : ハイパーパラメータ 𝑐0 : 構文に関することが多いトピックを修正するベクトル
  10. 13 13 訓練済みモデルELMoについて ELMoはこの論文ではL0, L1, L2で表される3つのレイヤーがありすべて1024次元である。 L0 : 文字をエンコードするレイヤー トークンの静的埋め込みはこの畳み込みニューラルネットワーク層で生まれる

    L1 , L2 : biLMによって生成される文脈上の埋め込み L1は文法情報をキャプチャするのに適している L2は文脈に依存した意味情報を捉えるにはL2が適している これらの3つのレイヤーの埋め込みに重みを付けてから、 さまざまな下流のタスクに入力する
  11. 14 14 SIFRankについて 𝑆𝐼𝐹𝑅𝑎𝑛𝑘 𝑣𝑁𝑃𝑖 = S𝑖𝑚 𝑣𝑁𝑃𝑖 ,𝑣𝑑 =

    cos 𝑣𝑁𝑃𝑖 ,𝑣𝑑 = Ԧ 𝑣𝑁𝑃𝑖∙ Ԧ 𝑣𝑑 |Ԧ 𝑣𝑁𝑃𝑖 | | Ԧ 𝑣𝑑 | 𝑑 : ドキュメント 𝑣𝑑 : 𝑑の埋め込み 𝑣𝑁𝑃 : 候補語(NP)の埋め込み SIFRankは0-1を取る 1に近いその候補はドキュメントのトピックとの関連性が高くなる
  12. 15 15 ドメインによって単語の出現確率が変わる 異なったドメインに対応するため、単語埋め込みの計算の重みを変更する 𝑊𝑒𝑖𝑔ℎ𝑡 𝑤 = 𝜆𝑊𝑒𝑖𝑔ℎ𝑡𝑐𝑜𝑚 𝑤 +

    1 −𝜆 𝑊𝑒𝑖𝑔ℎ𝑡𝑑𝑜𝑚 𝑤 = 𝜆 𝛼 𝛼 +𝑓 𝑤 +(1 −𝜆) ƴ 𝛼 ǁ 𝛼 + ሚ 𝑓 𝑤 𝜆 ∈ [0,1] 𝑊𝑒𝑖𝑔ℎ𝑡𝑐𝑜𝑚 𝑤 : 大規模なコーパスをカウントする 𝑊𝑒𝑖𝑔ℎ𝑡𝑑𝑜𝑚 (𝑤): ドメインのコーパスをカウント 単語の頻度が統計的に見つからなかった場合 𝑊𝑒𝑖𝑔ℎ𝑡 𝑤𝑖 = 𝑚𝑖𝑛 1,𝑚𝑎𝑥𝑤𝑗∈𝑠,𝑖≠𝑗 𝑊𝑒𝑖𝑔ℎ𝑡(𝑤 𝑗 ) 1かセンテンス内の他の単語の最大を比較して最小の方を重みに設定する
  13. 16 16 同じ単語でも埋め込みは位置によって異なる 𝑣 𝑤𝑖 𝑠𝑗𝑝 : 𝑤𝑖 の埋め込み 𝑤𝑖

    は単語、𝑠𝑗𝑝 はセンテンスの単語位置 1. ドキュメントセグメンテーション ELMoに文を全て入れると計算時間がかかるので分割して並列で計算を行いたい MSLを最小のシーケンス長としてドキュメントをセグメント化する 各文は独立した完全な文になっている 2. ドキュメントの位置合わせ セグメンテーションによりドキュメントは完全でなくなりパフォーマンスに影響する ⇒ セグメントアライメント(EA)を利用する ҧ 𝑣𝑤𝑖 = 1 𝑛 ෍ 𝑠𝑗,𝑝 𝑣 𝑤𝑖 𝑠𝑗𝑝 単語𝑤𝑖 の埋め込みはすべてのコンテキストの埋め込みの中心となる セグメントドキュメントごとに埋め込みを計算したあと、上記を計算してすべての埋め込みを置き換える
  14. 17 17 長いドキュメントのための位置バイアス (SIFRank+) SIFRankはBOWの一種で、長文の場合は位置を考慮すべきである (特に複数の段落がある文) 先行研究によると位置バイアスはドキュメント内の単語の位置の逆数の合計で求まる 単語の出現頻度の情報はすでにSIFで考慮されている 二重で考慮されないように最初の位置のみで考える (重要語は最初に書かれている仮定に基づく)

    𝑃 𝑁𝑃𝑖 = 1 𝑝1 + 𝜇 𝑝1 : 𝑁𝑃 𝑖 の最初に出た位置 𝜇: ハイパーパラメータ―、ポジションバイアスを調整する 𝑝1 ∈ ℕ∗ 𝜇 ∈ ℝ∗ 隣接する候補キーフレーズの位置バイアスの重みのずれを狭めるためにSoftmax関数にかける ෨ P 𝑁𝑃𝑖 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑝 𝑁𝑃𝑖 = exp(𝑝 𝑁𝑃𝑖 ) σ 𝑘=1 𝑁 exp(𝑝 𝑁𝑃𝑘 ) 長いドキュメントに対応したSIFRankをSIFRank+と呼ぶ 𝑆𝐼𝐹𝑅𝑎𝑛𝑘 + 𝑁𝑃𝑖 ,𝑑 = ǁ 𝑝(𝑁𝑃𝑖 )∙𝑆𝑖𝑚(𝑣𝑁𝑃𝑖 ,𝑣𝑑 )
  15. 18 18 日本語文章で実験 人間の知的能力をコンピュータ上で実現する、様々な技術・ソフトウェア・コンピュータシステム。 応用例は自然言語処理(機械翻訳・かな漢字変換・構文解析等)、専門家の推論・判断を模倣する エキスパートシステム、画像データを解析して特定のパターンを検出・抽出したりする画像認識等がある。 1956年にダートマス会議でジョン・マッカーシーにより命名された。 現在では、記号処理を用いた知能の記述を主体とする情報処理や研究でのアプローチという意味あいでも使われている。 家庭用電気機械器具の制御システムやゲームソフトの思考ルーチンもこう呼ばれることもある。 プログラミング言語LISP

    による「ELIZA」というカウンセラーを模倣したプログラム(人工無脳)がしばしば引き合いに出されるが、 計算機に人間の専門家の役割をさせようという「エキスパートシステム」と呼ばれる研究・情報処理システムの実現は、 人間が暗黙に持つ常識の記述が問題となり、実用への利用が困難視されている。 人工的な知能の実現へのアプローチとしては、 「ファジィ理論」や「ニューラルネットワーク」などのようなアプローチも知られているが、 従来の人工知能であるGOFAI (Good Old Fashioned AI) との差は記述の記号的明示性にある。 その後「サポートベクターマシン」が注目を集めた。 また、自らの経験を元に学習を行う強化学習という手法もある。 「この宇宙において、知性とは最も強力な形質である(レイ・カーツワイル)」という言葉通り、 知性を機械的に表現し実装するということは極めて重要な作業である。 2006年のディープラーニング(深層学習)の登場と2010年代以降のビッグデータの登場により、 一過性の流行を超えて社会に浸透して行った。 2016年から2017年にかけて、ディープラーニングを導入したAIが完全情報ゲームである囲碁などのトップ棋士、 さらに不完全情報ゲームであるポーカーの世界トップクラスのプレイヤーも破り、 麻雀では「Microsoft Suphx(Super Phoenix)」がAIとして初めて十段に到達するなど、時代の最先端技術となった。 SIFRank SIFRank+ SIFRank・SIFRank+ 文字数: 912 抽出数:5 FLR