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进行重排序。
Recurrent Neural Network Language Modeling Toolkit代码学习
时间: 2024-10-25 05:20:03