# 分散文章データ統合解析のための データコラボレーション文章解析

関 口拓海 ${ }^{1}$ 今倉暁 ${ }^{2}$ 櫻井鉄也 ${ }^{2}$
1 筑波大学大学院 2 筑波大学システム情報系
sekiguchi.takumi.ss@alumni.tsukuba.ac.jp \{imakura,sakurai\}@cs.tsukuba.ac.jp

## 概要

複数機関が保有する個人情報を含むデータの解析 のため，プライバシー保護を考慮した学習手法が注目を集めている。近年提案されたデータコラボレー ション解析は生データではなく各パーティが独自に 次元削減を行った中間表現を共有する手法である が，文章のような順序情報を持つデータの解析が困難である. 本研究では分散文章データの統合解析を 目的として，文章を単語の分散表現辞書と順序情報 の 2 要素に分解して解析を行うデータコラボレー ション文章解析を提案する. 文章分類問題の実験の 結果, 単独機関での解析と比較して約 20 ポイント の分類精度向上（生データを直接共有する場合と比較して 1 3 ポイント以下の精度低下）を確認した.

## 1 はじめに

一般に，機械学習では学習用のサンプルデータが 多いほど高い精度で学習が可能である。類似した データを持つ複数の機関の間では，データを共有し て多くのサンプルデータを用いた解析を行うことで 高精度な解析結果を得ることが期待できる.

しかし，サンプルデータの中にはプライバシー保護のため共有の難しいデータが存在する. 医療デー タなどのセンシティブなデータは直接共有して解析 することが困難な場合がある．

そのようなデータを直接共有せず解析するため の手法としてデータコラボレーション解析 [1-3] が 提案された。データコラボレーション解析は複数の データ提供パーティが各自の生データに独自に次元削減を行った中間表現を共有する手法で，各パー ティ間で生データを秘匿しつつ解析者の下で統合し て解析を行える技術である。この技術によりクラウ ドサービスや外部の解析機関によるデータ解析にお いてプライバシーを保護しつつ多くのサンプルデー
タを活用した解析を可能とする。

一方，データコラボレーション解析では文章のよ うなシーケンスデータを解析する場合，次元削減時 に順序情報が失われてしまう欠点がある。文章デー タでは単語の並び順が文脈を構成しておりデータ解析に影響を与える。解析時に順序情報を活用できな いことは学習精度の低下に繋がると考えられる。

そこで，本研究では順序情報を保持して解析を行 うために，文章データを単語の分散表現辞書と単語 の順序情報に分解して解析を行う手法を提案する.単語の分散表現辞書について解析者に秘匿しつつ解析を行い順序情報を後から復元することで，順序情報を活用した高精度な文章解析を実現する。

また文章分類の実験により性能評価を行い，生 データを直接共有する場合に近い十分な分類精度で 文章データの解析を行えることを確認する。

## 2 データコラボレーション解析

データコラボレーション解析は複数パーティに分散したデータを直接共有せずに解析者の下で統合し て解析を行うための手法である．複数パーティから なるデータ提供者がそれぞれデータを保有する場合 において，各パーティが独自に次元削減を行った中間表現をアンカーデータを介して統合して解析を 行う.

データ提供者が計 $c$ パーティ存在し，初期状態と してパーティ $i(1 \leq i \leq c)$ は $n_{i}$ 個の $m$ 次元からなる サンプルデータ $X_{i} \in \mathbb{R}^{n_{i} \times m}$ を持つと仮定する.

最初に，共有可能な公開データや人工データを用 いて作成した $r$ サンプルのデータ $X^{\mathrm{anc}} \in \mathbb{R}^{r \times m}$ をア ンカーデータと定義し，各提供者パーティで同一の アンカーデータを共有する。ここでアンカーデータ は解析者には公開しない。

