代码之家  ›  专栏  ›  技术社区  ›  Alex Mcp

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

  •  10
  • Alex Mcp  · 技术社区  · 14 年前

    我的第一关是开始做一个常用词列表。这就击倒了像 a , the , from

    一个想法是生成这个列表:对语料库的词频做一个直方图,去掉前10%或类似的词频(即 这个 发生700次, 600次,但是 micropayments 只有50,这是在截止线以下,因此相关)。

    Tf idf ,看起来会有帮助。

    还有什么方法比我的两个想法更有效?

    4 回复  |  直到 14 年前
        1
  •  6
  •   Bolo    14 年前

    看一看 this article ( ,发表于 ).

    唐吉诃德 “但是”和“吉诃德”这两个词出现的频率相似,但它们的光谱却大不相同(“吉诃德”的出现是聚集的,而“但是”的出现是更均匀的分布)。因此,“吉诃德”可以被归类为一个有趣的词(关键字),而“但是”被忽略。

    它可能是你想要的,也可能不是你想要的,但我想熟悉这个结果不会有什么坏处。

        2
  •  3
  •   Jérémie    14 年前

    什么是大量数据?好吧,如果你在分析文学文本,那么你会想从古腾堡下载和处理几千本书。但如果你在分析法律文本,那么你就必须特别输入法律书籍的内容。

    例如, 在网络分析领域也称为 ,可能会引起特别的兴趣。它们是在给定的文本中只出现一次的单词。例如,在詹姆斯乔伊斯的 尤利西斯 ,这些词只出现一次:后遗症,腐蚀性,罗马人,宏观世界,音调,压缩性,aungier。它们不是统计上不可能的短语(就像“利奥波德布鲁姆”一样),所以它们不是书的特征。但这些术语非常罕见,在这位作家的表达中只出现过一次,所以你可以认为它们在某种程度上代表了他的表达。这些词与“the”、“color”、“bad”等常用词不同,他明确表示要使用这些词。

    所以这是一个有趣的人工制品,问题是,它们很容易提取(比如具有恒定内存的O(N)),不像其他更复杂的指示符(如果你想要更频繁的元素,那么你可以选择2只老鼠,…,10只老鼠,它们同样容易提取。)

        3
  •  3
  •   Nick Johnson    14 年前

    句子 除了上面的优秀参考资料,这里没有文字,而是一个简单的方案:

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

    现在,对于输入文档中的每个句子,遍历马尔可夫链。计算看到句子的概率,方法是将你在遍历句子链时遇到的所有概率相乘。这可以让你估计这个句子在输入语料库中的“可能性”。你可能想用这个概率乘以句子的长度,因为从统计学上讲,句子越长的可能性越小。