我正在使用一些非常大型的报纸文章数据库,它们都存在于MySQL数据库中,并且我可以全部查询。
我现在正在寻找方法来帮助我用一些描述性标签来标记这些文章。
所有这些文章都可以通过如下所示的URL访问:
http://web.site/CATEGORY/this-is-the-title-slug
因此,至少我可以使用类别来确定我们正在使用的内容类型。但是,我也想基于文章文本进行标记。
我最初的方法是这样做的:
但是,事实证明这是一项相当手动的任务,而不是一种非常漂亮或有用的方法。
这也受到单词或名称被空格分隔的问题的困扰,例如,如果1.000文章包含名称“John Doe”,而1.000文章包含名称“John Hanson”,则我只会得到单词“John”而不是他的名字和姓氏。
最佳答案
自动标记文章确实是一个研究问题,当其他人已经完成许多工作时,您可以花费大量时间重新发明轮子。我建议使用现有的自然语言处理工具箱之一,例如NLTK。
首先,我建议您考虑实现一个合适的Tokeniser(比按空格分割要好得多),然后研究Chunking和Stemming算法。
您可能还需要计算n-grams的频率,即一系列单词,而不是单个单词。这将解决“单词被空格分隔”的问题。 NLTK之类的工具包具有为此内置的功能。
最后,随着迭代地改进算法,您可能希望对数据库的一个随机子集进行训练,然后尝试使用该算法如何标记其余文章集,以查看其效果如何。
关于tags - 如何自动标记所需的内容,算法和建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039238/