对于我们专业,学了一些基础到不能再基础的数学与计算机知识。
我对自然语言处理的理解很浅,上周听老师讲再加上自己平时的了解。
它至少经历了三个阶段,一个是基于规则的原理,然后是基于统计的方法,(两者结合的也有)。到目前最火的深度学习。
这个方向发展的很快,据我了解,目前深度学习的方法还在进步,没准我毕业了深度学习都落后了
语言有很多,对于我们的母语使用的方法,众多专家一直在做不懈的努力。
最短路径是我们专业学数据结构的算法
如果从有向图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。
2002年 也就是17年前。。。。我们的专家提出来了N-最短路径方法
这个方法的思想是,根据词典,找出所有可能的词(词典这个东西无论放在今天的深度学习,也同样重要,据我了解,很多nb开发搜索引擎的公司都有自己的一套词典)
根据词语切分成有向无环图。每个词对应着图中的一条有向边,并付给相应的边长。然后求出长度值按严格升序排列的路径集合作为一个结果集
如果每个词对应的边长为1那么说明在图中每个词的地位相等,专家把这个方法叫做统计粗分模型
至于为什么叫N最短路径,我看的文章说是他只求了排序在前面的N个最短路径的集合,这里为什么他只要前N个这样的路径呢?
待更!
2019-6-18
举个例子
比如一个句子是:“”他说的确实在理”
我们可以在把这个句子的每个字放在一个有向图的边上
并为每个边赋个值,我们这里认为所有词是对等的所以这个值可以为1.
Ο−他−Ο−说−Ο−的−Ο−确−Ο−实−Ο−在−Ο−理−Ο
1 1 1 1 1 1 1
如果我们在词典中发现“”的确”是词,那么我就在边“的”前面的结点与“确”的后面的节点建立一个节点
Ο−−的确−−Ο
1
显然,的确这两个结点之间路径更短了。
这确实是个诱惑!设想一下,我们建立一个效果较好的字典,把带分字符串与一个图一一对应,得出来的分词可能更符合日常说的句子。
求解单源最短路径问题是Dijkstra贪心算法。
在这个算法中,运行时间与字串长度,最短路径数和某个字作为词末端字的平均次数成正比
在每个结点出记录N个最短路径值,我认为是这些都是待选结果。