4

我正在寻找以下问题的可能简单的解决方案:

给定一个句子的输入,例如

"Absence makes the heart grow fonder."

生成一个基本单词列表,然后是它们的难度/复杂性

[["absence", 0.5], ["make", 0.05], ["the", 0.01"], ["grow", 0.1"], ["fond", 0.5]]

让我们假设

  • 句子中的所有单词都是有效的英语单词
  • 受欢迎程度是一种可接受的难度/复杂性衡量标准
  • 可以以任何建设性方式理解基本词(见下文)
  • 难度/复杂性从 0 分到 1 分 - 令人难以置信
  • 难度偏差是可以的,最好被误认为是容易而不是其他方式
  • 工作简单的解决方案优于完美但复杂的东西
  • [编辑]没有与用户的交互
  • [编辑]我们可以处理任何正确的英文输入
  • [编辑]一个词并不比它的基本形式更难(因为作为聪明的人,如果我们知道快乐,我们就会不快乐创造出来),除非它创造了一个新词(不太可能和喜欢不一样

总体思路:

我考虑使用 Google 搜索或Wordcount 之类的网站来估计可能表明其难度的单词流行度。但是,两种解决方案都会根据输入单词的形式给出不同的结果。谷歌给出了 316m 的结果,但 11m 的结果是foder ,而Wordcount给出了 6k 和 54k 的排名。

将单词转换为其基本形式不是必须的,但可以解决歧义问题(并且可以轻松创建字典链接),但这不是一项简单的任务,我觉得它的意义值得商榷。显然应该采用喜欢而不是喜欢,但是调查相信而不是难以置信似乎是一种矫枉过正([编辑]这可能不是最好的例子,但有一段时间在修改基本词时我们会创建一个新词,例如->可能) 和门卫之类的词不应该一分为二。

一些关于什么应该被认为是基本词的想法可以在维基百科上找到,但也许更简单的确定它的方法是使用字典。例如,根据dictionary.reference.com,难以置信是一个基本词,而喜爱来自喜爱,但成长与成长不同

解决方案的想法:

在我看来,处理该问题的最佳方法是使用字典查找基本单词,应用一些 Wikipedia 规则,然后使用 Wordcount(可能与 Google 搜索次数相结合)来估计难度。

尽管如此,可能(可能是更简单和更好的)方法或准备使用算法。我将不胜感激任何解决此问题且易于实施的解决方案。也许我只是想重新发明轮子(或者你知道我的方法会很好用,我在浪费时间思考而不是编写我所拥有的东西)。但是,我宁愿避免实施频率分析算法或准备文本语料库。

4

2 回答 2

3

一些术语:

  • 词的核心部分称为词干词根。稍后将详细介绍这种区别。您可以将词根/词干视为承载单词主要含义并将出现在字典中的部分。
  • (英文)大多数单词由一个词根(例外:像“windshield”这样的复合词)/一个词干和零个或多个词缀组成:词根/词干之后的词缀称为后缀,词根/之前的词缀词干称为前缀。示例:“驱动程序”=“驱动器”(根/词干)+后缀“-er”;“unkind”=“kind”(根/词干)+“un-”(前缀)。
  • 后缀/前缀(=词缀)可以是屈折的或派生的。例如,在英语中,第三人称单数动词s的末尾有一个:“I drive”但“He drive-s”。这些一致的后缀不会改变单词的类别:“drive”是动词,与屈折的“s”无关。另一方面,像“-er”这样的后缀是派生的:它需要一个动词(例如“drive”)并将其变成一个名词(例如“driver”)
  • 词干是没有任何屈折词缀的单词片段,而词根是没有任何派生词缀的单词片段。例如,复数名词“drivers”可分解为“drive”(词根)+“er”(派生词缀,形成新词干“driver”)+“s”(复数)。
  • 派生单词“基本”形式的过程称为“词干”。

所以,有了这个术语,对于你的任务来说,最有用的事情似乎是阻止你遇到的每一种形式,即删除所有的屈折词缀,并保留派生词缀,因为派生词缀可以改变这个词的常见程度被认为是。想一想:如果我用英语告诉你一个新词,你总是知道如何使它复数,第三人称单数,但是,您可能不知道可以从中派生出的其他一些词)。英语是一种缺乏屈折变化的语言,不需要担心很多屈折变化后缀(谷歌搜索很好地去除了它们,所以也许你可以通过谷歌搜索运行你的词表来使用谷歌的词干引擎得到突出显示的结果):

  • 第三个单数动词-s:“I drive”/“He drive-s”
  • 名词复数 `-s':“One wug”/“Two wug-s”。注意这里有一些不规则的形式,比如“孩子”、“牛”、“鹅”等,我想我不会担心这些。
  • 动词过去时形式和分词形式。常规的很容易:过去时有-ed过去时和过去分词(“I walk”/“I walk-ed”/“I had walk-ed”),但有很多不规则的(fall/跌倒/跌倒,潜水/鸽子/潜水?等)。也许列出这些?
  • 动词-ing形式:“walk”/“walk-ing”
  • 形容词比较级-er和最高级-est。有一些不规则的/补充的(“好”/“更好”/“最好”),但这些不应该是一个大问题。

这些是英语中主要的屈折词缀:我可能忘记了一些你可以通过阅读语言学入门书籍来发现的。还有一些边缘情况,例如“un-”,它是如此混杂,以至于我们可能认为它是屈折的。有关这些类型的更多信息,请参阅Level 1 vs. Level 2 affixation,但出于您的目的,我会将这些情况视为派生,而不是阻止它们。

至于“分级”各种词干的常见程度,除了谷歌之外,您还可以使用各种免费提供的文本语料库。链接到的维基百科文章有一些免费语料库的链接,您可以通过谷歌搜索找到更多链接。从这些语料库中,您可以构建每个词干的频率计数,并使用它来判断形式的常见程度。

于 2013-04-13T17:25:42.030 回答
0

对于寻找“基本”表格的任务,恐怕没有简单的解决方案。我的基础是我对机器学习教科书的记忆,其中语言分析是其中的一部分。您需要一些数据库,您可以从中获取它们。

同时,请注意,人们在日常语言中使用的词汇量并不大。您可以随时询问用户您从未见过的世界的基本形式是什么。(除非这是你的作业,它会被自动检查)

最终,如果您不关心覆盖所有单词,您可以创建简单的数据库,其中包含最常见单词的不同形式,然后尝试对不太常见的单词使用语法规则(这将是一个很好的近似,实际上,英语中最常见的单词是不规则的,而不常见的单词是规则的,因为它们的原始形式已被遗忘)。

但是请注意,我不是专家,我只是想提供帮助:-)

于 2013-04-13T15:06:03.333 回答