書籍レビューを用いた潜在表現の獲得とクラスタリングの実施

はじめに

書籍に関連する情報を用いてその潜在表現をうまく獲得することで、 以下のようなことができないかなーと考えています。

  • 自身の読書済みの本と照らし合わせて
    • カテゴリごとの網羅率の算出
    • 本を読んだ時に得られる情報量の算出
    • 該当の本の完読可能性の推定
    • 本を読むための事前知識の十分性確認

今回のスコープ

書籍に関する情報の1つであるレビュー情報を用いて潜在表現を作成し、 クラスタリングを行うことでその有効性の確認を行います。

潜在表現の作成は以下の2通りの方法で行いました。

1.TFIDF+LDA

2.Sentence-BERT

実施したこと

ブクログ2020年の登録者数の多い1000冊に対しレビューを取得、そこから30件以上レビューがある429冊に絞り30579件のレビューを元に書籍の潜在表現を生成しクラスタリングを行いました。

1.TFIDF+LDA

TFIDFで単語の出現頻度を元にしたベクトルを作成し、ある程度同じ意味の単語のトピックがまとまることを期待してその結果をさらにLDAで次元削減を実施します。 手順は以下になります。

  1. 429冊の30579件のレビューに対して形態素解析及びTFIDFを実施、30579x8050の行列を生成
  2. 1の出力に対しLDAで特徴量の数を20に次元削減し30579x20の行列を生成
  3. 2の出力を各書籍に対して平均値でまとめ、429x20の行列を生成
  4. 3の出力にkmeansを用い429冊の書籍を10クラスに分類

クラスタリング結果をt-SNEで2次元マッピングした結果は以下のようになりました。

f:id:rmizutaa:20210228185149p:plain

クラス毎に結構きれいに別れているように見えますが、 潜在表現は本来境界がきれいにみえないのが普通だと思いますので、これはLDAを事前に使っているためですね。 実際LDAをかけずにTFIDFの出力をそのままt-sneにかけるとほとんどクラスによる偏りはみられなくなりました。

各クラスに含まれる書籍上位20件は以下のようになりました。 上の図の左下に位置しているクラス0と3にビジネス書、その他に小説が多く含まれる結果となりました。 ビジネス書や小説の中のクラス毎の解釈は私の目だと少し難しいと感じました。

