如何理解Mallet中Topic Model类的输出?

Mat*_*att 8 machine-learning mallet

当我在主题建模开发人员指南中尝试示例代码时,我真的想了解该代码输出的含义.

首先在运行过程中,它给出:

Coded LDA: 10 topics, 4 topic bits, 1111 topic mask
max tokens: 148
total tokens: 1333
<10> LL/token: -9,24097
<20> LL/token: -9,1026
<30> LL/token: -8,95386
<40> LL/token: -8,75353

0   0,5 battle union confederate tennessee american states 
1   0,5 hawes sunderland echo war paper commonwealth 
2   0,5 test including cricket australian hill career 
3   0,5 average equipartition theorem law energy system 
4   0,5 kentucky army grant gen confederates buell 
5   0,5 years yard national thylacine wilderness parks 
6   0,5 gunnhild norway life extinct gilbert thespis 
7   0,5 zinta role hindi actress film indian 
8   0,5 rings south ring dust 2 uranus 
9   0,5 tasmanian back time sullivan london century 

<50> LL/token: -8,59033
<60> LL/token: -8,63711
<70> LL/token: -8,56168
<80> LL/token: -8,57189
<90> LL/token: -8,46669

0   0,5 battle union confederate tennessee united numerous 
1   0,5 hawes sunderland echo paper commonwealth early 
2   0,5 test cricket south australian hill england 
3   0,5 average equipartition theorem law energy system 
4   0,5 kentucky army grant gen war time 
5   0,5 yard national thylacine years wilderness tasmanian 
6   0,5 including gunnhild norway life time thespis 
7   0,5 zinta role hindi actress film indian 
8   0,5 rings ring dust 2 uranus survived 
9   0,5 back london modern sullivan gilbert needham 

<100> LL/token: -8,49005
<110> LL/token: -8,57995
<120> LL/token: -8,55601
<130> LL/token: -8,50673
<140> LL/token: -8,46388

0   0,5 battle union confederate tennessee war united 
1   0,5 sunderland echo paper edward england world 
2   0,5 test cricket south australian hill record 
3   0,5 average equipartition theorem energy system kinetic 
4   0,5 hawes kentucky army gen grant confederates 
5   0,5 years yard national thylacine wilderness tasmanian 
6   0,5 gunnhild norway including king life devil 
7   0,5 zinta role hindi actress film indian 
8   0,5 rings ring dust 2 uranus number 
9   0,5 london sullivan gilbert thespis back mother 

<150> LL/token: -8,51129
<160> LL/token: -8,50269
<170> LL/token: -8,44308
<180> LL/token: -8,47441
<190> LL/token: -8,62186

0   0,5 battle union confederate grant tennessee numerous 
1   0,5 sunderland echo survived paper edward england 
2   0,5 test cricket south australian hill park 
3   0,5 average equipartition theorem energy system law 
4   0,5 hawes kentucky army gen time confederates 
5   0,5 yard national thylacine years wilderness tasmanian 
6   0,5 gunnhild including norway life king time 
7   0,5 zinta role hindi actress film indian 
8   0,5 rings ring dust 2 uranus number 
9   0,5 back london sullivan gilbert thespis 3 

<200> LL/token: -8,54771

Total time: 6 seconds
Run Code Online (Sandbox Code Playgroud)

所以问题1:什么是"编码LDA:10个主题,4位的话题,1111话题面具"中的第一行是什么意思?我只知道"10个主题"是什么.

问题2:"<10> LL /令牌:-9,24097 <20> LL /令牌:-9,1026 <30> LL /令牌:-8,95386 <40> LL /令牌中的LL /令牌是什么: - 8,75353"是什么意思?它似乎是吉布斯采样的一个指标.但是它不是单调增加的吗?

之后,打印出以下内容:

elizabeth-9 needham-9 died-7 3-9 1731-6 mother-6 needham-9 english-7 procuress-6 brothel-4 keeper-9 18th-8.......
0   0.008   battle (8) union (7) confederate (6) grant (4) tennessee (4) 
1   0.008   sunderland (6) years (6) echo (5) survived (3) paper (3) 
2   0.040   test (6) cricket (5) hill (4) park (3) career (3) 
3   0.008   average (6) equipartition (6) system (5) theorem (5) law (4) 
4   0.073   hawes (7) kentucky (6) army (5) gen (4) war (4) 
5   0.008   yard (6) national (6) thylacine (5) wilderness (4) tasmanian (4) 
6   0.202   gunnhild (5) norway (4) life (4) including (3) king (3) 
7   0.202   zinta (4) role (3) hindi (3) actress (3) film (3) 
8   0.040   rings (10) ring (3) dust (3) 2 (3) uranus (3) 
9   0.411   london (4) sullivan (3) gilbert (3) thespis (3) back (3) 
0   0.55
Run Code Online (Sandbox Code Playgroud)

这部分的第一行可能是令牌主题分配,对吧?

问题3:对于第一个主题,

0   0.008   battle (8) union (7) confederate (6) grant (4) tennessee (4)   
Run Code Online (Sandbox Code Playgroud)

0.008被称为"主题分布",是否是整个语料库中该主题的分布?然后似乎存在冲突:如上所示的主题0将使其令牌出现在copus 8 + 7 + 6 + 4 + 4 + ...次; 并且在比较中,主题7在语料库中识别出4 + 3 + 3 + 3 + 3 ......次.因此,主题7应该比主题0具有更低的分布.这是我无法理解的.更进一步,最后的"0 0.55"是什么?

非常感谢您阅读这篇长篇文章.希望你能回答它并希望这对其他对Mallet感兴趣的人有所帮助.

最好

Ben*_*Ben 6

我认为我不足以给出一个非常完整的答案,但是这里有一些答案......对于Q1,您可以检查一些代码以查看这些值是如何计算的.对于Q2,LL是模型的对数可能性除以令牌的总数,这是对数据给出模型的可能性的度量.增加值意味着模型正在改进.这些也可以在R主题建模的包中找到.Q2,是的,我认为第一行是正确的.Q3,好问题,我不是很清楚,也许(x)是某种索引,令牌频率似乎不太可能......大概这些都是某种类型的诊断.

可以获得一组更有用的诊断,利用bin\mallet run cc.mallet.topics.tui.TopicTrainer ...your various options... --diagnostics-file diagnostics.xml它可以产生大量的主题质量度量.他们绝对值得一试.

关于所有这些的完整故事,我建议给普林斯顿的David Mimno写一封电子邮件,他是MALLET的主要维护者,或者通过http://blog.gmane.org/gmane列表给他写信..comp.ai.mallet.devel然后在这里发回答案给我们这些好奇MALLET内部运作的人...

  • 我听说有人在看这篇文章-我现在在康奈尔大学,而不是普林斯顿大学,我关注带有#mallet标记的SO帖子,这比电子邮件要好得多。 (2认同)