标签: stanford-nlp

Coreference解析需要NER吗?

......或性别信息是否足够?更具体地说,我有兴趣知道我是否可以减少斯坦福Core NLP加载的模型数量来提取核心参考.我对实际的命名实体识别不感兴趣.

谢谢

nlp named-entity-recognition stanford-nlp

4
推荐指数
1
解决办法
1102
查看次数

在Stanford coreNLP中使用Dependency Parser

我正在使用Stanford coreNLP(http://nlp.stanford.edu/software/corenlp.shtml)来解析句子并提取单词之间的依赖关系.

我已经设法创建了依赖关系图,就像在提供的链接中的示例中一样,但我不知道如何使用它.我可以使用该toString()方法打印整个图形,但我getChildList遇到的问题是搜索图形中某些单词的方法,例如,需要将IndexedWord对象作为参数.现在,很清楚他们为什么这样做,因为图的节点是IndexedWord类型,但我不清楚如何创建这样的对象以搜索特定节点.

例如:我想在句子中找到代表"问题"一词的节点的子节点.我如何创建一个表示单词"problem"的IndexWord对象,以便我可以在图中搜索它?

nlp stanford-nlp

4
推荐指数
1
解决办法
3990
查看次数

从文本中提取日期

我正在尝试使用斯坦福NLP工具提取日期(8/11/2012)表单文本.

这是一个链接!用于此工具的演示

你可以帮助我如何培训分类器来确定日期(2012年11月8日).

我尝试使用训练数据

Woodhouse PERS 8/18/2012日期,O帅O.

但不适用于相同的测试数据.

nlp date stanford-nlp

4
推荐指数
2
解决办法
7577
查看次数

斯坦福情感分析评分java

我使用斯坦福核心 NLP库进行情感分析。下面的代码返回一个例子的类,但我怎样才能得到分数?例如 -0.3 为负等

private int getScore(String line) {
    boolean isrun = false;
    StanfordCoreNLP pipeline = null;
    if(!isrun){
        Properties props = getProperties();
        pipeline = new StanfordCoreNLP(props);
        isrun = true;
    }
    Annotation annotation;

    int sentiment = -1;
    if (line != null && line.length() > 0) {
        annotation = pipeline.process(line);
        for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
            Tree tree = sentence.get(SentimentCoreAnnotations.AnnotatedTree.class);
            sentiment = RNNCoreAnnotations.getPredictedClass(tree);
        }
    }
    return sentiment;
}
Run Code Online (Sandbox Code Playgroud)

编辑

在在线演示中,当鼠标位于图形的根上时,我们可以看到该示例为负 72%。怎样才能得到这个号码?

java stanford-nlp sentiment-analysis

4
推荐指数
1
解决办法
5327
查看次数

Stanford CoreNLP创建edu.stanford.nlp.time.TimeExpressionExtractorImpl时出错

我正在尝试学习斯坦福CoreNLP库.我正在使用带有发布示例的C#(https://sergeytihon.wordpress.com/2013/10/26/stanford-corenlp-is-available-on-nuget-for-fc-devs/).我通过nuget加载了包"Stanford.NLP.CoreNLP"(它添加了IKVM.NET)并下载了代码.解压缩.jar模型.我的目录是正确的.我收到以下错误:

> edu.stanford.nlp.util.ReflectionLoading.ReflectionLoadingException was
> unhandled HResult=-2146233088 Message=Error creating
> edu.stanford.nlp.time.TimeExpressionExtractorImpl
> Source=stanford-corenlp-3.5.0 StackTrace: at
> edu.stanford.nlp.util.ReflectionLoading.loadByReflection(String
> className, Object[] arguments) at
> edu.stanford.nlp.time.TimeExpressionExtractorFactory.create(String
> className, String name, Properties props) at
> edu.stanford.nlp.time.TimeExpressionExtractorFactory.createExtractor(String
> name, Properties props) at
> edu.stanford.nlp.ie.regexp.NumberSequenceClassifier..ctor(Properties
> props, Boolean useSUTime, Properties sutimeProps) at
> edu.stanford.nlp.ie.NERClassifierCombiner..ctor(Boolean
> applyNumericClassifiers, Boolean useSUTime, Properties nscProps,
> String[] loadPaths) at
> edu.stanford.nlp.pipeline.AnnotatorImplementations.ner(Properties
> properties) at edu.stanford.nlp.pipeline.AnnotatorFactories.6.create()
> at edu.stanford.nlp.pipeline.AnnotatorPool.get(String name) at
> edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(Properties A_1,
> Boolean A_2, AnnotatorImplementations A_3) …
Run Code Online (Sandbox Code Playgroud)

