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であることを書き留めます。
- 「完全に一致」と「正規化後に一致」を読みます。どちらも「いいえ」です。
- どちらの集合にも欠けているトークンがないので、一つ目だけと二つ目だけの一覧が空であることを確かめます。
- 繰り返しの回数が重要なときは、元のテキストで繰り返された語を自分で数えます。
- 一つ目のテキストの異なるトークン
- 2
- 二つ目のテキストの異なるトークン
- 2
- 単語の重なり
- 1
集合を作る前に正規化が行われるので、「Red」「RED」「red」もすべて一つのトークンにまとまります。大文字を使っても、繰り返しが数に入ることはありません。
繰り返しに意味があるとき
リストでは、繰り返された行が数量を意味することがあります。同じ品物が二つ、二重の請求、二度出された指示などです。集合の重なりは、その違いを完全に隠します。Shotnestの重複検出もスクリーンショットに似た集合の考え方を使いますが、それは画像の幅と高さが同じで、見た目のフィンガープリントがほぼ同じ場合に限られ、比べるのも数字を除いた語です。
- 重なりが1だからと、二枚のレシートを同じものと結論づけること。
- 繰り返された行を隠している、空の一つ目だけと二つ目だけの一覧を見過ごすこと。
- 語が何回出てくるかを数えるのに、重なりを使うこと。
集合の尺度として読む
この値が答えるのは、二つのテキストがどの異なるトークンを共有しているかという一つの問いだけです。順序と頻度はその外にあります。回数が重要なときは、下にリンクした比較ツールを元のテキストと一緒に使ってください。