Dari apa yang saya lihat, formula smoothing Kneser-Ney (dalam urutan kedua) dalam beberapa hal diberikan sebagai
dengan faktor normalisasi diberikan sebagai
dan probabilitas kelanjutan dari sebuah kataw n
di mana adalah jumlah konteks terlihat di atau, lebih sederhana, jumlah kata yang berbeda yang mendahului kata yang diberikan . Dari apa yang saya mengerti, rumusnya dapat diterapkan secara rekursif. w ∙ w
Sekarang ini menangani kata-kata yang dikenal dalam konteks yang tidak diketahui dengan baik untuk panjang n-gram yang berbeda, tetapi apa yang tidak dijelaskan adalah apa yang harus dilakukan ketika ada kata-kata di luar kamus. Saya mencoba mengikuti contoh ini yang menyatakan bahwa dalam langkah rekursi untuk unigram, . Dokumen kemudian menggunakan ini - mengutip Chen dan Goodman - untuk membenarkan rumus di atas sebagai . P 1 K N (w)=Pcont(w)
Saya gagal melihat cara kerjanya di hadapan kata yang tidak diketahui . Dalam kasus ini karena, jelas, kata yang tidak diketahui tidak melanjutkan apa pun mengenai set pelatihan. Demikian juga jumlah n-gram akan menjadi .P c o n t ( tidak diketahui ) = 0
Selain itu, seluruh istilah mungkin nol jika urutan kata-kata yang tidak dikenal - katakanlah, trigram kata-kata OOD - dijumpai.
Apa yang saya lewatkan?
sumber
Jawaban:
Dan Jurafsky telah menerbitkan bab tentang model N-Gram yang berbicara sedikit tentang masalah ini:
Saya sudah mencoba mencari tahu apa artinya ini, tetapi saya tidak yakin apakah berarti lim x → 0 x . Jika ini masalahnya, dan Anda menganggap bahwa ketika penghitungannya menjadi nol, mungkin λ ( ϵ ) menjadi d , menurut:ϵ limx→0x λ(ϵ) d
maka kata yang tidak dikenal hanya akan diberikan sebagian kecil dari diskon, yaitu:
Saya sama sekali tidak yakin dengan jawaban ini, tetapi ingin mengeluarkannya kalau-kalau ada pemikiran lagi.
sumber
Ada banyak cara untuk melatih seorang model dengan
<UNK>
meskipun Jurafsky menyarankan untuk memilih kata-kata yang terjadi sangat sedikit dalam pelatihan dan hanya mengubahnya<UNK>
.Kemudian cukup latih probabilitas seperti yang biasa Anda lakukan.
Lihat video ini mulai pukul 3:40 -
https://class.coursera.org/nlp/lecture/19
Pendekatan lain adalah dengan hanya menganggap kata sebagai
<UNK>
pertama kalinya hal itu terlihat dalam pelatihan, meskipun dari pengalaman saya pendekatan ini memberikan terlalu banyak probabilitas<UNK>
.sumber
Hanya beberapa pemikiran, saya jauh dari menjadi ahli dalam masalah ini jadi saya tidak bermaksud memberikan jawaban atas pertanyaan tetapi untuk menganalisisnya.
Another option would be to estimate the
<unk>
probability with the methods mentioned by Randy and treating it as a regular token.I think this step is made to ensure that the formulas are consistent. Notice that the termλ(ϵ)|V| does not depend on the context and assigns fixed values to the probabilities of every token. If you want to predict the next word you can prescind this term, on the other hand if you want to compare the Kneser - Ney probability assigned to each token under two or more different contexts you might want to use it.
sumber