Apache OpenNLP介紹(一)
阿新 • • 發佈:2019-01-09
一、介紹
1、描述
Apache OpenNLP庫是一種基於機器學習的工具包,用於處理自然語言文字。它支援最常見的NLP任務,如標記化,句子分割,詞性標記,命名實體提取,分塊,解析和參考解析。 通常需要這些任務來構建更高階的文字處理服務。 OpenNLP還包括基於最大熵和感知器的機器學習。OpenNLP專案的目標是為上述任務建立一個成熟的工具包。 另一個目標是為各種語言提供大量預構建的模型,以及這些模型來自的註釋文字資源。
2、結構
Apache OpenNLP庫包含幾個元件,使得能夠構建一個完整的自然語言處理管道。 這些元件包括:句子檢測器,分詞器,名稱查詢器,文件分類器,詞性標記器,chunker,解析器,引數解析。元件包含能夠執行各自然語言處理任務,訓練模型以及通常還用於評估模型的部分。 每個這些設施都可以通過其應用程式介面(API)訪問。
此外,提供命令列介面(CLI)以方便實驗和訓練。
3、
1、)應用程式介面(API)。通用示例
OpenNLP元件具有類似的API。 通常,要執行任務,應該提供一個模型和一個輸入。模型通常通過為模型類的建構函式提供一個FileInputStream模型來載入: InputStream modelIn = new FileInputStream("lang-model-name.bin");
try {
SomeModel model = new SomeModel(modelIn);
}
catch (IOException e) {
//handle the exception
}
finally {
if (null != modelIn) {
try {
modelIn.close();
}
catch (IOException e) {
}
}
}
2、) 載入模型後,工具本身可以例項化。 ToolName toolName = new ToolName(model);