OpenNLP - 参考 API



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

句子检测

SentenceModel 类

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

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

SentenceDetectorME 类

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

以下是此类的重要方法。

序号 方法和描述
1

sentDetect()

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

2

sentPosDetect()

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

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

3

getSentenceProbabilities()

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

分词

TokenizerModel 类

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

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

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

序号 类和描述
1

SimpleTokenizer

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

2

WhitespaceTokenizer

此类使用空格对给定文本进行分词。

3

TokenizerME

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

这些类包含以下方法。

序号 方法和描述
1

tokenize()

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

2

sentPosDetect()

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

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

序号 方法和描述
1

getTokenProbabilities()

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

命名实体识别

TokenNameFinderModel 类

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

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

NameFinderME 类

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

序号 方法和描述
1

find()

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

2

probs()

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

词性标注

POSModel 类

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

此类的构造函数接受词性标注器模型文件 (enpos-maxent.bin) 的InputStream 对象。

POSTaggerME 类

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

序号 方法和描述
1

tag()

此方法用于为句子的标记分配词性标签。此方法接受一个标记数组 (String) 作为参数,并返回一个标签数组。

2

getSentenceProbabilities()

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

句子分析

ParserModel 类

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

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

Parser Factory 类

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

序号 方法和描述
1

create()

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

ParserTool 类

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

序号 方法和描述
1

parseLine()

ParserTool类的此方法用于在 OpenNLP 中分析原始文本。此方法接受:

  • 一个表示要分析的文本的 String 变量。
  • 一个解析器对象。
  • 一个表示要执行的分析次数的整数。

块划分

ChunkerModel 类

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

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

ChunkerME 类

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

序号 方法和描述
1

chunk()

此方法用于将给定句子分成较小的块。它接受句子的标记和词性标签作为参数。

2

probs()

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

广告