NLP中训练有哪些模型?

Abd*_*lah 1 java nlp stanford-nlp opennlp

我是自然语言处理的新手.谁能告诉我OpenNLP或Stanford CoreNLP中训练有哪些模型?在使用apache openNLP包在java中编码时,我们总是要包含一些训练有素的模型(在http://opennlp.sourceforge.net/models-1.5/中找到).这些是什么?

err*_*ist 5

下载OpenNLP的 "模型" 是一组数据,表示用于根据您提供的输入预测所需结构的概率分布集(例如,词性标签)(在OpenNLP的情况下,通常是文本文件) ).

鉴于自然语言是上下文敏感的,该模型用于代替基于规则的系统,因为它通常比后者更好地工作,原因有很多,为简洁起见,我在此不再赘述.例如,正如您已经提到的,令牌完美可以是动词(VB)或形容词(JJ),这只能在上下文中消除歧义:

  • 这个答案是完美的 - 对于这个例子,以下序列的POS标签是可能的(除了更多):
    1. DT NN VBZ JJ
    2. DT NN VBZ VB

但是,根据准确表示("正确")英语§的模型,示例1的概率大于示例2的概率:P([DT, NN, VBZ, JJ] | ["This", "answer", "is", "perfect"]) > P([DT, NN, VBZ, VB] | ["This", "answer", "is", "perfect"])


实际上,这是非常有争议的,但我在此强调,我所说的是整个自然语言(包括语义/语用学等)而不仅仅是自然语言语法,(在英语的情况下,至少)被一些人认为是无背景的.

在以数据驱动的方式分析语言时,事实上POS标签的任何组合都是"可能的",但是,如果给出一个"正确"的当代英语样本,噪音很小,那么母语人士会判断为"错误"的标签分配应该具有极低的发生概率.

§在实践中,这意味着一个模型训练在一个大的,多样的(当代)英语(或你想要分析的其他目标领域)的语料库中,并具有适当的调整参数(如果我想更加精确,这个脚注很容易就可以了多段长).