Bagaimana Anda Boleh Menentukan Persamaan Antara Dokumen Teks dalam Python?

Patricia Arquette
Lepaskan: 2024-10-23 06:52:02
asal
188 orang telah melayarinya

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

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

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan