OpenNLP - 参考 API


在本章中,我们将讨论本教程后续章节中将使用的类和方法。

句子检测

句子模型类

此类表示用于检测给定原始文本中的句子的预定义模型。此类属于opennlp.tools.sentdetect包。

此类的构造函数接受句子检测器模型文件 (en-sent.bin) 的InputStream对象。

SentenceDetectorME 类

该类属于opennlp.tools.sentDetect包,它包含将原始文本拆分为句子的方法。此类使用最大熵模型来评估字符串中的句子结尾字符,以确定它们是否表示句子的结尾。

以下是该类的重要方法。

序列号 方法和说明
1

发送检测()

该方法用于检测传递给它的原始文本中的句子。它接受一个 String 变量作为参数,并返回一个 String 数组,该数组保存给定原始文本中的句子。

2

发送位置检测()

该方法用于检测给定文本中句子的位置。此方法接受一个字符串变量,表示句子并返回Span类型的对象数组。

opennlp.tools.util包中名为Span的类用于存储集合的起始和结束整数。

3

获取句子概率()

此方法返回与最近调用sentDetect()方法相关的概率。

代币化

Tokenizer模型类

此类表示用于标记给定句子的预定义模型。该类属于包opennlp.tools.tokenizer

此类的构造函数接受分词器模型文件 (entoken.bin) 的InputStream对象。

课程

为了执行标记化,OpenNLP 库提供了三个主要类。所有三个类都实现了名为Tokenizer的接口。

序列号 类别和描述
1

简单分词器

此类使用字符类标记给定的原始文本。

2

空白分词器

此类使用空格来标记给定的文本。

3

分词器ME

此类将原始文本转换为单独的标记。它使用最大熵来做出决定。

这些类包含以下方法。

序列号 方法和说明
1

标记化()

此方法用于对原始文本进行标记。此方法接受字符串变量作为参数,并返回字符串(标记)数组。

2

发送位置检测()

该方法用于获取标记的位置或跨度。它接受字符串形式的句子(或)原始文本,并返回Span类型的对象数组。

除了上述两个方法外,TokenizerME类还有getTokenProbabilities()方法。

序列号 方法和说明
1

getTokenProbability()

此方法用于获取与最近调用tokenizePos()方法相关的概率。

名称实体识别

TokenNameFinderModel 类

此类表示用于查找给定句子中的命名实体的预定义模型。这个类属于包opennlp.tools.namefind

此类的构造函数接受名称查找器模型文件 (enner-person.bin) 的InputStream对象。

NameFinderME 类

该类属于opennlp.tools.namefind包,它包含执行 NER 任务的方法。此类使用最大熵模型来查找给定原始文本中的命名实体。

序列号 方法和说明
1

寻找()

该方法用于检测原始文本中的名称。它接受表示原始文本的 String 变量作为参数,并返回 Span 类型的对象数组。

2

概率()

该方法用于获取最后解码序列的概率。

寻找词性

POS模型类

此类表示用于标记给定句子的词性的预定义模型。这个类属于包opennlp.tools.postag

此类的构造函数接受pos-tagger 模型文件 (enpos-maxent.bin) 的InputStream对象。

POSTaggerME 类

该类属于opennlp.tools.postag包,用于预测给定原始文本的词性。它使用最大熵来做出决定。

序列号 方法和说明
1

标签()

该方法用于给句子分配tokens POS标签。该方法接受标记数组(字符串)作为参数,并返回标签(数组)。

2

获取句子概率()

该方法用于获取最近标记的句子的每个标记的概率。

解析句子

解析器模型类

此类表示用于解析给定句子的预定义模型。这个类属于包opennlp.tools.parser

此类的构造函数接受解析器模型文件 (en-parserchunking.bin) 的InputStream对象。

解析器工厂类

该类属于opennlp.tools.parser包,用于创建解析器。

序列号 方法和说明
1

创造()

这是一个静态方法,用于创建解析器对象。此方法接受解析器模型文件的 Filestream 对象。

解析器工具类

该类属于opennlp.tools.cmdline.parser包,用于解析内容。

序列号 方法和说明
1

解析行()

ParserTool类的这个方法用于解析OpenNLP中的原始文本。此方法接受 -

  • 表示要解析的文本的字符串变量。
  • 解析器对象。
  • 一个整数,表示要执行的解析次数。

分块

Chunker模型类

此类表示用于将句子分成更小的块的预定义模型。这个类属于包opennlp.tools.chunker

此类的构造函数接受chunker模型文件 (enchunker.bin)的InputStream对象。

ChunkerME 类

这个类属于名为opennlp.tools.chunker的包,它用于将给定的句子分成更小的块。

序列号 方法和说明
1

块()

该方法用于将给定的句子分成更小的块。接受句子的标记和语音标记的部分作为参数。

2

概率()

此方法返回最后解码序列的概率。