Shotnest · 라이브러리
반복 공백이 있는 텍스트 비교하기
공백이 두 칸인 Red blue는 Red blue와 정확히 같지는 않지만, 둘 다 red blue로 줄어들므로 정규화 후 같음은 예이고 토큰 겹침은 1입니다.
같음의 세 단계
정확히 같음은 원래 문자열을 한 글자씩 비교하므로, 공백이 하나 더 있으면 Red blue는 Red blue와 달라집니다. 정규화 후 같음은 먼저 소문자로 바꾸고 악센트를 없앤 뒤, 연속된 공백, 탭, 줄바꿈을 모두 공백 하나로 바꾸고 양 끝을 잘라 냅니다. 두 입력은 모두 red blue가 됩니다. 이어서 토큰 겹침이 서로 다른 단어를 비교하는데, 여기서는 집합이 똑같으므로 1이 나옵니다.
같은 축약 방식으로 다른 쌍도 설명됩니다. Red, 탭, blue, 줄바꿈처럼 탭과 끝의 줄바꿈이 있어도 역시 red blue로 정규화됩니다. Café와 cafe도 같아지는데, 공백을 줄이기 전에 악센트 정규화가 먼저 이루어지기 때문입니다.
검색에 쓰이는 문자 표가 여기서도 적용되므로, 공백을 줄이기 전에 전각 문자와 표의 문자 공백도 변환됩니다. RED BLUE는 red blue로 정규화되어 red blue와 같아집니다.
입력값
- 첫 번째 텍스트
- Red blue
- 두 번째 텍스트
- Red blue
결과
- 정확히 같음
- 아니요
- 정규화 후 같음
- 예
- 단어 겹침
- 1
- 첫 번째 텍스트에만 있음
- 사용할 수 없음
- 두 번째 텍스트에만 있음
- 사용할 수 없음
텍스트가 겹친다고 두 이미지나 문서가 동일하다는 뜻은 아닙니다.
공백이 중요한지 판단하기
- 정확히 같음을 먼저 읽으세요. 아니요는 적어도 한 글자가 다르다는 뜻입니다.
- 정규화 후 같음을 읽으세요. 예는 차이가 대소문자, 악센트, 공백에 있었다는 뜻입니다.
- 코드, 시, 표처럼 레이아웃 자체가 의미를 갖는지 생각해 보세요.
- 그렇다면 추출한 텍스트가 아니라 원본 스크린샷끼리 비교하세요.
- Red, 탭, blue, 줄바꿈 대 red blue · 정규화 후 같음
- 예
- Café 대 cafe · 정확히 같음
- 아니요
- Café 대 cafe · 정규화 후 같음
- 예
공백을 줄일 때 하기 쉬운 실수
- 정규화 후 줄만 예인데 두 코드 조각을 똑같다고 말하는 것. 들여쓰기가 다를 수 있습니다.
- 검색창도 같은 방식으로 공백을 줄일 거라고 기대하는 것. 이 사이트의 검색창은 그렇게 하지 않습니다.
- 텍스트 인식이 열 사이의 공백을 더하거나 빠뜨릴 수 있다는 사실을 잊는 것.
- 정규화 후 예를 철자가 같다는 증거로 읽는 것. Müller와 Muller는 정규화하면 같지만 서로 다른 이름일 수 있습니다.
텍스트는 같아도 그림은 다를 수 있습니다
정규화 후 같음은 추출한 단어만 설명합니다. 텍스트가 같은 두 스크린샷도 레이아웃, 색, 또는 텍스트 인식이 놓친 세부에서 다를 수 있습니다.
Shotnest의 정리하기에서 텍스트 검사는 글자로만 된 단어를 쓰므로 그곳에서도 숫자는 무시됩니다. 거의 같은 두 화면을 구분하는 것은 그림 지문입니다.