未踏テキスト情報中のキーワードの抽出システム開発
https://gyazo.com/a831f1084705e301961a387aa11c260c
https://gyazo.com/e05f0c4fc08899f9df304c19cd4bfaf1https://gyazo.com/643756b0b3e9c062d3ad48453cbe2717
文字列が2回出現した文章数÷文字列が1回出現した文章数
文字列が1回出現した条件付きでの2回以上出現する確率
実際の部分文字列はもっと広く分布する
人間が決めたキーワードの分布はその一部に濃く分布する
スコア
「文字列が1回出現した文章数」は要するにDFなので、これで割るのはIDFである df2が3以下だと、対数スコアを-10000とする
スコアが0.5を超えていたら0.5で飽和させる
これは文字列を引数として「キーワードらしさ」を返す関数と解釈できる
「この言語におけるキーワードらしさ」である
この関数は事前に大きなコーパスから求めておく必要がある
どういう形で保存しておくと良いだろう?
接尾辞配列の形で十分な情報があるが、過剰に詳細
異なる文章での出現回数だけで良い、それも0か1か2以上かがわかれば十分
分割されたそれぞれの文字列のスコアの積を最大化する分割を求める問題
スコアが1以下なので、同じスコアであれば分割しない方が得
なぜ?→キーワードの部分文字列もスコアが高いため
「キーワードらしさ」のスコアを「単語らしさ」と読み替えてる
分割した後で以下の条件を満たすものをキーワードとする
頻度が0.00005から0.1の範囲
対数スコアが-1以上
長さが2以上