LoginSignup
0
0

More than 1 year has passed since last update.

逆カテゴリ頻度

Last updated at Posted at 2022-11-22

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 カテゴリ自体をカテゴライズしたものです。

前記事

本記事は、以下の記事の続きです。前記事にもデータの説明があります。

0
0
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
0
0