3.6 LLM を用いたトピック分類とアイテム類似性ラベリング

はじめに: トピック分類とアイテム類似性ラベリングで学ぶこと

この章では、LLM を用いて作品のトピックを分類し、作品ペアの類似性へラベルを付ける方法を扱う。目的は、LLM にリクエストごとの推薦リストを直接生成させることではない。作品内容を再利用可能な特徴や評価データへ変換し、検索・候補生成・ランキング・人手レビューを支えることである。

動画作品では、ジャンル、題材、人物、ムード、視聴文脈などが重なり合う。「似ている」という判断も、内容が近いこと、同じ棚の候補として有用なこと、あるプロフィールへ推薦すべきことを区別しなければならない。本章では、embedding による候補抽出と、LLM・人手による意味的な判定を組み合わせる理由を説明し、Hulu の作品データへ接続する。

まず、分類、類似性、パーソナライズの役割を混同しないための要点を確認する。

最初に押さえる要点

このチュートリアルの本質は、LLM を「作品を直接推薦するモデル」として使うことではない。まずアイテムの意味を整理し、似ている候補ペアだけを安価に集め、LLM と人手でその候補を精査して、推薦・検索・評価に使えるデータ資産へ変えることである。

埋め込みの cosine 類似度は、大量のアイテムから有望な候補を高速に探すための連続スコアである。LLM の類似ラベルは、あらかじめ定義した「何をもって似ているとするか」に対する意味的な判定である。両者は補完関係にあり、同じものではない。

処理 答える問い 出力 主な制約
トピック分類 この作品は何についての作品か トピック・ジャンル・属性ラベル ラベル体系と境界事例の定義
embedding 検索 内容が近そうな作品はどれか 近傍候補と連続類似度 埋め込みが表す意味に依存
LLM 類似性判定 この二作品は指定した軸で似ているか 二値または段階ラベル、根拠 判定軸、prompt、入力情報に依存
推薦ランカー このプロフィールには何を上位提示するか 視聴確率・効用に基づく順位 行動ログ、露出、文脈、制約が必要

Hulu の作品データでは、 item_information_tablegenresub_genredescriptionsockets_tag 、出演者・監督、 avg_mood_tagavg_fingerprint を類似性の入力や検証対象に使える。一方、 unique_viewed_series は「シリーズの 25% 以上を視聴した」行動を示すテーブルであり、作品内容の同一性ラベルではない。内容が似ていることと、同じプロフィールが両方を見ることも別の事象である。

背景: なぜ作品を分類し、作品ペアへラベルを付けるのか

推薦モデルが扱う ID だけでは、作品の内容を理解できない。 series_id=500001745 は機械にとって単なる識別子であり、「宇宙を舞台にした思索的 SF」「家族で見やすい短編アニメ」「特定俳優が出演する犯罪ドラマ」といった意味を含まない。視聴履歴が豊富な作品なら協調フィルタリングで近さを学べるが、新着作品、視聴の少ない作品、検索語との意味対応では、作品内容そのものを表す特徴が必要になる。

そこでコンテンツ理解を行う。トピック分類は、各作品へ検索・フィルタ・推薦に使える属性を付ける処理である。アイテム類似性ラベリングは、二作品がある目的に対して近いかどうかを、再利用可能なデータとして残す処理である。

例えば、視聴履歴の少ない新着作品 X の説明文から、LLM が「SF」「宇宙開発」「緊張感が強い」「思索的」といった候補ラベルを出すとする。過去に同様の特徴を持つ作品を視聴したプロフィールへ、X を候補生成できる。さらに既存作品 Y とのペアに「内容類似 3 / 3、代替候補として提示可能」といったラベルがあれば、「Y を見た人へ X を出す」経路の根拠や評価材料になる。

ただし、この例は「似ている作品を推薦すればよい」という意味ではない。Y と X が似ていても、X が配信不可、年齢制約違反、すでに視聴済み、シリーズ途中からであるなら表示できない。また、プロフィールが Y を好きだったことも、視聴ログだけでは確定しない。コンテンツ理解は推薦の土台の一部であり、最終的な推薦判断そのものではない。