クラス 書籍名
0 世界一やさしい「やりたいこと」の見つけ方 人生のモヤモヤから解放される自己理解メソッド, あやうく一生懸命生きるところだった, 「育ちがいい人」だけが知っていること, 独学大全 絶対に「学ぶこと」をあきらめたくない人のための55の技法, 2020年6月30日にまたここで会おう 瀧本哲史伝説の東大講義 (星海社新書), なぜ僕らは働くのか-君が幸せになるために考えてほしい大切なこと, 会計クイズを解くだけで財務3表がわかる 世界一楽しい決算書の読み方, 言語化力 言葉にできれば人生は変わる, 話すチカラ, 時間をもっと大切にするための小さいノート活用術, 10代から知っておきたい あなたを閉じこめる「ずるい言葉」, みずほ銀行システム統合、苦闘の19年史 史上最大のITプロジェクト「3度目の正直」, コロナの時代の僕ら, コピーライターじゃなくても知っておきたい 心をつかむ超言葉術, エンド・オブ・ライフ, 面白い! を生み出す妄想術 だから僕は、ググらない。, 死にたいけどトッポッキは食べたい, 1%の努力, 宇宙兄弟とFFS理論が教えてくれる あなたの知らないあなたの強み【自己診断ID付き】, スペースキーで見た目を整えるのはやめなさい ~8割の社会人が見落とす資料作成のキホン
1 夜明けのすべて, 明け方の若者たち, わたしの美しい庭, ザリガニの鳴くところ, なんで僕に聞くんだろう。, 人は、なぜ他人を許せないのか?, 御社のチャラ男, 首里の馬, 私をくいとめて (朝日文庫), 「具体⇄抽象」トレーニング 思考力が飛躍的にアップする29問 (PHPビジネス新書), これからの男の子たちへ :「男らしさ」から自由になるためのレッスン, パチンコ 上, 愛されなくても別に, 絶対に挫折しない日本史 (新潮新書), 推し、燃ゆ, ゲームの王国 上 (ハヤカワ文庫JA), 帝都地下迷宮, 美しい距離 (文春文庫), ゲームの王国 下 (ハヤカワ文庫JA), 夜の向こうの蛹たち
2 一人称単数, イマジン?, まずはこれ食べて, アンマーとぼくら (講談社文庫), まだ温かい鍋を抱いておやすみ, 背高泡立草, トラペジウム (角川文庫), 奈落, ミッドナイトスワン (文春文庫), 口福のレシピ, 希望のゆくえ, 二百十番館にようこそ, お勝手のあん (ハルキ文庫 し)
3 シン・ニホン AI×データ時代における日本の再生と人材育成 (NewsPicksパブリッシング), 科学的な適職 4021の研究データが導き出す、最高の職業の選び方, 本当の自由を手に入れる お金の大学, 精神科医が教える ストレスフリー超大全 ―― 人生のあらゆる「悩み・不安・疲れ」をなくすためのリスト, Think Smart 間違った思い込みを避けて、賢く生き抜くための思考法, (182)フィンランド人はなぜ午後4時に仕事が終わるのか (ポプラ新書), 父が娘に伝える自由に生きるための30の投資の教え, ワイルドサイドをほっつき歩け --ハマータウンのおっさんたち, 世界標準の経営理論, 遅いインターネット(NewsPicks Book), 文系AI人材になる: 統計・プログラム知識は不要, ビジネスエリートになるための 教養としての投資, ブルシット・ジョブ――クソどうでもいい仕事の理論, FULL POWER 科学が証明した自分を変える最強戦略, これからの会社員の教科書 社内外のあらゆる人から今すぐ評価されるプロの仕事マインド71, 本を読む人だけが手にするもの (ちくま文庫), おうち性教育はじめます 一番やさしい!防犯・SEX・命の伝え方 (MF comic essay), 「考える技術」と「地頭力」がいっきに身につく 東大思考, 雑談の一流、二流、三流 (アスカビジネス), 世界「倒産」図鑑 波乱万丈25社でわかる失敗の理由
4 そして、バトンは渡された (文春文庫), 星の子 (朝日文庫), 透明な夜の香り, サキの忘れ物, 魔女たちは眠りを守る, 純喫茶パオーン, ビジネス教養 地政学 (サクッとわかるビジネス教養), 世界観をつくる 「感性×知性」の仕事術, ヒポクラテスの試練, 草花たちの静かな誓い (集英社文庫), 本を売る技術, あの本は読まれているか, 本屋、はじめました 増補版 (ちくま文庫), AIとカラー化した写真でよみがえる戦前・戦争 (光文社新書), 縄紋
5 BUTTER (新潮文庫 ゆ 14-3), カケラ, 半沢直樹 アルルカンと道化師, ゴーストハント1 旧校舎怪談 (角川文庫), 赤ずきん、旅の途中で死体と出会う。, 水を縫う, 【2020年・第18回「このミステリーがすごい! 大賞」大賞受賞作】紙鑑定士の事件ファイル 模型の家の殺人 (『このミス』大賞シリーズ), この本を盗む者は, 世界は贈与でできている――資本主義の「すきま」を埋める倫理学 (NewsPicksパブリッシング), ゴーストハント2 人形の檻 (角川文庫), 鹿の王 水底の橋 (角川文庫), ボクはやっと認知症のことがわかった 自らも認知症になった専門医が、日本人に伝えたい遺言, 神話の密室 天久鷹央の事件カルテ (新潮文庫), 村上T 僕の愛したTシャツたち (Popeye books), 始まりの木, スマホを落としただけなのに 戦慄するメガロポリス (宝島社文庫 『このミス』大賞シリーズ), マトリ 厚労省麻薬取締官 (新潮新書), 涼宮ハルヒの直観 (角川スニーカー文庫), 雨の中の涙のように
6 たゆたえども沈まず (幻冬舎文庫), ホワイトラビット (新潮文庫), クスノキの番人, 少年と犬, マスカレード・ナイト (集英社文庫), 君が夏を走らせる (新潮文庫), 十字架のカルテ, 犯人のいない殺人の夜 新装版 (光文社文庫), 東京、はじまる, ネメシスの使者 (文春文庫), 夜がどれほど暗くても, 僕の神さま, リメンバー (幻冬舎文庫), 旅のつばくろ, あの日、君は何をした (小学館文庫), 隣はシリアルキラー, おもかげ (講談社文庫)
7 四畳半タイムマシンブルース, 発注いただきました!, ビブリア古書堂の事件手帖II ~扉子と空白の時~ (メディアワークス文庫), 息吹, 三体Ⅱ 黒暗森林 上, 三体II 黒暗森林 下, きたきた捕物帖, 超・殺人事件 (角川文庫), 暴虎の牙, その裁きは死 (創元推理文庫), ブラック・ショーマンと名もなき町の殺人, 風と共にゆとりぬ (文春文庫), これは経費で落ちません! 7 ~ 経理部の森若さん ~ (集英社オレンジ文庫), 凶犬の眼 (角川文庫), 不穏な眠り (文春文庫), Another 2001, 我々は、みな孤独である, 罪人の選択, 掟上今日子の設計図, 歌舞伎座の怪紳士 (文芸書)
8 ソクラテス, AX アックス (角川文庫), 「自分だけの答え」が見つかる 13歳からのアート思考, 出会い系サイトで70人と実際に会ってその人に合いそうな本をすすめまくった1年間のこと (河出文庫), ファーストラヴ (文春文庫), 青くて痛くて脆い (角川文庫), 阿佐ヶ谷姉妹ののほほんふたり暮らし (幻冬舎文庫), 20代で得た知見, 猫を棄てる 父親について語るとき, 素敵な日本人 (光文社文庫), お探し物は図書室まで, 表参道のセレブ犬とカバーニャ要塞の野良犬 (文春文庫 わ 25-1), 満月珈琲店の星詠み (文春文庫), 破局, わたしたちは銀のフォークと薬を手にして (幻冬舎文庫), めんどくさがりなきみのための文章教室, 水曜日が消えた (講談社タイガ), 出会いなおし (文春文庫), デトロイト美術館の奇跡 (新潮文庫), 〈あの絵〉のまえで
9 夢をかなえるゾウ1, 夢をかなえるゾウ4 ガネーシャと死神, 滅びの前のシャングリラ (単行本), 巴里マカロンの謎 (創元推理文庫), 夢をかなえるゾウ2 ガネーシャと貧乏神, ドミノin上海, 夢をかなえるゾウ3 ブラックガネーシャの教え, 雲を紡ぐ, 52ヘルツのクジラたち (単行本), スキマワラシ, 自転しながら公転する, ハグとナガラ (文春文庫 は 40-5), 逃亡者, この気持ちもいつか忘れる CD付・先行限定版, ハイパーハードボイルドグルメリポート, ([ほ]4-5)活版印刷日月堂 空色の冊子 (ポプラ文庫), ([ほ]4-6)活版印刷日月堂 小さな折り紙 (ポプラ文庫), たおやかに輪をえがいて (単行本), 凪に溺れる, 本性 (角川文庫)

