如何改进lda中不同主题的词分配

use*_*289 4 python nltk lda topic-modeling

我正在研究一种非英语的语言,并且我从不同来源收集了数据。我已经完成了预处理,如标点删除、停用词删除和标记化。现在我想提取特定领域的词典。假设我有与体育、娱乐等相关的数据,我想提取与这些特定领域相关的词,如板球等,并将它们放在密切相关的主题中。我试图为此使用 lda,但我没有得到正确的集群。同样在作为一个主题一部分的单词的集群中,它也出现在其他主题中。

我怎样才能改善我的结果?

 # URDU STOP WORDS REMOVAL
        doc_clean = []
        stopwords_corpus = UrduCorpusReader('./data', ['stopwords-ur.txt'])    
        stopwords = stopwords_corpus.words()
        # print(stopwords)
        for infile in (wordlists.fileids()):
            words = wordlists.words(infile)
            #print(words)


            finalized_words = remove_urdu_stopwords(stopwords, words)
            doc = doc_clean.append(finalized_words)

            print("\n==== WITHOUT STOPWORDS ===========\n")
            print(finalized_words)

            # making dictionary and corpus
        dictionary  = corpora.Dictionary(doc_clean)
        # convert tokenized documents into a document-term matrix
        matrx= [dictionary.doc2bow(text) for text in doc_clean]
        # generate LDA model
        lda = models.ldamodel.LdaModel(corpus=matrx, id2word=dictionary, num_topics=5, passes=10)
        for top in lda.print_topics():
                print("\n===topics from files===\n")
                print (top)
Run Code Online (Sandbox Code Playgroud)

Ken*_*HBS 6

LDA 及其缺点: LDA 的想法是 从您的语料库中发现潜在主题。这种无监督机器学习方法的一个缺点是,您最终会得到人类可能难以解释的主题。另一个缺点是您很可能最终会得到一些通用主题,包括出现在每个文档中的词(如“介绍”、“日期”、“作者”等)。第三,您将无法发现根本不够呈现的潜在主题。如果你只有 1 篇关于板球的文章,它不会被算法识别。

为什么 LDA 不适合您的情况:您正在搜索明确的主题,例如cricket并且想了解有关板球词汇的知识,对吗?但是,LDA 会输出一些主题,需要识别板球词汇以确定例如主题 5 与板球有关。通常,LDA 会识别与其他相关主题混合的主题。记住这一点,有三种情况:

  1. 您对板球一无所知,但您可以确定与板球有关的主题。
  2. 您是板球专家并且已经知道板球词汇
  3. 您对板球一无所知,也无法识别 LDA 生成的语义主题。

在第一种情况下,您会遇到问题,您很可能将单词与 cricket 联系起来,而这些词实际上与 cricket 无关,因为您依靠 LDA 输出提供与 cricket 相关而与其他无关的高质量主题相关主题或通用术语。在第二种情况下,您首先不需要分析,因为您已经知道板球词汇!当您依靠计算机来解释主题时,可能会出现第三种情况。但是,在 LDA 中,您总是依赖于人类对输出进行语义解释。

那么该怎么做:有一篇名为Targeted Topic Modeling for Focused Analysis (Wang 2016) 的论文,它试图确定哪些文档与预定义的主题(如板球)有关。如果您有一个主题列表,您希望获得一些特定主题的词汇(板球、篮球、浪漫喜剧等),那么起点可能是首先确定相关文档,然后继续分析单词——与某个主题相关的文档的分布。

请注意,也许有完全不同的方法可以完全满足您的要求。如果你想留在与 LDA 相关的文献中,我相对有信心我链接的文章是你最好的选择。

编辑:如果这个答案对你有用,你可能也会发现我的论文很有趣。它采用学术经济学论文的标记数据集(600 多个可能的标签)并尝试各种 LDA 风格以获得对新学术论文的最佳预测。存储库包含我的代码、文档以及论文本身