Dictionary不一定是个list,它可以是多种形式. 放弃Hash的原因: 通常,tree是比较适合的结构. From: http://www.cnblogs.com/v-July-v/archive/2011/06/07/2075992.html B--tree B-树又叫平衡多路查找树.一棵m阶的B-树 (m叉树)的特性如下: 树中每个结点最多含有m个孩子(m>=2): 除根结点和叶子结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中ceil(x)是一个取上限的函数):…
一.发展 起源:统计语言模型起源于 Ponte 和 Croft 在 1998年的 SIGIR上发表的论文 应用:语言模型的应用很多: corsslingual retrieval distributed IR expert finding passage retrieval web search genomics retrieval 基因组学检索 topic tracking subtopic retrieval 二.basic model 1.Ponte and Croft 核心思想:quer…
Traditional Language Model通常用于回答下述问题: How likely is a string of English words good English ? \(p_{LM}(\)the house is small\()\ge p_{LM}(\) small the is house\()\) \(p_{LM}(\)I am going home\()\ge p_{LM}(\)I am going house\()\) 生成该句子 \(W=w_1, w_2, w_3…
前一篇文章  用 CNTK 搞深度学习 (一) 入门    介绍了用CNTK构建简单前向神经网络的例子.现在假设读者已经懂得了使用CNTK的基本方法.现在我们做一个稍微复杂一点,也是自然语言挖掘中很火的一个模型: 用递归神经网络构建一个语言模型. 递归神经网络 (RNN),用图形化的表示则是隐层连接到自己的神经网络(当然只是RNN中的一种): 不同于普通的神经网络,RNN假设样例之间并不是独立的.例如要预测“上”这个字的下一个字是什么,那么在“上”之前出现过的字就很重要,如果之前出现过“工作”,…
A Neural Probabilistic Language Model,这篇论文是Begio等人在2003年发表的,可以说是词表示的鼻祖.在这里给出简要的译文 A Neural Probabilistic Language Model 一个神经概率语言模型 摘  要 统计语言模型的一个目标是学习一种语言的单词序列的联合概率函数.因为维数灾难,这是其本质难点:将被模型测试的单词序列很可能是与在训练中见过的所有单词的序列都不相同.传统的但非常成功的基于n-gram的方法通过将出现在训练集很短的重…
上文提到了pytorch里的world language model,那么怎么能不说tensorflow的实现呢,还是以tensorflow ptb的代码为例说说. 地址: https://github.com/tensorflow/models/tree/master/tutorials/rnn/ptb 大概处理流程是,一大段文章,然后转成ids,然后根据batchsize切割成.batchsize * M num_steps是一个sequence的长度 epoch_size 就是进行多少轮训…
https://www.sohu.com/a/233269391_395209 本周我们要分享的论文是<Universal Language Model Fine-tuning for Text Classificatio> 迁移学习在计算机视觉方面取得了很多成功,但是同样的方法应用在NLP领域却行不通.文本分类还是需要从零开始训练模型.本文的作者提出了一种针对NLP的有效的迁移学习方法,通用语言模型微调(ULMFiT)并介绍了用于微调模型的关键技巧. 越底层的特征越通用,越顶层的特征越特殊…
代码结构 tf的代码看多了之后就知道其实官方代码的这个结构并不好: graph的构建和训练部分放在了一个文件中,至少也应该分开成model.py和train.py两个文件,model.py中只有一个PTBModel类 graph的构建部分全部放在了PTBModel类的constructor中 恰好看到了一篇专门讲如何构建tensorflow模型代码的blog,值得学习,来重构自己的代码吧. 值得学习的地方 虽说官方给出的代码结构上有点小缺陷,但是毕竟都是大神们写出来的,值得我们学习的地方很多,来…
1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发,来尽可能复原人们的感知世界,从而表达真实世界的过程.这里面就包括如图中所示的模型和算法,包括: ()文本层:NLP文本表示: ()文本-感知世界:词汇相关性分析.主题模型.意见情感分析等: ()文本-真实世界:基于文本的预测等: 显而易见,文本表示在文本挖掘中有着绝对核心的地位,是其他所有模型建构…
 Query spelling correction 在使用搜索引擎的时候.假设一不小心输入错误,或者对于某个词语记得不太清楚,搜索引擎会自己主动纠正: 这个功能可以缩短用户的时间,很好用.在SharePoint 2013中.通过配置Search dictionary  能够实现类似的功能. SharePoint 2013自己维护了一个拼写词典.叫做默认拼写词典(default spelling dictionaries).这个拼写词典是SharePoint自己维护的,用户不能改动. 假设用…