문서 유사성 측정
NLP에서 두 텍스트 문서 간의 유사성을 확인하려면, 표준 접근 방식에는 문서를 TF-IDF 벡터로 변환하는 작업이 포함됩니다. 그런 다음 이러한 벡터는 정보 검색 시스템에서 일반적으로 사용되는 측정 기준인 코사인 유사성을 계산하는 데 사용됩니다. 더 자세한 내용은 온라인 전자책인 "정보 검색 입문"을 참조하세요.
Implementation in Python
Python은 Gensim과 같은 라이브러리를 제공합니다. TF-IDF 및 코사인 유사성 계산을 용이하게 하는 scikit-learn. scikit-learn에서 문서 간 코사인 유사성을 계산하려면 TF-IDF 벡터를 활용해야 합니다.
<code class="python">from sklearn.feature_extraction.text import TfidfVectorizer documents = [open(f).read() for f in text_files] tfidf = TfidfVectorizer().fit_transform(documents) pairwise_similarity = tfidf * tfidf.T</code>
일반 텍스트 문서를 직접 처리할 수 있습니다.
<code class="python">corpus = ["I'd like an apple", "An apple a day keeps the doctor away"] tfidf = TfidfVectorizer(min_df=1, stop_words="english").fit_transform(corpus) pairwise_similarity = tfidf * tfidf.T</code>
결과
결과로 나오는 희소 행렬 pairwise_similarity는 정사각형 모양입니다. 주어진 문서와 가장 유사한 문서를 식별하려면 대각선 요소를 마스킹한 후(자기 유사성을 나타냄) NumPy의 argmax 기능을 활용할 수 있습니다.
<code class="python">import numpy as np arr = pairwise_similarity.toarray() np.fill_diagonal(arr, np.nan) input_doc = "Document to compare" input_idx = corpus.index(input_doc) result_idx = np.nanargmax(arr[input_idx]) most_similar_doc = corpus[result_idx]</code>
위 내용은 텍스트 문서 간의 유사성을 측정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!