c# nlp stanford-nlp

4
推荐指数
1
解决办法
2539
查看次数

集成Elasticsearch和Stanford NLP而无需重新编制索引

我们一直在系统中使用Elasticsearch.虽然我使用了它的分析仪和查询.我没有深入研究它的索引.截至目前,我不知道ES能让我们在其分片中使用Lucene(倒置)索引的程度.

我们现在正在研究一系列NLP功能 - 一件事是NER而斯坦福NLP很受欢迎.

没有插件可以将这两个包一起工作(?)

我还没有深入了解斯坦福NLP.然而 - 就我所见,它在所有的索引上工作.无论传递给它的任何对象或类型,斯坦福NLP都会将其自身编入索引并从那里开始.

这将使系统为同一组文档(ES和StanfordNLP的文档)工作2个不同的索引,这将是昂贵的.

有办法解决这个问题吗?

我的一个场景是:让StanfordNLP处理Lucene段 - ES已经构建的反向索引.在这种情况下:

1.)StanfordNLP是否使用Lucene索引而不为自己重新索引任何内容?我不知道StanfordNLP的索引结构 - 甚至不知道它使用/不使用Lucene的程度.

2.)在ES分片中使用Lucene索引有任何限制吗?我们是否会直接使用这些Lucene片段,绕过两者之间的ES?

我正试着把事情放在一起 - 现在都在空中.抱歉天真Q.

我知道OpenNLP及其插件.我没有检查 - 我猜它不会是"双索引"并使用ES的索引(?)但是,我们追求的是StanfordNLP.

TIA.

lucene nlp stanford-nlp elasticsearch opennlp

4
推荐指数
1
解决办法
2067
查看次数

使用斯坦福NLP(StanfordNERTagger和StanfordPOSTagger)为西班牙语设置NLTK

NLTK这种集成中的文档相当差.我遵循的步骤是:

然后在ipython控制台中:

在[11]中:导入nltk

In [12]: nltk.__version__
Out[12]: '3.1'

In [13]: from nltk.tag import StanfordNERTagger
Run Code Online (Sandbox Code Playgroud)

然后

st = StanfordNERTagger('/home/me/stanford/stanford-postagger-full-2015-04-20.zip', '/home/me/stanford/stanford-spanish-corenlp-2015-01-08-models.jar')
Run Code Online (Sandbox Code Playgroud)

但是当我试图运行它时:

st.tag('Adolfo se la pasa corriendo'.split())
Error: no se ha encontrado o cargado la clase principal edu.stanford.nlp.ie.crf.CRFClassifier

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-14-0c1a96b480a6> in <module>()
----> 1 st.tag('Adolfo se la pasa corriendo'.split())

/home/nanounanue/.pyenv/versions/3.4.3/lib/python3.4/site-packages/nltk/tag/stanford.py in tag(self, tokens)
     64     def tag(self, tokens):
     65         # This function should return …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk stanford-nlp python-3.x

4
推荐指数
2
解决办法
1万
查看次数

斯坦福CoreNLP OpenIE注释器

我有一个关于斯坦福CoreNLP OpenIE注释器的问题.

我正在使用Stanford CoreNLP版stanford-corenlp-full-2015-12-09来使用OpenIE提取关系.我不太了解Java,这就是我使用pycorenlpPython 3.4包装器的原因.

我想提取一个句子的所有单词之间的关系,下面是我使用的代码.我也有兴趣展示每个三胞胎的信心:

import nltk
from pycorenlp import *
import collections
nlp=StanfordCoreNLP("http://localhost:9000/")
s="Twenty percent electric motors are pulled from an assembly line"
output = nlp.annotate(s, properties={"annotators":"tokenize,ssplit,pos,depparse,natlog,openie",
                                 "outputFormat": "json","triple.strict":"true"})