ング関数 $f_{i}$ を適用して中間表現 $\tilde{X}_{i}=f_{i}\left(X_{i}\right) \in$
$\mathbb{R}^{n_{i} \times \tilde{m}}, \tilde{X}_{i}^{\text {anc }}=f_{i}\left(X^{\text {anc }}\right) \in \mathbb{R}^{r \times \tilde{m}}$ を作成し, 解析者の下 に中間表現を集める、マッピング関数 $f_{i}$ は各パー ティが任意に決める関数であり，関数 $f_{i}$ を持たない 解析者は中間表現から元のデータを復元することは できない. マッピング関数は線形または非線形の行単位の変換関数であり，例えば主成分分析による次元削減等が該当する. また, 秘匿性向上のため乱数行列を使用した変換を併用しても良い.

その後，中間表現を受け取った解析者はアンカー

作成する. $g_{i}$ は個別に作成された中間表現を比較可能な形に揃えるための関数で，アンカーデータ

$g_{i}\left(\tilde{X}_{i}^{\text {anc }}\right)=g_{i}\left(\tilde{X}_{i}^{\text {anc }}\right)(i \neq j)$ とするための摂動を最小化する次式の全体最小二乗問題 [4] の解として得ら れる。

$
\begin{array}{r}
\min _{E_{i}, G_{i}^{\prime}(i=1,2, \cdots, c), Z\left(\|Z\|_{F}=1\right)} \sum_{i=1}^{c}\left.\|E_{i}\right.\|_{F}^{2} \\
\text { s.t. }\left(\tilde{X}_{i}^{\text {anc }}+E_{i}\right) G_{i}^{\prime}=Z .
\end{array}
$

この式は [4] の手法により次式の特異値分解によっ て $g_{i}$ を求めることができる. ただし, $\left(\tilde{X}_{i}^{\text {anc }}\right)^{\dagger}$ は $\tilde{X}_{i}^{\text {anc }}$ の擬似逆行列, $C$ は正則な正方行列とする.

$
\begin{aligned}
{\left[\tilde{X}_{1}^{\text {anc }}, \tilde{X}_{2}^{\text {anc }}, \cdots, \tilde{X}_{c}^{\text {anc }}\right] } & =\left[U_{1}, U_{2}\right]\left[\begin{array}{ll}
\Sigma_{1} & \\
& \Sigma_{2}
\end{array}\right]\left[\begin{array}{l}
V_{1}^{T} \\
V_{2}^{T}
\end{array}\right] \\
& \approx U_{1} \Sigma_{1} V_{1}^{T}, \\
G_{i} & =\arg \min _{G \in \mathbb{R}^{m \times m}}\left.\|Z-\tilde{X}_{i}^{\text {anc }} G\right.\|_{F}^{2} \\
& =\left(\tilde{X}_{i}^{\text {anc }}\right)^{\dagger} U_{1} C .
\end{aligned}
$

最後に, 解析者はコラボレーション表現 $\hat{X}_{i}=\tilde{X}_{i} G_{i} \in$ $\mathbb{R}^{n_{i} \times \hat{m}}$ を作成し, 統合したコラボレーション表現を 入力として機械学習モデルの学習を行う.

## 3 提案手法

既存のデータコラボレーション解析ではシーケン スデータの順序情報を保持して学習を行うことがで きない問題がある。中間表現を作成する際にはマッ ピング関数で $m$ 次元ベクトルのデータを $\tilde{m}$ ベクト ルに変換を行う．このため文章データで同様の変換 を行う場合，(単語分散表現) $\times$ (単語数) の行列を ベクトルに変換する必要があり, その際に単語の順序情報が失われてしまう。

本研究では文章サンプルを単語の分散表現辞書と 順序情報の 2 要素に分解してから組み合わせて学習 を行う手法を提案する．単語の順序情報は単体では元の文章を復元できないため，秘匿せず直接解析者 に渡すことができる。そのため，データコラボレー ション解析で分散表現辞書のコラボレーション表現 を作成した後に単語の順序情報と組み合わせること で順序情報を保持した統合解析を行う。

複数のパーティからなる提供者が持つ文章データ を単一の解析者の下で解析することを考える．解析者は埋め込み層のない RNNをべースとした学習モ デルを保有し，単語の順序に従い単語分散表現を入力とすることで解析を行うことができる.

## 3.1 分散表現辞書の作成