このノートを読むための前提

アイテム、特徴、ラベル

アイテム ii は作品またはシリーズを表す。特徴量 xi\mathbf{x}_i は、その作品について既知の情報であり、タイトル、説明文、ジャンル、人物、ムード、映像特徴などから作る。ラベル yiy_i または ya,by_{a,b} は、人間または規則が定めた判定結果である。

xi=metadata and content features for item i\mathbf{x}_i=\text{metadata and content features for item } i
yi=topic labels for item iy_i=\text{topic labels for item } i
ya,b=similarity label for the item pair (a,b)y_{a,b}=\text{similarity label for the item pair } (a,b)

トピック分類は xiyi\mathbf{x}_i\rightarrow y_i を作る問題である。類似性ラベリングは (xa,xb)ya,b(\mathbf{x}_a,\mathbf{x}_b)\rightarrow y_{a,b} を作る問題である。後者は「作品 A が好きなら B を推薦する」と直接等しくはない。ユーザー文脈をまだ含まない、作品どうしの関係を作る処理である。

embedding と LLM の役割

embedding は、作品説明などを固定長ベクトル ei\mathbf{e}_i へ変換した表現である。ベクトル間の cosine 類似度を使うと、非常に多い作品から近い候補を高速に探せる。LLM は、二つの作品カードを読んで「今回定義した類似軸では似ているか」と理由付きで判定する。

手段 得意なこと 苦手なこと
embedding 数十万作品から近傍を高速に検索する 類似の理由や、用途に応じた例外規則を直接扱う
LLM 自然言語の基準・例外を踏まえて少数の候補を比較する 全ペアを低コスト・低遅延で比較する
人手 曖昧な定義、ポリシー、作品固有の事実を確定する 大量の全件ラベルを低コストで作る

この章の中心は、embedding で広く候補を集め、LLM と人手で狭く深く判定する役割分担である。

候補生成・類似性・パーソナライズを区別する

「似ている」という言葉は、少なくとも三つの意味を持つ。

概念 問い
内容類似 二作品のテーマやトーンは近いか 二つの宇宙生存 SF が近い
候補生成 作品 A から B を探索候補として拾うべきか A を起点に B を ANN で取得する
パーソナライズ プロフィール uu は今 B を見そうか 最近の履歴と表示面を含めて B を順位付けする

内容類似は、後二者に役立つ一つの信号である。しかし、パーソナライズには視聴履歴、既視聴、配信可否、時間帯、同一シリーズの視聴順など、作品ペアだけでは分からない情報が必要である。この区別を保つと、図 3.5 の類似度を視聴確率と誤解しない。

このノートの読み方

まず次節で、分類・embedding 検索・LLM 判定から成る全体フローを把握する。次に、トピック分類でラベル体系と多ラベル評価が必要な理由を確認する。その後、cosine 類似度、図 3.5、AUC の解釈を扱う。後半では、動画サービスにおいて「類似」をどう定義するか、LLM prompt と人手レビューをどう設計するか、得たラベルを推薦へどう接続するかを説明する。

1. チュートリアルを四つの処理へ分解する

ニュース記事の例では、各記事をあらかじめ定義されたトピックへ分類し、記事の埋め込みを作り、近い記事ペアだけを LLM に渡し、LLM が「同じ topic か」を確認している。動画作品へ置き換えると、次の流れになる。

  1. 作品カードを作る。タイトルだけでなく、あらすじ、ジャンル、人物、タグ、配信形態、映像・ムード特徴を明示する。

  2. 作品カードから embedding を作り、近傍検索で類似候補を集める。

  3. 候補ペアへ、定義済みの類似性ルーブリックを与えて LLM 判定を行う。

  4. ルール・人手監査・実視聴データで検証し、検索、類似作品棚、embedding 評価、ランキング特徴に利用する。

重要なのは、手順 2 が候補生成、手順 3 が意味的検証である点である。埋め込みで近い順に出たからといって、そのまま「類似作品」と表示してはならない。逆に LLM に全作品ペアを比較させるのも高コストである。

アイテム数を NN とすると、全ペア数は次である。

