首页 > 代码库 > Recurrent Neural Network Language Modeling Toolkit代码学习

Recurrent Neural Network Language Modeling Toolkit代码学习

Recurrent Neural Network Language Modeling Toolkit  工具使用点击打开链接


按照训练的进度学习代码:

trainNet()中的结构:

step1. 

learnVocabFromTrainFile() 统计训练文件中所有的单词信息,并对统计好的信息进行整理

涉及的数据结构:

vocab_word

ocab_hash *int

                    

涉及的函数:

addWordToVocab()

对于一个单词w,将其信息存入vocab_word结构的数组中,其结构下标为wp,然后取w的hash码(getWordHash),使该hash码的值为 其 在vocab_word结构中的下标wp。[后面会对vocab_word进行sort,单词w的下标可能会发生改变,这个在searchVocab中会有体现]

searchVocab()

查找并返回单词w在vocab_word中的下标。取其hash码,在vocab_hash中查找,如果查不出则返回-1,否则找到的下标,取出vocab中该 下标对应的单词与单词w进行对比,如果相同,则返回该下标,否则在vocab中逐个查找对比,对找到的下标在vocab_has中进行添加并返回;如果还是找不到,则返回-1。

sortVocab()

依据单词在训练集中出现的次数,对vocab_word进行重排序。