IDF tambahan (Frekuensi Dokumen Invers)


11

Dalam aplikasi penambangan teks, salah satu pendekatan sederhana adalah menggunakan heuristik untuk membuat vektor sebagai representasi dokumen yang jarang. Ini bagus untuk pengaturan batch, di mana seluruh corpus dikenal a-priori, karena membutuhkan seluruh corpusi d ftfidfidf

idf(t)=log|D||{d:td}|

di mana adalah istilah, adalah dokumen, adalah kumpulan dokumen, dan (tidak ditampilkan) adalah kamus.d D TtdDT

Namun biasanya dokumen baru diterima seiring waktu. Salah satu opsi adalah tetap menggunakan ada sampai sejumlah dokumen baru telah diterima, dan menghitung ulang. Namun ini tampaknya agak tidak efisien. Apakah ada yang tahu tentang skema pembaruan tambahan yang (mungkin kira-kira) konvergen ke nilai jika semua data terlihat sebelumnya? Atau sebagai alternatif apakah ada ukuran lain yang menangkap gagasan yang sama tetapi dapat dihitung secara bertahap?idf

Ada juga pertanyaan terkait apakah tetap ukuran yang baik dari waktu ke waktu. Karena idf menangkap gagasan tentang frekuensi kata corpus, dapat dibayangkan bahwa dokumen yang lebih lama di dalam corpus (misalnya, misalnya, corpus saya mencakup lebih dari 100 tahun artikel jurnal), karena frekuensi kata-kata yang berbeda berubah dari waktu ke waktu. Dalam hal ini mungkin masuk akal untuk membuang dokumen lama ketika dokumen baru masuk, yang berlaku menggunakan jendela geser . Dapat dibayangkan, kita juga bisa menyimpan semua vektor sebelumnya saat yang baru dihitung, dan kemudian jika kita ingin mengambil dokumen dari katakan 1920-1930, kita bisa menggunakan dihitung dari dokumen dalam rentang tanggal tersebut. Apakah pendekatan ini masuk akal?i d f i d f i d fidfidfidfidf

Edit: Ada masalah yang terpisah namun berhubungan tentang kamus . Seiring waktu berkembang, akan ada istilah kamus baru yang tidak muncul sebelumnya, jadiperlu tumbuh, dan karenanya panjang vektor . Sepertinya ini tidak akan menjadi masalah, karena nol dapat ditambahkan ke vektor lama .| T | i d f i d fT|T|idfidf


pertanyaan bodoh: Ini masalah untuk menyimpan penyebut untuk setiap t? Bagaimana perbandingan | t | ke | d | Sepertinya (secara umum)?
steffen

Maaf mungkin persamaannya tidak jelas - adalah frekuensi dokumen terbalik dari istilah t, bukan pada waktu . Jadi pada waktu Anda akan memiliki vektor dengan panjang, yaitu ukuran kamus (yang juga dapat berubah). Saya akan mengedit efek itu. t t | T |idf(t)tt|T|
tdc

1
Saya mengerti persamaannya. Pertanyaan saya adalah: Jika menyimpan kamus tidak ada masalah maka: Alih-alih menyimpan | T | idfs one store | T | penyebut (persamaan) + jumlah dokumen. Pembaruan tambahan tidak ada masalah saat itu dan idf dihitung dengan cepat. Saya merasa bahwa saya telah mengabaikan sesuatu.
steffen

Jadi maksud Anda sesuatu seperti, mengingat dokumen baru , jika kita memiliki nilai , kita cukup menambahkan satu ke penyebut untukd : t d t : t d dd:tdt:td
tdc

tepat. Apakah ini layak?
steffen

Jawaban:


6

z

z(t)=|{d:td}|

d

z(t)=z(t)+{1iftd0otherwise

tfidfidf

Demikian pula untuk menghapus dokumen lama, kami mengurangi pembilang dengan cara yang serupa.

Ini tidak berarti bahwa kita juga harus menyimpan seluruh matriks serta matriks (dua kali lipat kebutuhan memori), atau kita harus menghitung skor bila diperlukan (meningkatkan biaya komputasi). Saya tidak bisa melihat jalan keluarnya.t f - i d f t f - i d ftftfidftfidf

Untuk bagian kedua dari pertanyaan, tentang evolusi vektor dari waktu ke waktu, tampaknya kita dapat menggunakan metode di atas, dan menyimpan satu set vektor "tengara" (penyebut) untuk rentang tanggal yang berbeda (atau mungkin subset konten) . Tentu saja adalah vektor padat dari panjang kamus sehingga menyimpan banyak dari ini akan menjadi memori intensif; Namun ini mungkin lebih baik untuk mengkomputasi ulang vektor bila diperlukan (yang lagi-lagi membutuhkan penyimpanan matriks juga atau sebagai gantinya).z z i d f t fidfzzidftf

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.