什么是 NLP 中经过训练的模型?

What are trained models in NLP?

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

A "model" as downloadable for OpenNLP is a set of data representing a set of probability distributions used for predicting the structure you want (e.g. part-of-speech 标签)来自您提供的输入(对于 OpenNLP,通常是文本文件)。

鉴于自然语言是 context-sensitive, this model is used in lieu of a rule-based system because it generally works better than the latter for a number of reasons which I won't expound here for the sake of brevity. For example, as ,标记 完美 可以是动词 (VB) 或形容词 (JJ ) 这只能在上下文中消除歧义:

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

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


实际上,这是很有争议的,但我在这里强调,我说的是整个自然语言(包括 semantics/pragmatics/etc.),而不是只是关于自然语言 语法 ,其中(至少在英语的情况下)is considered by some to be context-free.

当以数据驱动的方式分析语言时,实际上任何个POS标签的组合是"possible",但是,给定 "correct" 几乎没有噪音的当代英语样本,母语人士判断为 "wrong" 的标签分配出现的概率应该极低。

§在实践中,这意味着模型在(当代)英语(或您想要分析的其他一些目标领域)的大型、多样化语料库上训练,并具有适当的调整参数(如果我想更精确的话,这个脚注很容易有多个段落那么长)。

将经过训练的模型视为 "wise brain with existing information"。

当您开始机器学习时,您的模型的大脑是干净而空洞的。您可以下载经过训练的模型,也可以训练自己的模型(比如教授 child)

通常您只训练边缘情况的模型,否则您下载 "Trained models" 并开始 predicting/machine 学习。