最初に，提供者の間で分散表現辞書を作成し共有 する. Word2 Vec [5] 等の手法で作成された単語分散表現の事前学習済みモデルを元にして，ランダムに 並び替えた順番をインデックスとすることでイン デックス-単語-分散表現の間で一意な対応を作成す る. 作成した対応を元にインデックス-単語の対応 $v$ ，インデックス-分散表現の対応 $D \in \mathbb{R}^{m \times p}$ を作成 しデータ提供者間で共有する。 $\boldsymbol{v}, D$ はインデックス に従い行方向に順番にそれぞれ単語, 分散表現を並 べることで作成される。なお， $m$ は単語分散表現の 実べクトル次元数を表し, $p$ は事前学習モデルに含 まれる単語の総数を表す. ${ }^{11}$

$
\begin{aligned}
& \boldsymbol{v}=(\text { "'a","is", "pen", "this") } \\
& D=\left[\begin{array}{llll}
1.2 & 0.5 & 1.8 & 0.2 \\
1.3 & 0.6 & 1.9 & 0.3 \\
1.4 & 0.7 & 2.0 & 0.4
\end{array}\right] .
\end{aligned}
$

## 3.2 文章の分解

提供者は共有された対応 $v$ を用いて順序情報を表 すシーケンス $s_{i j}$ を作成する. 各提供者 $i$ は保有す る文章サンプル $j$ を単語ごとに分解して $l_{i j}$ 個の要素を持つ単語列とする. $v$ を用いて単語列の単語を それぞれ対応するインデックスに置き換えることで シーケンス $s_{i j} \in\{1,2, \ldots, p\}^{l_{i j}}$ を得る. また，提供者 $i$ の保有するシーケンスをまとめて $s_{i}$ と表す.

このように作成されたシーケンス $s_{i j}$ は $D$ と の演算により学習モデルへの入力を得ることが できる. 行列 $D=\left(d_{1}, \boldsymbol{d}_{2}, \ldots, \boldsymbol{d}_{p}\right)$ とべクトル $\boldsymbol{s}_{i j}=$ $\left(s_{1}, s_{2}, \ldots, s_{l_{i j}}\right)$ の間において, $D=\left(\boldsymbol{d}_{s_{1}}, \boldsymbol{d}_{s_{2}}, \ldots, \boldsymbol{d}_{s_{l_{i j}}}\right)$ に並び替える演算を $D\left(:, s_{i j}\right)$ として定義する.この とき $D\left(:, s_{i j}\right)$ は分散表現による文章を表し，RNNを
含まれない単語を表す未知語タグ等も含む。

ベースとした学習モデルへの入力とすることがで きる.

$
\begin{gathered}
\text { ( 文章 ) } \cdots . . . \text { “'This is a pen“, } \\
\boldsymbol{s}_{i j}=(4,2,1,3), \\
D\left(:, s_{i j}\right)=\left[\begin{array}{llll}
0.2 & 0.5 & 1.2 & 1.8 \\
0.3 & 0.6 & 1.3 & 1.9 \\
0.4 & 0.7 & 1.4 & 2.0
\end{array}\right] .
\end{gathered}
$

## 3.3 データコラボレーション文章解析

データコラボレーション解析における $X_{i}=X^{\text {anc }}=$ $D^{\top}$ として $D$ のコラボレーション表現を作成する.

図 1 に示すように各提供者パーティ $i$ は個別のマッ ピング関数 $f_{i}$ を用いて中間表現 $\tilde{D}_{i}=f_{i}(D) \in \mathbb{R}^{\tilde{m} \times p}$ を作成する. 作成した中間表現を解析者の元へ集 め，解析者は中間表現を元にマッピング関数 $g_{i}$ を作成してコラボレーション表現 $\hat{D}_{i} \in \mathbb{R}^{\hat{m} \times p}$ を得る. 個別に作成された中間表現から元データを復元するこ とはできないため，分散表現辞書 $D$ は解析者に対し 秘匿されることになる. ${ }^{2)}$

最後に，コラボレーション表現をシーケンス $s_{i}$ と 組み合わせて解析を行う，提供者はシーケンスを秘匿せずそのまま提供者から解析者に渡す. 図 1 に示 すように解析者の元で $\hat{D}_{i}$ と $s_{i}$ を用いて $\hat{D}_{i}\left(:, s_{i}\right)$ を 作成し解析を行う. $\hat{D}_{i}\left(:, s_{i}\right)$ は単語の順序に従い行方向に分散表現が並べられている。解析者はRNN をべースとした学習モデルへの入力とすることで単語の順序情報を活用して解析が行える.

