言語処理学会 第30回年次大会 発表論文集（2024年3月）

Style SimSCE: SNS ユーザ同一性に基づく対照学習によるスタイル類似性を捉えた文ベクトルの獲得
仲田明良 1 狩野芳伸 1
1 静岡大学 情報学部
{anakada,kano}@kanolab.net

概要
自然言語には，意味的内容だけでなくどのように表現するかという書き手特有のスタイルが含まれる．X（旧：Twitter）をはじめとする SNS では特にその傾向が強く，ユーザの投稿文におけるスタイルはユーザ自身の個性や社会的背景を反映しており，多種多様であると考えられる．本研究では，同一アカウントの投稿が大量に取得可能なことに着目し，投稿文ペアが同じユーザが書いたものか異なるユーザのものかユーザ同一性に基づいた対照学習を用いて，SNS 投稿文のスタイル類似性を捉えた文ベクトルを学習させることを提案する．この手法によって得られる文ベクトルは，単純なコサイン類似度の比較のみで高精度に同一ユーザによる投稿文かを識別することを可能にする．さらに人手評価により，提案手法の出力する文ベクトルの類似度は既存の文埋め込みモデルよりもスタイルの近さを反映していることを示した．

1

はじめに現代社会に普及したソーシャルメディア（以下，SNS）では，異なる地域・文化・世代・言語背景を持つ人々が日々多様な情報を発信している．SNS の投稿文には，そのような多様な人々の個別の言語的ス
タイル [1] が反映されている．例えば，語尾に「だぜ」と付けるユーザと「です」と付けるユーザとでは，同じ内容の投稿文でも，そのスタイルは大きく異なる．
我々は，このような言語的スタイルは，ユーザの各投稿に一貫性を持って現れると考えた．この仮定に基づき，本研究では，ユーザの投稿中に現れるスタイルの類似性を捉えた文ベクトルを非常にシンプルな手法で学習させた Style SimCSE を提案する．
Style SimCSE の学習では，同じユーザの投稿文ペアを学習済みエンコーダに入力して得られたベクトル表現を正例ペアとし，異なるユーザの投稿文ペアのベクトル表現を負例ペアとした対照学習を行う．この手法によって得られるベクトル表現により，単純なコサイン類似度の比較のみで高い精度でユーザを識別することができた．また，クエリ検索に用いることで，既存の文埋め込みモデルと比べて，文のスタイルをより効果的に捉えられていることを人手評価により示した．

2

関連研究

2.1

スタイルの類似性を捉えたベクトル

赤間ら [2] は，「同一発話内に含まれる単語は同一のスタイルを持つ」という仮定のもと，スタイルの類似性を捉えた単語ベクトル空間を獲得する手法を提案した．しかし，この手法では，単語単位でのスタイルの類似性は捉えることが出来るが，文全体のスタイルの類似性を捉えることは出来ない．
文全体のスタイルの類似性を評価可能な文ベクト
ルの学習手法として，銭元ら [3] は，小説内に登場する同一人物の発話を正例のペアとした対照学習を提案した．しかし，この手法では，小説内で登場する人物のスタイルにしか対応できないという問題があると共に，このようにして得られた文ベクトルは現実世界の人間のスタイルを必ずしも反映しておらず，適用対象が限定される可能性がある．

2.2

教師あり対照学習

対照学習（Constrastive Learning）[4] は，ラベル付けされていないデータの中から，互いに類似した事例のペア（正例）と異なる事例のペア（負例）を取り出し比較を行うことでモデルの学習を行う手法である．自然言語処理においては，対照学習を用いて文埋め込みの訓練に利用することがある．

― 549 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

図 1 Style SimCSE の学習イメージ．ペアの各文を左右に示している．図中の各ツイート例は，筆者による作例．

