标签: stanford-nlp

好例子:英语解析/自然语言处理

我想制作一个日历应用程序,它比现有的那些更好地接受纯英文输入。我发现斯坦福的 NLP 看起来很酷,但我想知道它是否对此类任务有帮助。我找不到人们使用它做任何事情的例子。应用程序真的应该理解语言吗?似乎存在的自然英语日历正在寻找关键字/模式并尝试以这种方式解析,但我认为应用程序可以做得更好。

我真正的问题是:有人能告诉我如何找到使用 NLP 或不同(公开可用的)英语解析器来制作真正有用的应用程序的人的例子吗?

parsing nlp stanford-nlp

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

如何在 NLP 框架中执行段落边界检测?

我正在努力从出现在英文报纸上的各种广告中提取人名。

但是,我注意到在提取其中存在的名称之前,我需要确定广告的边界,因为我只需要提取第一个出现的名称。我从斯坦福 NLP 开始。我成功提取了名称。但我陷入了识别段落边界的困境。

有没有办法识别段落边界。?

text-processing nlp stanford-nlp opennlp apache-stanbol

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

创建StanfordCoreNLP对象时出错

我已经从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)

java nlp jar stanford-nlp maven

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

关于如何在新语料库上训练 nn 依赖解析器的任何提示?

我们想在俄罗斯语料库上训练斯坦福神经网络依赖解析器,有什么关于如何做的提示吗?论文中描述了超参数,但是了解如何准备训练数据(注释,特别是如何创建 word2vec 注释)会很好。非常感谢任何帮助或对某些文档的引用!

谢谢!

stanford-nlp

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

初始堆错误太小-斯坦福解析器

我正在尝试使用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。它没有任何改变,错误仍然存​​在。

我想念什么?

stanford-nlp

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

运行斯坦福corenlp服务器与法国模型

我试图用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)

stanford-nlp stanford-nlp-server

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

Word2Vec - 向向量表示添加约束

我正在尝试将预先训练的 Google 新闻 word2vec 模型适应我的特定领域。对于我正在查看的领域,已知某些单词彼此相似,因此在理想的世界中,这些单词的 Word2Vec 表示应该代表它。我知道我可以在特定领域数据的语料库上训练预训练模型来更新向量。

但是,如果我确定某些单词非常相似并且应该放在一起,那么我是否可以将该约束合并到 word2vec 模型中?在数学上,我想在 word2vec 的损失函数中添加一个术语,如果我知道相似的两个在向量空间中的位置彼此不靠近,则该函数会提供惩罚。有没有人对如何实现这一点有建议?这是否需要我解压 word2vec 模型,或者是否有办法将附加项添加到损失函数中?

nlp stanford-nlp word2vec

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

斯坦福 NER 小写实体

我在检测以小写字母开头的命名实体时遇到问题。如果我只用小写单词训练模型,那么准确率是合理的;但是,当模型使用完全大写的标记或什至是小写和大写混合训练时,结果非常糟糕。我尝试了斯坦福 NLP 组类 NERFeatureFactory提供的一些功能以及各种句子,但无法获得预期的结果。我面临的问题的一个例子如下:

“阿里在密歇根大学学习,现在他为我们海军工作。”

我希望模型能够识别实体如下:

  • “大学”:“设施”,
  • "密歇根州": "设施",
  • “阿里”:“人”
  • “我们”:“组织”
  • “海军”:“组织”

如果用作训练数据的 .TSV 文件只包含小写字母,那么我可以得到上述结果,否则结果令人惊讶。

任何帮助都受到高度赞赏。

nlp named-entity-recognition stanford-nlp

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

使用自然语言处理识别项目列表

NLP 解析器有没有办法识别列表?
例如,“老虎、狮子和大猩猩”应该被标识为一个列表
(我不需要将它标识为一个动物列表;一个列表就足够了)。

我的最终目标是将一个常用动词/单词链接到列表中的所有项目。例如,考虑句子“他找到了一支笔、一本书和一个手电筒”。在这里,“发现”动词应与所有 3 个项目相关联。

另一个例子,“他的癌症、贫血和糖尿病检测呈阴性”。在这里,“阴性”一词应该与三种疾病联系在一起。

任何开源 NLP 软件包(如 OpenNLP 或 Stanford CoreNLP)都可以做到这一点吗?还有其他解决办法吗?


编辑:
就像在其中一个答案中提到的那样,我最初的想法是手动解析列表并通过查看逗号的位置等来查找项目。

但后来我发现了斯坦福 NLP 的 OpenIE 模型。这似乎做得很好。
例如,“He has a pen and a book”给出了 2 个关系(He;has;a pen)(He;has;a book)

该模型的问题在于它不适用于不完整的句子,例如“has a pen and a book”
(据我了解,这是因为 OpenIE 只能提取三元组)
当涉及否定时它也会失败。例如,“他没有笔”

这些问题有解决方案吗?目前可用于信息提取的最佳解决方案是什么?

algorithm text nlp stanford-nlp opennlp

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

对没有标点符号的段落进行句子切分?

我有一堆格式错误的文本,其中缺少很多标点符号。我想知道是否有任何方法可以在缺少句点、分号、大写等的情况下将文本分割成句子。

例如,考虑这样一段话:“狮子被称为森林之王,它的容貌威严它吃肉它可以跑得很快,狮子的吼声很有名”

这段文字应该被分割成单独的句子:

  • 狮子被称为森林之王
  • 它有一个雄伟的外观
  • 它吃肉
  • 它可以运行得非常快
  • 狮子的吼叫声非常有名

这可以做到还是不可能?任何建议都非常感谢!

algorithm text nlp stanford-nlp opennlp

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