- 把你所有的文本,并建立一个单词列表。简单的方法:采取所有的话。困难的方法:只采取相关的措施(即:用英语表示,“这个词从来就不是一个经常使用的相关词)。假设你的词汇量中有V字。
- 对于每个文本,建立一个大小为V * V的邻接矩阵A.行A(i)表示你的词汇中的单词与第i个单词V(i)有多接近。例如,如果V(i)=“滑雪”,则A(i,j)是单词V(j)与单词“滑雪”的接近程度。你更喜欢一个小词汇!
技术细节: 对于词汇,你有几种可能性来获得一个良好的词汇。不幸的是,我不记得名字。其中之一是删除经常出现的字词。相反,你应该保留少数文本中出现的罕见词汇。但是,保存完全在一个文本中的文字是没有用的。
对于邻接矩阵来说,通过计算你正在考虑的单词有多远来计算邻接关系(指出分隔它们的单词的数量)。例如,让我们用你的文字很=)
一个方法相比风格的是寻找类似的短语。如果我在一本书“钓鱼,滑雪和徒步旅行”中找到几本书,并在另一本书“钓鱼,徒步旅行和滑雪”中找到风格的相似性指向一位作者。不过,我也需要找到“钓鱼,甚至是滑雪或徒步旅行”。理想情况下,我还会发现“钓鱼,徒步旅行和滑雪”,但因为它们是非英文文本(Koine 希腊文),所以同义词很难容许,而且这方面并不重要。
这些完全由值:
A(方法,比较)+ = 1.0
A(方法,相似性)+ = 0.5
A(方法,希腊语)+ = 0。0
您主要需要“典型距离”。你可以举例说,在20个分词之后,这些词不能再被认为是相邻的。
经过一些归一化之后,只需在两个文本的邻接矩阵之间建立一个L2距离即可看到它们有多接近。事后你可以做更有趣的事情,但这应该会产生可接受的结果。现在,如果你有同义词,你可以更好地更新邻接关系。例如,如果你有在输入 “美丽的少女”,然后
A(美观,少女)+ = 1.0
A(宏伟,少女)+ = 0.9
A(公平,少女)+ = 0.8
甲(高妙,处女)+ = 0.8
...