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()

此方法返回最後解碼序列的機率。

廣告
© . All rights reserved.