和文標記
標題

テキスト間の類似度の測定

和文キーワード：（２～５個）
コサイン類似度，Jaccard係数，Dice係数，Simpson係数，ニューラルネットワーク

英文標記
Title

Measurement of similarity between texts

Keywords : (2 – 5 Words)
cosine similarity, Jaccard coefficient, Dice coefficient, Simpson coefficient, neural network

難波英嗣
中央大学理工学部

1

1.

Jaccard 係数

はじめにあるテキストと別のテキストの内容がど|𝐴 ∩ 𝐵| 2= = 0.4|𝐴 ∪ 𝐵| 5のくらい似ているのか(類似度)を測定する
Dice 係数

ことは、自然言語処理分野における重要な課題である。この類似度を測る尺度(類似度2|𝐴 ∩ 𝐵| 2 ∙ 2== 0.57|𝐴| + |𝐵|
7尺度)はこれまで数多く提案され、また様々

Simpson 係数な場面で利用されてきた。その応用例とし|𝐴 ∩ 𝐵|
2= = 0.67
min (|𝐴|, |𝐵|) 3て情報検索、テキスト分類、文書クラスタ
リングがある。最近では、機械翻訳システ
ム 1)やテキスト要約システム 2)の出力を評2.2

価する際に、正解テキストとどのくらい似コサイン類似度

2.1 節で述べた尺度は、単純で分かりやているのかを測るのにもこの技術が使われている。

すい反面、テキスト中でそれほど重要でな本稿では、基本的なものから最新のものい単語であっても非常に重要な単語であっまで様々なテキスト間の類似度尺度を紹介ても、すべて等しく扱っているため、適切する。なお、テキスト間の類似度を測定すな類似度が計算できないという問題がある。

る技術には、テキスト間の引用等の関係をこの問題を解決するための尺度である、テ利用する方法とテキスト中の単語を利用すキスト中の単語の重要度を考慮したコサイる方法との 2 種類ある。前者については、ン類似度をここでは紹介する。

本連載における伊神氏の記事を参照されたまず、テキスト中の単語の重要度を測る

い 3)。本稿では、後者に焦点を当てて説明手法について述べる。その基本的な統計量する。

として、tf-idf が広く知られている。テキスト A に出現する単語 t の tf-idf の値は、2.

以 下 に 示 す 2 つ の 統 計 量 tf(term

基本的なテキスト間の類似度尺度

2.1frequency)4) と集合間の類似度

テキスト A とテキスト B に含まれる単語idf(inversedocumentfrequency)5)を乗算することで得られる。

を、集合 A および集合 B の要素と考えた時、

ltf: テキスト A 内における単語 t の頻Jaccard 係数、Dice 係数、Simpson 係数と度。
「テキスト中で何度も繰り返し言及いった集合間の類似度尺度を用いて、テキされる概念は重要な概念である」といスト間の類似度を測ることができる。テキう仮定に基づく。

スト A およびテキスト B に含まれる単語を、

lidf: N 件のテキストが存在し、この中それぞれ A={x, y, v, w}および B={x, y, z}とで単語 t が出現するテキスト数が df(t)した時、Jaccard 係数、Dice 係数、Simpsonである時、1+log(N/df(t))の値。どのテ係数を用いたテキスト A とテキスト B の類

キストにも出現するような単語 t は似度は以下のように計算される。

df(t)の値が N に近づくため、idf は 0に近い値になる。逆に、特定の文書に2しか出現しない単語 t は、df(t)の値が1 に近づくため、idf は大きな値になる。

3.

ニューラルネットを用いたテキスト間の類似度尺度

この tf-idf を用いることで、ひとつのテキ

3.1

基本的な類似度尺度の問題点

2 節で述べた類似度尺度には、次のようストから、テキスト中の各単語とその重要な問題点がある。以下(1)〜(3)において、(1)度の対の集合が得られる。
次に、コサイン類似度について述べる。と(2)はどちらも猫が好きであるが、(3)は猫各単語を軸、その単語の重要度をその軸のが嫌いという内容であるため、意味的には座標と考えると、テキストはひとつのベク(1)と(2)が近く、(3)だけが異なる。

トルとみなすことができる。今、テキスト
A とテキスト B のベクトルを、それぞれ𝑎⃗と(1) I love cats.

𝑏;⃗ 、これらのベクトルの間の角度をθとし(2) I like cats.

たとき、内積の定義式から以下の式が導出(3) I hate cats.

