Saya terlambat ke pesta ini, tetapi saya bermain dengan konsep tc-idf (saya ingin menekankan kata 'konsep' karena saya tidak mengikuti buku apa pun untuk perhitungan yang sebenarnya; jadi mereka mungkin agak canggung, dan pasti lebih mudah dilakukan dengan paket seperti {tm: Text Mining Package}, seperti yang disebutkan), dan saya pikir apa yang saya dapatkan mungkin terkait dengan pertanyaan ini, atau, dalam hal apa pun, ini mungkin tempat yang baik untuk mempostingnya.
SET-UP: Saya memiliki corpus dari 5paragraf panjang yang diambil dari media cetak, text 1melalui 5seperti The New York Times . Diduga, itu adalah "tubuh" yang sangat kecil, perpustakaan kecil, sehingga untuk berbicara, tetapi entri dalam perpustakaan "digital" ini tidak acak: Entri pertama dan kelima berurusan dengan sepak bola (atau 'sepak bola' untuk 'klub sosial' (?) di sekitar sini), dan lebih khusus lagi tentang tim terhebat hari ini. Jadi, misalnya, text 1dimulai dengan ...
"Selama sembilan tahun terakhir, Messi telah membawa FC Barcelona meraih gelar nasional dan internasional sambil memecahkan rekor individu dengan cara yang tampak seperti dunia lain ..."
Sangat bagus! Di sisi lain Anda pasti ingin melewatkan konten di tiga entri di antaranya. Berikut ini sebuah contoh ( text 2):
"Dalam rentang beberapa jam di Texas, Tuan Rubio menyarankan agar Tuan Trump buang air kecil di celana panjangnya dan menggunakan imigran gelap untuk menyampaikan pesan Twitternya yang tak henti-hentinya ..."
Jadi apa yang harus dilakukan untuk menghindari "berselancar" dengan text 1cara apa pun text 2, sambil terus bersukacita dalam literatur tentang FC Barcelona yang maha kuasa text 5?
TC-IDF: Saya mengisolasi kata-kata di setiap textvektor menjadi panjang. Kemudian menghitung frekuensi setiap kata, membuat lima vektor (satu untuk masing-masing text) di mana hanya kata-kata yang ditemui dalam yang sesuai textyang dihitung - semua kata lain, milik yang lain text, bernilai nol. Dalam cuplikan pertama text 1, misalnya, vektornya akan memiliki hitungan 1 untuk kata "Messi", sedangkan "Trump" akan memiliki 0. Ini adalah bagian tc .
Bagian idf juga dihitung secara terpisah untuk masing-masing text, dan menghasilkan 5 "vektor" (saya pikir saya memperlakukan mereka sebagai frame data), yang berisi transformasi logaritmik dari jumlah dokumen (sayangnya, hanya dari nol menjadi lima, mengingat perpustakaan kecil kami) ) mengandung kata yang diberikan seperti pada:
catatan( No. dokumen1+Tidak. Dokumen berisi kata)text01text
tc × idftext
PERBANDINGAN: Sekarang hanya masalah melakukan dot produk di antara "vektor pentingnya kata" ini.
Bisa ditebak, produk titik text 1dengan text 5adalah 13.42645, sedangkan text 1v. text2Hanya 2.511799.
Kode R kikuk (tidak ada yang meniru) ada di sini .
Sekali lagi, ini adalah simulasi yang sangat sederhana, tetapi saya pikir ini sangat grafis.