Stanford nlp 确定短语是否是Java程序中文档中的命名实体
我是斯坦福NLP的新手,我正试图在Java应用程序中使用它来解决以下问题。 我有一篇维基百科文章(比如标题为“华盛顿特区”)我想通过分析文章的文本来确定构成标题的短语(在我的例子中是“华盛顿特区”)是否指命名实体 按照我在斯坦福NLP发行版中包含的Demo.java文件中找到的示例,我声明了以下分类器:Stanford nlp 确定短语是否是Java程序中文档中的命名实体,stanford-nlp,Stanford Nlp,我是斯坦福NLP的新手,我正试图在Java应用程序中使用它来解决以下问题。 我有一篇维基百科文章(比如标题为“华盛顿特区”)我想通过分析文章的文本来确定构成标题的短语(在我的例子中是“华盛顿特区”)是否指命名实体 按照我在斯坦福NLP发行版中包含的Demo.java文件中找到的示例,我声明了以下分类器: AbstractSequenceClassifier<CoreLabel> classifier = CRFClassifier.getClassifier("src/main/re
AbstractSequenceClassifier<CoreLabel> classifier = CRFClassifier.getClassifier("src/main/resources/org/graphipedia/ner/classifiers/english.all.3class.distsim.crf.ser.gz");
List<List<CoreLabel>> resClassifier = classifier.classify(text)
AbstractSequenceClassifier=crfclassizer.getClassifier(“src/main/resources/org/graphipedia/ner/classifiers/english.all.3class.distsim.crf.ser.gz”);
然后我在这个分类器上调用了方法classify:
AbstractSequenceClassifier<CoreLabel> classifier = CRFClassifier.getClassifier("src/main/resources/org/graphipedia/ner/classifiers/english.all.3class.distsim.crf.ser.gz");
List<List<CoreLabel>> resClassifier = classifier.classify(text)
列表重新分类器=分类器。分类(文本)
其中参数是维基百科页面的文本。
现在的问题是,当我迭代分类器的结果时,列表中的每个元素都是单个单词(用类注释)。
因此,构成我的标题“华盛顿”、“华盛顿”、“华盛顿”和“华盛顿特区”的三个标记分别处理,并且(可能)注释不同。
因此,我可以确定我的标题的任何部分是否是命名实体,但我不能对整个标题做同样的事情
我在斯坦福大学的NLP网站上读到,RexEnter可以达到类似的效果,它可以将单词组看作一个单独的实体。
但我不知道如何将它与AbstractSequenceClassifier一起使用。此外,似乎使用RegexNER时,我必须在文件中指定我希望被视为单个实体的标记(在我的例子中,是短语“Washington,D.C.”),这不是我想要的。
理想情况下,我想为许多维基百科文章重复这个分类任务,我并不真的想为每一篇文章创建一个文件
你能给我一些提示,告诉我如何解决这个看似容易解决的问题吗
提前谢谢
Gianluca斯坦福大学CoreNLP提供了一个
提及
注释器,该注释器将具有相同NER标记的相邻单词分组为一个提及。然而,在您的情况下,几乎可以肯定的是,您自己这样做更容易。如果标题中的大多数单词都有一个与之关联的NER标记,那么标题很可能是一个命名实体
切向的,但我也建议使用
StanfordCoreNLP
对象来注释NER标记(newstanfordcorenlp(props).annotate(annotation)
),或者使用最新版本中包含的简单CoreNLP API:列表标记=新句子(“您的标题”).nerTags()
斯坦福大学CoreNLP提供了一个提及
注释器,该注释器将具有相同NER标记的相邻单词分组为一个提及。然而,在您的情况下,几乎可以肯定的是,您自己这样做更容易。如果标题中的大多数单词都有一个与之关联的NER标记,那么标题很可能是一个命名实体
切向的,但我也建议使用StanfordCoreNLP
对象来注释NER标记(newstanfordcorenlp(props).annotate(annotation)
),或者使用最新版本中包含的简单CoreNLP API:列表标记=新句子(“您的标题”).nerTags()代码>