できる。
cos 𝜃 =𝑎⃗ ∙ 𝑏;⃗|𝑎⃗||𝑏;⃗|

しかし、love と like は、意味は類似していても単語が異なる。このため、(1)と(2)は 3

テキスト A とテキスト B の内容が似てい単語中 2 単語が一致、(1)と(3)も 3 単語中 2る時、同じ単語が近い確率で各テキスト中単語が一致し、 (1)と(2)、(1)と(3)の間のコに出現すると考えられる。この時、𝑎⃗と𝑏;⃗はサイン類似度は、いずれも 0.67 となる。こベクトルの向きが非常に近いため、θの値のように、単語が異なっていても意味は類は 0 に、その結果 cosθは 1 に近づく。も似している場合は、そうでない場合と区別し、テキスト A とテキスト B の間に、共通できるような類似度尺度が提案されている。

する単語が 1 語もない場合、𝑎⃗ ∙ 𝑏;⃗ = 0とな3.2 節では、単語の意味を表現する手法にるため、cosθは 0 となる。この cosθをコついて述べ、3.3 節でこの手法を用いた類サイン類似度と呼ぶ。

似度尺度を紹介する。

テキスト A とテキスト B のベクトルが以3.2下のように与えられているとする。

単語の分散表現以下の 2 文を考えてみよう。(a)にはいず
単語x

単語y

単語zれも同じ文字列が当てはまる。

𝑎⃗243𝑏;⃗110(文 1)昨日は(a)でパエリアを食べた。
(文 2)

この時、コサイン類似度は以下のようにな(a)は安いし雰囲気もいいね。

る。
cos 𝜃 =

2×1+4×1√2! + 4! + 3! √1! + 1!

文 1 に「パエリア」という単語があること= 0.793

から、(a)はたことにより、非常に注目を集めた。

スペイン料理が食べられる場所であることが推測できる。文 2 からは、(a)が個人宅でking-man+woman=queen(king の ベlはなく、レストランであろうことが推測でクトルから man のベクトルを引き、きる。ここでは 2 文だけしか例に用いていwoman のベクトルを加えて得られたないが、もし非常に大量のテキストがあり、ベクトルと最も類似する単語としてこの 2 文以外にも(a)が様々な文脈で出現

queen が得られる)
1/2(good+best)=better (good と bestl

する例文がたくさん得られれば、かなり正確に(a)を言い当てることができるかもしのベクトルを加え、2 で割って得られれない。このように、ある単語は、その周たベクトルと最も類似する単語として辺にどのような単語がどのような頻度で出better が得られる)現するのかという情報から、ある程度意味を表現することができる。また、テキスト

また、play-study+studied=played のよう集合中のすべての単語について、それらのな現在形から過去形への変換も可能である

周辺単語の情報を収集すれば、周辺単語のことから、単語のベクトルには意味だけで類似性によって、単語の意味を表すことがなく文法的な情報も含まれていると推測さできる。これは、1954 年に Harris6)が提示れる。

した分布仮説と呼ばれているものである。
3.3

その後しばらくは、計算機の処理能力や計算機が扱えるデータの問題などから実証す

単語の分散表現を用いたテキスト間の類似度尺度るまでには至らなかったが、1990 年代後半

前節で述べた Word2Vec を用いたテキスになって、この仮説が正しいことが Lin7)

ト間の類似度尺度が数多く提案されている。

や Lee8)によって確認された。2013 年には、そのうちのひとつが SCDV10)である。これ

Mikolov9) が ニ ュ ー ラ ル ネ ッ ト を 用 い たは、Word2Vec で計算された単語のベクト

Word2Vec という手法を開発し、これが深ル空間に対して GMM(Gaussian Mixture

層学習を用いた自然言語処理の基礎技術とModels)でクラスタリングを行うことで、して広く使われるようになった。

意味が類似した単語を統合し、2.2 節で述

Word2Vec では、ある単語の周辺単語を用べた tf-idf を考慮して、テキスト中のすべいて、その単語の意味を表現しているといての単語のベクトルを統合してひとつのベう点では Harris の分布仮説に従ったもの

クトルを得る。その後、ベクトル(テキスト)であるが、ニューラルネットを使って、各間の類似度を、コサイン距離で測る。

単語の意味を数百次元のベクトルで表現す

Paragraph Vector11)は、Word2Vec を考ることで、love と like の意味的な類似性を案した Mikolov らによって、単語の分散表

