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() 此方法返回最后解码序列的概率。 |