我正在尝试获取给定语义图中所有边的列表。
有,但它似乎只适用于一对2个索引词,而不是整个图形。
是否有其他方法可以在不手动遍历整个图形的情况下获取所有边?您可以尝试:
SemanticGraph parse = ...
for (SemanticGraphEdge edge : parse.edgeIterable()) {
...
}
在outgoingEdgeIterable和incomingEdgeIterable中也有类似之处,您是否知道TreeAnnotation的依赖关系是否有
以下是一个示例文本输出:
下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好/下午好
此命令将接收一个输入文本文件,并使用所有标记创建一个输出json,每个标记都有POS标记和NER标记:
java -Xmx6g -cp "*:." -Xmx2g edu.stanford.nlp
有很多关于获取注释并将其保存为XML的信息。是否可以反序列化,即将XML加载到注释中?例如,我的用例是:我想做廉价的预处理,比如句子分割,然后决定做更昂贵的解析,我想正确地保留原始文档文本偏移量
---------- Forwarded message ----------
From: John Bauer
Date: Wed, Mar 13, 2013 at 1:52 AM
Subject: Re: [java-nlp-user] Can XML be deserialized into Co
我可以通过斯坦福NLP的命令行界面(比如ApacheOpenNLP)来检测句子吗?
根据文档,斯坦福NLP需要标记化,我们的管道要求您首先标记化;我们在句子分割算法中使用这些标记。如果文本已预标记化,则可以使用和请求仅空白标记化
如果我误解了你的问题,请告诉我。Thx Jon。我希望我们可以跳过句子检测的标记化。
我为我的项目创建了一个新的NER,在该NER中,我确定了其他单词和商业术语。我合并了斯坦福大学提供的NER和我创建的NER,然后得到了句子集的NER。然后,我将这些句子转换成一种可以被RelationshipExtraction Classifier理解的形式,如下所示:
5 O 0 O DT The O O O
5 O 1 O NNP Balanced O O O
5 BusinessTerm 2 O NN optio
我通过命令行从StanfordCorenlp运行OpenIE
java -mx1g -cp stanford-corenlp-<version>.jar:stanford-corenlp-<version>-models.jar:CoreNLP-to-HTML.xsl:slf4j-api.jar:slf4j-simple.jar edu.stanford.nlp.naturalli.OpenIE -openie.resolve_coref
如何向openie提供参数-o
在以下案文中:
约翰说:“窗外有一头大象。”
有没有一种简单的方法可以确定“窗外有一头大象”这句话是约翰写的?我们刚刚添加了一个模块来处理这个问题
您需要从GitHub获取最新代码
以下是一些示例代码:
package edu.stanford.nlp.examples;
import edu.stanford.nlp.coref.*;
import edu.stanford.nlp.coref.data.*;
import edu.stanford.nlp.ling.CoreAnnotati
我需要解析很多文档(大约30万)。
正如stanford web中建议的那样,我创建了一个名为filelist.txt的文件,其中包含所有要解析的文件的路径
然后我调用了CoreNLP,如下所示
java -mx20g -cp "$SCRIPT/*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse -ssplit.eolonly tokenize.whitespa
我正在读《信息检索导论》(Christopher Manning)一书,当第6章介绍查询“嫉妒的流言蜚语”时,我被困在第6章中。考虑到影响、嫉妒和流言蜚语这三个术语,该查询表示关联的向量单位为[0,0.707,0.707]()。
我试图通过计算tfidf来计算它,假设:
-嫉妒和流言蜚语的Tf等于1
-如果我们将Idf计算为N=1的log(N/df)(我只有一个查询,它是我的文档),则Idf始终等于0,对于嫉妒和流言蜚语,df=1=>log(1)=0
由于idf为0,因此tfidf为0。
所以我
我正在构建一个TokensRegex表达式,用于捕获“W Mullholland Drive”中“N Maple St”形式的文本。当前表达式如下所示:
{
ruleType: "tokens",
pattern: (/[A-Z]/ ([{ner:PERSON}|{tag:NNP}])+),
result: Concat($$0.text, "=", "STREET")
}
然而,这也抓住了像“本田雅阁”这样的文字。我为所有不同的汽车品牌定义了一个宏,类似于:
$VEHICLES = "/[H
在英语中,当我在没有其他上下文的情况下标记文本(如“that'll”)时,我会得到以下标记:
那
"
ll
但是,当我标记文本(例如“那将是所有人”)时,我会得到以下标记(这是我对“'ll”的预期结果):
那
“好的
是
全部
乡亲们
我有以下一套:
tokenize.languae=英语
tokenize.whitespace=false
tokenize.keepeol=false
tokenize.verbose=false
tokenize.options=inversibl
我正在尝试在中使用交叉验证。该列表列出了3个属性:
numFolds int 1 The number of folds to use for cross-validation.
startFold int 1 The starting fold to run.
numFoldsToRun int 1 The number of folds to run.
我认为应该用于交叉验证。但我认为它们实际上不起作用。将numFolds设置为1或10根本不会更改训练的运行时间。
我需要验证以下培训步骤的帮助,我可以将我的分类器添加到-loadClassifier列表中吗
-loadClassifier示例ner model.ser.gz,classifiers/english.all.3class.distsim.crf.ser.gz,classifiers/english.conll.4class.distsim.crf.ser.gz,classifiers/english.muc.7class.distsim.crf.ser.gz\
sample.txt
上周日,陷
从eclipse运行stanford openie时,发生以下异常:
无法加载位于edu/stanford/nlp/models/naturalli/ClauseSearchModel.ser.gz处的子句拆分器模型:class java.io.InvalidClassException:edu.stanford.nlp.naturalli.ClauseSpliterSearchProblem$8;本地类不兼容:流classdesc serialVersionId=414552345131457
与stanford corenlp v3.5相比,在为stanford corenlp v3.6运行代码时,发现SemanticGraph中出现了新的类型依赖项,如“component”、“case”等,因此,我需要为最新版本添加的类型依赖项的完整列表,以及从以前的版本中弃用的依赖项。自3.6版以来,CoreNLP以新的通用依赖项表示形式输出树,该表示形式已记录在案
我们还有一个例子,解释了关系是如何变化的(关于增强依赖关系的部分稍微过时了;请查看关于增强表示的最新讨论)。自3.6版以来,Cor
我正在尝试从文件加载CRFClassizer模型。这种方式有效:
// this works
classifier = CRFClassifier.getClassifier("../res/stanford-ner-2018-02-27/classifiers/english.all.3class.distsim.crf.ser.gz");
当我想使用流时,但是,我得到的流头无效:1F8B0800异常:
// this throws an exception
String modelReso
将Stanford NLP集成到ASP.Net核心C#应用程序中会收到以下错误消息:
System.TypeInitializationException异常
HResult=0x80131534
Message='edu.stanford.nlp.util.Timing'的类型初始值设定项引发异常。
来源=斯坦福大学-corenlp-3.9.1
堆栈跟踪:
在edu.stanford.nlp.util.Timing..ctor()上
位于edu.stanford.nlp.pipeline.St
您好,我想使用stanford parser wuth线程,但我不知道如何使用线程池。我希望所有线程都能这样做:
LexicalizedParser.apply(中的对象)
但我不想一直创建LexicalizedParser的新对象,因为它将加载
lp=新的词汇化语法分析器(“englishPCFG.ser.gz”);
每个obj需要2秒的时间。
我能做什么
谢谢 您可以使用。
它允许每个线程保留一个解析器实例。因此,任何创建的解析器实例都不会从多个线程中使用
通常情况下,它不应该创建比您拥有的
我有一棵树。我想把它画成图形。之后,可以在此图形上扩展添加、删除节点、编辑树的pos标签。我可以从这个问题开始给我一些想法。对不起,英语不好。
示例树:
(ROOT
(S (NP (NNP John))
(VP (VBZ loves)
(NP (NNP Mary)))
(. .)))
您可以查看CoreNLP中的代码,将树的字符串形式读入树对象。除此之外,可视化的设计取决于您。一个好的起点可能是D3;甚至还有一个。我已经有了树对象G
我可以将调用添加到属性文件中吗:
java -cp stanford-corenlp-3.5.2.jar -mx1g edu.stanford.nlp.ie.NERClassifierCombiner -loadClassifier c2is2.serialized.ncc.ncc.ser.gz -map word=0,answer=1 -props c2is2nlp.props -textFile c2is2r3.txt
以下是错误堆栈:
NERClassifierCombiner invo
在联机解析中,我需要使用哪些代码属性来获得结果:
好医生。我对他的好话说得太多了。
联机解析:
化合物(博士-2,博士-1)
根(根-0,医生-2)
nsubj(比如说-3,I-1)
ADVDOD(比如说-3,铁路超高-2)
root(root-0,比如说-3)
advmod(良好-5,足够-4)
amod(事物-6,良好-5)
dobj(说-3,说-6)
案例(him-8,约-7)
nmod(things-6,him-8)
编码:
我使用的是斯坦福Corenlp3.5.2。我尝试了以下几种属性
我已经从下载了CorenlpServer3.6.0,并遵循了这一点
尽管它可以工作,但当转到localhost:9000并选择关系注释器时,服务器会崩溃:
edu.stanford.nlp.io.RuntimeIOException:java.io.IOException:无法将“edu/stanford/nlp/models/kbp/supervised.ser.gz”作为类路径、文件名或URL打开
在网上搜索之后,supervised.ser.gz没有找到。Google返回1命中-声明上述错
我正在编写一个利用斯坦福大学CoreNLP的程序,每次使用eclipse运行它大约需要1分钟。我知道这是正常的,因为需要加载很多训练模型
我只是想知道是否有任何方法可以用来预加载所有注释器,而不是每次编译我的程序时都要等待。如果你的程序要在启动时构建一个斯坦福CoreNLP管道,那你就走运了。您可以重新设计它以使用Stanford CoreNLP服务器并发出服务器请求,然后,您可以让服务器在后台运行,当您的程序加载时,它将立即启动,而不会延迟1分钟加载模型。如果您的程序将在启动时构建斯坦福Cor
例如,Stanford Core NLP依赖项解析没有将开放复合名词“hotdog”识别为“他午餐吃了热狗”。这被解析为表示他吃了一条热狗
在线文档()要求在此处提问,但在我看来,这并不是一个报告单个任务或错误的合适论坛。GitHub上有一个依赖项解析错误线程:
要使用WMD,我们需要一些单词嵌入。在本例中,使用Gensim提供的预先训练的嵌入'word2vec-google-news-300'
下面是代码片段:
import gensim.downloader as api
model = api.load('word2vec-google-news-300')
distance = model.wmdistance(sent1, sent2)
我如何使用我自己定制的嵌入来代替它,我如何在模型中加载它?
例如:嵌入有点像-{text:1-D NumP
我想用StanfordCorenlp进行柠檬化,但我有一些词没有被柠檬化。是否有办法向工具提供此忽略列表?当程序调用this.pipeline.annotate(document)时,我正在跟踪它那么,就这样;这将是很难取代的事件。一种解决方案是创建一个映射列表,其中每个要忽略的单词都与lemmatize(单词)(即,d={(w1,lemmatize(w1)),(w2,lemmatize(w2),…})配对,并使用该映射列表进行后处理。但我想这应该比这更容易
谢谢你的帮助。我想我在朋友的帮助下找
斯坦福解析器和斯坦福CoreNlp使用的词性(POS)模型
使用是不同的,这就是为什么通过Stanford Parser和CoreNlp执行的词性标记的输出不同
在线核心NLP输出
/DT-man/NN是/VBZ-smoking/NN./
A/DT女子/NN骑乘/NNS A/DT马/NN./
联机语法分析器输出
/DT-man/NN是/VBZ-smoking/VBG./
A/DT女子/NN骑乘/VBZ A/DT马/NN./。
同样多的句子
是否有文件对两种模型进行了比较,并对差异进行
我想运行CoreNLP并获得输出
格式为CoNLL 2011/2012格式。有直截了当的方法吗
CoNLL输出?或者我需要在代码中的什么地方进行修改
这会发生吗?自dcoref参与2011年共享任务以来,CoreNLP可以读/写CoNLL格式) 请参阅上的使用说明。CoNLL 2011/2012文件读写未合并到斯坦福CoreNLP主类中,但该类可以在CoNLL 2011/2012格式数据上运行StanfordCoreNLP管道
我有一个自定义CRF分类器,我使用它来侦听套接字请求:
java -mx2g -cp stanford-ner-2018-10-16\stanford-ner.jar edu.stanford.nlp.ie.NERServer -loadClassifier model\custom-ner.gz -port 9191 -outputFormat inlineXML
如何改为侦听http请求
这就是我迄今为止所尝试的:
java -mx4g -cp "stanford-corenlp-full
使用Stanford阿拉伯语分词器,我们希望标记和分割阿拉伯语文本。ArabicSegmenter成功地做到了这一点,但结果并不保留令牌(CoreLabels)的原始字符偏移量。此外,ArabicSegmenter类(3.5.2)中使用的ArabicTokenizer的结果将所有字符偏移量(即开始)设置为0的标记
如何获得阿拉伯文单词段以及结果核心标签的字符偏移量 从ArabicTokenizer到0的字符偏移量是由于一个错误造成的,该错误现在已在中修复。该修复程序将包含在下一个CoreNLP版
我正在浏览Java源代码,想知道修改系统是否容易,使每个三元组的谓词部分是两个实体之间的依赖路径,而不是曲面形式
由于自然逻辑模块是在依赖树上运行的,我想这一需求应该有一个简单的调整
我将edu.stanford.nlp.naturalli/OpenIE.java中的代码追溯到:
// Get the extractions
boolean empty = true;
synchronized (OUTPUT) {
for (CoreMap sentence : ann.get(CoreAn
历史上,我使用OpenNLP进行自然语言处理。我决定在我的最新项目上试一试斯坦福NLP,但我遇到了与NER的问题。具体来说,当处理特定令牌时(在我的示例中为TOKENP),我希望它将其分类为TOKENP的一种类型
我已经多次阅读了文档,阅读了对此的响应,但我无法将其可靠地分配给TOKENP
这是规则文件(labels.txt):
这是输入文件(tmp.txt):
以下是我正在使用的命令:
java -mx4g edu.stanford.nlp.pipeline.StanfordCoreNLP -
我已经在本地安装了coreNLP服务器,可以使用以下命令启动:
java -mx5g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 100000
但默认选区分析器设置了以下警告消息:
警告:找不到edu/stanford/nlp/models/srparser/englishSR.ser.gz
改为使用:edu/stanford/nlp/models/lexparser/englishP
我正在尝试获取字符串和其他单词之间的连接,如:
屏幕很好
所以我想
银幕不错
我只是不知道如何确定主题是屏幕,描述是非常好
我的代码是
public synchronized String test(String s, LexicalizedParser lp){
if (s.isEmpty()) return "";
if (s.length()>80) return "";
System.out.println(s);
Tree parse = (T
我当前正在使用以下命令解析阿拉伯语文本:
java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser \
-cp "$scriptdir/*:" -sentences newline -outputFormat "penn,wordsAndTags" \
edu/stanford/nlp/models/lexparser/arabicFactored.ser.gz $FILE
这将输出令牌、标记和解析树,以及与此输
我正在为烂西红柿NLP预测的kaggle竞赛工作
对培训集格式的分析如下:
短语句子情感
1一系列的越轨行为证明了一句格言:对鹅有益的事对雄鹅也有好处,其中一些偶尔会让人觉得好笑,但没有一个能成为一个故事。一,
2 1一系列的越轨行为证明了一句格言:什么对鹅有好处2
但是,训练集公式必须如下所示:
(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2(2)``
我刚刚试用了核心NLP示例代码,下载时附带了StanfordCoreNlpDemo.java。当试图分析一本书的章节时,会从语义图中抛出一个异常:
Exception in thread "main" java.lang.NullPointerException
at edu.stanford.nlp.semgraph.SemanticGraph.removeEdge(SemanticGraph.java:122)
at edu.stanford.nlp.trees.UniversalEngli
我有一个TSV文件,其中包含作为正则表达式的实体,以适应拼写变体和屈折变化。是否有可能使用这样的文件来训练一个NER模型,或者是否有必要手动将正则表达式扩展到所有可能的拼写变体
在Java文档中,我发现,对于3.5.2版的分类器,指示的路径edu.stanford.nlp.ie.regexp(jar文件内)不包含此分类器
这可以做到吗?如果可以,可以使用命令行调用(如使用edu.stanford.nlp.ie.NERClassifierCombiner)或仅通过编程实现吗?您可以查看。您可以定义
我终于能够让我的TokensRegex代码为命名实体提供某种输出。但是输出并不是我想要的。我认为规则需要一些调整
代码如下:
public static void main(String[] args)
{
String rulesFile = "D:\\Workspace\\resource\\NERRulesFile.rules.txt";
String dataFile = "D:\\Workspace\\data\\GoldSetSent
初始化上述代码后,Stanford NLP以下代码需要10秒钟来标记文本,如下所示。如何加速
import numpy as np
from nltk.tag import StanfordNERTagger
from nltk.tokenize import word_tokenize
#english.all.3class.distsim.crf.ser.gz
st = StanfordNERTagger('/media/sf_codebase/modules/stanford-ne
斯坦福大学CoreNLP 3.5.2已出炉,并包括中文共同参考
我如何使用中文共同参考?它只包含一个文件“zh attributes.txt.gz”
谢谢
dev要在纯文本上运行,请确保类路径上有与中文相关的模型,然后尝试以下操作:
String text = "Your text here";
String[] args = new String[]{
"-props", "edu/stanford/nlp/hcoref/properties/zh-dcoref-defau
我已经用StanfordCorenlp训练了一个词性标记和神经依赖解析器。我可以通过命令行让它们工作,现在想通过服务器访问它们
但是,服务器的示例并没有说明如何使用自定义模型。我检查了代码,没有找到任何明显的方式来提供配置文件
你知道怎么做吗?我不需要所有的注释器,只需要我训练过的注释器。是的,服务器(理论上)应该支持常规管道的所有功能。propertiesGET参数被转换为通常传递到StanfordCoreNLP的properties对象。因此,如果您希望服务器加载自定义模型,您可以通过调用它
把stanford parser.jar放到构建路径中,我真是太蠢了。是否有一种方法可以单独获取所需的模型文件englishPCFG.ser.gz,然后获取LexicalizedParser.loadModel(“/absolute/path/englishPCFG.ser.gz”)?是的,这很简单。jar文件只是一个美化的zip文件。因此,使用jar命令或您最喜欢的unzipper,执行以下操作:
解压缩stanford-corenlp-3.7.0-models.jar
mv edu/stan
我正在对实体进行集体分类,并使用
用于序列标签的CRFClassizer类。我有一个要求
某些特性F_i不应与某些类标签C_i一起考虑
我已经在CRFClassizer(斯坦福CoreNLP)的属性文件中指定了各种标志,相应地,NERFeature factory生成了这些特征。我认为在内部
它生成总共L*N个二进制特征函数(指示符函数),其中,L=#类标签和N=#特征。在这个交叉产品的总功能中,我不想考虑几对。实现这一目标的最佳方式是什么
注意:我认为L*N函数是由-getObjectiveF
我一直在使用Stanford-NER标记器在文档中查找命名实体。我面临的问题如下所述:-
让句子成为这部电影由Ryan Fleck Anna Boden pair执导。
现在,内尔标签将瑞安标记为一个实体,弗莱克·安娜标记为另一个实体,博登标记为第三个实体。正确的标记应该是Ryan Fleck和Anna Boden
这是内尔标签机的问题吗?如果是,它能被处理吗 您可以尝试ApacheOpenLP,而不是使用StanfordCorenlp。有一个选项可用于根据训练数据训练模型。由于此模型依赖于您提
运行
./corenlp.sh-注释器引号-输出格式xml-文件输入.txt
在修改后的输入文件上
“斯坦福大学”位于加利福尼亚州。这是一所伟大的大学,创建于1891年
产生以下输出:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="CoreNLP-to-HTML.xsl" type="text/xsl"?>
<root>
<document>
<sent
你知道我在哪里可以找到更多关于斯坦福NERFeatureFactory描述的细节吗
我在以下网站上读到:
但我不完全理解(有些没有描述)
例如:useprov,
使用单词对,
连体图形,
useSum。。。
或
(pw,c)(t,c)
有一个没有更好描述的前。我想知道从那时起是否有新的东西出现
谢谢你的帮助 如果您查看NERFeatureFactory的源代码,您可以看到正在发生的事情
源代码可在此处提供:
例如,useWordPairs为考虑中的单词和上一个/下一个单词创建功能。您可以在第10
我希望在Android应用程序中使用JavaSDK进行文本处理,并将其归入某个类别。
但我看到corenlp java sdk的大小是371MB(3.7.0版),这在Android应用程序中是不可行的,因为它的大小比这个小得多,无法承受更多的应用程序大小。
是否可能只有nlp的子集可用?您能描述一下您想用Stanford CoreNLP做什么吗?你需要把东西缩小到什么尺寸?您可以删除一些代码和资源,但删除得越多,功能就会丢失得越多
更新:需要记住的是,代码和依赖项约为10 MB。350+MB中的
我从下载了最新的Stanford词性标签,然后使用以下代码获取句子的词性标签:
jar = './stanford_postagger/stanford-postagger-3.9.1.jar'
model = './stanford_postagger/models/english-left3words-distsim.tagger'
pos_tagger = StanfordPOSTagger(model, jar)
text = nltk.word_tokenize('How much d
整个方法似乎不起作用。我遵循了这里提到的类似方法,添加了entityments,作为注释器之一
输入:“这是您的24美元”
我有一个TokensRegex:
{ ruleType: "tokens", pattern: ([{ner:"NUMBER"}] + [{word:"USD"}]), action: Annotate($0, ner, "NEW_MONEY"), result: "NEW_MONEY_RESULT" }
初始化管道:
props.setProperty("annota
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页