N(N1)2\frac{N(N-1)}{2}

例えば N=100,000N=100{,}000 なら約 50 億ペアであり、全比較は実用的でない。各作品について近傍検索で上位 KK 件だけを集めれば、重複を無視した概算で LLM 判定候補を NKN K 程度へ減らせる。候補生成では高い Recall、LLM 判定では高い Precision を目指す、という二段構えである。

2. トピック分類は「正解が一つ」とは限らない

2.1 ニュースのフォルダ名は分類タスクの便宜上の正解である

BBC の例で用いられるフォルダ名は、学習・評価のための参照ラベルとして有用である。しかし、記事の全ての意味を表す絶対的な真実ではない。ドルトムントの財政危機を「スポーツ」と見るか「ビジネス」と見るか、HP のインク訴訟を「技術」と見るか「ビジネス」と見るかは、分類体系が何を主題と定義するかに依存する。

この種の誤りは、LLM が文章を読めないからだけで起きるのではない。ラベル体系の境界が曖昧で、元データのカテゴリが記事の複数の側面の一つだけを採用しているためでもある。したがって、二つの LLM の一致率が高いことは、二つのモデルが同じ分類を返しやすいことを示すが、正しい分類を保証しない。

二つの単一ラベル分類器 A、B の一致率は次のように書ける。

Agreement(A,B)=1Nn=1N1[y^n(A)=y^n(B)]\operatorname{Agreement}(A,B) = \frac{1}{N} \sum_{n=1}^{N} \mathbb{1}[\hat y^{(A)}_n=\hat y^{(B)}_n]

ここで高い一致率が示すのは再現性の一側面である。両者が同じ曖昧なガイドラインを同じように誤読すれば、一致率は高くなり得る。参照ラベルに対する精度、人手アノテータ間の一致、誤りの内訳を併せて見る必要がある。

2.2 動画では多ラベル・階層ラベルが自然である

動画作品を単一の genre だけへ押し込むと、推薦に必要な情報を失う。例えば一作品は「海外ドラマ」「犯罪」「サスペンス」「政治」「重厚」「陰鬱」と同時に表せる。ここで「海外ドラマ」はメディアや大分類、「犯罪」は題材、「サスペンス」は物語形式、「重厚」はトーンであり、同じ軸の排他的なラベルではない。

実務では、ラベル体系を少なくとも次のように分けると混乱が減る。

ラベル例 複数可否 利用例
形式・大分類 映画、国内ドラマ、海外ドラマ、アニメ、ライブ 通常は単一 表示面・候補制約
ジャンル SF、恋愛、犯罪、歴史、コメディ 複数可 検索・候補生成
題材・テーマ 宇宙開発、家族、復讐、選挙、音楽業界 複数可 意図理解・類似説明
トーン・ムード 緊張感、温かい、陰鬱、知的、爽快 複数可・強度あり 類似性・再ランキング
視聴文脈 家族向け、短時間向け、ながら見向け 定義を要する 棚・セグメント
安全・制約 年齢区分、刺激的表現、配信形態 複数可 フィルタリング

item_information_tablegenresub_genresockets_tagavg_mood_tag は、この体系の一部として利用できる。LLM が新ラベルを出す場合も、既存列を黙って上書きせず、 llm_label_versionprompt_versionmodel_versionconfidencereview_status を持つ別テーブルへ保存するのが安全である。

2.3 多ラベル分類の評価

単一ラベルの Accuracy は、多ラベル分類には不十分である。正解集合を YiY_i 、予測集合を Y^i\hat Y_i とすると、作品 ii ごとの Jaccard 類似度は次である。

Ji=YiY^iYiY^iJ_i=\frac{|Y_i\cap\hat Y_i|}{|Y_i\cup\hat Y_i|}

例えば正解が Yi={SF,サスペンス}Y_i=\{\text{SF},\text{サスペンス}\} 、予測が Y^i={SF,ドラマ}\hat Y_i=\{\text{SF},\text{ドラマ}\} なら、共通ラベルは一つ、和集合は三つなので Ji=1/3J_i=1/3 である。完全一致ではないが、全て誤りとも言えない。

