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
텍스트가 겹친다고 두 이미지나 문서가 동일하다는 뜻은 아닙니다.
결과를 한 줄씩 읽기
- 정확히 같음: 아니요. 문자열이 쉼표 하나만큼 다르기 때문입니다.
- 정규화 후 같음: 아니요. 정규화는 대소문자와 악센트를 바꿀 뿐 구두점은 바꾸지 않습니다.
- 토큰 겹침: 0.3333333333333333.
- 첫 번째 텍스트에만 있음: “note,”. 두 번째 텍스트에만 있음: “note”.
- 쉼표가 의미 있는 것인지, 복사하면서 생긴 흔적인지 스크린샷을 보고 판단하세요.
- 합집합의 서로 다른 토큰
- 토큰 3개
- 공유 토큰
- 토큰 1개
- 토큰 겹침
- 0.3333333333333333
악센트와 대소문자는 나누기 전에 처리되므로 “Café,”와 “cafe,”는 같은 토큰이 됩니다. 그 밖에는 똑같은 두 단어를 갈라놓는 것은 붙어 있는 쉼표나 마침표뿐입니다.
이 예시로 막을 수 있는 실수
- 쉼표 하나가 든 짧은 구절의 점수가 낮다는 이유로 두 캡션이 무관하다고 결론짓는 것.
- 점수가 낮은 텍스트가 덜 정확하다고 생각하는 것. 겹침에는 정확성이라는 개념이 없습니다.
- 비교하기 전에 구두점을 손으로 지우고, 원문에는 구두점이 있었다는 사실을 잊는 것.
- 아주 짧은 텍스트에 겹침을 쓰는 것. 그런 텍스트에서는 토큰 하나가 값을 삼분의 일 이상 바꿉니다.
숫자로 정할 수 없는 것
겹침은 토큰 집합을 비교합니다. 어느 버전이 먼저 입력됐는지, 어느 쪽이 이미지에 있는지, 쉼표가 의미를 바꾸는지는 알려 주지 않습니다. 아래에 연결된 비교 도구는 첫 번째에만 있는 목록과 두 번째에만 있는 목록을 보여 주므로, 어떤 붙은 기호가 차이를 만들었는지 정확히 볼 수 있습니다.