例如百度的dnn语言模型api接口输入一句话可以给出这句话的通顺度,http://ai.baidu.com/tech/nlp/dnnlm_cn,网上大多是说用n-gram模型,有具体点的训练思路吗
1个回答
我觉得n-gram这里是针对的词性,而不是词汇本身。
比如3-gram就是看毗邻的3个词的词性,假设词性分布为,‘动动名’,我们可以得到在训练集中‘动动名’出现的概率$P(动动名)$。长度为$n$的一个句子,我们就可以得到$n-2$个3-gram,也就是$n-2$个概率值。我们可以取这些概率值的最大值、最小值、均值、方差作为特征。
类似地,我们也可以同时做2-gram。2-gram是看毗邻两个词的词性。长度为$n$的一个句子,我们就可以得到$n-1$个2-gram,也就是$n-1$个概率值。我们可以取这些概率值的最大值、最小值、均值、方差作为特征。
这样每个句子我们就提取了8个特征,然后就可以训练一个二元分类器了。标签y是已知的句子是否通顺。
如果是无监督的,那么你只能对上面的特征进行聚类或者异常检验。
SofaSofa数据科学社区DS面试题库 DS面经