ラベルごとの Precision、Recall、F1 を macro 平均と micro 平均の両方で報告するべきである。macro F1 は少数ラベルも一票として扱うため、人気ジャンルだけで良い成績に見せることを防ぐ。micro F1 は全ラベル判定をまとめて扱うため、全体の処理量に近い性能を表す。どちらか一方だけでは、希少な題材や安全ラベルの品質を判断しにくい。

3. cosine 類似度が表すものと、表さないもの

作品 a,ba,b の正規化済み embedding を ea,eb\mathbf{e}_a,\mathbf{e}_b とすると、cosine 類似度は次である。

sa,b=eaTebea2eb2s_{a,b}=\frac{\mathbf{e}_a^{\mathsf{T}}\mathbf{e}_b}{\lVert\mathbf{e}_a\rVert_2\lVert\mathbf{e}_b\rVert_2}

値が高いほど、その embedding モデルが見た入力上で二作品は近い。作品説明文 embedding なら、あらすじや人物、ジャンルの意味が近いほど高くなりやすい。 avg_fingerprint なら映像の色調、演出、テンポなど別の特徴を反映し得る。二つの数値を同列に扱わず、「どの入力をどのモデルが符号化した cosine 類似度か」を常に記録する必要がある。

cosine 類似度が高くても、推薦上の代替候補とは限らない。

  • 同じシリーズのシーズン 1 とシーズン 2 は非常に近いが、シーズン 1 未視聴者へシーズン 2 を勧めるのは不適切な場合がある。

  • 同じ実在人物についてのドキュメンタリーとドラマは、説明文では近くても、見たい視聴体験は異なる場合がある。

  • 同じ犯罪ジャンルでも、重い連続殺人劇と軽い謎解きコメディは、代替可能な候補とは言いにくい。

  • タイトル、出演者、固有名詞が共通するだけで、物語や視聴意図は異なる場合がある。

逆に、内容が意味的に近くなくても、同じプロフィールに推薦すべき二作品はあり得る。例えば、平日夜に短いバラエティ、休日に長編 SF を見るプロフィールでは、二ジャンルは遠いが両方とも本人の文脈に関連する。作品間類似度とユーザー・作品関連度を混同してはならない。

4. 図 3.5 を正しく読む

4.1 図が示していること

図 3.5: 記事 embedding の cosine 類似度と、LLM が付与した二値類似ラベルの関係。

図 3.5 の各点は一組の記事ペアである。縦軸は embedding の cosine 類似度、横軸は LLM が返した二値ラベルである。表示上の横方向のばらつきは、同じ 0 または 1 の点が重ならないようにする jitter であり、連続的な値を意味しない。

この標本では、ラベル 1 の点は平均的にラベル 0 より高い cosine 類似度側へ分布している。従って embedding 類似度は、LLM が「類似」と判定するペアを候補として集めるフィルタとして役に立つ。一方、 0.70.7 から 0.890.89 付近にはラベル 0 と 1 が大きく重なっている。この範囲では、cosine の閾値だけで LLM 判定を置き換えられない。

図の標本で「 0.90.9 超のペアは全て類似」と観測されたとしても、これは標本内の経験則であり、普遍的な閾値ではない。embedding モデル、正規化、入力テキストの長さ、候補抽出方法、LLM の類似性定義、コンテンツ言語が変われば分布は変わる。また 0.90.9 超の点数が少なければ、偶然に全て正例だった可能性もある。運用で 0.90.9 を自動採用の境界にするには、独立の検証セットと人手監査で、その領域の Precision と件数を確認する必要がある。

4.2 AUC = 0.7 の意味

cosine 類似度 ss だけをスコアとして、LLM ラベル y{0,1}y\in\{0,1\} を予測した ROC-AUC は、次の確率として解釈できる。

AUC=P(s+>s)\operatorname{AUC}=P(s^+>s^-)

ここで s+s^+ はランダムに選んだ類似ペアのスコア、 ss^- はランダムに選んだ非類似ペアのスコアである。同点処理を除けば、AUC =0.7=0.7 は「ランダムな正例・負例の一組を比べたとき、正例の方が高い cosine 類似度を持つ確率が約 70%」という意味である。

