如何才能从语料库中找到“有趣”的单词?

时间:2010-08-13 20:19:06

标签: algorithm parsing language-agnostic lexical-analysis

我在解析句子。我想知道每个句子的相关内容,松散地定义为与语料库其余部分相关的“半独特词语”。与亚马逊的“统计上不太可能的短语”类似的东西,似乎(通常)通过奇怪的单词串传达一本书的特征。

我的第一步是开始制作一个常用单词列表。这会轻而易举地解决诸如athefrom之类的问题。显然,事实证明这个列表会很长。

一个想法就是生成这个列表:制作语料库的单词频率的直方图,并删掉前10%或类似的东西(IE the出现700次,from 600次,但是micropayments只有50,这是截止的,因此是相关的。)

我刚才从黑客新闻中了解到的另一个算法是Tf idf,看起来可能会有所帮助。

还有哪些方法比我的两个想法更好?

4 个答案:

答案 0 :(得分:6)

查看this article单词级别统计数据:查找文学文本和符号序列中的关键字,发布于 Phys.Rev。E )。

第一页上的图片及其标题说明了重要的观察结果。在<堂>堂吉诃德中,单词“but”和“Quixote”出现的频率相似,但它们的光谱完全不同(“Quixote”的出现是聚集的,而“but”的出现则是更均匀的间隔) 。因此,“Quixote”可以被归类为有趣的词(关键词)而“but”被忽略。

它可能会或可能不是您正在寻找的东西,但我想熟悉这个结果并不会有什么坏处。

答案 1 :(得分:3)

我认为亚马逊称之为“Statiscal Improbable Phrases”的词语在他们巨大的数据库中是不可能的。实际上,即使一个单词在给定的书A中重复了1000次,如果该书是它出现的唯一地方,那么它就是一个SIP,因为它出现在任何给定书中的概率是zilch(因为它是具体到书A)。除非你自己处理大量数据,否则你无法真正复制这些丰富的数据来比较信息。

有什么数据?好吧,如果你正在分析文学文本,那么你会想要从古腾堡下载并处理几千本书。但是,如果您正在分析法律文本,那么您必须专门提供法律书籍的内容。

如果可能的情况是,您没有大量数据作为奢侈品,那么您必须以某种方式依赖频率分析。但不考虑相对频率(文本的分数,如通常所考虑的那样),而是考虑绝对频率。

例如,在网络分析域中也称为 1-mice hapax legomenon 可能特别令人感兴趣。它们是仅在给定文本中出现一次的单词。例如,在James Joyce的 Ulysses 中,这些词只出现一次:postexilic,腐蚀性,romanys,macrocosm,diaconal,compressibility,aungier。它们不是统计上不可能的短语(就像“Leopold Bloom”一样),所以它们没有描述这本书的特征。但是它们是非常罕见的术语,它们只出现在这位作家的表达中,所以你可以认为它们在某种程度上表现了他的表达。这些词语与“明白”,“颜色”,“坏”等常用词不同,他明确地试图使用。

所以这些是一个有趣的工件,事实是,它们很容易提取(想象O(N)具有恒定的记忆),不像其他更复杂的指标。 (如果你想要更频繁的元素,那么你可以转向2只老鼠,......,10只老鼠,同样容易提取。)

答案 2 :(得分:3)

TF-IDF是一种方法。如果你想谈论句子而不是单词,除了上面的优秀参考文献,这里有一个简单的方案:

从大型样本语料库中创建markov chain。简而言之,您可以通过记录输入文本中每个n元组的频率来构建马尔可夫链。例如,具有3元组的句子“this is a test”将是(this,is,a),(is,a,test)。然后,你按照前n-1个术语对每个n元组进行分组,这样你就可以回答这个问题“给定前面的n-1个单词,下一个单词的概率是多少?”

现在,对于输入文档中的每个句子,遍历马尔可夫链。通过将在遍历链时遇到的所有概率相乘来计算查看句子的概率。这可以估计出这个句子在输入语料库中的“可能性”。您可能希望将此概率乘以句子的长度,因为较长的句子在统计上较不可能。

现在,您已将输入中的每个句子与概率相关联。选择最不可能的句子 - 这些是'有趣的',对某些有趣的定义。

答案 3 :(得分:0)