我正在使用Windows 8,并使用pyDev在eclipse中运行python.
我从网站上安装了Stanford coreNLP(python版本):https: //github.com/relwell/stanford-corenlp-python
当我尝试导入corenlp时,我收到以下错误消息.
Traceback (most recent call last):
File "C:\Users\Ghantauke\workspace\PythonTest2\test.py", line 1, in <module>
import corenlp
File "C:\Python27\lib\site-packages\corenlp\__init__.py", line 13, in <module>
from corenlp import StanfordCoreNLP, ParserError, TimeoutError, ProcessError
File "C:\Python27\lib\site-packages\corenlp\corenlp.py", line 28, in <module>
import pexpect
File "C:\Python27\lib\site-packages\pexpect.py", line 85, in <module>
support it. Pexpect is intended for UNIX-like operating systems.""")
ImportError: No module named resource
A critical module was not found. Probably this operating system does not
support it. Pexpect is intended for …Run Code Online (Sandbox Code Playgroud) 我已经从http://nlp.stanford.edu/software/corenlp.shtml#Download下载并安装了所需的jar文件.
我已经包含了五个jar文件
Satnford-postagger.jar
斯坦福大学psotagger-3.3.1.jar
斯坦福大学psotagger-3.3.1.jar,javadoc.jar
斯坦福大学psotagger-3.3.1.jar-src.jar
斯坦福大学corenlp-3.3.1.jar
而代码是
public class lemmafirst {
protected StanfordCoreNLP pipeline;
public lemmafirst() {
// Create StanfordCoreNLP object properties, with POS tagging
// (required for lemmatization), and lemmatization
Properties props;
props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma");
/*
* This is a pipeline that takes in a string and returns various analyzed linguistic forms.
* The String is tokenized via a tokenizer (such as PTBTokenizerAnnotator),
* and then other sequence model style …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用预制英语模型的麦芽解析器.但是,我不知道如何将英文句子的文本语料库转换为Malt Parser操作所必需的CoNLL格式.我在网站上找不到任何文档.我该怎么办呢?
更新.我指的是这个帖子Create .conll文件作为Stanford Parser的输出来创建一个.conll.但是,这是使用Stanford Parser.
我正在尝试使用Stanford CoreNLP作为我的java程序中的库.我使用IntelliJ作为IDE.我试图测试库,所以我写了这段代码:
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import java.util.Properties;
/**
* Created by Benjamin on 15/5/4.
*/
public class SentimentAnaTest {
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
}
}
Run Code Online (Sandbox Code Playgroud)
它显示如下错误:
Adding annotator tokenize
TokenizerAnnotator: No tokenizer type provided. Defaulting to PTBTokenizer.
Adding annotator ssplit
Adding annotator pos
Exception in thread "main" java.lang.RuntimeException: edu.stanford.nlp.io.RuntimeIOException: Unrecoverable error while loading a tagger model
at edu.stanford.nlp.pipeline.AnnotatorFactories$4.create(AnnotatorFactories.java:292)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:85)
at …Run Code Online (Sandbox Code Playgroud) 我试图为段落中的每个单词找到正确的词性.我正在使用Stanford POS Tagger.但是,我陷入了困境.
我想从段落中识别介词.
Penn Treebank Tagset说:
IN Preposition or subordinating conjunction
Run Code Online (Sandbox Code Playgroud)
如何,我能确定当前的词是介词还是从属词.在这种情况下,如何从段落中仅提取介词?
我有800万维基百科文章要解析.我想运行7个操作:tokenize,ssplit,pos,lemma,ner,parse,dcoref.每份文件大约需要20秒.在此速率中,需要数月才能在单线程中解析整个数据集.有一个'nthreads'选项可以同时解析连续的句子.但共同参考分析仪不能在单句水平上工作.我可以将文档分成多个桶并同时在每个桶上运行corenlp,但这很耗费资源.有没有更简单的方法在文档级别(而不是句子)运行多线程corenlp?(我有100 GB RAM和50个核心).
我正在尝试使用Stanford依赖解析器。我尝试使用以下命令从Windows上的命令行运行解析器以提取依赖项:
java -mx100m -cp "stanford-parser.jar" edu.stanford.nlp.trees.EnglishGrammaticalStructure -sentFile english-onesent.txt -collapsedTree -CCprocessed -parserFile englishPCFG.ser.gz
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error occurred during initialization of VM
Too small initial heap
Run Code Online (Sandbox Code Playgroud)
我将内存大小更改为-mx1024,-mx2048以及-mx4096。它没有任何改变,错误仍然存在。
我想念什么?
我是NLP的新手.我正在尝试一个示例程序,LexicalizedParser但无法找到该模型.
String parseModel = "...../models/lexparser/englishPCFG.ser.gz";
LexicalizedParser lecicalizedParser = LexicalizedParser.loadModel(parseModel);
Run Code Online (Sandbox Code Playgroud)
我stanford-core-nlp-3.5.2.jar在示例Java应用程序的构建路径中也有必需的和ner jar.
我尝试引用核心jar的绝对路径并加载但不能.:(
如何从程序代码中引用此模型的确切位置?
非常感谢您的帮助和帮助!
我试图用Stanford CoreNLP工具分析一些法语文本(这是我第一次尝试使用任何StanfordNLP软件)
为此,我已经下载了v3.6.0 jar和相应的法语模型.
然后我运行服务器:
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer
Run Code Online (Sandbox Code Playgroud)
如本回答所述,我将API称为:
wget --post-data 'Bonjour le monde.' 'localhost:9000/?properties={"parse.model":"edu/stanford/nlp/models/parser/nndep/UD_French.gz", "annotators": "parse", "outputFormat": "json"}' -O -
Run Code Online (Sandbox Code Playgroud)
但我得到以下日志+错误:
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP
Adding annotator tokenize
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.TokenizerAnnotator - TokenizerAnnotator: No tokenizer type provided. Defaulting to PTBTokenizer.
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator ssplit
[pool-1-thread-1] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator parse
[pool-1-thread-1] INFO edu.stanford.nlp.parser.common.ParserGrammar - Loading parser from serialized file edu/stanford/nlp/models/parser/nndep/UD_French.gz ...
edu.stanford.nlp.io.RuntimeIOException: java.io.StreamCorruptedException: invalid stream header: 64696374
at edu.stanford.nlp.parser.common.ParserGrammar.loadModel(ParserGrammar.java:188)
at …Run Code Online (Sandbox Code Playgroud) 运行CoreNLP时经常会在stderr中看到这个:
Cannot find node in dependency for word said
Run Code Online (Sandbox Code Playgroud)
对于将引号连接到扬声器的动词来说,这似乎发生了,这对于我的应用程序,引用提取/表征非常重要.
(编辑)这个警告在实践中意味着什么?这是一个已知问题,是否有修复?
stanford-nlp ×10
nlp ×5
java ×4
parsing ×2
jar ×1
linguistics ×1
maven ×1
multicore ×1
pos-tagger ×1
python ×1
wikipedia ×1