これは次の意味ではない。

  • 類似度が 0.7 のペアが 70% の確率で類似する、という意味ではない。

  • LLM のラベルが 70% 正しい、という意味ではない。

  • 閾値をどこに置いても 70% の精度になる、という意味ではない。

AUC が 0.5 ならランダム順位と同程度、 1.0 なら全正例を全負例より上に置ける。 0.7 は候補の優先順位付けには有用だが、二値判定を完全に代替するには重なりが大きい、という中程度の分離能力である。

なお、この AUC の正解ラベルは LLM 出力である。従って測っているのは「embedding 類似度が LLM 判定をどれだけ順位付けできるか」であり、「embedding が真の同一トピックをどれだけ判別できるか」ではない。後者を主張するには、LLM と独立に作成した人手ラベルまたは信頼できる外部正解が必要である。

4.3 ROC-AUC だけでは運用を決められない

似ているペアが全体の少数である場合、ROC-AUC は良く見えても、上位候補に誤検出が多いことがある。類似作品棚の自動生成では、正例の取りこぼしよりも誤って似ていない作品を並べるコストが高いことが多い。この場合は Precision-Recall 曲線、 Precision@K、 Recall@K、閾値ごとの件数を確認する。

閾値 τ\tau で自動採用するルールを考える。

y^a,b=1[sa,bτ]\hat y_{a,b}=\mathbb{1}[s_{a,b}\geq\tau]

Precision と Recall は次の通りである。

Precision(τ)=TP(τ)TP(τ)+FP(τ)\operatorname{Precision}(\tau)=\frac{TP(\tau)}{TP(\tau)+FP(\tau)}
Recall(τ)=TP(τ)TP(τ)+FN(τ)\operatorname{Recall}(\tau)=\frac{TP(\tau)}{TP(\tau)+FN(\tau)}

高い τ\tau は、自動採用するペアを減らして Precision を上げやすいが、Recall を下げる。低い τ\tau は候補を広く拾うが、誤検出を増やす。LLM を後段に置くなら、候補生成の閾値は Recall を重視してやや低めにし、LLM・ルール・人手で Precision を上げる設計が一般的である。

5. 「類似」の定義を一つにしない

記事の prompt は「同じ topic を論じているか」と尋ねている。これはニュースの重複記事検出には自然であるが、Hulu の「類似作品」とは異なる。動画作品では、次のいずれを意味するかを先に決めなければ LLM ラベルは一貫しない。

類似軸 正例の意味 代表的な用途
同一・重複 同じ作品、同一エピソード、実質的に同じコンテンツ 重複除去 吹替版と字幕版
シリーズ関係 同一フランチャイズ、続編、同じ世界観 視聴順・続編棚 シーズン 1 とシーズン 2
内容類似 題材・物語・人物関係が近い 「これに似た作品」 宇宙での生存を扱う SF 同士
視聴体験類似 トーン、テンポ、年齢適合性、視聴シーンが近い ホーム棚・再ランキング 軽快で短時間に見やすいコメディ
代替推薦可能性 同じ意図を満たし、片方の代わりに提示できる 候補生成・再ランキング 家族で見られる冒険アニメ
協調的近さ 同じプロフィール群に視聴されやすい CF 候補生成 内容が異なるが視聴者が重なる作品

「宇宙を舞台にした二作品」は内容類似かもしれないが、片方が重い哲学 SF、もう片方が子ども向けアニメなら視聴体験類似や代替推薦可能性は低いかもしれない。反対に、内容は違う二つの週末向けバラエティは、同じ視聴意図を満たすことがある。ラベルを一つの similar=true に畳み込むより、用途に応じて複数軸を分ける方が再利用しやすい。

6. LLM ラベリングの設計

6.1 作品カードを標準化する

同じ作品について、呼び出しごとに異なる情報量を渡すとラベルが不安定になる。入力はカタログのスナップショットから再現可能に作る。

