1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LLMを用いた個人特化の感情分析

1
Last updated at Posted at 2026-07-12

概要

愛媛大学自然言語処理研究室の村上彰悟です。本記事では、感情分析の個人特化手法に取り組んだ内容を報告します。

同研究室に所属する学生のうち5人でチームを組み、感情分析デモの公開を最終目標として取り組みました。バックエンド・フロントエンド・モデルの訓練に分かれ、私はモデルの訓練を担当しました。本記事では、バックエンドやフロントエンドの詳細については触れず、感情分析の個人特化手法に関する内容を報告します。

開発期間:2025年4月 ~ 2025年8月

感情分析とは

感情分析とは、テキストデータから「ポジティブ・ネガティブ」といった極性を自動で推定する技術です。

感情分析.png

この技術は、以下のような多様な分野で活用されています。

  • カスタマーサポート:顧客からの問い合わせに含まれる「怒り」や「不満」を検知し、迅速な対応を可能にします。
  • SNS解析:新製品やキャンペーンに対する世の中の反応(評判)をリアルタイムで分析します。
  • マーケティング:広告やコンテンツがターゲット層にどのような感情的な影響を与えたかを測定します。

このように、テキストに込められた感情を理解することは、ビジネスやサービスを改善する上で非常に重要です。

感情分析での課題

感情分析で課題とされているのが、書き手の感情の推定です。

以下の図のように、書き手は怒りの感情がありますが、読み手は嫌悪、恐れの感情を抱いています。

このように、先行研究では読み手の感情の推定よりも、書き手の感情の推定が難しいと言われています。

書き手と読み手の乖離.png

既存の個人特化手法

書き手の感情の推定をよりするために、書き手に個人特化させる手法が提案されています。

個人特化の感情分析に関する先行研究では、書き手の性格情報および書き手の投稿履歴を考慮する手法の有効性が示されています。

性格情報を用いた手法[1]

この手法は、書き手の投稿テキストを言語モデルに通して得た特徴ベクトルと、性格診断の結果を言語モデルに通して得た特徴ベクトルを抽出します。

そして、この二つの特徴ベクトルを組み合わせて感情分析に使用します。

書き手の性格診断には、Big Five 性格5因子モデル[2]を使用しています。

Big Five 性格5因子モデルとは、60項目の性格診断の質問に対して、自身の該当度を1から7の7段階で回答させたものです。

具体的には、左側にあるように話し好きや悩みがちのような項目に対して、1〜7の7段階の回答をしてもらい、その60項目の回答結果から、それぞれの項目の値を足し引きして、外交性、情緒不安定性などの最終的な5項目の性格を診断するものになっています。

しかし、この手法は、言語モデルを用いて、複雑な特徴抽出が必要であることが課題となっています。

性格情報.png

投稿履歴を用いた手法[3]

この手法は、同一の書き手による複数の投稿を感情分析モデルに同時に入力して、同一の書き手による投稿のみをまとめてミニバッチを構成する手法になっています。

以下の図のように、バッチサイズをNとすると、各ミニバッチに同一の書き手による投稿がN件含まれるように前処理を行い、訓練を行います。

しかし、この手法は特徴抽出は必要ないですが、各ミニバッチに同一の書き手の投稿を含まなければいけないため、複雑な訓練が必要になります。

投稿履歴.png

本手法について

大規模言語モデル(LLM)に対して、

入力のテキストを書いた人の感情強度を選択肢の中から1つずつ選んで出力してください。感情は、喜び・悲しみ・期待・驚き・怒り・恐れ・嫌悪・信頼の8種類です。小さい値は感情が弱いこと、大きい値は感情が強いことを表しています。

という指示および「0, 1, 2, 3」の選択肢を与えて、8種類の感情に対して4段階の感情強度推定を行います。

性格情報を考慮したLLMベース感情分析

日本語の感情分析コーパス WRIME[4]には書き手の性格情報が付与されています。

これは、Big Five 性格5因子モデルに基づく60項目の性格診断(話し好き・悩みがち・反抗的など)の質問に対して、自身の該当度を7段階で回答させたものです。

先行研究[5]では、

以下の書き手の性格を考慮して感情強度を出力してください。値が大きいほど、書き手がその性格によく当てはまることを表しています。

という指示および性格情報「{話し好き:6,悩みがち:2,…}」をプロンプトに含めることで、個人特化の感情分析を行っています。

本取り組みでは、先行研究[5]の手法に対してLLMをInstruction tuningして精度のさらなる向上を目指します。また、60項目の性格情報を使う手法に加えて、60項目の最終的な集約結果である5項目のみを使う手法も比較しています。

実際のプロンプト

