Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Anda Boleh Menentukan Persamaan Antara Dokumen Teks dalam Python?

Bagaimana Anda Boleh Menentukan Persamaan Antara Dokumen Teks dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-23 06:52:02121semak imbas

How Can You Determine the Similarity Between Text Documents in Python?

Menentukan Persamaan Teks

Dalam pemprosesan bahasa semula jadi (NLP), menentukan persamaan antara dua dokumen teks adalah penting. Pendekatan yang paling biasa ialah menukar dokumen kepada vektor TF-IDF dan mengira persamaan kosinus.

Melaksanakan TF-IDF dan Persamaan Kosinus

Dalam Python, Gensim dan pakej scikit-learn menyediakan pelaksanaan TF-IDF dan persamaan kosinus. Kod berikut, menggunakan scikit-learn, mengubah dokumen menjadi vektor TF-IDF dan mengira persamaan pasangannya:

<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>

Mentafsir Keputusan

Persamaan_pasangan adalah jarang matriks yang mewakili skor persamaan antara dokumen. Persamaan setiap dokumen dengan dirinya sendiri ialah 1, jadi nilai ini disembunyikan. Kod di bawah mencari dokumen yang paling serupa dengan dokumen input yang diberikan:

<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>

Kaedah Lain

Gensim menawarkan pilihan tambahan untuk tugas persamaan teks. Sumber lain untuk diterokai ialah [soalan Stack Overflow ini](https://stackoverflow.com/questions/52757816/how-to-find-text-similarity-between-two-documents).

Atas ialah kandungan terperinci Bagaimana Anda Boleh Menentukan Persamaan Antara Dokumen Teks dalam Python?. 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