我是自然语言处理的新手。谁能告诉我OpenNLP或Stanford CoreNLP中训练有哪些模型?使用apache openNLP包在java中编码时,我们总是需要包含一些训练有素的模型(在http://opennlp.sourceforge.net/models-1.5/中找到)。它们是什么?
答案 0 :(得分:5)
“模型”as downloadable for OpenNLP是a set of data representing a set of probability distributions用于根据您提供的输入预测所需的结构(例如part-of-speech标签)(在OpenNLP的情况下,通常是文本文件)
鉴于自然语言为context-sensitive †,此模型用于代替基于规则的系统,因为它通常比a number of reasons更适合you already mentioned为简洁起见,这里不再阐述。例如,作为is considered by some to be context-free,令牌完美可以是动词(VB
)或形容词(JJ
),这只能在上下文中消除歧义:
DT NN VBZ JJ
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标签的组合都是“可能的”,但是,给出了“正确的”当代样本英语几乎没有噪音,母语人士认为“错误”的标签分配应该具有极低的发生概率。
§在实践中,这意味着一个模型训练在一个大的,多样的(当代)英语(或你想要分析的其他目标领域)的语料库中,并具有适当的调整参数(如果我想更准确地说,这个脚注可以很容易地多段落。)
答案 1 :(得分:-1)
将受过训练的模型视为“具有现有信息的智慧大脑”。
当你开始机器学习时,模型的大脑是干净而空的。您可以下载经过培训的模型,也可以培训自己的模型(如教孩子)
通常你只训练边缘情况的模型,否则你下载“训练模型”并开始预测/机器学习。