作品 A
- series_id: 500001745
- タイトル: ...
- media_type: movie
- genre / sub_genre: 洋画 / SF
- あらすじ: ...
- タグ: ...
- 出演者・監督: ...
- ムード: emotional=0.97, intense=0.90, thought-provoking=0.97
- 利用条件: SVOD、現在視聴可能

このカードに個人情報や、判定に不要な生ログを混ぜない。 avg_mood_tagavg_fingerprint は外部 AI による推定で、全作品に存在するとは限らない。欠損を「ムードがない」と読ませず、 not_available と明示する。

6.2 類似性 prompt は軸・除外規則・出力を固定する

「この二作品は似ていますか」という prompt は曖昧すぎる。例えば内容類似のラベルを作るなら、シリーズ関係や同一出演者だけを根拠に類似としないか、視聴順の前提をどう扱うかを指定する。

目的: 「初めて見る人へ内容が近い代替候補として提示できるか」を判定する。
判定基準:
- 題材、物語の前提、トーン、想定視聴者を総合して判定する。
- 同一出演者、同じジャンル、同一シリーズだけでは Similar にしない。
- 続編で前作の視聴を強く前提とする場合は Not Similar とする。
- 入力にない事実を推測しない。
出力 JSON:
{
  "content_similarity": 0 | 1 | 2 | 3,
  "substitutable": true | false,
  "evidence": ["入力にある根拠"],
  "uncertain": true | false
}

二値だけでなく 0 から 3 の段階関連度を持たせると、閾値の調整、異なる用途への展開、人手レビューの優先順位付けがしやすい。例えば 3 を自動棚候補、 2 をランカー特徴、 0 と 1 を hard negative 候補、 uncertain=true を人手レビュー候補にできる。

6.3 順序バイアスと自己矛盾を検査する

ペア判定では、作品 A と B の提示順が結果に影響し得る。全件を二回呼ぶ必要はないが、人手監査用の標本では (A,B)(A,B)(B,A)(B,A) を両方判定し、対称性を確認するべきである。

symmetry_rate=1Mm=1M1[(am,bm)=(bm,am)]\operatorname{symmetry\_rate} = \frac{1}{M}\sum_{m=1}^{M}\mathbb{1}[\ell(a_m,b_m)=\ell(b_m,a_m)]

ここで \ell は類似ラベルである。低い対称性は、prompt の曖昧さ、説明文長の偏り、出力の不安定性を示す。モデル名、モデル版、prompt 版、温度、入力カード版、呼び出し日時を保存しなければ、この種の問題を再現できない。

7. 推薦パイプラインへの使い方

7.1 類似作品棚

「この作品に似た作品」棚では、まず作品 embedding と ANN index で上位候補を取得する。その後、すでに視聴済み、視聴不可、ブラックリスト、年齢制約違反、同じシリーズの過剰重複を除外する。LLM 類似ラベルは、候補の再順位付け、低品質候補の除外、説明文生成の監査に使える。

ここで最終順位を cosine 類似度だけで決めない。説明文 embedding の cosine、 avg_fingerprint の近さ、ジャンル一致、シリーズ関係、ラベルの確信度、人気・鮮度、そして棚の多様性を組み合わせる。どの情報を重視するかは、棚が「同じ作品を探す」のか「次に見たい代替候補を探す」のかで異なる。

7.2 embedding モデルの評価セット

人手校正済みのペアラベルは、embedding モデルの良し悪しを測る評価セットになる。内容類似を 00 から 33 の順序ラベル ra,br_{a,b} としたとき、cosine 類似度 sa,bs_{a,b} との単調な整合性は Spearman の順位相関で確認できる。

ρ=corr(rank(sa,b),rank(ra,b))\rho=\operatorname{corr}(\operatorname{rank}(s_{a,b}),\operatorname{rank}(r_{a,b}))

ただし、相関が高いだけでは推薦が良いと結論付けられない。ジャンル完全一致、人物一致、既存の avg_fingerprint 、別の text embedding をベースラインに置き、同一のペア評価セットで比較する。さらに候補生成 Recall、最終ランカーの時系列評価、オンライン実験まで見る必要がある。

