Bagaimana untuk Mengukur Persamaan Antara Dokumen Teks?

DDD
Lepaskan: 2024-10-23 06:55:02
asal
984 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengukur Persamaan Antara Dokumen Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!