我正在使用Stanford Parser来解析单词之间的依赖关系,但我还需要标记单词.但是,在ParseDemo.java中,程序仅输出标记树.我需要每个单词的标记如下:
My/PRP$ dog/NN also/RB likes/VBZ eating/VBG bananas/NNS ./.
Run Code Online (Sandbox Code Playgroud)
不是这样的:
(ROOT
(S
(NP (PRP$ My) (NN dog))
(ADVP (RB also))
(VP (VBZ likes)
(S
(VP (VBG eating)
(S
(ADJP (NNS bananas))))))
(. .)))
Run Code Online (Sandbox Code Playgroud)
谁能帮我?非常感谢.
我想用Stanford NLP解析器解析句子列表.我的列表是一个ArrayList,如何解析所有列表LexicalizedParser?
我想从每个句子得到这种形式:
Tree parse = (Tree) lp1.apply(sentence);
Run Code Online (Sandbox Code Playgroud) 我正在使用stanford核心NLP,我使用这一行来加载一些模块来处理我的文本:
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
Run Code Online (Sandbox Code Playgroud)
我可以加载一个模块来分块文本吗?
或者任何使用stanford核心来改变某些文本的替代方法的建议?
谢谢
Java泛型可以根据表达式的返回类型推断泛型类型参数的类型.考虑以下:
public static <T> T uncheckedCast(Object o) {
return (T)o;
}
Run Code Online (Sandbox Code Playgroud)
我们可以称之为:
Map<Baz,Bog> bazbogMap = new HashMap<Baz,Bog>();
String foo = uncheckedCast(bazbogMap);
Run Code Online (Sandbox Code Playgroud)
这将编译但RuntimeException在调用时抛出一个,因为它会尝试将其转换Map为a String但是失败.但重点是Java <T>根据呼叫站点的预期结果类型推断出值.
我们也可以在Scala中执行以下操作:
def uncheckedCast[T](o: AnyRef): T = o.asInstanceOf[T]
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
Java还可以从嵌套定义中推断出类型参数并返回它们(即我们实际上不必将结果分配给类型,以便在使用它之前使用它; Java知道它已经是什么.)
一个简单的类显示:
import java.util.HashMap;
import java.util.Map;
public class KeysAndValues {
public interface Key<T> {}
public static class StringKey implements Key<String> {}
private final Map<Class<?>, Object> lookup;
public KeysAndValues() {
lookup = new HashMap<Class<?>, Object>();
}
@SuppressWarnings("unchecked")
public <V, K extends Key<V>> …Run Code Online (Sandbox Code Playgroud) 我使用的是Stanford CRFClassifier,为了运行,它需要一个训练有素的分类器模型.我把这个文件放在资源目录中.来自CRFClassifier的Javadocs http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html#getClassifier(java.lang.String) 文件的路径必须是CRFClassifier.getClassifier()的输入,它是一个java.lang.String对象.所以我的问题是如何告诉.getClassifier()该文件在资源目录中?即如何获取资源目录中文件的文件路径?
我试过简单
val classifier = CRFClassifier.getClassifier("./src/main/resources/my_model.ser.gz")
Run Code Online (Sandbox Code Playgroud)
但是这会返回FileNotFoundException.
我也试过了
Source.fromURL(getClass.getResource("/my_model.ser.gz"))
Run Code Online (Sandbox Code Playgroud)
它返回一个BufferedSource对象,但我不知道如何从中获取文件路径.
任何帮助将不胜感激.
根据我的理解,远程监督是指定一个段落(通常是一个句子)的单个词试图传达的概念的过程.
例如,数据库维护结构化关系 concerns( NLP, this sentence).
我们的远程监督系统将把句子作为输入: "This is a sentence about NLP."
基于这句话会认识到实体,因为作为一个预处理步骤判决将已通过命名实体识别通过,NLP及this sentence.
由于我们的数据库具有它NLP并且this sentence通过concern(s)它的关系相关联,因此将输入句子识别为表达关系Concerns(NLP, this sentence).
我的问题有两个:
1)有什么用?是不是以后我们的系统可能会在"狂野"中看到一个句子,That sentence is about OPP并且意识到它看起来与以前的类似,从而实现了这样的新颖关系concerns(OPP, that sentence).,仅仅基于单词/个体标记?
2)是否考虑了句子的实际用语?动词'是'和副词'关于',例如,实现(通过WordNet或其他一些下位系统),这在某种程度上类似于高阶概念"关注"?
有没有人有一些代码用于生成我可以看到的远程监控系统,即交叉引用KB的系统(如Freebase)和语料库(如NYTimes),并生成远程监管数据库?我认为这将有助于澄清我对远程监督的看法.
当StanfordNLP的TreeLSTM与具有> 30K实例的数据集一起使用时,会导致LuaJit错误地显示"Not Enough Memory".我正在使用LuaJit Data Structures解决这个问题.为了将数据集放在lua堆之外,需要将树放在LDS.Vector中.
由于LDS.Vector包含cdata,第一步是将Tree类型转换为cdata对象:
local ffi = require('ffi')
ffi.cdef([[
typedef struct CTree {
struct CTree* parent;
int num_children;
struct CTree* children [25];
int idx;
int gold_label;
int leaf_idx;
} CTree;
]])
Run Code Online (Sandbox Code Playgroud)
在read_data.lua中还需要进行一些小的更改来处理新的cdata CTree类型.到目前为止,使用LDS似乎是解决内存限制的合理方法; 但是,CTree需要一个名为"composer"的字段.
Composer的类型为nn.gModule.继续使用此解决方案将涉及将nn.gModule的typedef创建为cdata,包括为其成员创建typedef.在继续之前,这似乎是正确的方向吗?有没有人遇到过这个问题?
我有几十万份法律文件(大部分来自欧盟) - 法律,评论,法庭文件等.我试图在算法上对它们有所了解.
我已经建模了已知的关系(时间,这个 - 变化 - 等等).但在单文档级别上,我希望我有更好的工具来快速理解.我愿意接受各种想法,但这是一个更具体的问题:
例如:是否有NLP方法来确定文档的相关/有争议部分而不是样板文件?最近泄露的TTIP论文是数千页的数据表,但在那里的一个句子可能会破坏一个行业.
我Parsey McParface过去常常使用google的新版和其他NLP解决方案,但是虽然它们的工作效果非常好,但我不确定它们在隔离意义方面有多好.
我目前正在开展一个涉及句子向量的项目(来自 RoBERTa 预训练模型)。当句子很长时,这些向量的质量较低,并且我的语料库包含许多带有子句的长句子。
我一直在寻找子句提取/长句分割的方法,但令我惊讶的是,没有一个主要的 NLP 软件包(例如 spacy 或 stanza)提供开箱即用的功能。
我想这可以通过使用 spacy 或 stanza 的依赖解析来完成,但正确处理各种复杂的句子和边缘情况可能会非常复杂。
我遇到过使用 spacy实现ClausIE 信息提取系统,它可以执行类似的操作,但它尚未更新并且无法在我的计算机上运行。
我也遇到过这个用于简化句子的存储库,但是当我在本地运行它时,我收到了斯坦福 coreNLP 的注释错误。
有没有我忽略的明显的包/方法?如果没有,是否有一种简单的方法可以使用 stanza 或 spacy 来实现此目的?
我在用
\n! pip install glove_python\nRun Code Online (Sandbox Code Playgroud)\n我收到此错误消息:
\nCollecting glove_python\n Downloading https://files.pythonhosted.org/packages/3e/79/7e7e548dd9dcb741935d031117f4bed133276c2a047aadad42f1552d1771/glove_python-0.1.0.tar.gz (263kB)\n |\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88| 266kB 16.9MB/s \nRequirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from glove_python) (1.19.5)\nRequirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from glove_python) (1.4.1)\nBuilding wheels for collected packages: glove-python\n Building wheel for glove-python (setup.py) ... error\n **ERROR: Failed building wheel for glove-python**\n Running setup.py clean for glove-python\n **ERROR: Failed cleaning build dir for glove-python**\nFailed to build glove-python\nInstalling collected packages: glove-python\n Running setup.py install for glove-python ... error\n**ERROR: Command errored out …Run Code Online (Sandbox Code Playgroud)