Statistics 给定文档,请选择相关的代码段

Statistics 给定文档,请选择相关的代码段,statistics,nlp,text-processing,heuristics,Statistics,Nlp,Text Processing,Heuristics,当我在这里问一个问题时,自动搜索返回的问题的工具提示给出了问题的第一个小部分,但是有相当比例的工具提示没有给出比标题更有用的文本来理解问题。有没有人知道如何制作一个过滤器来去除问题中无用的部分 我的第一个想法是删减任何只包含某些列表中的单词的前导句,例如,停止词,加上标题中的单词,再加上SO语料库中与标记相关性非常弱的单词,也就是说,无论标记是什么,在任何问题中都同样可能出现自动文本摘要 听起来你对这个很感兴趣。要对问题、涉及的问题和可用的算法有一个很好的概述,请参阅Das和Martin 200

当我在这里问一个问题时,自动搜索返回的问题的工具提示给出了问题的第一个小部分,但是有相当比例的工具提示没有给出比标题更有用的文本来理解问题。有没有人知道如何制作一个过滤器来去除问题中无用的部分

我的第一个想法是删减任何只包含某些列表中的单词的前导句,例如,停止词,加上标题中的单词,再加上SO语料库中与标记相关性非常弱的单词,也就是说,无论标记是什么,在任何问题中都同样可能出现自动文本摘要

听起来你对这个很感兴趣。要对问题、涉及的问题和可用的算法有一个很好的概述,请参阅Das和Martin 2007年的论文

简单算法

一个简单但相当有效的摘要算法是从原始文本中选择数量有限的句子,其中包含最频繁的内容词,即最频繁的不包含单词的句子

使用此算法进行摘要的一些开源软件包包括:

Classifier4J Java

如果您使用的是Java,则可以使用的模块

使用找到的示例,假设原始文本为:

Classifier4J是一个用于处理文本的java包。分类器4j包括一个摘要器。摘要器允许对文本进行摘要。总结者真的很酷。我认为没有其他java摘要器。 如以下代码段所示,您可以轻松创建一个简单的一句话摘要:

// Request a 1 sentence summary
String summary = summariser.summarise(longOriginalText, 1);
使用上面的算法,这将生成Classifier4J,包括一个摘要器

分类符C

如果您使用的是C,则有一个Classifier4J到C的端口称为

Tristan Havelick的NLTK Python摘要器


Classifier4J的摘要器(summarizer)的Python端口正在开发中,它是用Python构建的。

我想知道C版本是否足够快,可以用于这个网站?算法非常简单,所以它应该足够快。它首先确定原始文本中最常见的内容词。然后对它们进行迭代,并选择原始字符串中包含每个单词的最早句子。这会一直持续到所需的N个句子的数目被选中。我最近使用了这个算法,相信我,它很容易在C语言中实现,并且它确实给出了很好的结果。我需要在这里和那里玩一些设置,比如清除空白或返回键空间。这需要几次尝试。谢谢。可能的副本为:
// Request a 1 sentence summary
String summary = summariser.summarise(longOriginalText, 1);