## 3.4 シーケンスからの単語推測

シーケンス $s_{i}$ は秘匿されないため解析者は単語 の使用頻度情報を用いた攻撃が可能である. 解析者 はシーケンスに出てくる各インデックスの使用回数 を数えることで単語の使用頻度の情報を得られる。一般に自然言語では単語ごとに使用頻度に差がある ため，データ解析者は使用頻度を比較することで元 の単語を推測することができる.

しかし，使用頻度の情報のみでは元の文章の復元 は困難である．同程度の使用頻度の単語を正確に分類することは難しく，十分な単語数がある場合の復元は難しい. またこの攻撃への対抗策として，一部 の単語を他の単語に置き換えたり空白として扱うと

2） $\hat{D}$ に対し標準化の処理を適用すると学習精度の向上に繋 がる場合がある． $\hat{D}$ は $g_{i}$ を適用する際に $D$ と比較して絶対值が小さい値になりやすいため，ニューラルネットワークに よる誤差逆伝播が機能しにくくなることを防ぐ効果がある.
いった差分プライバシーの手法によって使用頻度を 変化させる手法が考えられる.

図 1 提案手法による文章解析の概略

## 4 実験

文章分類の実験によって提案手法の性能評価を行 う. 提供者が他のパーティとデータを共有せず個別 に解析を行う個別解析，生データを秘匿せず直接共有して解析を行う集中解析の 2 つと比較を行う.

## 4.1 実験設定

実験ではサンプルデータの総数と解析精度の関係 を確認する。データ提供者は各パーティ 500 サンプ ルずつ保有するものとし, パーティ数を 1 から 10 ま で変化させることでサンプルデータの総数を 500 か ら 5000 に変化させる. マッピング関数 $f_{i}$ では主成分分析による次元削減の後 $[0,1]$ の一様乱数を要素 に持つ乱数行列をかけている. 主成分分析では分散表現の事前学習モデル GloVe [6] による 300 次元の 分散表現を 128 次元に削減した. 解析者は GRU [7] と全結合層からなるニューラルモデルを用いて解析 を行う.

サンプルデータには映画レビュー文とニュース記事の 2 種類のデータセットを使用する.1つ目の実験では IMDB 映画レビューデータセット [8] を使用 し, 映画のレビュー文を入力として内容が好意的か 批判的か判定を行うの 2 值分類を行う. 2 つ目の実験ではロイターニュース記事データセット [9]を用 いて 46 種類のトピックからニュース記事がどのト

図 2 IMDB 映画レビュー分類

ピックに対応するかの多值分類を行う.

## 4.2 結果

図 2 に IMDB 映画レビュー文，図 3 にロイター ニュース記事の実験結果を示す. グラフはそれぞれ 10 回試行した平均値を取っており，エラーバーは 標準誤差を表している。個別解析では提供パーティ を増やしても分類精度（ACC）がほぼ一定の結果と なった一方, 集中解析では提供パーティを増やし学習に利用するサンプル総数が増えるに従い ACC も 向上している.

提案手法の ACC は集中解析に近い值を示し，提供パーティ数に応じて精度が向上していることが読 み取れる。提供パーティ数 10 の 5000 サンプル時点 では個別解析と比較して 20 ポイント以上高い数值 となっており, 集中解析との比較では IMDB 映画レ ビューでは同等の数値, ロイターニュース記事では $1 \sim 3$ ポイント程度低い数値となった.

## 4.3 考察

提案手法により複数パーティのデータを統合して 集中解析に近い精度で学習できた。単一パーティの データしか利用できない個別解析では提供パーティ を増やしても ACC は向上しない。一方, 全パーティ のデータを統合して解析する提案手法と集中解析で は提供パーティの増加に応じて ACC も向上しサン プル数に応じて高い精度で解析できている.

