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”뿐입니다.

입력값

첫 번째 텍스트
note, ready
두 번째 텍스트
note ready

결과

정확히 같음
아니요
정규화 후 같음
아니요
단어 겹침
0.333333
첫 번째 텍스트에만 있음
note,
두 번째 텍스트에만 있음
note

텍스트가 겹친다고 두 이미지나 문서가 동일하다는 뜻은 아닙니다.

결과를 한 줄씩 읽기

  1. 정확히 같음: 아니요. 문자열이 쉼표 하나만큼 다르기 때문입니다.
  2. 정규화 후 같음: 아니요. 정규화는 대소문자와 악센트를 바꿀 뿐 구두점은 바꾸지 않습니다.
  3. 토큰 겹침: 0.3333333333333333.
  4. 첫 번째 텍스트에만 있음: “note,”. 두 번째 텍스트에만 있음: “note”.
  5. 쉼표가 의미 있는 것인지, 복사하면서 생긴 흔적인지 스크린샷을 보고 판단하세요.
합집합의 서로 다른 토큰
토큰 3개
공유 토큰
토큰 1개
토큰 겹침
0.3333333333333333

악센트와 대소문자는 나누기 전에 처리되므로 “Café,”와 “cafe,”는 같은 토큰이 됩니다. 그 밖에는 똑같은 두 단어를 갈라놓는 것은 붙어 있는 쉼표나 마침표뿐입니다.

이 예시로 막을 수 있는 실수

숫자로 정할 수 없는 것

겹침은 토큰 집합을 비교합니다. 어느 버전이 먼저 입력됐는지, 어느 쪽이 이미지에 있는지, 쉼표가 의미를 바꾸는지는 알려 주지 않습니다. 아래에 연결된 비교 도구는 첫 번째에만 있는 목록과 두 번째에만 있는 목록을 보여 주므로, 어떤 붙은 기호가 차이를 만들었는지 정확히 볼 수 있습니다.