텍스트 유사성 결정
자연어 처리(NLP)에서는 두 텍스트 문서 간의 유사성을 결정하는 것이 중요합니다. 가장 일반적인 접근 방식은 문서를 TF-IDF 벡터로 변환하고 코사인 유사성을 계산하는 것입니다.
TF-IDF 및 코사인 유사성 구현
Python에서는 Gensim scikit-learn 패키지는 TF-IDF 및 코사인 유사성 구현을 제공합니다. 다음 코드는 scikit-learn을 사용하여 문서를 TF-IDF 벡터로 변환하고 쌍별 유사성을 계산합니다.
<code class="python">from sklearn.feature_extraction.text import TfidfVectorizer # Load documents documents = [open(f).read() for f in text_files] # Create TF-IDF vectorizer tfidf = TfidfVectorizer().fit_transform(documents) # Compute pairwise similarity pairwise_similarity = tfidf * tfidf.T</code>
결과 해석
Pairwise_similarity는 희박합니다. 문서 간의 유사성 점수를 나타내는 행렬입니다. 각 문서의 자체 유사성은 1이므로 이러한 값은 가려집니다. 아래 코드는 주어진 입력 문서와 가장 유사한 문서를 찾습니다.
<code class="python">import numpy as np # Input document index input_idx = corpus.index(input_doc) # Mask out diagonal and find the most similar document np.fill_diagonal(pairwise_similarity.toarray(), np.nan) result_idx = np.nanargmax(pairwise_similarity[input_idx]) # Get the most similar document similar_doc = corpus[result_idx]</code>
기타 방법
Gensim은 텍스트 유사성 작업을 위한 추가 옵션을 제공합니다. 살펴볼 또 다른 리소스는 [이 스택 오버플로 질문](https://stackoverflow.com/questions/52757816/how-to-find-text-similarity-between-two-documents)입니다.
위 내용은 Python에서 텍스트 문서 간의 유사성을 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!