また，集中解析と比較して提案手法は映画レ ビュー分類では同等の精度で学習できているが， ニュース記事分類では $1 \sim 3$ ポイント程度低い精度 となってしまった. しかし，サンプル数に応じて精

図 3 ロイターニュース記事分類

度が向上していることから十分なサンプル数を用意 すれば実用に足る十分な精度で学習できると考えら れる.

提案手法が高い精度で学習できていることは，文章の順序情報を保持して学習できていることが大き な要因であると考察する。提案手法では単語の並び 順を考慮して学習ができるため前後の文脈を踏まえ て分類を行えるため集中解析に近い精度を出せたと 考えられる。

提案手法と集中解析の精度の違いは分散表現辞書 のコラボレーション表現作成による違いだと考察す る. 分散表現辞書は中間表現の作成時に次元削減と 乱数列の積をとっており，次元削減により失われる 情報やマッピング関数 $g_{i}$ によって各パーティの乱数列の違いの影響を打ち消せなかった部分が精度に 現れたと考えられる。

## 5 おわりに

本研究では文章を分散表現辞書とシーケンスで 表現し，順序情報を活用しながらプライバシー保護 を考慮して学習を行う手法を提案した。文章分類の 実験を行い，提案手法により文章の順序情報を活用 して集中解析に近い精度で学習できることを確認 した.

一方，提案手法による解析時は解析者の元に単語 の使用頻度の情報を渡す事になる久点を抱えてい る. 使用頻度から元の文章を復元する攻撃の成功率 の検証，差分プライバシーによる対策を行う場合の 精度低下の検証は今後の課題としたい。

## 謝辞

この成果は，国立研究開発法人新エネルギー・産業技術総合開発機構（N E D O）の委託業務 （JPNP18010）の結果得られたものです.

## 参考文献

[1] Akira Imakura, Tetsuya Sakurai. Data Collaboration Analysis Framework Using Centralization of Individual Intermediate Representations for Distributed Data Sets. ASCEASME Journal of Risk and Uncertainty in Engineering Systems, Part A: Civil Engineering, Vol. 6, No. 2, p. 04020018, 2020.

[2] Akira Imakura, Xiucai Ye, and Tetsuya Sakurai. Collaborative Data Analysis: Non-model Sharing-Type Machine Learning for Distributed Data. In Hiroshi Uehara, Takayasu Yamaguchi, and Quan Bai, editors, Knowledge Management and Acquisition for Intelligent Systems, Vol. 12280 of PKAW 2021. Lecture Notes in Computer Science, pp. 14-29, Cham, 2021. Springer International Publishing.

[3] Akira Imakura, Ryoya Tsunoda, Rina Kagawa, Kunihiro Yamagata, Tetsuya Sakurai. DC-COX: Data collaboration Cox proportional hazards model for privacy-preserving survival analysis on multiple parties. Journal of Biomedical Informatics, Vol. 137, p. 104264, 2023.

[4] Shinji Ito and Kazuo Murota. An Algorithm for the Generalized Eigenvalue Problem for Nonsquare Matrix Pencils by Minimal Perturbation Approach. SIAM Journal on Matrix Analysis and Applications, Vol. 37, No. 1, p. 409-419, 2016.

[5] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space, 2013.

[6] Jeffrey Pennington and Richard Socher and Christopher D. Manning. GloVe: Global Vectors for Word Representation. In Empirical Methods in Natural Language Processing (EMNLP), pp. 1532-1543, 2014.

[7] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, 2014.

[8] Andrew L. Maas, Raymond E. Daly, Peter T. Pham, Dan Huang, Andrew Y. Ng, and Christopher Potts. Learning Word Vectors for Sentiment Analysis. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, pp. 142-150, Portland, Oregon, USA, June 2011. Association for Computational Linguistics.

[9] Reuters-21578,Distribution 1.0. http://www. daviddlewis.com/resources/testcollections/ reuters21578.
 関 口拓海 ${ }^{1}$ 今倉暁 ${ }^{2}$ 櫻井鉄也 ${ }^{2}$ 1 筑波大学大学院 2 筑波大学システム情報系 sekiguchi.takumi.ss@alumni.tsukuba.ac.jp \{imakura,sakurai\}@cs.tsukuba.ac.jp  