Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stanford nlp 确定短语是否是Java程序中文档中的命名实体_Stanford Nlp - Fatal编程技术网

Stanford nlp 确定短语是否是Java程序中文档中的命名实体

Stanford nlp 确定短语是否是Java程序中文档中的命名实体,stanford-nlp,Stanford Nlp,我是斯坦福NLP的新手,我正试图在Java应用程序中使用它来解决以下问题。 我有一篇维基百科文章(比如标题为“华盛顿特区”)我想通过分析文章的文本来确定构成标题的短语(在我的例子中是“华盛顿特区”)是否指命名实体 按照我在斯坦福NLP发行版中包含的Demo.java文件中找到的示例,我声明了以下分类器: AbstractSequenceClassifier<CoreLabel> classifier = CRFClassifier.getClassifier("src/main/re

我是斯坦福NLP的新手,我正试图在Java应用程序中使用它来解决以下问题。 我有一篇维基百科文章(比如标题为“华盛顿特区”)我想通过分析文章的文本来确定构成标题的短语(在我的例子中是“华盛顿特区”)是否指命名实体

按照我在斯坦福NLP发行版中包含的Demo.java文件中找到的示例,我声明了以下分类器:

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()