２.2 節で紹介したコサイン距離を用いて計現をテキストの分散表現に変換する手法で算することを可能にしただけでなく、以下ある。この手法でも、厳密に同じではないのような意味的な演算も出来るようになっが、tf-idf に相当するような情報を単語の4分散表現と組み合わせている。Paragraph註・参 考 文 献

Vector には、Doc2Vec12)や sent2vec13)とい1) Papineni, K. et al. BLEU: a method

った名称で、いくつかの実装が公開されて

for automatic evaluation of machineいる。ただし、Paragraph Vector の計算にtranslation. IBM Research Report,は非常に膨大な時間がかかるので、あまりRC22176 (W0109-022), 2001.
2) Lin, C.W. ROUGE: a package for

大規模なテキスト集合には適用できないと

automatic evaluation of summaries.

いう問題がある。
この他、2018 年には SWEM14)という、Proceedings of the ACL-04 Workshop

単純にテキスト中の全単語のベクトルを平Text Summarization Branches Out,均したり、ベクトルの各要素の最大値のみ

2004, p.74–81.

抽出したりするといった複数の手法が提案

3) 伊神正貫．文献の関係性の分析：書誌されている。テキスト中の全単語の情報を結合，引用分析，自然言語処理．情報使うので、tf に相当する情報は使われていの 科 学 と 技 術 ． 2020, vol.70, no.4,

るが、idf に相当する情報は考慮されていな

p.208-210.
4) Luhn, H.P. A statistical approach toい。非常に高速に動作するため、多くの論

mechanized encoding and searching

文で比較手法として使われている。
近年では、Word2Vec よりもさらに性能

of literary information, IBM Journalの良い BERT15)と呼ばれるモデルが提案さof Research and Development, 1957,

れており、BERT を用いたテキスト間の類

vol.1, issue 4, p.309-317.

似度尺度 BERTScore16)も提案されている。

5) Spärck

Jones,K.

Astatistical

これは、BERT を用いた単語ベクトルと idf

interpretation of term specificity andを組み合わせた尺度である。

its application in retrieval, Journal ofDocumentation, 1972, vol.28, no.1,

4.

p.11-21.

おわりに6) Harris, Z. Distributional structure.

本稿では、テキスト間の類似度を測る複Word, vol.10, no.23, p.146-162.

数の尺度を紹介した。テキスト間の類似度

7) Lin, D. Automatic retrieval andを計算することは古典的な研究課題であるが、非常に多くの場面で利用されること、

clusteringofその場面が現在益々増えていること、さらProceedings of the 36th Annualに利用可能な技術が次々と開発されている

Meeting

ことから、自然言語処理分野では今なお活

Computational Linguistics and the

発に研究が行われている。その成果は論文

17th International Conference onと同時にプログラムも公開されているので、Computational

興味のある読者は探して使ってみることを

p.768-774.

ofsimilarthewords.

Association

Linguistics,for1998,

8) Lee, L. Measures of distributional

お勧めしたい。

similarity, Proceedings of the 37th5

Annual Meeting of the Associationof deep bidirectional transformers forfor Computational Linguistics, 1999,

languagep.25-32.

Proceedings

9) Mikolov,T.

etal.

Distributedunderstanding.
of2019AnnualConference of the North American

representations of words and phrases

ChapterandComputational Linguistics, 2019.

theircompositionality.

Proceedings

ofthe26th

Information

Processing

Neural16) Zhang,

Systems,

NIPS 2013, 2013, p.3111-3119.

ProceedingsofEMNLP 2017, 2017, p.659-669.
11) Mikolov,

T.;

Le,

Q.

Distributed

representations of sentences anddocuments. Proceedings of the 31stInternational Conference on Machine
Learning,

ICML

2014,2014,

p.1188-1196.
12) Doc2vec:
https://radimrehurek.com/gensim/models/doc2vec.html(accessed2020-5-11)
13) Sent2vec:
https://github.com/epfml/sent2vec(accessed 2020-5-11)
14) Shen, D. et al. Baseline needs more
love:

on

simpleword-embedding-based models andassociatedpoolingmechanisms.

Proceedings of the 56th Annual
MeetingofComputational

theAssociation

Linguistics,

al.

Evaluating

text

generation

Proceedings

for

2018,

p.440-450.
15) Devlin, J. et al. BERT: Pre-training

6for

BERTScore:oftheConference

Learning Representations, 2020.

soft clustering over distributional
representations,AssociationetInternational

composite document vectors using

theT.

BERT.

10) Mekala, D. et al. SCDV: sparseofwith8thon