Tag: nlp

加载自定义NER模型Stanford CoreNLP

我用Stanford的“Stanford-NER”软件创建了我自己的NER模型,并遵循这些指示。 我知道CoreNLP按以下顺序加载了三个NER模型: edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz edu/stanford/nlp/models/ner/english.muc.7class.distsim.crf.ser.gz edu/stanford/nlp/models/ner/english.conll.4class.distsim.crf.ser.gz 我现在想在上面的列表中包含我的NER模型,并首先使用我的NER模型标记文本。 我之前发现了两个关于这个主题的StackOverflow问题,它们是“Stanford OpenIE使用定制的NER模型”和“为什么Stanford CoreNLP NER-annotator默认加载3个模型?” 这两篇文章都有很好的答案。 答案的一般信息是您必须编辑文件中的代码。 斯坦福OpenIE使用定制的NER模型 从这篇文章中它说要编辑corenlpserver.sh但我在Stanford CoreNLP下载的软件中找不到这个文件。 有人能指出我这个文件的位置吗? Stanford CoreNLP NER-annotator默认加载3个型号吗? 这篇文章说我可以使用-ner.model的参数来专门调用要加载的NER模型。 我将此参数添加到初始服务器命令( java -mx4g -cp “*” edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 -ner.model *modlefilepathhere* )。 这不起作用,因为服务器仍然加载所有三个模型。 它还声明您必须更改一些Java代码,尽管它没有特别指出要进行更改的位置。 我是否需要修改或添加此代码props.put(“ner.model”, “model_path1,model_path2”); 到CoreNLP软件中的特定类文件? 问题:从我的研究中看来,我需要添加/修改一些代码来调用我独特的NER模型。 上面概述了这些“编辑”,这些信息已从其他StackOverflow问题中提取出来。 我需要编辑哪些文件? 这些文件到底在哪里(即edu / Stanford / nlp / …等)? 编辑:我的系统在本地服务器上运行,我正在使用API​​ pycorenlp打开到我的本地服务器的管道并发出请求。 python / pycorenlp代码的两个关键行是: nlp = […]

句子分类(分类)

我一直在阅读有关文本分类的文章,并发现了几种可用于分类的Java工具,但我仍然想知道:文本分类是否与句子分类相同! 有没有专注于句子分类的工具?

用于句子相似性检测的BLEU分数实现

我需要计算BLEU分数,以确定两个句子是否相似。我读过一些文章,主要是关于测量机器翻译准确度的BLEU分数。但是我需要一个BLEU分数来找出句子之间的相似性。同一种语言[英语]。(即)(两个句子都是英文)。感谢期待。

你如何得到动词的过去时态?

获得动词过去时的最有效方法是什么,最好不使用内存繁重的NLP框架? 例如 住到:住 试着:试过 点击:点击 煮沸:煮沸 卖给:卖 我自己写了一些东西(堆栈溢出不会让我自己回答)这似乎适用于常规动词(例如该列表的前4个),但不是不规则动词: http : //pastebin.com/Txh76Dnb 编辑:感谢所有的回复,看起来由于不规则的动词,没有字典就无法正常完成。

执行和测试stanford核心nlp示例

我下载了stanford core nlp软件包并试图在我的机器上测试它。 使用命令: java -cp “*” -mx1g edu.stanford.nlp.sentiment.SentimentPipeline -file input.txt 我以positive或negativeforms获得情绪结果。 input.txt包含要测试的句子。 更多命令: java -cp stanford-corenlp-3.3.0.jar;stanford-corenlp-3.3.0-models.jar;xom.jar;joda-time.jar -Xmx600m edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,parse -file input.txt在执行时给出以下行: H:\Drive E\Stanford\stanfor-corenlp-full-2013~>java -cp stanford-corenlp-3.3.0.j ar;stanford-corenlp-3.3.0-models.jar;xom.jar;joda-time.jar -Xmx600m edu.stanford .nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,parse -file input.txt Adding annotator tokenize Adding annotator ssplit Adding annotator pos Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3wo rds/english-left3words-distsim.tagger … done [36.6 sec]. […]

文本分割:基于字典的单词拆分