{
  "役割": "あなたは感情分析の専門家です。",
  "指示": [
    "入力のテキストを書いた人の感情強度を選択肢の中から1つずつ選んで出力してください。",
    "感情は、喜び・悲しみ・期待・驚き・怒り・恐れ・嫌悪・信頼の8種類です。",
    "小さい値は感情が弱いこと、大きい値は感情が強いことを表しています。",
    "以下の書き手の性格を考慮して感情強度を出力してください。",
    "値が大きいほど、書き手がその性格によく当てはまることを表しています。"
  ],
  "性格": {
    "話し好き": 6,
    "悩みがち": 2,
    "...": "..."
  },
  "選択肢": [
    0,
    1,
    2,
    3
  ],
  "出力形式": {
    "喜び": "選択肢",
    "悲しみ": "選択肢",
    "期待": "選択肢",
    "驚き": "選択肢",
    "怒り": "選択肢",
    "恐れ": "選択肢",
    "嫌悪": "選択肢",
    "信頼": "選択肢"
  },
  "入力": "{input}"
}

実験設定

日本語感情分析コーパス WRIMEを用いて、8感情の強度推定における性能を評価しました。

今回使用する日本語LLMは、Swallow-8B[6]を使用して、評価指標には、順序分類問題において一般的なQuadratic Weighted Kappa(QWK)を用いました。

以下に詳細な設定を示します。

項目 設定値
ベースモデル Llama-3.1-Swallow-8B-Instruct-v0.5
LoRA Rank 8
LoRA Alpha 16
target modules q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
学習率 2e-4(Cosine Scheduler)
エポック数 最大30(Early Stopping 3)
バッチサイズ 16
最適化手法 Paged AdamW(8bit)
計算精度 BF16

実験結果

実験結果を以下に示します。

実験結果_表.png

実験結果.png

実験の結果、60項目の性格情報をそのまま入力するよりも、最終的な診断結果である5項目(Big Five)に集約した性格情報を含めたモデルが最も高い性能を達成しました。

これは、60項目全てを用いるとプロンプト内の情報量が多くなりすぎてノイズとなり、モデルが本質的な性格特徴に適切に注意を向けられなかった可能性があります。一方で、5項目に抽象化・要約された性格情報は、モデルが書き手の傾向を捉えるための強力な手がかりとして機能したと考えられます。同様の傾向は先行研究[5]においてswallow-8Bをinstruction-tuningsせずに使用したときにも確認されています。

感情別に見ると、特に「悲しみ」「恐れ」といった項目において、性格情報の付与による大幅な性能改善が見られました。これは、これらの感情が個人の性格特性(情緒不安定性など)と密接に関連しており、個人特化の効果が顕著に現れたと考えられます。

デモの公開

今回はあくまでデモの公開を主目的としているため、リアルタイムな応答性と性能のバランスを考慮し、軽量なSwallow-8Bを採用しました。

Swallow-8Bをinstruction tuningした本モデルは先行研究[5]におけるswallow-70Bに匹敵する性能を示しており、デモ用モデルとしての妥当性を確認できました。

本取り組みで構築したモデルは、デモとして公開しています。
https://aiweb.cs.ehime-u.ac.jp/wrime-sentiment-analysis

まず、性格項目に回答します。

性格項目.png

次に、感情分析を行いたい文章を入力し、「分析開始」ボタンを押します。推論結果が即座に返され、8つの感情の強度が直感的なレーダーチャートとして可視化されます。

レーダーチャート.png

このように、入力されたテキストだけでなく、「書き手自身の性格情報」をモデルが考慮することで、よりその人にパーソナライズされた感情分析を体験できるシステムとなっています。ぜひ使ってみてください!

おわりに

本取り組みでは、感情分析デモの公開にあたって、「書き手の性格情報」をプロンプトに組み込むことで個人特化させる手法を導入しました。

実験の結果、Big Fiveの5項目に基づく性格情報を付与してInstruction tuningを行うことで、性格情報を用いないベースラインよりも感情分析の精度が向上しました。また、デモツールを作成したことで、実際の入力に対して本手法がどのように機能するかを体感できる形にすることができました。

参考文献

[1] Haruya Suzuki, Sora Tarumoto, Tomoyuki Kajiwara, Takashi Ninomiya, Yuta Nakashima, and Hajime Nagahara. 2022. Emotional Intensity Estimation Based on Writer's Personality. In Proceedings of the 2nd Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 12th International Joint Conference on Natural Language Processing: Student Research Workshop, pages 1–7, Online. Association for Computational Linguistics.

[2] Lewis R. Goldberg. 1992. The development of markers for the Big-Five factor structure. Psychological Assessment, 4(1):26–42.

[3] 鈴木陽也, 山内洋輝, 梶原智之, 二宮崇, 早志英朗, 中島悠太, 長原一. 2024. 書き手の複数投稿を用いた感情分析. 人工知能学会第38回全国大会.

[4] Tomoyuki Kajiwara, Chenhui Chu, Noriko Takemura, Yuta Nakashima, and Hajime Nagahara. 2021. WRIME: A new dataset for emotional intensity estimation with subjective and objective annotations. In Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 2095–2104, Online. Association for Computational Linguistics.

[5] 花房健太郎, 前川大輔, 梶原智之. 2025. 大規模言語モデルによる書き手の情報を考慮した感情分析. 情報処理学会第87回全国大会.

[6] TokyoTech-LLM. 2024. Llama-3.1-Swallow-8B-Instruct-v0.5.
https://huggingface.co/tokyotech-llm/Llama-3.1-Swallow-8B-Instruct-v0.5

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?