数学之美
自然语言处理
机器翻译,搜索,分词,语音识别,手写输入。
规则树
基于语法规则实现nlp,复杂,低效,无法实现复杂语句的识别。
统计
基于统计实现nlp,使用数学模型(公式,参数),计算出各种情况出现的概率,使用概率最高的。
模型训练
收集海量数据(语料库),计算二元,三元,四元,N元词组的出现频率。
分词则计算不同分词出现的概率。
机器翻译
英译中
将单个词进行翻译,然后计算单个词按不同的顺序组成句子的概率,使用大概率的句子作为结果。词顺序的概率,由训练模型算出。
中译英
则先分词,再翻译各个单词,然后组合句子。分词的实现使用隐含马尔可夫模型,计算各种分词的概率,使用大概率。
分词
基于词典(词库),按词典中定义的词分词。对未登录的词只能单个字成词。
基于隐含马尔可夫模型(基于概率,统计),基于字,计算字组成各种词的概率。
英语分词
分词一般用于汉语等亚洲語言,英语用空格,标点符号,stop word分词即可。但对于手写输入英语,或扫描手写时,由于空格不明显,需要像汉语一样分词,方法一样。
词的状态
{B|begin,M|middle,E|end,S|single}:开始,中间,结束,独立字成词。
初始状态分布π示例:prob_start
P={'B': -0.26268660809250016,
'E': -3.14e+100,
'M': -3.14e+100,
'S': -1.4652633398537678}
转移概率矩阵:prob_trans
P={'B': {'E': -0.510825623765990, 'M': -0.916290731874155},
'E': {'B': -0.5897149736854513, 'S': -0.8085250474669937},
'M': {'E': -0.33344856811948514, 'M': -1.2603623820268226},
'S': {'B': -0.7211965654669841, 'S': -0.6658631448798212}}
发射矩阵:prob_emit
P(“和”|M):M状态下出现”和“字的概率。
P={'B': {'一': -3.6544978750449433,
'丁': -8.125041941842026,
'七': -7.817392401429855,
...}
'S': {':': -15.828865681131282,
'一': -4.92368982120877,
...}
...}
搜索引擎排序
TF-IDF,该网页被其他网页引用的数量。