Apache opennlp簡單介紹
一、介紹
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) { } } }
ToolName toolName = new ToolName(model);
3、)在例項化工具之後,可以執行處理任務。輸入和輸出格式是特定於工具的,但通常輸出是一個字串陣列,輸入是字串或字串陣列。
String output[] = toolName.executeTask("This is a sample text.");