result = [output["sentences"][0]["openie"] for item in output]
print(result)
for i in result:
for rel in i:
    relationSent=rel['relation'],rel['subject'],rel['object']
    print(relationSent)
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

[[{'relationSpan': [4, 6], 'subject': 'Twenty percent electric motors', 'objectSpan': [8, 10], 'relation': 'are pulled from', 'object': 'assembly line', 'subjectSpan': [0, 4]}, {'relationSpan': [4, 6], 'subject': 'percent …
Run Code Online (Sandbox Code Playgroud)

python stanford-nlp

4
推荐指数
1
解决办法
3158
查看次数

在Python中使用Stanford Tregex

我是NLP和Python的新手。我正在尝试使用Tregex工具和Python子进程库从StanfordCoreNLP的已解析树中提取名词短语的子集。特别是,我试图查找和提取与以下模式匹配的名词短语:'(NP [$ VP]> S)|(NP [$ VP]> S \ n)|(NP \ n [$ VP] > S)|(NP \ n [$ VP]> S \ n)'在Tregex语法中。

例如,下面是原始文本,保存在名为“ text”的字符串中:

text = ('Pusheen and Smitha walked along the beach. "I want to surf", said Smitha, the CEO of Tesla. However, she fell off the surfboard')
Run Code Online (Sandbox Code Playgroud)

使用Python包装器运行StanfordCoreNLP解析器后,我为这3个句子得到了以下3棵树:

output1['sentences'][0]['parse']

Out[58]: '(ROOT\n  (S\n    (NP (NNP Pusheen)\n      (CC and)\n      (NNP Smitha))\n    (VP (VBD walked)\n      (PP (IN along)\n        (NP (DT the) (NN beach))))\n    (. .)))'

output1['sentences'][1]['parse']

Out[59]: "(ROOT\n  (SINV (`` ``)\n …
Run Code Online (Sandbox Code Playgroud)

python parsing subprocess pattern-matching stanford-nlp

4
推荐指数
1
解决办法
1518
查看次数

自定义信息提取的最佳方法(NER)

我正在尝试从文本blob(NER/IE)中提取位置,并尝试了许多解决方案,这些解决方案都太过于无用了spacy,斯坦福等等.

我的数据集确实只有80-90%准确(spacy就像70%),我遇到的另一个问题是没有概率对这些实体意味着什么,所以我不知道自信而且不能继续因此.

我尝试了一种超级天真的方法,将我的blob分成单个单词,然后将周围的上下文作为特征提取,也使用位置地名查找(30/40k位置地名)作为特征.然后我只使用了一个分类器(XGDBoost),结果在我用大约3k手动标记数据点(100k总共只有3k位置)训练分类器时效果更好.各州/国家的准确率为95%,城市为85%.

这种方法很明显很糟糕,但为什么它比我尝试的一切都要好?我认为NER的黑盒方法不适用于我的数据问题,我尝试了spacy自定义培训,它真的只是看起来不会起作用.对实体没有信心也是一种杀手,因为他们给你的概率几乎毫无意义.

是否有一些我可以更好地解决这个问题,以进一步提高我的结果?浅nlp为2/3/4克?我的方法的另一个问题是分类器的输出不是一些顺序实体,它实际上只是分类的单词blob,它们需要聚集成一个实体,即: - >旧金山,CA只是'城​​市','城市','0','州',没有它们是同一个实体的概念

spacy示例:

示例blob:

About Us - Employment Opportunities Donate Donate Now The Power of Mushrooms Enhancing Response Where We Work Map Australia Africa Asia Pacific Our Work Agriculture Anti - Trafficking and Gender - based Violence Education Emergency Response Health and Nutrition Rural and Economic Development About Us Who We Are Annual Report Newsletters Employment Opportunities Video Library Contact Us Login My Profile Donate Join Our Email List Employment Opportunities Annual Report Newsletters Policies …
Run Code Online (Sandbox Code Playgroud)

python entity information-extraction stanford-nlp spacy

4
推荐指数
1
解决办法
1212
查看次数