趣旨

  • 自然言語処理についての知見を得たい
  • 自然言語処理を使って何か作ってみたい

目標

  • 文章の比較を行って類似文章を探す
  • 最終的にサービスとしてローンチする

直近の課題

  • 基礎編として BoW を使った文章比較をやってみる

処理の流れ

  • 形態素解析ツールで文章を単語に分割する
  • BoW を使ってベクトル化
  • TF-IDF を使って重み付けする
  • cos 類似度を計算して類似文章を探す

参考記事

Ruby で文章間の類似度を計算するモジュールを作ってみた(TF-IDF と Cos 類似度による推定) - Fire Engine

要素技術

形態素解析

文章を単語レベルに分割し、文法情報を付与するアルゴリズム 形態素解析の説明

Bag of Words (BoW)

文章中の単語の出現回数をベクトル化するアルゴリズム Bag of Words の説明

TF-IDF

「ある文書内でたくさん出てくる単語ほど重要」という指標を「いくつもの文章内で横断的に使われている単語は重要じゃない」という指標で割ったもの TF-IDF の説明

cos 類似度

ベクトル化された情報に対して、2 つのベクトルとベクトルがどれだけ近いかを数値(0’似ていない’〜1’似ている’)で表したもの

次回

実装