Wikipediaデータを用いてコンテンツ(アニメ・漫画・映画・ゲーム・小説)のデータ分析やデータ整理を行っています。本記事では、カテゴリ情報を用いて、コンテンツの特徴を算出することを試みます。
逆カテゴリ頻度
逆カテゴリ頻度とは、TF-IDFにおける逆文書頻度からのアイデアです。造語です。
TF-IDFは、ある文書における単語の重要度について、
1. その文書にたくさん出現する
2. 他の文書にあまり出現しない
なら、その単語は、その文書で重要な単語である、というような考え方です。
逆文書頻度は、2です。今回使いたい考え方は、2の他の文書にあまり出現しないほうが重要ということです。
これをWikipediaのカテゴリ情報に転用します。
例
私が好きなドラマに奇跡の人(Wikipedia)があります。これは盲聾(視力と聴力との両方の障がい)を主題としたヒューマンドラマです。
このドラマについてのWikipediaの記事には、以下のカテゴリに分類されています。
1. Category:2016年のテレビドラマ
2. Category:日テレアックスオンのテレビドラマ
3. Category:視覚障害を扱ったテレビドラマ
4. Category:日本の恋愛ドラマ
5. Category:聴覚障害を扱ったテレビドラマ
6. Category:岡田惠和脚本のテレビドラマ
7. Category:プレミアムドラマ
これらのカテゴリにスコアをつけて差(順位)を出します(今回はスコアではなく頻度だけです)。
WITH v_tag AS (
SELECT id, UNNEST(tags) AS tag
FROM t_wh_contents_tags
WHERE id = 3379751 -- このコンテンツIDは後述
)
SELECT
id
, category
, count -- これは関数ではないです(後述のCSVの説明に記載)
FROM v_tag v
LEFT JOIN t_wh_contents_categories_count t ON v.tag = t.category
WHERE tag LIKE 'Category:%'
この出力は以下のようになります。
id category count
3379751 Category:2016年のテレビドラマ 434
3379751 Category:日テレアックスオンのテレビドラマ 198
3379751 Category:視覚障害を扱ったテレビドラマ 33
3379751 Category:日本の恋愛ドラマ 685
3379751 Category:聴覚障害を扱ったテレビドラマ 27
3379751 Category:岡田惠和脚本のテレビドラマ 74
3379751 Category:プレミアムドラマ 81
これは「日本の恋愛ドラマ」にカテゴライズされているコンテンツは685個あります。「聴覚障害を扱ったテレビドラマ」にカテゴライズされているコンテンツは27個しかなく、比較的少ないです。
これは後者のカテゴリのほうが、よりこのコンテンツの特徴を表していると考えることができます。
当該コンテンツを好むユーザに、属するコンテンツがより少ないカテゴリを重視しつつ、類似度を算出し、類似コンテンツを推薦します。
備考
なお、IDの3379751は、以下のSQLで探しています。
SELECT * FROM t_wh_contents_title
WHERE title LIKE '奇跡の人%'
次回以降
本記事では、逆カテゴリ頻度を提案し、
1. 逆カテゴリ頻度を用いてコンテンツ類似度を算出
2. そのコンテンツ類似度からレコメンド
を記載したいと思っています。
利用したデータ
利用するデータはココに少しずつ整備しています。
今回利用するデータは以下です。
コンテンツのタイトル(形式:csv、サイズ:5.3MB)
コンテンツのタグ(形式:csv、サイズ:158MB)
XXXにおけるカテゴリ情報も利用します。
これについては後述します。
XXXにおけるカテゴリ情報
今回、以下のデータを追加しました。
アニメ漫画におけるカテゴリ情報(形式:csv、サイズ:132KB)
映画におけるカテゴリ情報(形式:csv、サイズ:339KB)
ゲームにおけるカテゴリ情報(形式:csv、サイズ:69KB)
音楽におけるカテゴリ情報(形式:csv、サイズ:463KB)
小説におけるカテゴリ情報(形式:csv、サイズ:93KB)
このファイルは、以下のようなCSVになっています。「アニメ漫画におけるカテゴリ情報」における先頭数行です。
id | category | count | type |
---|---|---|---|
1 | Category:恋愛漫画 | 1485 | genre |
2 | Category:高等学校を舞台とした漫画作品 | 1220 | stage |
3 | Category:ギャグ漫画 | 1206 | genre |
4 | Category:ファンタジー漫画 | 970 | genre |
5 | Category:ギャグアニメ | 820 | genre |
6 | Category:日本のオリジナルテレビアニメ | 800 | original |
各列の概説は以下になります。
列 | 説明 |
---|---|
id | 一意の番号です。今のところ、他と結びつけることに使えていません。 |
category | wikipediaで付加されたカテゴリ名です。 |
count | そのカテゴリに属するコンテンツ数です。 |
type | カテゴリ自体をカテゴライズしたものです。 |
前記事
本記事は、以下の記事の続きです。前記事にもデータの説明があります。