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