Mencari Dokumen Terkait antara Input Kueri dan Dokumen dengan TFIDF dan Cosine Similarity

Di sini, kita hanya menggunakan 3 dokumen pendek saja sebagai dataset, tujuannya agar teman2 tidak bingung mengikuti tutorial ini. Hehe. ini datasetnya. Jadi sebagai informasi, kita hanya akan mengambil kolom text saja, kolom class dihiraukan aja.



Import Libraries

from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pd

Import dataset


df = pd.read_csv('dataset.csv')
df.head()





Membuat vektor TFIDF dataset

Di sini, kita mengambil hanya kolom "text" saja dari dataset

#Get the data field from dataset
data = df['text']

Membuat vektor dari data

#Vectorize the data using (fit_transform)
vectorizers = TfidfVectorizer()
vector_of_dataset = vectorizers.fit_transform(data)

Melihat hasil vektor yang dibuat


# Show generated vectors using pandas
df2 = pd.DataFrame(vector_of_dataset.toarray().transpose(),
                   index=vectorizers.get_feature_names())
df2


Memasukkan data baru

Mengambil data baru dan membuat vektornya berdasarkan vektor dataset yang dibuat sebelumnya


# Vectorize new data using the vector of data
query = "saya senang"
vector_of_query = vectorizers.transform([query])


Menghitung kesamaan dengan Cosine Similarity


#Cosine similiraty with all data
results = cosine_similarity(vector_of_dataset,vector_of_query)
results



# Show similarity using pandas
df3 = pd.DataFrame(results,
                   index=data)
df3





Kode bisa temen temen lihat di Github saya ya: https://github.com/irfandythalib/tfidfcosinesimilarity/