2017-10-13 106 views
1

此刻我試圖在文檔中查找名稱。即時通訊使用下面的方法來找到名字:OpenNLP find()方法

find(String[] tokens)

我也發現了下面這個方法:

find(String[] tokens,String[][] additionalContext) 

我可以做什麼用這種方法,如何使用它?

回答

2

根據opennlp.tools.namefind.NameFinderME apidocs

public Span[] find(String[] tokens, String[][] additionalContext) 

生成名稱標籤給定的順序,通常是一個句子, 返回任何標識的名稱標記跨度。

參數:

  • tokens - 序列,典型地一個句子的令牌或字的陣列。
  • additionalContext - 基於句子外的上下文而又應該使用的特徵。

返回: 爲每個標識的名稱的跨度數組。

話雖這麼說,可考慮您的令牌是:

String[] tokens = { "lorem", "ipsum", "dolor", "sit", "amet", "adipiscing", "elit" }; 

但你也想考慮到以下特點「,這是基於上下文的句子之外但也應使用「:

String[][] additionalContext = { 
    { "nullam", "fermentum", "justo", "non", "leo", "rhoncus", "blandit" }, 
    { "phasellus", "at", "diam", "mattis", "arcu", "congue", "consequat" }, 
    { "integer", "at", "tincidunt", "turpis", "eget", "pulvinar", "nisl" } }; 

這樣,您就可以撥打find(tokens, additionalContext)

請注意,根據code on GitHub,find(String[] tokens)實際上是find(tokens, EMPTY)(和String[][] EMPTY = new String[0][0])。