다른 단어 근처에 있는 단어를 찾는 방법은 무엇입니까?

다른 단어 근처에 있는 단어를 찾는 방법은 무엇입니까?

사용자가 발음에서 서로 가까이 있는 단어와 Letter라는 단어를 각각 찾을 수 있는 사전을 만들겠습니다.

예를 들어 사용자가 검색한 경우가까운내 사이트는 그 근처에 있는 다른 단어를 반환합니다.근처, 배, 친애하는, 뒤쪽, 여기

어떻게 하나요?

이 웹사이트처럼:운율대

답변1

나는 이것이 참을 수 있을 정도로 복잡하다고 생각한다. 이는 자연어 프로그래밍(다른 NLP, Neuro Linguistic Pap이 아님)의 한 분야입니다. "here"와 "hear"를 일치시킬 수 있어야 합니다. 따라서 요소를 분해하고 이를 음성학적 동등성(두 가지 모두에 대해 h-"ere" 및 h-"ere")으로 매핑해야 합니다. 그리고 일부 철자에는 다양한 음성학(기침, 쟁기, 통과)이 있거나 더 나쁜 동음이의어(the there, they're, their group)가 있으며 지역적으로 다를 수 있습니다(영국에서는 차고의 길거나 짧은 'a', 예를 들어 그래프와 유리). 음성학적 동등성을 만들 때 항상 단수인 것은 아닙니다.

음성학적 동등성을 확보한 후에는 다양한 경험적 방법을 사용하여 이들 간의 차이를 최소화할 수 있습니다. 시의 경우 어미의 무게를 과도하게 강조해야 할 수도 있습니다. 운율은 대부분 단어 어미에 달려 있습니다. 시에 대한 두운 실행도 원할 수 있습니다. 아마도 좋은 두운을 위해서는 다른 가중치가 필요할 것입니다.

나는 NLP에 대한 무료 온라인 대학 과정 중 하나에 참여하고 싶습니다. 현재 여러 가지가 있습니다. 언어 구문 분석을 위한 현대 기술의 훨씬 더 나은 기반. :)

답변2

동일한 길이의 문자열 간에 문자열 비교를 사용하고 일치하지 않는 문자를 하나(또는 두 개) 허용할 수 있습니다.

하지만 귀하의 웹 사이트를 살펴보면 단어를 발음 표기로 매핑한 다음 검색하여 문자열을 문자 배열처럼 처리하고 뒤에서 비교를 시작하는 것이 좋습니다.

귀하의 예를 토대로 작성하려면: Near -> \'nir\ pear -> \'per\ dear -> \'dir\ Rear -> \'rir\ 또는 \'rer\ here -> \'hir\

(나는 음성 표기법을 위해 Merriam-Webster 온라인을 복사하고 있습니다.)

유감스럽게도 매핑은 조회 테이블로 수행되어야 하며 영어에는 매우 강력한 발음 규칙이 없기 때문에 컴파일할 수 없습니다...

어쨌든 단어를 매핑한 후에는 마지막 음소를 비교할 수 있습니다. 이 경우 "ir\"(이 경우 "pear" 제외)로 끝나는 단어를 찾을 수 있습니다.

이 방법은 그다지 효율적으로 보이지 않습니다. 디스크 공간을 사용할 수 있다면 나중에 참조할 수 있도록 검색 내용을 저장합니다. 따라서 두 번째 사용에서 "near"에 운율이 맞는 모든 단어를 찾을 때 응용 프로그램은 저장된 단어를 로드합니다. 검색 - 사전은 일반적으로 너무 빨리 발전하지 않기 때문입니다.

관련 정보