【问题标题】:How to Find the Main Topic of a Body of Text如何找到正文的主题
【发布时间】:2016-07-27 02:46:17
【问题描述】:

我知道在 NLP 中,确定一个句子或可能是一个段落的主题是一项挑战。但是,我正在尝试确定 Wikipedia 文章之类的标题可能是什么(当然不使用其他方法)。我唯一的办法是找到最常用的词。对于有关纽约市的文章,这些是最佳结果:

[('new', 429), ('city', 380), ('york', 361), ("'s", 177), ('manhattan', 90), ('world', 84), ('united', 78), ('states', 74), ('===', 70), ('island', 68), ('largest', 66), ('park', 64), ('also', 56), ('area', 52), ('american', 49)]

从这里我可以看到某种统计意义是从 361 急剧下降到 177。无论如何,我既不是统计专家,也不是 NLP 专家(事实上我在这两个方面都是菜鸟)所以 这是一种确定较长正文主题的可行方法。如果是这样,我在寻找什么数学来计算这个?如果没有,NLP 中是否有其他方法可以确定更大正文的主题或标题? 作为参考,我使用的是 nltk 和 Python 3。

【问题讨论】:

    标签: python python-3.x nlp nltk


    【解决方案1】:

    您可以考虑使用以下算法。这些是关键字提取算法

    TF-IDF

    TextRank

    Here 是一个让你开始在 ntlk 中使用 TF-IDF 的教程

    【讨论】:

    • 嗯?您在使用这些方法之前进行提取。
    【解决方案2】:

    如果您有足够的数据并希望为较大的文本(如段落或文章)设置主题,您可以使用主题建模方法,如 LDA

    Gensim 有一个易于使用的 LDA 实现。

    【讨论】:

    • 您能否提供一个教程链接或自己详细说明。
    • 这是gensim 的分步教程,如果您对 LDA 内部的工作方式更感兴趣,可以查看this
    • 如果我没有足够的数据怎么办?如果我想根据一句话提取主题,我该怎么办?
    • 那么最好的办法是解析并提取所有名词短语。您可以使用 spacy (spacy.io) 并从句子中获取 noun_chunks。看这里stackoverflow.com/questions/33289820/noun-phrases-with-spacy
    猜你喜欢
    • 2018-04-21
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2021-01-15
    • 2017-05-15
    • 2017-08-10
    相关资源
    最近更新 更多