OpenNLP - 参考 API

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

句子检测

SentenceModel 类

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

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

SentenceDetectorME 类

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

以下是此类的重要方法。

S.No 方法和说明
1

sentDetect()

此方法用于检测传递给它的原始文本中的句子。它接受一个字符串变量作为参数,并返回一个字符串数组,其中包含给定原始文本中的句子。

2

sentPosDetect()

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

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

3

getSentenceProbabilities()

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

Tokenization

TokenizerModel 类

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

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

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

S.No 类和说明
1

SimpleTokenizer

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

2

WhitespaceTokenizer

此类使用空格对给定的文本进行标记。

3

TokenizerME

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

这些类包含以下方法。

S.No 方法和说明
1

tokenize()

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

2

sentPosDetect()

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

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

S.No 方法和说明
1

getTokenProbabilities()

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

NameEntityRecognition

TokenNameFinderModel 类

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

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

NameFinderME 类

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

S.No 方法和说明
1

find()

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

2

probs()

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

查找词性

POSModel 类

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

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

POSTaggerME 类

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

S.No 方法和说明
1

tag()

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

2

getSentenceProbabilities()

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

解析句子

ParserModel 类

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

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

解析器工厂类

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

S.No 方法和说明
1

create()

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

ParserTool 类

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

S.No 方法和说明
1

parseLine()

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

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

分块

ChunkerModel 类

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

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

ChunkerME 类

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

S.No 方法和说明
1

chunk()

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

2

probs()

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