知识复习
Posted flash-ylf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识复习相关的知识,希望对你有一定的参考价值。
from 10.5-10.7
1. tf-idf
词频 * 逆文档频率
词频为给定词在该词所在文档中出现的频率(该词在文件中的出现次数 / 该文件中所有词出现次数之和);对词数进行归一化,以防止它偏向长的文件。
逆向文件频率是一个词普遍重要性的度量。某一特定词的IDF,可以由总文件数目除以包含该词文件的数目,再将得到的商取以10为底的对数得到。
优点:计算简单;缺点:无法度量词语间的相似性;
利用tf-idf计算相似度的方法:bm25。主要思想是计算一个query里面所有词和文档的相关度,然后在把分数做累加操作,而每个词的相关度分数主要还是受到tf/idf的影响。
2. dssm向量
计算文本语义相似度。通过搜索引擎里 Query 和 Title 的海量的点击曝光日志,用 DNN 把 Query 和 Title 表达为低维语义向量,并通过 cosine 来计算两个语义向量的距离,最终训练出语义相似度模型。该模型既可以用来预测两个句子的语义相似度,又可以获得某句子的低维语义向量表达。
分为三层结构:输入层、表示层、匹配层。结构图如下:
输入层做的事情是把句子映射到一个向量空间里并输入到 DNN 中。英文和中文的处理方式有很大不同。英文的可以使用letter-trigram,并做成词袋的形式;中文采用单字作为最小的切分单位,因为常用的单字只有1.5万维左右,而双字则是百万级别。这两种都是类似于onehot的形式——词袋(表示层做的这件事)。结构图细节如下,相关性的衡量和匹配层是利用softmax实现:
语义相似性可以用cosine来表示:
通过softmax 函数可以把Query 与正样本 Doc 的语义相似性转化为一个后验概率:
其中γ为softmax的平滑因子。在训练阶段,通过极大似然估计,我们最小化损失函数:
通过反向传播、随机梯度下降,更新各网络层的参数。
优点:
①用字向量作为输入可减少分词的依赖,提升模型的泛化能力;
②传统的输入层是用 Embedding 的方式(如 Word2Vec 的词向量)或者主题模型的方式(如 LDA 的主题向量)来直接做词的映射,再把各个词的向量累加或者拼接起来;由于 Word2Vec 和 LDA 都是无监督的训练,这样会给整个模型引入误差。而DSSM 采用统一的有监督训练,不需要在中间过程做无监督模型的映射,因此精准度会比较高。
缺点:
①DSSM 采用词袋模型(BOW),因此丧失了语序信息和上下文信息。
②DSSM 采用弱监督、端到端的模型,预测结果不可控。
改进:
CNN-DSSM(主要为了提取上下文特征,但对间隔较远的上下文信息无法提取,所以出现了LSTM-DSSM)和LSTM-DSSM
3. 关于卷积核的计算:
https://www.cnblogs.com/missidiot/p/9450804.html
https://www.cnblogs.com/lyyang/p/7944019.html
简单理解:
有几个卷积核,最后会输出多少个feature map。
二维输出(经过一个二维filter):
OutDim = (Height − Filter + 2Padding )/Stride+1
三维的话(经过一个三维filter):
对二维进行求和得到。
参考资料:
https://baike.baidu.com/item/tf-idf/8816134?fr=aladdin
https://www.cnblogs.com/simith/p/10600862.html
https://blog.csdn.net/u013074302/article/details/76422551
以上是关于知识复习的主要内容,如果未能解决你的问题,请参考以下文章
期末复习c++知识点大回顾,八篇文章让你永不破防(建议收藏)
期末复习c++知识点大回顾,八篇文章让你永不破防(建议收藏)
期末复习c++知识点大回顾,八篇文章让你永不破防(建议收藏)