文本相似度表示与分词

https://www.cnblogs.com/xlturing/category/884163.html

一个大神的博客,虽然NLP的内容讲得不多,但是很有收货,mark一下!

1. 如何计算文本相似度?

http://www.cnblogs.com/xlturing/p/6136690.html

字面距离:

编辑距离(莱文斯坦距离):指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

SimHash:分词(按照重要程度给每个词定权重), hash, 加权, 合并, 降维。

汉明距离:两个等长字符串之间的汉明距离(英语:Hamming distance)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。

语义相似性:

词向量

主题模型

词嵌入

2. 分词,基于词典的分词方法

http://www.cnblogs.com/xlturing/p/8467021.html#%E5%88%A9%E7%94%A8%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E5%BE%97%E5%88%B0%E6%9C%80%E5%A4%A7%E6%A6%82%E7%8E%87%E8%B7%AF%E5%BE%84

动态规划求解法

满足dp的条件有两个

  • 重复子问题
  • 最优子结构

我们来分析最大概率路径问题。

重复子问题
对于结点Wi和其可能存在的多个后继Wj和Wk,有:

  1. 任意通过Wi到达Wj的路径的权重为该路径通过Wi的路径权重加上Wj的权重{Ri->j} = {Ri + weight(j)} ;
  2. 任意通过Wi到达Wk的路径的权重为该路径通过Wi的路径权重加上Wk的权重{Ri->k} = {Ri + weight(k)} ;

最优子结构
对于整个句子的最优路径Rmax和一个末端节点Wx,对于其可能存在的多个前驱Wi,Wj,Wk…,设到达Wi,Wj,Wk的最大路径分别为Rmaxi,Rmaxj,Rmaxk,有:
Rmax = max(Rmaxi,Rmaxj,Rmaxk…) + weight(Wx)
于是问题转化为:
求Rmaxi, Rmaxj, Rmaxk…
组成了最优子结构,子结构里面的最优解是全局的最优解的一部分。
很容易写出其状态转移方程:
Rmax = max{(Rmaxi,Rmaxj,Rmaxk…) + weight(Wx)}

 

你可能感兴趣的:(面试算法题)