大家。
我有一个"优化"问题,我真的不知道应该采取哪种方式。这是我的问题描述:
我有一个包含大量文本句子的语料库。现在,我需要获得最少的句子记录(作为音频文件),但同时最大化从录制的句子形成的原始语料库中的句子数量 - 更准确地说是从录制的单词。
我需要做的一个非常简短的例子:
语料库:
涵盖原始语料库最大值的最小句子示例:
从上面的3个句子(和他们的单词)我们能够在语料库中形成其余的句子。当然,我正在寻找一些计算上最优的方法,因为我的语料库包含数千个句子。你知道任何适合这个问题的方法吗?
感谢您的回答!
Morphid
答案 0 :(得分:0)
如果您的语料库就像您显示的那样简单,并且您不需要创建句子,那么您可以只计算unigrams。如果它更复杂,请运行主题建模。主题建模将返回语料库中共同的单词。您需要将您的语料库放在一组文档中。在你的情况下,每个'文件'可以是一个句子。一个好的主题建模算法称为“潜在Dirichlet分配”(LDA)。
有关LDA的技术论文,请参阅Latent Dirichlet Allocation。
有关使用gensim库的示例Python代码的文章,请参阅Experiments on the English Wikipedia。
Jordan Barber的以下文章和示例代码Latent Dirichlet Allocation (LDA) with Python使用NLTK为LDA创建语料库和gensim。此代码更适用于除维基百科代码之外的其他应用程序。