语言无关 – 如何实现一个简单的马尔可夫模型来将作者分配给匿名文本?

假设我已从论坛中收集了帖子.然后我删除了所有用户名和签名,所以现在我只知道哪个帖子在哪个帖子但不是谁发布了什么,甚至有多少作者(尽管作者的数量不能大于文本的数量) .

我想使用马尔可夫模型(看看哪些单词/字母跟随哪些)来弄清楚有多少人使用过这个论坛,哪些帖子是由同一个人写的.为了大大简化,也许一个人倾向于说“他是”,而另一个人倾向于说“他是” – 我说的是模型与这种基本逻辑一起工作.

请注意数据有一些明显的问题:有些帖子可能很短(一个单词答案).它们可能是重复的(引用彼此或使用流行的论坛流行语).个别文本不是很长.

有人可能会怀疑一个人连续发帖很少,或者很可能人们更有可能在他们已发布的帖子中发帖.利用这个是可选的.

我们假设帖子是明文,没有标记,论坛上的每个人都使用英语.

我想获得所有文本T_i的距离矩阵,使得D_ij是文本T_i和文本T_j由同一作者基于单词/字符模式写入的概率.我打算使用这个距离矩阵来聚类文本,并提出诸如“撰写本文的人撰写了哪些其他文本?”之类的问题.

我将如何实际实现这一目标?我需要隐藏的MM吗?如果是这样,隐藏的状态是什么?我理解如何训练文本上的MM,然后生成类似的文本(例如,在仙境中生成爱丽丝)但是在我训练频率树之后,如何用它来检查文本以获得它生成的概率那棵树?在构建树时,我应该看一下字母或单词吗?

解决方法

我的建议是抛开关于距离矩阵的业务,首先考虑概率模型P(文本|作者).构建该模型是您工作中最难的部分;一旦你拥有它,你可以通过贝叶斯规则计算P(作者|文本).不要把车放在马前面:模型可能会或可能不会涉及各种距离指标或矩阵,但不要担心,只要让它脱离模型.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些