2017-10-13 229 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])。