2.Sentence-BERT+kmeans

1のTFIDFを用いたやり方は単語の出現頻度が判定基準になっており、前後関係等の文脈を考慮できていません。 そこで文脈を読むことに定評があるBERTを使用してみます。 調査したところ最終出力ではなく中間層のベクトル表現を用いるのは一般的なBERTはあまり得意ではなく、Sentence-BERTというものが適しているようです。 下記の記事で日本語の学習済みモデルを作成している方がいたので、この学習済みモデルをそのまま使用し書籍のベクトル化とクラスタリングを行いました。

手順は以下のようになります。

  1. 429冊の30579件のレビューをSentence-BERTの学習済みモデルを用いてベクトル化、30579x768の行列を生成
  2. 1の出力を各書籍に対して平均値でまとめ、429x768の行列を生成
  3. 2の出力にkmeansを用い429冊の書籍を10クラスに分類

t-SNEで2次元マッピングした図は以下のようになりました。

f:id:rmizutaa:20210228185124p:plain

各クラスに含まれる書籍上位20件は以下のようになりました。 ビジネス書が左上の領域にあたるのですが、クラス0が自己啓発、クラス4が教養、クラス5がお金、クラス6が書籍、クラス8がITと人の目でわかる粒度で分離ができています。 小説についてはTFIDFの時と同じくクラス毎の解釈が難しいですが、クラス7は明確に食に関するものになっていました。

