2009-02-06 14 views
0

누구든지 텍스트의 부정을 찾을 수있는 라이브러리 또는 소프트웨어를 알고 있습니까? 예를 들어,텍스트 얼룩

 
1. Name 1, Comment 
2. Name 2, Comment 
3. Name 3 , Comment 
5. Name 10, Comment 

이 소프트웨어 또는 라이브러리가 먼저 유사 상품 찾기 것이라고 텍스트의 일부를 (많이 모두 압축 소프트웨어의 조각이 압축 텍스트의 반복 유사한 부분을 인코딩 할 잘라 것 ... 내가 가지고 말할 수)하지만 오류 허용 오차에 대한 변수를 사용하면 텍스트의 비슷한 부분을 찾을 수 있습니다. 이제 텍스트 비교 응용 프로그램이나 diff/merge 도구를 사용하여 실제로 볼 수있는 것을 다른 것으로 강조 할 수 있습니다. 아마도이 도구를 만드는 것에 대해 생각하고 있지만 바퀴를 재발 명하고 싶지는 않습니다. 원격으로이 작업을 수행 할 수있는 곳이 있다면이 프로젝트에 도움이 될지, 아니면 적어도 하나를 만들지는 모르겠다는 것을 알고 싶습니다. 이 대답은 아마도 다른 사람들이 똑같은 일을하는 데 도움이 될 수 있다고 생각합니다. 나는 공급이 충분할 정도로 수요가 높을 것이라고 생각할 것입니다. 그 이유는 무엇이든 찾을 수 없다는 생각이 들기 때문입니다.

답변

2

이 문제를 발견하거나 수정하려는 실제 생활의 불규칙성의 종류에 따라 근본적으로 다릅니다. 여기

은 당신의 예는 실제 텍스트로 업데이트됩니다 : 오류가 교체 찾을 수있는 괜찮은 텍스트 편집기를 사용하여 고정 할 수있는이 예에서

1. Lazarus Long, Get the first shot off fast. 
2. Hiro Protagonist, Greatest swordfighter[sic] in the world. 
3. Alice , Down the rabbit hole. 
5. Orem, Sink of power. 

. 와일드 카드로 창의력을 발휘하면 텍스트 편집기 및 16 진수 편집기가 기적을 일으킬 수 있습니다. 문제는 구분 요소가 존재하는 한 간단합니다. 당신이 이미 알고있는 것처럼; 그 중 하나가 빠지 자마자 문제는 훨씬 더 복잡해집니다. 어려운 문제의

예 :

1. Lazarus Long, Get the first shot off fast. 
2. Hiro Protagonist Greatest swordfighter[sic] in the world. 
3. Alice , Down the rabbit hole. 
5 . Orem, , Sink of power. 

아마 몇 단계에서이 공격 것입니다. 1. 여분의 공간을 정리하십시오. 2. 줄 당 구분 기호 수와 구분 된 열당 평균 문자 수 또는 문자 수와 같은 주요 통계를 확인하십시오. 대부분의 이름은 하나 또는 두 단어이며 주석은 입력에 의해 알려지지 않거나 제한됩니다. 3. 통계적으로 가능한 수의 주요 기능이있는 라인을 찾습니다. 4. 문제를 해결하기 위해 최선을 다하십시오.

본인의 문제를 직접적으로 해결하는 것은 아니지만 한 가지 아이디어로 문제를 해결할 수 있습니다. 과거 바퀴 타격이 어떤 디자인도 완성하지 않았을 가능성이 있습니다.

2

파이썬에 익숙하다면 difflib을 시도해보십시오.

정확한 해결책은 아니지만 도움이 될 수 있습니다.

0

기본적으로 Regex를 사용하여 "이상적인 응답"을 만들고 나머지 라인을 비교하는 것이 좋습니다.

또는 Regex 쿼리로 각 행을 끓여서 서로 다른 쿼리를 비교할 수있는보다 복잡한 프로그램을 작성할 수 있습니다.