tags - 如何自动标记所需的内容,算法和建议

标签 tags nlp tagging

我正在使用一些非常大型的报纸文章数据库,它们都存在于MySQL数据库中,并且我可以全部查询。

我现在正在寻找方法来帮助我用一些描述性标签来标记这些文章。

所有这些文章都可以通过如下所示的URL访问:

http://web.site/CATEGORY/this-is-the-title-slug

因此,至少我可以使用类别来确定我们正在使用的内容类型。但是,我也想基于文章文本进行标记。

我最初的方法是这样做的:
  • 获取所有文章
  • 获取所有单词,删除所有标点符号,按空格分割,然后按出现次数进行计数
  • 分析它们,并过滤掉常见的非描述性词,例如“它们”,“I”,“此”,“这些”,“它们的”等。
  • 当所有常用词都被过滤掉时,剩下的唯一是具有标签值(value)的词。

  • 但是,事实证明这是一项相当手动的任务,而不是一种非常漂亮或有用的方法。

    这也受到单词或名称被空格分隔的问题的困扰,例如,如果1.000文章包含名称“John Doe”,而1.000文章包含名称“John Hanson”,则我只会得到单词“John”而不是他的名字和姓氏。

    最佳答案

    自动标记文章确实是一个研究问题,当其他人已经完成许多工作时,您可以花费大量时间重新发明轮子。我建议使用现有的自然语言处理工具箱之一,例如NLTK

    首先,我建议您考虑实现一个合适的Tokeniser(比按空格分割要好得多),然后研究Chunking和Stemming算法。

    您可能还需要计算n-grams的频率,即一系列单词,而不是单个单词。这将解决“单词被空格分隔”的问题。 NLTK之类的工具包具有为此内置的功能。

    最后,随着迭代地改进算法,您可能希望对数据库的一个随机子集进行训练,然后尝试使用该算法如何标记其余文章集,以查看其效果如何。

    关于tags - 如何自动标记所需的内容,算法和建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039238/

    相关文章:

    google-analytics - 谷歌标签管理器和谷歌分析有什么区别?

    php - 将标签与数据库分开

    python - nltk 句子标记器,将新行视为句子边界

    amazon-web-services - 如何通过 CloudFormation 通过实例元数据服务启用 ec2 标签访问

    image-processing - 需要一个自动图像标记 API,有什么建议吗?

    emacs - 如何在 emacs 中标记文本

    tags - 如何仅显示今天日期的 InfluxDb 标签?

    MySQL 自然语言搜索没有像我希望的那样工作

    .net - .NET 自然语言处理工具包

    swift - 使用 Swift 在图像上显示标记的用户名