Shotnest · ライブラリ
語順が違う同じ単語集合を見分ける
「red blue」と「blue red」は、Shotnestの比較ツールで単語の重なりが1になりますが、正規化後でも一致しません。
順序は尺度の外にある
単語の重なりは、共有される異なるトークンの数を、両方のテキストを合わせた異なるトークンの数で割った値です。位置は何の役割も果たしません。「red blue」と「blue red」は同じ集合になるので、重なりは2 ÷ 2 = 1です。正規化後の一致は正規化した文字列全体を比べるので、語の順序が違う以上、やはり「いいえ」を示します。
この二行の食い違いこそが役に立つ手掛かりです。重なりが完全なのに正規化後のテキストが一致しないのは、同じ語彙が並べ替えられたということで、リストなら無害でも、文なら決定的なことがあります。
正規化は何も並べ替えません。小文字にし、アクセントをそろえ、空白をまとめたうえで、文字列をそのまま比べます。
入力値
- 1つ目のテキスト
- red blue
- 2つ目のテキスト
- blue red
結果
- 完全に一致
- いいえ
- 正規化後に一致
- いいえ
- 単語の重なり
- 1
- 1つ目のテキストだけにある
- 利用できません
- 2つ目のテキストだけにある
- 利用できません
テキストの重なりだけでは、2つの画像や文書が同一だとは証明できません。
三つの結果を合わせて読む
- 完全に一致:いいえ。
- 正規化後に一致:いいえ。順序が違うからです。
- 単語の重なり:1。一つ目だけと二つ目だけの一覧は空です。
- 両方のテキストを順に声に出して読みます。意味が変わるなら、別の記録として扱います。
- 共有されるトークン
- 2
- 全体の異なるトークン
- 2
- 単語の重なり
- 1
語順が意味を持つとき
「Gate 12 seat 5」と「seat 12 gate 5」はすべてのトークンを共有しながら、二つの数字の項目が入れ替わっています。「Not before Friday」と「before Friday, not」は意味が違います。Shotnestアプリの検索も順序を無視し、入力したすべての語がスクリーンショットのテキストのどこかにあればよいとします。スクリーンショットを見つけるには役立ちますが、行動する前に結果を読むべき理由がまた一つ増えます。
- テキストの重なりが1だからと、二枚のスクリーンショットを重複と呼ぶこと。
- 順序に気づける唯一の行である、正規化後の一致の行を読み飛ばすこと。
- 座席や順位のように項目が位置と結びついているのに、並べ替えたリストを同一とみなすこと。
項目を入れ替えた例は、まさにその結果になります。「Gate 12 seat 5」と「seat 12 gate 5」は正規化後に一致せず、重なりは1です。
画像についての判定ではない
下にリンクした比較ツールは、結果がテキストの重なりにすぎず、二つの画像や文書が同一である証明ではないと表示します。Shotnest自身の重複チェックには、共通の語に加えて、画像の寸法と見た目のフィンガープリントの一致が必要です。