0

2 백만 이상의 이름, 단계, 위치 등의 데이터베이스/사전이 있습니다. 샘플 데이터는 다음과 같습니다.근사 일치를 사용하는 사전 기본 텍스트 분석

“A person who never made a mistake never tried anything new” 

“Nelson Mandela” 

“United States of America” 

“I didn't attend the funeral, but I sent a nice letter saying I approved of it.” 

“Joseph Campbell” 

“Insanity: doing the same thing over and over again and expecting different results” 

“United Kingdom of Great Britain and Northern Ireland” 

각 항목에 대해 ID가 있습니다.

사용자가 내 웹 사이트에 텍스트를 제출할 때 이제 텍스트 분석되고 일부 용서 (대략 일치)로 텍스트에 이름, 단계 및 위치의 모든 모습을 찾을 수 있습니다. 예를 들어

  1. 위상 "광기 : 또 다시 같은 일을하고"전체 상과 일치한다 "광기 : 또 다시 같은 일을하고 다른 결과 기대"
  2. 위상은 "정신 : 다시 같은 일을하고 다른 결과를 기대"전체 상과 일치한다 "정신 : 다시 이상과를 통해 동일한 작업을하고 다른 결과를 기대"

I 돈을 내 데이터베이스가 2 줄 이상의 긴 단계를 가지고 같은이 명명 된 엔티티 문제가있는 경우 t는 알고있다. 나 또한 정확한 단계를 찾고 싶지 않아, 나는 어림셈을 근사하고 싶다.

나는 오픈 소스 솔루션을 찾고 있어요. 덕분에 사전

답변

1

한 가지 가능한 솔루션은 Lucene 같은 검색 엔진에서 보는 것입니다. 기본적으로 문서를 저장하는 데이터베이스를 작성합니다. 예를 들어, "광기 : 같은 일을 반복해서 수행하고 다른 결과를 기대합니다." 그런 다음 "광기, 반복해서"검색을 수행 할 수 있으며 엔진은 주문한 결과 목록을 제공합니다. 그것은 매우 구성 가능합니다.

사용자의 작업에 따라 당신은 아마 당신이 일치 할 필요가 가능한 문구와 자신의 inverted index을 구현할 수 있습니다. 또는 특정 문구에 대해 더 나은 점수를 부여하는 향상된 Levenshtein distance을 구현할 수 있습니다.