クラス 書籍名
0 「自分だけの答え」が見つかる 13歳からのアート思考, 夢をかなえるゾウ1, 世界一やさしい「やりたいこと」の見つけ方 人生のモヤモヤから解放される自己理解メソッド, あやうく一生懸命生きるところだった, 「育ちがいい人」だけが知っていること, 独学大全 絶対に「学ぶこと」をあきらめたくない人のための55の技法, 2020年6月30日にまたここで会おう 瀧本哲史伝説の東大講義 (星海社新書), なぜ僕らは働くのか-君が幸せになるために考えてほしい大切なこと, 精神科医が教える ストレスフリー超大全 ―― 人生のあらゆる「悩み・不安・疲れ」をなくすためのリスト, 20代で得た知見
1 ソクラテス, 青くて痛くて脆い (角川文庫), カケラ, 猫を棄てる 父親について語るとき, 破局, ワイルドサイドをほっつき歩け --ハマータウンのおっさんたち, 丸の内魔法少女ラクリーナ, 女帝 小池百合子, 御社のチャラ男, 首里の馬
2 ホワイトラビット (新潮文庫), 四畳半タイムマシンブルース, マスカレード・ナイト (集英社文庫), 半沢直樹 アルルカンと道化師, 息吹, 水曜日が消えた (講談社タイガ), 三体Ⅱ 黒暗森林 上, ドミノin上海, 三体II 黒暗森林 下, スキマワラシ
3 たゆたえども沈まず (幻冬舎文庫), 一人称単数, 少年と犬, イマジン?, 素敵な日本人 (光文社文庫), 表参道のセレブ犬とカバーニャ要塞の野良犬 (文春文庫 わ 25-1), 透明な夜の香り, 発注いただきました!, ビブリア古書堂の事件手帖II ~扉子と空白の時~ (メディアワークス文庫), 夢をかなえるゾウ2 ガネーシャと貧乏神
4 コロナの時代の僕ら, 遅いインターネット(NewsPicks Book), R帝国 (中公文庫), 空気を読む脳 (講談社+α新書), 人は、なぜ他人を許せないのか?, ブルシット・ジョブ――クソどうでもいい仕事の理論, カエルの楽園2020 (新潮文庫), サル化する世界, 世界「倒産」図鑑 波乱万丈25社でわかる失敗の理由, 時間はどこから来て、なぜ流れるのか? 最新物理学が解く時空・宇宙・意識の「謎」 (ブルーバックス)
5 会計クイズを解くだけで財務3表がわかる 世界一楽しい決算書の読み方, 本当の自由を手に入れる お金の大学, 父が娘に伝える自由に生きるための30の投資の教え, ビジネスエリートになるための 教養としての投資, 世界は贈与でできている――資本主義の「すきま」を埋める倫理学 (NewsPicksパブリッシング), すみません、金利ってなんですか?, FIRE 最強の早期リタイア術 最速でお金から自由になれる究極メソッド, 99%の人が気づいていないお金の正体, 現代経済学の直観的方法, お金の真理 (単行本)
6 出会い系サイトで70人と実際に会ってその人に合いそうな本をすすめまくった1年間のこと (河出文庫), お探し物は図書室まで, めんどくさがりなきみのための文章教室, わたしが知らないスゴ本は、 きっとあなたが読んでいる, 本を読む人だけが手にするもの (ちくま文庫), 読書嫌いのための図書室案内 (ハヤカワ文庫JA), 戦略読書 〔増補版〕 (日経ビジネス人文庫), NHK出版 学びのきほん 「読む」って、どんなこと? (教養・文化シリーズ NHK出版学びのきほん), 頭がいい人の読書術, (読んだふりしたけど)ぶっちゃけよく分からん、あの名作小説を面白く読む方法
7 BUTTER (新潮文庫 ゆ 14-3), 阿佐ヶ谷姉妹ののほほんふたり暮らし (幻冬舎文庫), 巴里マカロンの謎 (創元推理文庫), 満月珈琲店の星詠み (文春文庫), まずはこれ食べて, アンと愛情, 純喫茶パオーン, マカロンはマカロン (創元推理文庫), 注文の多い料理小説集 (文春文庫), まだ温かい鍋を抱いておやすみ
8 シン・ニホン AI×データ時代における日本の再生と人材育成 (NewsPicksパブリッシング), 科学的な適職 4021の研究データが導き出す、最高の職業の選び方, (182)フィンランド人はなぜ午後4時に仕事が終わるのか (ポプラ新書), みずほ銀行システム統合、苦闘の19年史 史上最大のITプロジェクト「3度目の正直」, 世界標準の経営理論, 文系AI人材になる: 統計・プログラム知識は不要, アフターデジタル2 UXと自由, FULL POWER 科学が証明した自分を変える最強戦略, 異端のすすめ 強みを武器にする生き方 (SB新書), D2C 「世界観」と「テクノロジー」で勝つブランド戦略 (NewsPicksパブリッシング)
9 AX アックス (角川文庫), クスノキの番人, そして、バトンは渡された (文春文庫), 星の子 (朝日文庫), ファーストラヴ (文春文庫), 夜明けのすべて, 明け方の若者たち, わたしの美しい庭, 夢をかなえるゾウ4 ガネーシャと死神, 滅びの前のシャングリラ (単行本)

まとめ

TFIDF+LDAとSentence-BERTの2通りの潜在表現の作成方法を用いてレビューを用いて書籍のクラスタリングを行いました。 小説については評価が難しいですが、ビジネス書に関してはSentence-BERTの方が人間が識別しやすい結果が得られたと思います。

レビューは本の内容をそのまま反映しているわけではなく、読んだ人自身がもつフィルタを通した出力であるため、 比較的メッセージが明確なビジネス書だとジャンル分けがある程度できますが、 人によって印象に残る場面や感じ方に幅がある小説は出力結果が安定しないのではないかと感じました。

使用したコードは以下になります。

github.com