1. 程式人生 > >Apache opennlp簡單介紹

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) {           }   } }

       2、) 載入模型後,工具本身可以例項化。

      ToolName toolName = new ToolName(model);

       3、)在例項化工具之後,可以執行處理任務。輸入和輸出格式是特定於工具的,但通常輸出是一個字串陣列,輸入是字串或字串陣列。

      String output[] = toolName.executeTask("This is a sample text.");