基于潜在dirichlet分配的主题建模

lda的Python项目详细描述


pypi versiontravis-ci build statusZenodo citation

lda使用折叠gibbs实现潜在的dirichlet分配(lda) 取样。lda速度很快,在Linux、OS X和Windows上进行了测试。

您可以在the documentation中阅读有关lda的更多信息。

安装

pip install lda

开始

lda.LDA实现潜在的dirichlet分配(lda)。接口如下 在scikit-learn中找到约定。

下面演示如何检查路透社子集的模型 新闻数据集。下面的输入X是一个文档项矩阵(稀疏矩阵 被接受)。

>>>importnumpyasnp>>>importlda>>>importlda.datasets>>>X=lda.datasets.load_reuters()>>>vocab=lda.datasets.load_reuters_vocab()>>>titles=lda.datasets.load_reuters_titles()>>>X.shape(395,4258)>>>X.sum()84010>>>model=lda.LDA(n_topics=20,n_iter=1500,random_state=1)>>>model.fit(X)# model.fit_transform(X) is also available>>>topic_word=model.topic_word_# model.components_ also works>>>n_top_words=8>>>fori,topic_distinenumerate(topic_word):...topic_words=np.array(vocab)[np.argsort(topic_dist)][:-(n_top_words+1):-1]...print('Topic {}: {}'.format(i,' '.join(topic_words)))Topic0:britishchurchillsalemillionmajorletterswestbritainTopic1:churchgovernmentpoliticalcountrystatepeoplepartyagainstTopic2:elviskingfanspresleylifeconcertyoungdeathTopic3:yeltsinrussianrussiapresidentkremlinmoscowmichaeloperationTopic4:popevaticanpauljohnsurgeryhospitalpontiffromeTopic5:familyfuneralpolicemiamiversacecunanancityserviceTopic6:simpsonformeryearscourtpresidentwifesouthchurchTopic7:ordermothersuccessorelectionnunschurchnirmalaheadTopic8:charlesprincedianaroyalkingqueenparkerbowlesTopic9:filmfrenchfranceagainstbardotparisposteranimalTopic10:germanygermanwarnaziletterchristianbookjewsTopic11:eastpeaceprizeawardtimorquebecbeloleaderTopic12:n't life show told very love television fatherTopic13:yearsyeartimelastchurchworldpeoplesayTopic14:motherteresaheartcalcuttacharitynunhospitalmissionariesTopic15:citysalonikacapitalbuddhistculturalvietnambyzantineshowTopic16:musictouroperasingerisraelpeoplefilmisraeliTopic17:churchcatholicbernardincardinalbishopwrightdeathcancerTopic18:harrimanclintonu.sambassadorparispresidentchurchillfranceTopic19:citymuseumartexhibitioncenturymillionchurchesset

文档主题发行版位于model.doc_topic_中。

>>>doc_topic=model.doc_topic_>>>foriinrange(10):...print("{} (top topic: {})".format(titles[i],doc_topic[i].argmax()))0UK:PrinceCharlesspearheadsBritishroyalrevolution.LONDON1996-08-20(toptopic:8)1GERMANY:HistoricDresdenchurchrisingfromWW2ashes.DRESDEN,Germany1996-08-21(toptopic:13)2INDIA:MotherTeresa's condition said still unstable. CALCUTTA 1996-08-23 (top topic: 14)3UK:PalacewarnsBritishweeklyoverCharlespictures.LONDON1996-08-25(toptopic:8)4INDIA:MotherTeresa,slightlystronger,blessesnuns.CALCUTTA1996-08-25(toptopic:14)5INDIA:MotherTeresa's condition unchanged, thousands pray. CALCUTTA 1996-08-25 (top topic: 14)6INDIA:MotherTeresashowssignsofstrength,blessesnuns.CALCUTTA1996-08-26(toptopic:14)7INDIA:MotherTeresa's condition improves, many pray. CALCUTTA, India 1996-08-25 (top topic: 14)8INDIA:MotherTeresaimproves,nunsprayfor"miracle".CALCUTTA1996-08-26(toptopic:14)9UK:CharlesunderfireoverprospectofQueenCamilla.LONDON1996-08-26(toptopic:8)

要求

Python2.7或Python3.5+是必需的。需要以下软件包

警告

lda旨在简化。(它碰巧很快,因为基本部件是 用c语言通过Cython)编写。如果你正在使用一个非常大的语料库,你可以 希望使用更复杂的主题模型,如在hca中实现的那些 以及MALLEThca完全用c编写,MALLET用java编写。 与lda不同,hca一次可以使用多个处理器。MALLEThca实现已知比标准潜在模型更健壮的主题模型 迪里克利特分配。

注释

潜在的dirichlet分配在Blei et al. (2003)Pritchard et al. (2000)中描述。使用折叠gibbs采样的推断在 Griffiths and Steyvers (2004)

其他实现

许可证

lda是在mozilla公共许可的2.0版本下获得许可的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页