Shotnest

Shotnest · ライブラリ

句読記号の違いを見落とさない

「note, ready」と「note ready」を比べると、単語の重なりは0.333にとどまります。コンマが最初の語にくっついたまま残るからです。

コンマ一つで重なりの三分の二が失われる理由

比較ツールは正規化のあと、テキストを空白だけで区切ります。記号は取り除かれないので、コンマ付きの「note,」とコンマのない「note」は別々のトークンです。この例では、一つ目のテキストのトークンはnote,とready、二つ目はnoteとreadyです。和集合には異なるトークンが三つあり、共有されるのはreadyだけなので、重なりは1 ÷ 3です。

語にくっついたピリオド、コロン、閉じかっこ、引用符にも同じ仕組みが働きます。Shotnestアプリの検索は違う振る舞いをします。入力した各語をスクリーンショットのテキストの中から探すので、そこでは「note」で「note,」も見つかります。

テキストが長いと影響は和らぎますが、なくなりはしません。「Meet at the station. Bring tickets」と「Meet at the station bring tickets」は異なる七つのトークンのうち五つを共有し、重なりは0.7142857142857143です。違うトークンは、ピリオド付きの「station.」とピリオドなしの「station」だけです。

入力値

1つ目のテキスト
note, ready
2つ目のテキスト
note ready

結果

完全に一致
いいえ
正規化後に一致
いいえ
単語の重なり
0.333333
1つ目のテキストだけにある
note,
2つ目のテキストだけにある
note

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

結果を一行ずつ読む

  1. 完全に一致:いいえ。文字列がコンマ一つ分違うからです。
  2. 正規化後に一致:いいえ。正規化が変えるのは大文字小文字とアクセントで、記号は変えません。
  3. 単語の重なり:0.3333333333333333。
  4. 一つ目のテキストだけにある:「note,」。二つ目のテキストだけにある:「note」。
  5. スクリーンショットを見て、コンマに意味があるのか、コピーの際に紛れ込んだものなのかを判断します。
和集合の異なるトークン
トークン3個
共有されるトークン
トークン1個
単語の重なり
0.3333333333333333

アクセントと大文字小文字は区切る前に処理されるので、「Café,」と「cafe,」は同じトークンになります。ほかは同じ二つの語を分けるのは、くっついたコンマやピリオドだけです。

この例で防げる間違い

数値では決められないこと

重なりはトークンの集合を比べます。どちらの版が先に入力されたか、どちらが画像に写っているか、コンマで意味が変わるかは示しません。下にリンクした比較ツールは一つ目だけと二つ目だけの一覧を表示するので、どのくっついた記号が違いを生んだのかを正確に確かめられます。