Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengukur Persamaan Antara Dokumen Teks?

Bagaimana untuk Mengukur Persamaan Antara Dokumen Teks?

DDD
DDDasal
2024-10-23 06:55:02976semak imbas

How to Measure the Similarity Between Text Documents?

Menentukan Persamaan Antara Dokumen Teks

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn