Wikipedia memberikan contoh berikut ketika menjelaskan hashing fitur ; tetapi pemetaan tampaknya tidak konsisten dengan kamus yang ditentukan
Misalnya, to
harus dikonversi 3
sesuai dengan kamus, tetapi dikodekan sebagai 1
gantinya.
Apakah ada kesalahan dalam deskripsi? Bagaimana cara kerja hashing fitur?
Teks:
John likes to watch movies. Mary likes too. John also likes to watch football games.
dapat dikonversi, menggunakan kamus
{"John": 1, "likes": 2, "to": 3, "watch": 4, "movies": 5, "also": 6, "football": 7, "games": 8, "Mary": 9, "too": 10}
ke matriks
[[1 2 1 1 1 0 0 0 1 1] [1 1 1 1 0 1 1 1 0 0]]
Seperti yang ditunjukkan Steffen, matriks contoh mengkodekan berapa kali sebuah kata muncul dalam sebuah teks. Posisi pengkodean ke dalam matriks diberikan oleh kata (posisi kolom pada matriks) dan oleh teks (posisi baris pada matriks).
Sekarang, Trik hashing bekerja dengan cara yang sama, meskipun pada awalnya Anda tidak harus mendefinisikan kamus yang berisi posisi kolom untuk setiap kata.
Sebenarnya itu adalah fungsi hashing yang akan memberi Anda berbagai posisi kolom yang memungkinkan (fungsi hashing akan memberi Anda nilai minimum dan maksimum yang mungkin) dan posisi tepat kata yang ingin Anda enkode ke dalam matriks. Jadi misalnya, mari kita bayangkan bahwa kata "suka" di hash dengan fungsi hashing kita ke angka 5674, maka kolom 5674 akan berisi pengkodean relatif terhadap kata "suka".
Sedemikian rupa Anda tidak perlu membangun kamus sebelum menganalisis teks. Jika Anda akan menggunakan matriks sparse sebagai matriks teks Anda, Anda bahkan tidak perlu mendefinisikan dengan tepat ukuran matriks apa yang harus dibuat. Hanya dengan memindai teks, dengan cepat, Anda akan mengonversi kata menjadi posisi kolom dengan fungsi hashing dan matriks teks Anda akan diisi data (frekuensi, yaitu) sesuai dengan dokumen apa yang Anda analisis secara progresif (posisi baris).
sumber