|
原创贴,基础知识也要有:
机器要识别一篇文章的意思,必然涉及到语义,分词相关的识别技术。句子,词语,字是构成一篇文章的基本单位。虽然百度谷歌都是使用的全文检索系统,不过还是需要分词。
当今主流的分词技术有三种类别,有利用词库的,有基于词频统计的,有基于语义理解的。第一种是目前已经比较成熟的分词技术了,百度谷歌都在用,缺点是必须有足够强大的词库,分词速度还一般,正确率还行;第二种实现起来是最简单的,以标点符号为分割线,最小单位为一个字,最大单位为两个标点符号之间的所有字,统计出现相同的字或词的概率,正确率稍微低点;第三种是目前为止还未出现勉强的解决方案的技术,汉语的强大让这个选项不停的被夭折。
心爱喜欢挑战,百度谷歌正在用的词库分词技术就不用多说了,不懂的自己网上找资料去,只要有足够的词库,就能搞死它;第二种是实现起来最简单的一种,更不用说了,没难度;要说就说第三种,基于语义识别的分词技术。
升华一下,传统的语义识别分词技术并未涉及到关键的一点:动态化。解释下,什么是动态化的语义识别分词技术:比如一句话“************”,机器识别这句话的时候,先从主谓宾的角度把这句话剖开,在此基础之上再分词,最后结合两者的结果识别这句话的意思。动态化的实现就在主谓宾的剖析和词库的变化上面。简单点说就是任何一个分词算法里的变量的变化就会直接影响最终分词的结果。或者还是不理解怎么回事?
继续剖析。“我真的非常喜欢做SEO这个东西。”这句话先进行主谓宾划分,结果为我,做,SEO。然后分词,SEO这个词的权重最高,以SEO为界限,划分这个句子为,我真的非常喜欢做,这个东西。然后再分,我,做,东西。就这么在有识别最高权重的词的技术之下,一步步拆分。
为什么要用动态的语义识别分词技术而不用第一种靠词库来分词的技术?它们不都需要用到词库么?问得太好了,第一种靠词库来分词的技术只能是在词的基础上以一个词为单位为用户提供包含这个词的搜索结果,顶多也就还能提供同义词的结果,而这个已经不能满足现代网民的需求了。而靠语义识别分词技术跟第一种分词技术最大的区别就在于机器也能理解到抓取回来的文章的意思了。机器能看懂文章的意思是很可怕的事情,这么可怕的事情,正在发生。
|