【问题标题】:picking the most relevant words from a paragraph [closed]从段落中挑选最相关的词[关闭]
【发布时间】:2012-10-21 04:11:34
【问题描述】:

不知道如何正确表达这个问题,但这是我打算使用下面概述的假设场景来实现的 -

用户给我的电子邮件只有主题和正文,主题是电子邮件的主题,正文是对主题的描述,最多只有一段,最多 1000 个单词。现在我想用一些计算机语言(python,也许是python)来分析这个段落(在正文中),然后从段落中列出与主题字段中提到的主题相关的最重要的单词。

例如,如果电子邮件的主题是 iPhone,正文类似于“iPhone 重新定义了具有超分辨率和图形的用户界面设计。它完全支持触控并允许用户滑动屏幕”

所以我正在寻找的结果是一个列表,其中包含与 iPhone 相关的段落中的关键术语。示例 - (用户界面、设计、分辨率、图形、触摸、滑动、屏幕)。

所以基本上我正在寻找从段落中挑选最相关的单词。我不确定我可以使用什么或如何使用来实现此结果。在谷歌上搜索,我读了一些关于自然语言处理和 python 和分类等的知识。我只需要一个关于如何去做的通用方法——使用什么技术/语言,我必须阅读哪个领域等等。

谢谢!

编辑:::

与此同时,我一直在阅读。准确地说,我正在研究如何做到这一点,使用什么工具:

使用基于同义词、形态相似性、拼写错误和上下文分析的 NLP 从正文中生成相关标签。

【问题讨论】:

  • 首先您必须更准确地指定您的问题。例如:您是否正在寻找某些关键字,它们是同一句子中的名词,其中包含主题的一个词?这将使您的调查更容易。
  • 与此同时,我在谷歌上搜索,发现 Tagaroo 和 openCalais 是我正在寻找的最接近的匹配项。就像 Tagaroo 如何建议一些与我在博客中所写内容相匹配的关键字一样,如果可以对网络表单中的内容进行同样的操作,那就太棒了。基本上我在看自动标记/民俗学/自动元数据等。我只需要知道如何使用什么工具。谢谢!

标签: python nlp classification tagging folksonomy


【解决方案1】:

一种基于信息论的简单方法:

给定一个文本语料库(在您的示例中,如果可能的话,大约 > 1.000 封电子邮件),计算语料库中每个不同单词的 the entropy

对结果进行排序,只保留最相关的 XX,然后你就有了你的标记方案。

我曾经在 python 中使用两种不同语言中相同文本的单词的交叉熵进行统计翻译,并且效果相当好。

【讨论】:

    【解决方案2】:

    可能有点矫枉过正,但这种任务可能可以通过 Python 库 Natural Language Toolkit - http://nltk.org/ 解决

    【讨论】:

      【解决方案3】:

      我不是专家,但您似乎确实需要定义“关键术语”、“相关性”等概念,然后在其上放置一个排名算法。这听起来像是在做 NLP,据我所知,有一个名为 NLTK 的 python 包可能在这个领域很有用。希望对您有所帮助!

      【讨论】:

        【解决方案4】:

        正如其他人所说,NLTK 可能是在 Python 中进行 NLP 的首选工具。

        至于技术,您正在寻找词对之间的相似度度量。对于文本中的每个单词,计算标题中包含内容的单词,并保留前 N 个单词。查看this paper 以了解有关方法的调查,并了解 NLTK 在功能方面为您提供了什么。不过,有大量关于这些东西的研究,你可能会对相当简单的东西感到满意(具体取决于你的应用程序是什么)。 Point-wise mutual information 通常是一个很好的起点。

        【讨论】:

          猜你喜欢
          • 2015-09-01
          • 2013-01-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-06
          相关资源
          最近更新 更多