7.3 ランカーの補助特徴

LLM ラベルをユーザーごとにオンライン生成するのは、遅延とコストの面で適さないことが多い。代わりに、作品ペアのオフラインラベルを保存し、ユーザーが最近視聴した作品集合 HuH_u と候補 ii の関係を集約して特徴量にする。

xu,iLLM=maxjHusimLLM(j,i)x^{\mathrm{LLM}}_{u,i}=\max_{j\in H_u}\operatorname{sim}^{\mathrm{LLM}}(j,i)

これは「最近視聴した作品のうち、候補に最も内容が近いものの LLM 類似度」である。最大値だけでなく、上位数件の平均、最近性で重み付けした和、類似した履歴作品数も候補になる。ただし LLM ラベルはユーザーの将来視聴を直接表すものではないので、視聴開始・25% 視聴・完走などを学習するランカーの一特徴として扱うべきである。

8. 評価と人手レビューの設計

候補抽出時に高類似度のペアだけを LLM へ渡すと、評価セットも高類似度領域に偏りやすい。この場合、図 3.5 の AUC は「すでに近い候補の中での分離能力」を表し、全カタログでの性能は表さない。評価データは次の層から抽出する。

  • 高 cosine 類似度のペア。自動採用領域の Precision を確認する。

  • 閾値近傍のペア。LLM・人手が最も価値を持つ曖昧領域である。

  • 低 cosine だが、ジャンル・人物・協調フィルタリングで候補になったペア。embedding の取り逃がしを調べる。

  • 同シリーズ、同名、続編、再編集版など。類似軸の定義が試される。

  • ジャンル、言語、年代、メディアタイプ、SVOD・TVOD にまたがるランダム標本。分布偏りを検出する。

人手レビューでは、単に最終ラベルを取るだけでなく、どの根拠が不足したか、どの類似軸で判断が割れたか、公式メタデータに誤りや欠損があるかを記録する。これは prompt 改善だけでなく、カタログ品質改善にもつながる。

LLM と人手が異なる場合、直ちに LLM の失敗と決めるべきではない。ラベル体系が曖昧か、作品カードの情報が足りないか、人手アノテータ間にも不一致があるかを確認する。特に安全・年齢適合性・公式情報に関わるラベルは、自動採用せず人の責任で確定するべきである。

9. 実装時の判断基準

問題 推奨する判断
cosine が 0.9 を超えた 同一モデル・同一データ分布で検証済みなら高信頼候補にする。ただし即時の真ラベル・推薦可否とは見なさない
cosine が中程度である LLM 判定または人手レビューへ送る。ここが二段構えの主な価値である
cosine が低い 通常は候補外とするが、協調フィルタリング、明示タグ、人物、検索意図から来た候補を完全には捨てない
LLM が Similar と判定した ラベル定義・根拠・確信度を保存し、用途ごとの規則と組み合わせる
LLM が二回で異なる回答をした uncertain として自動採用しない。prompt、入力カード、温度を調査する
人手と LLM が異なる ラベル体系、作品カード、境界事例のガイドラインを見直す

まとめ

トピック分類は、カタログを検索・推薦に使える意味属性へ整理する処理である。動画では単一ラベルより、形式、ジャンル、題材、トーン、制約を分離した多ラベル・階層ラベルが実用的である。

アイテム類似性ラベリングでは、embedding が高速な候補生成を担い、LLM が用途に沿った意味的検証を担う。図 3.5 の AUC =0.7=0.7 は、cosine 類似度が LLM ラベルの順位付けに中程度に有用であることを示すが、cosine 単独で類似性を確定できることは示さない。また、そのラベルが LLM 出力なら、AUC は人間の真の判断との一致を示すものでもない。

Hulu では、まず item_information_table から再現可能な作品カードを作り、用途別の類似軸を定義する。ANN で候補ペアを絞り、構造化 LLM 判定と人手監査でラベルを校正する。得られたラベルは類似作品棚、embedding の評価セット、ランキングの補助特徴へ利用し、最終的な推薦品質は unique_viewed_series を用いた時系列評価とオンライン実験で判断するのが堅実である。