Mengukur Kesamaan Dokumen
Untuk memastikan persamaan antara dua dokumen teks dalam NLP, pendekatan standard melibatkan mengubah dokumen menjadi vektor TF-IDF. Vektor ini kemudiannya digunakan untuk mengira persamaan kosinus, metrik yang biasa digunakan dalam sistem perolehan maklumat. Untuk mendapatkan maklumat yang lebih mendalam, rujuk "Pengenalan kepada Pencarian Maklumat", sebuah e-buku yang tersedia dalam talian.
Implementasi dalam Python
Python menyediakan perpustakaan seperti Gensim dan scikit-belajar yang memudahkan pengiraan TF-IDF dan persamaan kosinus. Dalam scikit-learn, pengiraan persamaan kosinus antara dokumen melibatkan penggunaan vektor TF-IDF mereka:
<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>
Dokumen teks biasa boleh diproses terus:
<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>
Mentafsirkan Keputusan
Matriks jarang yang terhasil berpasangan_similarity berbentuk segi empat sama. Untuk mengenal pasti dokumen yang paling serupa dengan dokumen tertentu, anda boleh menggunakan fungsi argmax NumPy, selepas menutup elemen pepenjuru (mewakili persamaan diri).
<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>
Atas ialah kandungan terperinci Bagaimana untuk Mengukur Persamaan Antara Dokumen Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!