Gao ら [5] が提案した教師あり SimCSE は，対照+学習を用いた文埋め込みの学習に教師ありの設定ℓ𝑖 = − log ∑𝑒 𝑠𝑖𝑚(ℎ𝑖 ,ℎ𝑖 )/𝜏
𝑠𝑖𝑚(ℎ𝑖 ,ℎ+𝑗 )/𝜏𝑁)
𝑗=1 (𝑒(1)を 適 用 し た モ デ ル で あ る．自 然 言 語 推 論（NatualLanguage Inference，NLI）データセットの前提文に

ここで，𝑁 はバッチサイズ，𝜏 は温度付きソフト

対して，「含意」のラベルが付いた仮説文とのペア

マックス関数の温度パラメータである．また，ベクを正例のペアとし，ミニバッチ内の正例以外の事例

トル同士の類似度を計算する関数 𝑠𝑖𝑚(·) には，コサを全てバッチ内負例とし，対照学習を行う．また，イン類似度を用いる．

「矛盾」のラベルが付いた仮説文をハード負例（hardnegative）として定義することでさらなる性能の向

4

実験

4.1

SNS 投稿の収集と前処理上が見られたと報告している．

3

ユーザ同一性に基づく対照学習

本 研 究 で 使 用 す る デ ー タ は，Twitter API V2 の本研究では，ユーザの同一性に基づく教師あり対Academic Research アクセス2）を用いて取得し，ラン照学習を用いて，スタイルの類似性を捉えた文ベダムに抽出した 15,000 ユーザの 2006 年 3 月 21 日〜

クトルを学習する．図 1 に，提案手法である Style

2021 年 8 月 31 日の期間に投稿された投稿文を用いSimCSE での対照学習のイメージを示す．

た．すべての投稿文に共通する前処理として，リツ

まず，アンカーとなる投稿文 𝑥𝑖 を抽出する．次に，アンカーと同じユーザの投稿文を正例のペアとイート，画像・動画を含むツイートは除外した．まして定義する (𝑥 𝑖+ )．そして，モデルに入力するミニンを含む投稿は，相手との関係性の違いによりユーた，他のアカウントに対するリプライ及びメンショ

バッチ内の正例以外の投稿文はすべて異なるユーザ

ザごとのスタイルの一貫性が損なわれる可能性がの投稿文で構成し，これらをバッチ内負例として対照学習を行う．また，過度に類似している 2 つの投あると考え除外した．さらに文字フィルタとしてRT という単語を含む投稿を除外し，URL とハッ稿文は，キャンペーン投稿や bot による投稿などのシュタグは削除した．絵文字や顔文字に関しては，可能性があり，ユーザのスタイルを反映していない

投稿のスタイルに関係すると考え，残すこととしと考えられるため，正例，バッチ内負例ともに含めた．これらの前処理を行った投稿のうち，文字数がない．類似度の計算には，編集距離（Levenshtein 距

15 文字以上，60 文字以下の投稿を抽出した．

離）[6] を用い1），類似度が 0.7 を超える投稿文は除

4.2

外する．
アンカーとなる投稿文 𝑥𝑖 ，正例となる投稿文 𝑥𝑖+𝑚 が与えられから成るデータセット 𝐷 = {(𝑥 𝑖 , 𝑥 𝑖+ )}𝑖=1

た時，ℎ𝑖 ，ℎ+𝑖 がそれぞれのベクトル表現だとすると，対照学習の損失関数は以下のようになる．

学習用データセット

前章で述べた 15,000 ユーザの投稿文を，アカウ
ント単位で訓練: 検証: テストが 7:2:1 になるよう分割した．結果，10,500 ユーザが訓練，1,500 ユーザが検証，3,000 ユーザが評価データセットとなった．

1） 2 つの文字列間の編集距離を計算し，最大文字列長で正規化する．

なお，様々なユーザのスタイルを反映するため，投2） https://developer.twitter.com/en/docs/twitter-api― 550 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

稿数が非常に多いユーザに偏らないように各ユーザ

表 2 ユーザ同一性分類タスクの精度比較の最大投稿数は 20,000 件とし，これを超える投稿はModel

Accuracy除外した．各データセットの投稿数を表 1 に示す．
Publicly Released Pretrained Model
BERTbase
表10.6075

各データセットの投稿数

データセット
訓練データセット
検証データセット
評価データセット

Publicly Released Embedding Model

投稿数14,348,691
2,050,260

Unsupervised SimCSE-BERTbase

0.6078Supervised SimCSE-BERTbase0.5997

Open AI Embedding Model

4,140,965

text-embedding-ada-002

0.6203

Proposed Model
訓練データ

訓練には，アンカーとなる投稿文，正例となる投稿文の 2 つ組を 1,000,000 ペア抽出して用いた．
検証データ

検証では，文ペアを入力した時に訓Style SimCSE-BERTbase

4.3

カーとなる投稿文とランダムに抽出した投稿文の 2つ組を 20,000 ペア抽出し，検証データとして使用しモデルの学習提案モデル

練モデルが出力する類似度スコアを用いた．アン

0.7728

本研究では，東北大学が公開している日本語 BERTbase モデル3）をベースモデルとして対照学習に用いた [7]．訓練時の各種パラメータ設定た．この時，ラベルとして，アンカーと同じユーザは，付録 A.1 に記載する．出力されるベクトル表現の投稿文であれば 1，異なるユーザの投稿文であれの次元数は，ベースモデルと同じ 768 次元である．

ば 0 を付与した．そして，モデルが出力する 2 文の類似度スコアとラベルの間の Peason 相関係数を評価指標として用いた．

比較モデル提案手法である Style SimCSE の比較対象として，下記の四つのモデルを用意した．一つ目として，StyleSimCSE のベースモデルである日本評価として，ユー語 BERTbase モデルの [CLS] トークンに該当するベザ同一性分類タスクを設計し，データセットを構築

クトル表現を用いた．二つ目と三つ目として，名古した．アンカーとなる投稿文，投稿文 1，投稿文 2の 3 つ組が与えられた時，アンカーと同じユーザの屋大学が公開している教師あり SimCSE モデル4）と教師なし SimCSE モデル5）を用いた [8]．これらは，ユーザ同一性分類の自動評価投稿がどちらかを予測する 2 値分類タスクをユーザ

Style SimCSE のベースモデルと同じ日本語 BERTbase同一性分類タスクとして設計した．予測ラベルは，モデルに対して対照学習を行ったモデルであり，出モデルが出力したベクトル表現のコサイン類似度

力されるベクトル表現の次元数は，768 次元である．

によって決定さした．評価データセットのために割さらに，OpenAI が公開している埋め込み特化モり当てた 3,000 ユーザの投稿から 40,000 ペアを抽出

デル6）も四つ目として比較対象として用いた [9]．こし，評価に用いた．
スタイル的類似の人手評価

ユーザ同一性の類似が必ずしもスタイルの類似であるとは限らないため，クエリ検索を用いた評価を行った．検索文に対し，評価データセットのために割り当てられたのモデルが出力するベクトル表現の次元数は，1,536次元である．

実験結果

5

ユーザ同一性分類の評価

表 2 に，モデルごとの3,000 ユーザの 4,140,965 件の投稿文の中から，コサユーザ同一性分類タスクの結果を示す．既存の事前イン類似度が最も高い投稿文を出力させ，スタイルの類似性を捉えられていることを確認する．

手法である Style SimCSE は，得られるベクトル表現

また，人手評価として，提案モデルと比較モデルの単純な類似度比較のみで高い精度でユーザを識別のどちらがより検索文のスタイルに近いかを 3 人の評価者に選択させた（付録 A.2）．検索文は，評価データセットよりランダムに 100 件抽出した．

学習済みモデルや SimCSE モデルと比較して，提案

3） https://huggingface.co/cl-tohoku/bert-base-japanese-v34） https://huggingface.co/cl-nagoya/sup-simcse-ja-base5） https://huggingface.co/cl-nagoya/unsup-simcse-ja-base6） text-embedding-ada-002― 551 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

表 3 クエリ検索結果 (Top3)．表中の各ツイートは，匿名化加工済み

検索文：ウチは { 食べ物 (1)} 好きやねん
比較モデル：Supervised SimCSE-BERTbase#1

めっちゃ { 食べ物 (1)} 食いたいやん。それは。でもちゃんとチチしてるの凄い!

#2{ 食べ物 (1)} 行きたくなってきちゃったわー。

#3{ 食べ物 (1)} を食べに行くぎゆたんたまらん好きなんですが…

提案モデル: Style SimCSE-BERTbase#1#2

コレあかんヤツやんか { 状況 } やんか
ウチ、{ 食べ物 (2)} はご飯に掛ける派やねん。

#3

塩抜き { 食べ物 (3)} 食べたいホンマなんやろか？

することが可能であった．さらに，OpenAI の埋めり，これがユーザ特有のスタイルであると考える．

込み特化モデルと比較しても，提案手法の方が高い

Style SimCSE と既存の埋め込みモデルを用いたク精度でユーザを識別できた．
スタイルの類似性評価 表 3 に，検索文に対するエリ検索の結果を比較すると（表 3），Style SimCSE
では意味的内容でなく文章に現れるスタイルの類似

類似度上位 3 件の例を示す．比較モデルには，前章性を捉えられていることが分かる．この例では，関で述べた教師あり SimCSE モデル7）を用いた．既存西地方の方言である「やねん」を入力として与えたの埋め込みモデルは，文章の意味に関わる単語であときに，関西地方の方言を含む投稿文が上位に出力る「食べ物 (1)」を含む投稿文が上位に出力されていされている．方言はユーザの地域背景を反映するもた．一方，提案手法である Style SimCSE は，検索文のであり，ユーザの各投稿に一貫性を持ってスタイの「ウチ」や「やねん」に反応していると考えられルとして現れると考えられる．また，一人称に関しる投稿文が上位に出力されていた．ても同様にユーザ特有のスタイルとして現れると考人手評価の結果を表 4 に示す．結果より，提案手えられる．提案手法では，「ウチ」という一人称を法である Style SimCSE は，既存の埋め込みモデルと含む投稿文が上位に出力されている．方言や一人称比較し，文章のスタイルの類似を効果的に捉えられは一例であり，提案手法ではこのようなユーザの個ていた．

性や社会的背景を反映した様々なスタイルを捉えることが可能であると考えられる．（付録 A.3）

表 4 スタイル的類似の人手評価

評価者

C

平均

おわりに7A

B

比較モデル

19%

11%

21%

17% (51 / 300)

本研究では，SNS 投稿文のスタイルの類似性を捉提案モデル

81% 89%79%83% (249 / 300)

えた文ベクトルを，ユーザの同一性に基づいた対照学習を用いて学習させることを提案した．提案手法

6である Style SimCSE を用いて得られるベクトル表現

考察

は，文章に含まれるスタイルの類似性を捉え，高い

表 2 に 示 し た よ う に，提 案 手 法 で あ る Style

精度でユーザを識別できた．この手法は，ユーザのSimCSE は，既存の文埋め込みモデルと比較し，高数だけスタイルが存在しうる SNS 投稿文のスタイい精度でユーザを識別できた．意味的内容を捉える

ルを捉えるための有効な手法であると考えられる．

ように学習が行われる既存の文埋め込みモデルで今後は，得られたベクトル表現がユーザの個性やは精度が低かったことから，ユーザを識別する上で社会的背景を反映しているか定量的に評価することは，意味的な内容は必ずしも重要ではない可能性がや，ユーザ投稿文のスタイルの変化を捉えることがある．本手法でユーザが識別できるという事は，同可能であるかを検証したい．また，生成モデルと組

一ユーザの投稿に一貫性を持って現れる意味的内容み合わせることで，ユーザのスタイルをより反映した文章生成を試みたい．

ではない「何か」を捉えることが出来た可能性があ7） https://huggingface.co/cl-nagoya/sup-simcse-ja-base― 552 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

training. ArXiv, Vol. abs/2201.10005, , 2022.

謝辞
本研究は，JSPS 科研費 JP22H00804，およびセコム科学技術財団特定領域研究の助成を受けたものです．

参考文献[1] Kalaivani Sundararajan and Damon Woodard. What represents “style” in authorship attribution? In Emily M. Bender,Leon Derczynski, and Pierre Isabelle, editors, Proceedings of the 27th International Conference on Computational Linguistics, pp. 2814–2822, Santa Fe, New Mex-

[2]

[3]

[4]

[5]

ico, USA, August 2018. Association for Computational Linguistics.
赤間怜奈, 渡邉研斗, 横井祥, 小林颯介, 乾健太郎. ス
タイルの類似性を捉えた単語ベクトルの教師なし学
習. 人工知能学会全国大会論文集, Vol. JSAI2018, pp.
1N203–1N203, 2018.
銭 本 友 樹, 古 俣 槙 山, 宇 津 呂 武 仁. 対 照 学 習 に よる 口 調 の 類 似 性 評 価 の た め の 文 ベ ク ト ル の 獲 得.
人 工 知 能 学 会 全 国 大 会 論 文 集, Vol. JSAI2023, pp.
4A2GS605–4A2GS605, 2023.
Ashish Jaiswal, Ashwin Ramesh Babu, Mohammad Zaki
Zadeh, Debapriya Banerjee, and Fillia Makedon. A survey on contrastive self-supervised learning. Technologies,
Vol. 9, No. 1.
Tianyu Gao, Xingcheng Yao, and Danqi Chen. SimCSE: Simple contrastive learning of sentence embeddings.
In Marie-Francine Moens, Xuanjing Huang, Lucia Specia, and Scott Wen-tau Yih, editors, Proceedings ofthe 2021 Conference on Empirical Methods in Natural
Language Processing, pp. 6894–6910, Online and Punta

Cana, Dominican Republic, November 2021. Associationfor Computational Linguistics.
[6] Vladimir I. Levenshtein. Binary codes capable of correcting deletions, insertions, and reversals. Soviet physics.
Doklady, Vol. 10, pp. 707–710, 1965.
[7] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina
Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Jill Burstein, Christy
Doran, and Thamar Solorio, editors, Proceedings of the2019 Conference of the North American Chapter ofthe Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long andShort Papers), pp. 4171–4186, Minneapolis, Minnesota,

