我使用他们的 API 解析了 Reddit 帖子 如何使用 NLTK 从该帖子中仅提取问题?

I have Parsed Reddit posts using their API How can I extract only questions from this posts using NLTK?

我只想要这个 post 的问题,并想分析哪些主题被问得最多。根据分析,我将只针对这些主题创建播客。示例如果我想知道人们在 Reddit 上提问的与股票市场相关的主题是什么。 如果我使用 this subreddit,我想提取像 "What is an ETFs?" 这样的问题。我将创建一个关于此类问题的播客。 我想使用 nltk 从 post 中提取此类问题。我该怎么做?

样本: 我从 you will get data from here 得到 JSON 现在从这个 JSON 我正在提取标题 我想知道这些标题中哪些是疑问句正则表达式是一个不错的选择,但人们有时会问这样的问题 -真是美好的一天。现在我们的条件在这里失败了。你能推荐一个更合适的方法吗?

我在文本聚类、分类等方面做了很多工作,可以提供一些建议:

  1. 使用正则表达式 并检查关键字 How, What, Where(如 在评论中所述)。这是一个好的开始。您可以通过添加特定条件来手动改进此方法的更多内容。例如:问题关键字必须在句子中排在第一位(或者排在第二位 "And how can I...?")。 ? 必须在句子的末尾(但并非总是如此:如果有人只是跳过标点符号或两句问题:"I want to classify text. How?" 怎么办)。您可以跳过简短的问题(由 2 个单词组成)。

  2. 另一个有趣的机会是使用形态学分析。我们的想法是,我们需要得到 正确的 个问题才能得到他们的主题。所以它不仅必须由问题关键字和 ? 符号组成,而且必须有额外的名词——我们将捕获它们并尝试对其进行分类(有很多方法可以处理它们,但这是另一个问题)。没有它们的问题是没有当前主题的一般问题。查看更多信息 here.

  3. 还有一个更有趣的方法:我们可以手动获取第一个测试问题样本,然后创建分类器自动从语料库中找到另一个问题。您可以找到 here(第 2.2 节)的简单示例。这里有一些水下岩石:例如,如果在测试样本中没有某种(特定)类型分类器的示例,则不会找到它们。因此,瞥一眼语料库以找到新的问题类型并将其添加到测试样本中是很有用的。