背景 将数据库列名拆分为等效的英文文本以播种数据字典。 英语词典是从公司文档,维基和电子邮件的语料库中创建的。 字典( lexicon.csv )是一个包含单词和概率的CSV文件。 因此,有人写“治疗师”这个词(在电子邮件或维基页面上)的次数越多,“治疗师名称”分裂为“治疗师名称”的可能性就越高,而不是其他东西。 (词典可能甚至不包括强奸犯这个词。) 源代码 TextSegmenter.java @ http://pastebin.com/taXyE03L SortableValueMap.java @ http://pastebin.com/v3hRXYan 数据文件 lexicon.csv – http://pastebin.com/0crECtXY columns.txt – http://pastebin.com/EtN9Qesr 问题(更新2011-01-03) 遇到以下问题时: dependentrelationship::end depend ent dependent relationship end=0.86 ent=0.001 dependent=0.8 relationship=0.9 存在以下可能的解决方 dependentrelationship::dependent relationship dependentrelationship::dep end ent relationship dependentrelationship::depend ent relationship 词典包含具有相对概率的词(基于词频): dependent 0.8 , end 0.86 , relationship 0.9 , depend 0.3 […]

有没有办法使用OpenNLP获得句子的主题?

有没有办法使用OpenNLP获得句子的主题? 我试图找出用户句子中最重要的部分。 通常,用户将向我们的“引擎”提交句子,并且我们想要确切知道该句子的核心主题是什么。 目前我们使用openNlp来: 大块的句子 识别句子的名词短语,动词等 确定句子的所有“主题” (没有完成!)确定句子的“核心主题” 如果您有任何好主意,请告诉我。

我如何在OpenNLP中训练命名实体识别器标识符?

好的,我有以下代码来训练OpenNLP的NER标识符 FileReader fileReader = new FileReader(“train.txt”); ObjectStream fileStream = new PlainTextByLineStream(fileReader); ObjectStream sampleStream = new NameSampleDataStream(fileStream); TokenNameFinderModel model = NameFinderME.train(“pt-br”, “train”, sampleStream, Collections.emptyMap()); nfm = new NameFinderME(model); 我不知道如果缺少某些东西我是否做错了,但分类不起作用。 我假设train.txt错了。 发生的错误是所有令牌都只分类为一种类型。 我的train.txt数据类似于以下示例,但有更多的条目变化和数量。 另一件事是我每次都是从文本中逐字逐句地分类,而不是所有的标记。 8000m 100ºC 50kg Renato 有人可以certificate我做错了吗?

文本相似度算法

我有两个字幕文件。 我需要一个函数来告诉它们是代表相同的文本还是相似的文本 有时只有一个文件中有“风正在吹……音乐在播放”这样的评论。 但80%的内容都是一样的。 该函数必须返回TRUE(文件表示相同的文本)。 有时会出现像1这样的拼写错误,而不是l(1-L),就像这里一样: 她只有行李 。 当然,这意味着函数必须返回TRUE。 我的意见: 该函数应返回文本相似度的百分比 – 同意 “所有人都很开心”和“所有人都不高兴” – 这里被认为是拼写错误,因此被视为同一文本。 确切地说,函数返回的百分比将更低,但足够高以表示短语是相似的 请考虑是否要在整个文件或搜索字符串上应用Levenshtein – 不确定Levenshtein,但算法必须作为一个整体应用于文件。 不过,这将是一个很长的字符串。

如何在Java中使用OpenNLP?

我想要POStag一个英文句子并做一些处理。 我想使用openNLP。 我安装了它 当我执行命令 I:\Workshop\Programming\nlp\opennlp-tools-1.5.0-bin\opennlp-tools-1.5.0>java -jar opennlp-tools-1.5.0.jar POSTagger models\en-pos-maxent.bin < Text.txt 它为Text.txt中的输入提供输出POSTagging Loading POS Tagger model … done (4.009s) My_PRP$ name_NN is_VBZ Shabab_NNP i_FW am_VBP 22_CD years_NNS old._. Average: 66.7 sent/s Total: 1 sent Runtime: 0.015s 我希望它安装得当吗? 现在我如何从java应用程序内部执行此操作? 我已经将openNLPtools,jwnl,maxent jar添加到项目中但是如何调用POStagging?