June 2019. Association for Computational Linguistics.
[8] Hayato Tsukagoshi, Ryohei Sasano, and Koichi Takeda.
Japanese SimCSE Technical Report. arXiv:2310.19349,2023.
[9] Arvind Neelakantan, Tao Xu, Raul Puri, Alec Radford,
Jesse Michael Han, Jerry Tworek, Qiming Yuan, Nikolas A.
Tezak, Jong Wook Kim, Chris Hallacy, Johannes Heidecke,Pranav Shyam, Boris Power, Tyna Eloundou Nekoul, GirishSastry, Gretchen Krueger, David P. Schnurr, Felipe PetroskiSuch, Kenny Sai-Kin Hsu, Madeleine Thompson, TabarakKhan, Toki Sherbakov, Joanne Jang, Peter Welinder, andLilian Weng. Text and code embeddings by contrastive pre-― 553 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

A

付録

A.1

訓練時の各種パラメータ設定

訓練時の各種パラメータ設定は以下の通りである．
• バッチサイズ：128• エポック数：3• 検証ステップ：250• 学習率：5𝑒 − 5• 温度パラメータ：0.05

A.2

スタイル的類似の人手評価

スタイル的類似を測るために行った人手評価の質問内容を図 2 に示す．
質問内容



文 1・文 2 について，基準文とスタイル（文体）が似ている方を答えてください．
スタイル（文体）とは，「その作者にみられる特有な文章表現上の特色」の事です．
• 文 1 の方が似ている場合：1
• 文 2 の方が似ている場合：2


図2

A.3

人手評価の質問内容

様々なスタイルの類似性を捉えた文ベクトル

表 3 に示した検索文と意味的内容は同じだが，スタイルが異なる検索文を用いてクエリ検索を行った結果を表 5 に示す．既存の文埋め込みモデルでは，表 3 に示した検索結果と似たような結果が得られていることが分かる．しかし，提案手法である Style SimCSE では，検索文のスタイルに反応していると考えられる「僕」や「です。」を含む投稿文が上位に出力されており，表 3 に示した検索結果とは異なる結果が得られていることが分かる．
表 5 クエリ検索結果（Top3）表中の各ツイートは，匿名化加工済み

検索文：僕は { 食べ物 (1)} 好きです。
比較モデル：Supervised SimCSE-BERTbase#1{ 食べ物 (1)} はちょっとだけ焼きたい派です。

#2{ 食べ物 (1)} が食いたい。ただし、うまいものに限る。

#3{ 食べ物 (1)} 食べ放題食べてきましたˆˆ

提案モデル：Style SimCSE-BERTbase#1

僕は { 食べ物 (4)} が好きです。

#2

僕は肉じゃがより { 食べ物 (5)} 派です。

#3

僕は { 履物 } が嫌いです。理由はない。

― 554 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).