使用Python的NLTK,我设法从博客文章中提取unigrams,bigrams,trigrams和quadgrams。我对整个网站的内容进行了深入研究,以找到在给定博客文章中讨论的正确主题。
我最终得到的结果如 article_topic = ['dog breeding']
现在,使用“养犬”术语的正确或最佳方式是什么,并找到相似长度的相关术语,例如,养狗计划,繁殖犬,犬繁殖等。
是否有API或图书馆帮助解决这个问题?
答案 0 :(得分:0)
如果您想根据主题对文档进行分类,那么进一步推进的一种方法是使用群集。
因此,我对数百个文档的数据集给出了类似的问题。 此外,我还获得了创建集群的所有主题。
工作 - 完成群集后,对于任何群集,群集中的所有文档都彼此密切相关,因为群集是根据其中找到的主题完成的。
如何 -
所以我遵循的指示是:</ strong>
1)使用tf-idf表示法 Link
以矢量形式表示每个文档
2)使用上面的矢量形式运行K-Means聚类算法
3)最后,您获得的任何新文档都会将其添加到群集中
4)现在您可以看出群集中的主题密切相关,因此您的新文档可以归入一个/多个主题。
更多信息 - Link
答案 1 :(得分:0)
你可以使用非常流行的语义向量(或word2vec)。使用此模型,您可以轻松地进行推断,以根据训练集获得最相似的单词(或主题)。您可以获得拥有10亿英语单词的Google预训练模型。但是,您也可以使用博客的标签训练自己的模型(对我来说很有意义)。
您可以使用Gensin库来完成。 https://radimrehurek.com/gensim/models/word2vec.html