문장 문자열의 코사인 유사성 계산
코사인 유사성은 두 벡터 간의 상관 관계를 측정하는 것입니다. 텍스트 처리의 맥락에서 두 문장 간의 유사성을 결정하는 데 사용될 수 있습니다. 외부 라이브러리 없이 두 문자열에 대한 코사인 유사성을 계산하려면 다음 단계를 따르세요.
간단한 Python 구현:
<code class="python">import math import re from collections import Counter WORD = re.compile(r"\w+") def get_cosine(vec1, vec2): intersection = set(vec1.keys()) & set(vec2.keys()) numerator = sum([vec1[x] * vec2[x] for x in intersection]) sum1 = sum([vec1[x] ** 2 for x in list(vec1.keys())]) sum2 = sum([vec2[x] ** 2 for x in list(vec2.keys())]) denominator = math.sqrt(sum1) * math.sqrt(sum2) if not denominator: return 0.0 else: return float(numerator) / denominator def text_to_vector(text): words = WORD.findall(text) return Counter(words)</code>
사용 예:
<code class="python">text1 = "This is a foo bar sentence ." text2 = "This sentence is similar to a foo bar sentence ." vector1 = text_to_vector(text1) vector2 = text_to_vector(text2) cosine = get_cosine(vector1, vector2) print("Cosine:", cosine)</code>
출력:
Cosine: 0.861640436855
이 구현에는 TF-IDF 가중치가 포함되지 않아 정확도를 향상시킬 수 있습니다. 더 큰 데이터 세트에 대한 코사인 유사성.
위 내용은 외부 라이브러리를 사용하지 않고 두 문장 간의 코사인 유사성을 어떻게 계산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!