Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
Search
MomokoShirakawa
December 27, 2025
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
学部4年生卒業研究発表会にして使用した資料です.
MomokoShirakawa
December 27, 2025
More Decks by MomokoShirakawa
See All by MomokoShirakawa
【論文紹介】Beyond the Surface: Enhancing LLM-as-a-Judge Alignment with Human via Internal Representations
momok47
0
36
【論文紹介】Agentic Context Engineering : Evolving Contexts for Self-Improving Language Models
momok47
0
290
Other Decks in Programming
See All in Programming
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
Built Our Own Background Agent at LayerX
layerx
PRO
9
5k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
160
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
470
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
160
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
760
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
310
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
WENDY [Excerpt]
tessaabrams
11
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
会話ログ分析による ユーザーごとの関心に応じた話題提案手法 武蔵野大学院 工学研究科 数理工学専攻1年佐々木研究室 白川桃子 指導教員 佐々木多希子 1
初対面の人って何を話せばいいの? 2
01 研究背景 どの世代の人も初対面の人との会話に苦手意識があり何を話せばいいか分からないのが原因 3
02 本研究の目的 4 あなたの雑談を分析 ↓ 興味のあるトピックを抽出 ↓ 初対面の人と話すときに あなたにとって最適な話題を提案!
02 本研究の目的 目的 - 1 ユーザーの関心に基づいた話題提供の実現 目的 - 2 ユーザーの興味関心を定量的に評価する
目的 - 3 話題提供をすることで初対面時の会話の盛り上げる 5
03 自然言語処理とは 自然言語処理(NLP):人々が日常的に用いる言語(=自然言語)を分析対象とし, その意味を正しく解析できるようにする技術 自然言語理解(NLU):機械が文章の作りや意味を解析することで文章を判別 自然言語生成(NLG):入力されたデータに基づき機械が応答する文章を生成する 機械学習ベース ルールベース 統計ベース 6
04 本研究で活用するデータ @データn番(会話時間) @収集年月日:xxxx年xx月xx日 @場所:会話場所 @参加者ナンバー:性別,年齢,出身,所在 . . @参加者の関係:関係性 参加者ナンバー:会話内容
. . %com: 補足情報 () 相槌 <笑いor間> 自分の笑い,ある程度の沈黙 名古屋大学の会話データを活用 (不必要な情報を削除し,DataFrameでデータ整理) 会話1つずつにラベル群から最もマッチするラベルを付与したい 会話データを相当量学習する必要があるが,会話が129個しかない 前処理 7 trainデータとtestデータが一致していなくても分類可能な手法を活用
05 ゼロショットラーニング – 概要 trainデータが存在しないものに対して 事前に特徴を学習する形で識別することが可能 【trainデータ】 一般的な学習方法の場合... trainデータと 同じ項目について予測
Zero-shot-learning... tainデータとは違う 新たな項目について予測 【testデータ】 8 犬データ 猫データ
05 ゼロショットラーニング – 概要 trainデータが存在しないものに対して 事前に特徴を学習する形で識別することが可能 【trainデータ】 一般的な学習方法の場合... trainデータと 同じ項目について予測
Zero-shot-learning... tainデータとは違う 新たな項目について予測 【testデータ】 9 犬データ 猫データ 【 解決へのアプローチ方法 】 ラベルの代わりに文章を使う
05 ゼロショットラーニング – 概要 10 trainデータ 赤いうちわを持って 花の前に立つ女性 赤い羽と黒い目を 持った鳥がうつむく
水の上で遊ぶ黒い鳥 黄色い花の前で うつむく女性 細かい情報まで特徴空間に表現可能 人間 鳥 特徴空間 花 立つ 黒 うつむく 嘴 前 水 赤い 推論データに近い特徴を 使い文章を出力 赤い嘴の鳥 testデータ
05 ゼロショットラーニング – 問題の定式化 11 ◯活用する2つのクラス 𝑆:学習用の可視クラス (本研究ではtrainデータの日本語SNLIデータ.548,014ペア.) 𝑈:予測用の不可視クラス (本研究ではtestデータの名大会話コーパス,noteのカテゴリ)
𝑆 = 𝑐𝑖 𝑠 𝑖 = 1, … , 𝑁𝑠 } 𝑈 = 𝑐𝑖 𝑢 𝑖 = 1, … , 𝑁𝑢 } 𝑆 ⋂ 𝑈 = ∅ ◯各クラスに含まれる集合 𝐷𝑡𝑟 :可視クラスのラベル付きインスタンスの集合 𝐷𝑡𝑟 = { 𝑥𝑖 𝑡𝑟, 𝑦𝑖 𝑡𝑟 ∈ 𝑋 × 𝑆} 𝑖=1 𝑁𝑡𝑟 𝑋:特徴空間 𝑥𝑖 𝑡𝑟, 𝑦𝑖 𝑡𝑟 :各ラベル付きインスタンス 𝑥𝑖 𝑡𝑟:𝑋内のインスタンス 𝑦𝑖 𝑡𝑟: 𝑥𝑖 𝑡𝑟に対応するラベル 𝑋𝑡𝑒:テストデータのインスタンスの集合 𝑋𝑡𝑒 = {𝑥𝑖 𝑡𝑒 ∈ 𝑋} 𝑖=1 𝑁𝑡𝑒 𝑥𝑖 𝑡𝑒:𝑋内のテストインスタンス 𝑌𝑡𝑒:𝑋𝑡𝑒に対応する予測られたラベルのクラス 𝑌𝑡𝑒 = {𝑦𝑖 𝑡𝑒 ∈ 𝑈} 𝑖=1 𝑁𝑡𝑒 𝑆 𝑈
05 ゼロショットラーニング – マッチングモデルの構築 12 𝑥𝑖 𝑡𝑟, 𝑦𝑖 𝑡𝑟 の例:
(いちごを食べます, いちごは食品だ) ↓ BERTエンコーダーへの入力形式に変換 [CLS] いちごを食べます [SEP] いちごは食品だ [SEP] 「いちごを食べます」という文に対して「いちごは食品だ」は同じような意味を持つか ↑こんな感じの操作を 𝑥𝑖 𝑡𝑟, 𝑦𝑖 𝑡𝑟 を変えながら繰り返していく 以下のように線形層(1)を重ね,損失(2)を計算 𝑝𝑥,𝑦′ = 𝜎(𝑊𝑇𝑐𝑥,𝑦′ + 𝑏) (1) 𝐿 = ቐ − log 𝑝𝑥,𝑦′ 𝑦′ = 𝑦 −log(1 − 𝑝𝑥,𝑦′ ) 𝑦′ ≠ 𝑦 (2) 𝑊, 𝑏:線形層のパラメーター(𝑊 ∈ 𝑅𝐻 , 𝑏 ∈ 𝑅) 𝑐𝑥,𝑦′ :各文章に対応する隠れベクトル(𝐻次元) 𝑝𝑥,𝑦′ :𝑥と𝑦′のマッチングスコア 𝜎(・):シグモイド関数 𝑳が小さくなるようにモデルを構築していく
05 ゼロショットラーニング – 予測 13 会話の各文章と「この文章は{noteカテゴリ}に関する会話だ」は似た意味を持つか? テキスト𝑥とのマッチングスコアが最大となるようなラベル𝑦∗を擬似ラベルとする. 会話内容 noteカテゴリ マッチングスコア
現時点の𝑦∗ 最近は、女性の方が旅行に行くんじゃないの? ショッピング 0.58 旅行・おでかけ 0.79 IT 0.15 読書 0.23 これらの過程を通して各会話データ(testデータ)に最適なラベルを付与できる!
06 興味関心の定量化 14 記号設定 𝑁: 会話データの総数 𝑃: 参加者の集合 𝐿: ラベルの集合
𝑆𝑖,𝑗 : i番目の会話での参加者jの発言量 𝑉𝑖 : i番目の会話とラベルの一致率 𝑙𝑖 : i番目の会話ラベル 定量化の流れ 各会話における関心度 𝑆𝑐𝑜𝑟𝑒𝑖,𝑗 = ቐ 𝑉𝑖 ・𝑆𝑖,𝑗 𝑙𝑖 = 𝑙 0 𝑙𝑖 ≠ 𝑙 各トピックに対する関心度 𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡𝑖,𝑗 = σ 𝑖=1 𝑁 𝑆𝑐𝑜𝑟𝑒𝑖,𝑗 𝑛𝑙 𝑛𝑙 > 0 0 𝑛𝑙 = 0 𝑛𝑙 = 𝑖=1 𝑁 1 𝑙𝑖=𝑙 : 参加者がラベル 𝑙に関与した会話の総数 1{𝑙𝑖=𝑙} : 𝑙𝑖 = 𝑙の場合は1,そうでない場合は0を返す 𝐼 = 𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡1,1 ⋯ 𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡1,|𝐿| ⋮ ⋱ ⋮ 𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡 𝑝 ,1 ⋯ 𝐼𝑛𝑡𝑒𝑟𝑒𝑠𝑡 𝑃 ,|𝐿| 結果の行列式化
07 話題とマッチングスコアの提示 15 共通ラベルが 共通ラベルの個数が そのラベルを表示 関心度の平均値が 最大のラベルを表示 会話する人の中で 最大の関心度を持つ
ラベルを表示 ある ない 1個 2個以上 テクノロジー 60% エンタメ 30% テクノロジー 80% アウトドア 40% テクノロジー 興味関心スコア平均:70% マッチングスコアに基づいて各ユーザーの興味関心を定量化する
08 評価 –testデータのラベル分布 16 男性 女性 ・女性の方が男性よりばらつきが大きい →女性の方がトピックについての知識が浅くともその会話に参加する可能性を示唆 ・男性はデータ分布が関心度の低い方に集中しているが,上振れした外れ値が女性よりも多い →これは男性の方が1つの分野について極端に詳しいという専門性の高さを示す結果となった.
08 評価 – 実験の設定 17 被験者 計11名(男性7名,女性4名) 実験手順 (イ)オンライン通話サービスoviceに被験者が入室. (ロ)文字起こし機能を使いながら10分程度会話をする.
※被験者が初対面の場合はラベルを提示する. (ハ)文字起こしデータをcsv形式で出力する. (ニ)ラベル候補を示し,(ロ)の会話に適したラベルを選択. ※複数選択可能 被験者組み合わせ 知り合いの会話:7会話 初対面の人との会話 【共通ラベルあり】:3会話 初対面の人との会話 【共通ラベルなし】:1会話 ※各会話の参加者は被験者中から2,3人抽出する 被験者 年齢 性別 出身地 被験者A 20代前半 女性 埼玉県 被験者B 20代前半 女性 東京都 被験者C 50代前半 男性 奈良 被験者D 20代前半 男性 千葉 被験者E 60代前半 男性 新潟 実験実施例
08 評価 – 初対面会話時の発話量 18 話題提供なし 話題提供あり 話題提供あり 話題提供あり ・第一四分位範囲と第三四分位範囲について大差はない
→どの会話においても発話量の傾向にも大差がない ・外れ値について 下振れた外れ値:なし 上振れた外れ値:被験者Aに着目すると話題提供がある会話全部で発生 →話題がないと会話慎重になっており極端に長い発言が発生しなかったのでは →話題提供がある方が自分の意見や経験談を生き生きと発言できる可能性が示唆
08 評価 – 会話中の感情推移 19 話題提供なし 話題提供あり 話題提供あり 話題提供あり POSITIVE,NEGATIVE,NEUTRALの3感情を分析
(可視化する上でstatusmodelsを用いて平滑化を実施) ニュートラル スコアの値が0.8~1.0で安定 ポジティブ,ネガティブ ニュートラルよりも値の変化が大きい 「使ったことないから気になります」 →本質的にネガティブでない可能性もあり 話題提供がない時はポジティブ,ネガティブの 面積が約15%狭い 話題提供がある方が感情豊かに会話が実現 →初対面のうちからより印象に残るインパクトのある会話が実現
09 目標達成の判定 パーソナライズされた話題提供の実現 ユーザーの興味関心を定量的に評価する 話題提供をすることで初対面時の会話の盛り上げる 20 目的 - 1 目的
- 2 目的 - 3
パーソナライズされた話題提供の実現 ユーザーの興味関心を定量的に評価する 話題提供をすることで初対面時の会話の盛り上げる 21 →会話ログを分析し個々人の興味を抽出・話題選定 →会話のラベルごとに関心度スコアを算出 目的 - 1 目的
- 2 目的 - 3 →生き生きと発言し感情豊かな会話を実現 09 目標達成の判定
10 今後の展望 会話の盛り上がり評価関数の作成 会話を文字データにするSpeech to Textの実装 本研究のサービス化 22 展望 -
1 目的 - 2 目的 - 3
11 参考文献 23 [1]株式会社R&G”会話が苦手なランキング!克服方法も解決”(2024,11,24) https://r-andg.jp/blog/4733 [2]合同会社Techtale “秒で話題をご提供トークテーマガチャ!!” https://talkgacha.com/ [3] 小町守(2024)
“自然言語処理の教科書” 株式会社技術評論社 [4]白井清昭(2006)” 自然言語処理論I 7. 形態素解析(日本語の単語分割)” [5] 藤村逸子,大曽美恵,大島ディヴィッド義和(2011) “会話コーパスの構築によるコミュニケーション研究” 藤村逸子、滝沢直宏編『言語研究の技法:データの収集と分析』p.43-72、ひつじ書房 [6]PythonDocs”re --- 正規表現操作”Python3.13.1Document https://docs.python.org/ja/3.13/library/re.html [7] Zhiquan Ye, Yuxia Geng, Jiaoyan Chen, Xiaoxiao Xu, Suhang Zheng, Feng Wang, Jingmin Chen, Jun Zhang, Huajun Chen” Zero-shot Text Classification via Reinforced Self-training” Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 3014–3024 July 5 - 10, 2020. c2020 Association for Computational Linguistics [8]京都大学大学院情報学研究科知能情報学コース言語メディア分野 ”日本語SNLI(JSNLI) データセット”(2020,07,15) [9]note株式会社“note” https://note.com/ [10]国立国語研究所“現代話し言葉UniDic”UniDic(2023,03,24) https://clrd.ninjal.ac.jp/unidic/download.html#unidic_csj [11]HuggingaFace“SentenceTransformers Documentation” https://sbert.net/ [12] 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクト “MeCab: Yet Another Part-of-Speech and Morphological Analyzer” (2013,02,18) [13]oVice株式会社”ovice” https://www.ovice.com/ja