Shotnest

Shotnest · ライブラリ

語の反復が重なりの重みを増やさない理由を知る

「red red blue」と「red blue」の単語の重なりは1です。比較ツールは、異なる語を何度繰り返されても一回だけ数えるからです。

重なりは集合で測る

比較ツールは、正規化したそれぞれのテキストを異なるトークンの集合に変えます。集合には回数がありません。テキストにredが一回あっても十回あっても、集合に入るredは一つです。「red red blue」の集合はredとblue、「red blue」も同じ二つのトークンです。共有トークン2、和集合2、重なりは2 ÷ 2 = 1です。

それでも文字列は違うので、「完全に一致」と「正規化後に一致」は「いいえ」を示します。繰り返しがまだ見えるのは、この二行です。

長い例でも同じです。「pay pay pay now」と「pay now」も、一つ目のテキストではpayが三回出てくるのに、重なりは1になります。どちらの側にも欠けている異なるトークンはないので、一つ目だけと二つ目だけの一覧は空のままです。

入力値

1つ目のテキスト
red red blue
2つ目のテキスト
red blue

結果

完全に一致
いいえ
正規化後に一致
いいえ
単語の重なり
1
1つ目のテキストだけにある
利用できません
2つ目のテキストだけにある
利用できません

テキストの重なりだけでは、2つの画像や文書が同一だとは証明できません。

繰り返された語を確かめる

  1. 二つのテキストを比べ、重なりが1であることを書き留めます。
  2. 「完全に一致」と「正規化後に一致」を読みます。どちらも「いいえ」です。
  3. どちらの集合にも欠けているトークンがないので、一つ目だけと二つ目だけの一覧が空であることを確かめます。
  4. 繰り返しの回数が重要なときは、元のテキストで繰り返された語を自分で数えます。
一つ目のテキストの異なるトークン
2
二つ目のテキストの異なるトークン
2
単語の重なり
1

集合を作る前に正規化が行われるので、「Red」「RED」「red」もすべて一つのトークンにまとまります。大文字を使っても、繰り返しが数に入ることはありません。

繰り返しに意味があるとき

リストでは、繰り返された行が数量を意味することがあります。同じ品物が二つ、二重の請求、二度出された指示などです。集合の重なりは、その違いを完全に隠します。Shotnestの重複検出もスクリーンショットに似た集合の考え方を使いますが、それは画像の幅と高さが同じで、見た目のフィンガープリントがほぼ同じ場合に限られ、比べるのも数字を除いた語です。

集合の尺度として読む

この値が答えるのは、二つのテキストがどの異なるトークンを共有しているかという一つの問いだけです。順序と頻度はその外にあります。回数が重要なときは、下にリンクした比較ツールを元のテキストと一緒に使ってください。