自然语言处理指南(下)


阅读前,一定要检查一下Part 1这里。

文档分类

在本节中,我们将包括测量和识别文档的技术和库。例如,他们可以检测出一个文档是用哪种语言写的,或者衡量阅读它有多困难。

文本度量

一篇文章有两个很容易实现的标准:阅读时间和文章难度。这些测量有助于告知读者或帮助作者检查文档是否符合某些标准,例如是否适合年轻读者(即低难度)。

阅读时间

测量文本阅读时间的最简单方法是计算文档中的单词,然后用预定义的每分钟字数(wpm)编号。每分钟字数代表平均读者在一分钟内阅读的字数。因此,如果一个文本有1000个单词,并且wpm设置为200,那么这个文本将需要5分钟来阅读。

这很容易理解,也容易实现。问题是你必须选择正确的wpm速率,并且该速率根据每种语言而变化。例如,英语读者可能读230每分钟,但法语读者可能改为读200每分钟。这与单词的长度和语言的自然流动有关(即一种语言可能比另一种语言更简洁;例如,它可能经常省略主题)。

第一个问题很容易解决。就英语而言,大多数估计认为正确的wpm在200到230之间。然而,仍然存在处理不同语言的问题。这要求对每种语言都有正确的数据,并且能够理解书写文本的语言。

为了缓解这两个问题,您可以选择使用a measurement of characters count以便估计阅读时间。基本上,你去掉标点和空格,然后计算字符数,再除以900-1000。

从语言学的角度来看,这项措施意义不大,因为人们不读单个字符。然而,通过计算字符,语言之间的差异就不那么明显了。例如,一个agglutinative language可能有很长的单词,因此很少。因此,它以类似于英语这样的融合语言的字符数结束。

这种方法效果更好,因为每种语言的字符阅读速度的差异在总速度中所占的百分比更小。例如,想象一下,典型的英语读者能读200 wpm和950 cpm,而典型的法语读者能读250 wpm和1,000 cpm。绝对差异是相同的,但它与阅读字符的相关性较小。当然,这仍不理想,但这是一个简单的解决方案。

这两项措施都没有考虑到文本的难度。难以阅读的文本需要更多的时间来阅读,即使字数或字符数相同。

计算文本的可读性

通常,文本可读性的计算与教育程度(即受教育年限)相关。因此,简单的文本可能是四年级学生可以阅读的,而难的文本可能需要十年级教育。这既是算法是为了教育目的而产生的副产品,也是教育是对难度进行排名的有用锚。说一个文本在绝对意义上是困难的,这有点没有意义;说七年级学生很难学更有意义。

有几个公式,但它们通常都是基于单词和句子的数量以及音节或困难单词的数量。让我们来看看两个最著名的:弗莱舍-金凯和戴尔-查尔。

这两个公式都不完美,但都经过了科学测试。唯一的警告是,它们应该只用于检查,而不是作为指导方针。如果你正常写作,它们就能工作。如果您试图编辑文本以降低分数,结果可能不正确。例如,如果你用短词只是为了让一篇文章看起来简单,它看起来就很糟糕。

弗莱斯-金凯可读性公式

这个公式有两种变体:轻松阅读弗莱舍-金凯等级。它们是等价的,但是一个输出分数(分数越高,文本越容易),另一个输出相应的美国等级。我们要展示第一个。

Image title

可读性通常在100到20之间。100分的结果表示一份11岁学生容易理解的文件,而30分或更少的结果表示一份适合大学毕业生的文件。您可以在中找到完整的解释和排名表How to Write Plain English

不同的参数很容易获得。仅仅计算音节的总数就需要大量的工作。好消息是它实际上是可行的,并且有一个可靠的算法。坏消息是《特克斯》(梁育刚)的作者wrote his PhD thesis about his hyphenation algorithm。您可以在中找到该算法的实现和易于理解的解释Hyphenopoly.js。这两个问题是等价的,因为你只能在两个音节之间把一个单词分成两部分。

另一种方法是使用黑客:不是计算音节,而是计算元音。据报道,这种黑客攻击对英语有效,但它不适用于其他语言——尽管如果你使用它,你就失去了公式的科学有效性,你只能得到一个稍微准确的数字。

公式的一般结构已经应用于其他语言(即Flesch-Vacca for Italian),但是每种语言都有不同的系数。

戴尔-查尔可读性公式

这个公式也依赖于单词和句子的数量,但是它使用的不是音节,而是文本中出现的困难单词的数量。

一个难词被定义为不属于80%的四年级学生理解的3000个简单单词的列表。

Image title

因此,该公式易于使用和计算。唯一的不便是你必须维护一个包含这3000个单词的数据库。我们不知道这个公式已被改编成英语以外的其他语言。

该公式通常输出4到10之间的分数。小于5表示适合四年级学生的课文,大于等于9表示适合大学生的课文。您可以在以下网址找到完整的结果表The New Dale-Chall Readability Formula

很自然地认为你可以修改公式,来计算理解专业文本的难度。也就是说,你可以把难词定义为属于技术术语的词。例如,你可以根据一篇文章中包含的计算机行话来计算它对于一个普通人来说有多难理解。像这样的词解析器或者编译程序可能会很困难计算机或者老鼠可能被认为很容易。这可能行得通;然而,你必须自己计算正确的系数。

结论

第二部分到此为止!Next time, we'll talk more about understanding topics, and introduce generating summaries, graph-based methods, latent semantic analysis等等。