LoginSignup
13
14

More than 5 years have passed since last update.

色んなサイトのTF-IDFを調べてみた(APIも公開したよ)

Last updated at Posted at 2016-12-26

はじめに

最近使っているスクレイピングのライブラリJsoupと形態素解析器kuromojiを使って色んなサイトのTF-IDFを調べてみました。DF (Document Frequency) は日本語Wikipediaの記事をDocumentと見なしました。kuromojiにはipadic+Neologdを辞書として用いています。

とにかくやってみる

Qiitaの場合

まずは本日(2016/12/26 18:30)のQiitaのランキング上位3件の記事を調べてみましょう。

1位:いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方
メモリやキャッシュ、更にはLinuxのコマンドやPC用語が含まれていますね。

単語 TF-IDF値
キャッシュ 309.65258288522097
DD 246.24922429864893
メモリ 209.22722419151629
MB 168.1702019600529
HDD 156.15804467719198
BO 132.13373011147013
BS 132.13373011147013
WA 132.13373011147013
CPU 132.13373011147013
BUFF 120.1215728286092

2位:Retty流『2200万ユーザを支える機械学習基盤』の作り方
「機械学習」「GPU」「Docker」「AWS」など、機械学習基盤っぽい用語が出てきますね!

単語 TF-IDF値
Retty 684.6929651230727
機械学習 612.9046715858269
HTTPS 432.4376621829933
GPU 420.42550490013235
Docker 306.31001071295356
基盤 216.15264808371847
Qiita 192.19451652577476
AWS 186.1884378843443
PNG 156.15804467719198
Secret 144.14588739433106

3位:初心者がchainerで線画着色してみた。わりとできた。
記事に含まれるプログラムコードの用語が出てしまってますね。「デイ・シイ」は実際は「DC」で、これもプログラムの用語です。

単語 TF-IDF値
2D 306.31001071295356
test 268.5932355319406
BND 192.19451652577476
デイ・シイ 153.66267708078513
線画 140.24967520586745
Qiita 138.1398087529006
Amazon 114.11549418717874
HTTPS 102.10333690431781
AWS 102.10333690431781
IMAGE 102.10333690431781

Wikipediaの場合

「Wikipedia」でぐぐったらWikipediaと東京喰種のwikiページが最初にヒットしたので、この2例を調べてみましょう。

ウィキペディア
「ヌーペディア」はWikipediaの前身らしいです。「ザンガー」と「ウェールズ」は創始者です。なかなかいい感じですね。

単語 TF-IDF値
274301 Wikipedia 702.711201047364
Wikipedia 144.14588739433106
プロジェクト 78.13092808858966
記事 72.39311150747272
ヌーペディア 62.735128692561766
Wiki 60.06078641430457
サンガー 58.79578216133566
Wikimedia 54.05470777287412
ウィキメディア財団 49.42546256406893
ウェールズ 48.657891781625956

東京喰種トーキョーグール
「隻眼」「アオギリ」「リゼ」「和修」など東京喰種の特徴を捉えていますね。

単語 TF-IDF値
東京喰種トーキョーグール 214.63517540942794
隻眼 41.69656394780747
アオギリ 40.56688634785545
トーキョーグール 36.126864209913414
JUMP 36.03647184858275
Loveit! 36.03647184858275
リゼ 34.125727615489716
和修 30.96588360849721
TVアニメ 30.030393207152294
東京喰種トーキョーグール√A 30.030393207152294

アルゴリズム

細かいアルゴリズムはこちらをご覧ください。ざっと解説すると、入力文をkuromoji-ipadic-Neologdで形態素解析し、名詞、動詞、形容詞、未知語のみを代表語の候補とします。いくつかストップ品詞細分類とストップワードを設定しています。続いて、代表語の候補に対してTFIDFを計算します。DFはWikipediaから算出したこちらのAPIを使いました。

関連情報

APIを公開しています。無料なので興味があればお試しください。

おわりに

TF-IDFは非常に初歩的な技術ですが、案外有用ですね。たくさん貯めたブクマ(あとで参考にしようと思ったり、すごく参考になったから保存したものを整理せずに放置してた)があるので、この機会に今回の技術を使って整理してみます。URLだけじゃなく文書とかにも使えるので、なかなか便利です。

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14