수색…


소개

NLP는 컴퓨터가 인간 언어의 의미를 분석하고 이해하며 파생시킬 수있는 방법입니다. 개발자는 NLP를 활용하여 자동 요약, 번역, 명명 된 엔티티 인식, 관계 추출, 감정 분석, 음성 인식 및 주제 세분화와 같은 작업을 수행하기 위해 지식을 구성하고 구조화 할 수 있습니다.

텍스트 매칭 또는 유사성

NLP의 중요한 부분 중 하나는 유사점을 찾기 위해 텍스트 개체를 일치시키는 것입니다. 텍스트 매칭의 중요한 애플리케이션에는 자동 맞춤법 ​​교정, 데이터 중복 제거 및 게놈 분석 등이 포함됩니다. 요구 사항에 따라 다양한 텍스트 매칭 기술을 사용할 수 있습니다. 그래서 가지고 있습니다. Levenshtein 거리

두 문자열 간의 Levenshtein 거리는 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 편집 수로 정의되며 허용되는 편집 작업은 단일 문자의 삽입, 삭제 또는 대체입니다.

다음은 효율적인 메모리 계산을위한 구현입니다.

def levenshtein(s1,s2): 
   
 if len(s1) > len(s2):
    s1,s2 = s2,s1 
distances = range(len(s1) + 1) 

for index2,char2 in enumerate(s2):
    newDistances = [index2+1]
    for index1,char1 in enumerate(s1):
        if char1 == char2:
            newDistances.append(distances[index1]) 
        else:
             newDistances.append(1 + min((distances[index1], distances[index1+1], newDistances[-1]))) 
             distances = newDistances 

             return distances[-1]

print(levenshtein("analyze","analyse"))


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow