标签: stanford-nlp

Java Stanford NLP:拼写检查

我正在尝试使用斯坦福NLP检查文本样本的拼写准确性.它只是文本的一个度量标准,而不是过滤器或任何东西,所以只要错误是一致的,如果它稍微关闭它就没问题了.

我的第一个想法是检查词典是否知道这个词:

private static LexicalizedParser lp = new LexicalizedParser("englishPCFG.ser.gz");

@Analyze(weight=25, name="Spelling")
    public double spelling() {
        int result = 0;

        for (List<? extends HasWord> list : sentences) {
            for (HasWord w : list) {
                if (! lp.getLexicon().isKnown(w.word())) {
                    System.out.format("misspelled: %s\n", w.word());
                    result++;
                }
            }
        }

        return result / sentences.size();
    }
Run Code Online (Sandbox Code Playgroud)

但是,这会产生很多误报:

misspelled: Sincerity
misspelled: Sisyphus
misspelled: Sisyphus
misspelled: fidelity
misspelled: negates
misspelled: gods
misspelled: henceforth
misspelled: atom
misspelled: flake
misspelled: Sisyphus
misspelled: Camus
misspelled: foandf
misspelled: foandf
misspelled: babby
misspelled: formd …
Run Code Online (Sandbox Code Playgroud)

java nlp spell-checking stanford-nlp

5
推荐指数
1
解决办法
3936
查看次数

斯坦福NER工具包 - 小写实体识别

我是NLP的新手,并试图找出命名实体识别器如何注释命名实体.我正在试验斯坦福NER工具包.当我在标准的更正式的数据集上使用NER时,其中遵循所有命名约定来表示命名实体,例如在新闻专线或新闻博客中,NER正确地注释实体.但是,当我使用非正式数据集(例如twitter)运行NER时,命名实体可能没有按原样大写,NER不会对实体进行注释.我使用的分类器是3-CRF序列化分类器.任何人都可以告诉我如何让NER识别小写实体?关于如何破解NER以及在何处进行改进的任何有用建议都非常感谢.在此先感谢您的帮助.

java named-entity-recognition stanford-nlp

5
推荐指数
3
解决办法
4046
查看次数

stanford nlp核心出错

我下载了stanford nlp,当我运行他们网站上给出的代码时.

我在这一行中收到错误:

     StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Run Code Online (Sandbox Code Playgroud)

错误如下:

     Exception in thread "main" java.lang.NoClassDefFoundError: nu/xom/Node
    at sample1.main(sample1.java:35)
    Caused by: java.lang.ClassNotFoundException: nu.xom.Node
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我使用eclipse,我应该做一些配置吗?请帮帮我!

java stanford-nlp

5
推荐指数
1
解决办法
8117
查看次数

获得给定句子的下一个单词(或POS)建议.自动完成一个句子

我必须在基于桌面的java应用程序中实现自动建议功能.要求如下:
用户将给出一个句子作为输入,我必须返回下一个可能Part-Of-Speech的建议.例如:
1.UserInput:迈克希望 Suggestions:[阅读,玩耍,玩乐,学习,编码,等等]
2. UserInput:迈克有 Suggestions:[阅读,Naboo N-1星际战斗机,马,...等]

这是这个问题的重复,但这个是针对Android的.这可以通过使用一些NLP库来完成,如Stanford-NLP或OpenNLP等吗?如果您需要更多细节,请告诉我.

谢谢!

java stanford-nlp gate uima opennlp

5
推荐指数
0
解决办法
740
查看次数

识别句子中是否包含命令的方法

试图找出一个句子中是否包含祈使语(例如,将“单击下面”归为祈使语,而将“这里有一些信息”归为否)。

例如斯坦福解析器,这可能吗?作为参考,主站点(http://nlp.stanford.edu/software/lex-parser.shtml)指示“对命令的识别有所改进”,但是从属手册未提供 http:// nlp的要求。 stanford.edu/software/dependencies_manual.pdf

另外,还有另一种可行的方法吗?

nlp stanford-nlp

5
推荐指数
1
解决办法
999
查看次数

斯坦福依赖解析器设置和NLTK

所以我得到了"标准"斯坦福分析师的工作,感谢危险89对前一篇文章斯坦福分析师和NLTK的回答.

但是,我现在正试图让依赖解析器工作,似乎前一个链接中突出显示的方法不再有效.这是我的代码:

import nltk
import os
java_path = "C:\\Program Files\\Java\\jre1.8.0_51\\bin\\java.exe" 
os.environ['JAVAHOME'] = java_path


from nltk.parse import stanford
os.environ['STANFORD_PARSER'] = 'path/jar'
os.environ['STANFORD_MODELS'] = 'path/jar'
parser = stanford.StanfordDependencyParser(model_path="path/jar/englishPCFG.ser.gz")

sentences = parser.raw_parse_sents(nltk.sent_tokenize("The iPod is expensive but pretty."))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:'module'对象没有属性'StanfordDependencyParser'

我唯一改变的是"StanfordParser"中的"StanfordDependencyParser".任何想法我怎么能让这个工作?

我还尝试了Stanford Neural Dependency解析器,如下面的文档中所示:http://www.nltk.org/_modules/nltk/parse/stanford.html

这个也不起作用.

非常新的NLTK.提前感谢任何有用的输入.

python nlp nltk stanford-nlp

5
推荐指数
2
解决办法
8088
查看次数

nltk:如何防止专有名词的堵塞

我正在尝试使用Stanford POS标记器和NER编写关键字提取程序.对于关键字提取,我只对专有名词感兴趣.这是基本方法

  1. 删除除字母之外的任何内容来清理数据
  2. 删除停用词
  3. 干每个字
  4. 确定每个单词的POS标签
  5. 如果POS标签是名词,则将其提供给NER
  6. 然后,NER将确定该单词是人,组织还是位置

示例代码

docText="'Jack Frost works for Boeing Company. He manages 5 aircraft and their crew in London"

words = re.split("\W+",docText) 

stops = set(stopwords.words("english"))

#remove stop words from the list
words = [w for w in words if w not in stops and len(w) > 2]

# Stemming
pstem = PorterStemmer()

words = [pstem.stem(w) for w in words]    

nounsWeWant = set(['NN' ,'NNS', 'NNP', 'NNPS'])

finalWords = []

stn = StanfordNERTagger('english.all.3class.distsim.crf.ser.gz') 
stp = StanfordPOSTagger('english-bidirectional-distsim.tagger') 

for …
Run Code Online (Sandbox Code Playgroud)

python nlp stemming nltk stanford-nlp

5
推荐指数
1
解决办法
1280
查看次数

我公报上的实体无法识别

我想创建一个自定义的NER模型.这就是我做的:

培训数据(stanford-ner.tsv):

Hello    O
!    O
My    O
name    O
is    O
Damiano    PERSON
.    O
Run Code Online (Sandbox Code Playgroud)

属性(stanford-ner.prop):

trainFile = stanford-ner.tsv
serializeTo = ner-model.ser.gz
map = word=0,answer=1
maxLeft=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useDisjunctive=true
useSequences=true
usePrevSequences=true
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
useGazettes=true
gazette=gazzetta.txt
cleanGazette=true
Run Code Online (Sandbox Code Playgroud)

GAZZETTE gazzetta.txt):

PERSON John
PERSON Andrea
Run Code Online (Sandbox Code Playgroud)

我通过命令行构建模型:

java -classpath "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier  -prop stanford-ner.prop
Run Code Online (Sandbox Code Playgroud)

并测试:

java -classpath "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.crf.CRFClassifier  -loadClassifier ner-model.ser.gz -textFile test.txt
Run Code Online (Sandbox Code Playgroud)

我用以下文本做了两次测试:

>>> TEST 1 <<<

  • 文:你好!我叫达米亚诺,这是一个值得测试的假文本.

  • OUTPUT Hello/O!/ O我/ O名称/ O是/ O …

nlp machine-learning named-entity-recognition stanford-nlp

5
推荐指数
1
解决办法
681
查看次数

CoreNLP:无法找到依赖于word的节点表示

运行CoreNLP时经常会在stderr中看到这个:

Cannot find node in dependency for word said
Run Code Online (Sandbox Code Playgroud)

对于将引号连接到扬声器的动词来说,这似乎发生了,这对于我的应用程序,引用提取/表征非常重要.

(编辑)这个警告在实践中意味着什么?这是一个已知问题,是否有修复?

java nlp stanford-nlp dependency-parsing

5
推荐指数
0
解决办法
98
查看次数

如何在使用简单的CoreNLP API时设置tokenizer选项?

我知道CoreNLP中提供的tokenizer选项,我知道如何在标准版本中设置它们.

有没有办法untokenizable=noneKeep在使用Simple CoreNLP接口时传递选项,例如?

java stanford-nlp

5
推荐指数
1
解决办法
92
查看次数