当前位置: 首页 > 面试题库 >

如何使用斯坦福解析器将文本拆分为句子?

朱啸
2023-03-14
问题内容

如何使用Stanford解析器将文本或段落拆分为句子?

有没有可以提取句子的方法(例如getSentencesFromString()为Ruby提供的方法)?


问题答案:

您可以检查DocumentPreprocessor类。以下是一个简短的摘要。我认为可能还有其他方式可以做您想要的事情。

String paragraph = "My 1st sentence. “Does it work for questions?” My third sentence.";
Reader reader = new StringReader(paragraph);
DocumentPreprocessor dp = new DocumentPreprocessor(reader);
List<String> sentenceList = new ArrayList<String>();

for (List<HasWord> sentence : dp) {
   // SentenceUtils not Sentence
   String sentenceString = SentenceUtils.listToString(sentence);
   sentenceList.add(sentenceString);
}

for (String sentence : sentenceList) {
   System.out.println(sentence);
}


 类似资料:
  • 如果我从主页上举个例子: 斯坦福解析器: 交付下面的树: 我现在想拆分依赖于其结构的树以获取子句。所以在这个例子中,我想拆分树以获得以下部分: 印度有史以来最强的降雨 最强的降雨导致孟买金融中心关闭 最强的雨切断了通讯线路 最强降雨导致机场关闭 大雨迫使数千人睡在办公室 强降雨迫使数千人在夜间步行回家 所以第一个答案是使用递归算法打印所有根到叶的路径。 以下是我尝试过的代码: 当然,这段代码完全不

  • 我是斯坦福核心NLP的新手。我想用它来从英语,德语,法语的文本中拆分句子。这是哪一个班的工作?提前谢谢。

  • 我在python中使用带有nltd k的Stanford解析器,并得到Stanford Parser和NLTK的帮助来建立Stanford nlp库。 我得到了错误的解析和依赖树,如下例所示,它将“看到”视为名词而不是动词。 我该怎么办?当我改变句子时,它完全正确。这个句子的正确输出可以从这里查看解析树的正确输出 正确输出的示例如下所示:

  • 我正在注释和分析一系列文本文件。 pipeline.annotate方法每次读取文件时都会变得越来越慢。最终,我得到了一个OutOfMemoryError。 管道初始化一次: 然后,我使用相同的管道实例处理每个文件(如SO和斯坦福大学在其他地方推荐的)。 明确地说,我希望问题出在我的配置上。但是,我确信失速和内存问题发生在pipeline.annotate(file)方法上。 在处理每个文件后,我

  • 我在使用Stanford pipeline(CoreNLP的最后一个版本)解析BNC时遇到了一个问题。 解析器只是停留在这个句子中,它甚至不会抛出错误。句子在web界面中得到正确的解析。 我尝试了标记器的选项,但没有结果。 我添加了我正在使用的命令行:java[...]edu.stanford.nlp.pipeline.stanfordCorenlp-注释器tokenize,ssplit,pos,

  • 我使用StanfordNLP来标记用智能手机编写的一组消息。这些文本有很多拼写错误,不遵守标点符号规则。通常,空格缺失会影响标记化。 例如,以下句子漏掉了“California.This”和“university,founded”中的空格。 斯坦福大学位于加利福尼亚州,这所大学是一所伟大的大学,创建于1891年。 标记器返回: {“斯坦福”、“大学”、“是”、“位于”、“加利福尼亚州”。这个”、“