我正在研究一种估计 sentence difficulty 的算法,但我发现的方法似乎太旧了,无法利用现代计算机可以做的事情。
今天使用的算法大多是在 40 到 60 年前开发的。 Flesch-Kincaid 是最受欢迎的,并且仍然被国防部和许多州和企业用作文件标准。我查看了 Flesch-Kincaid 等级水平、Gunning Fog 指数、SMOG 指数、Fry 可读性公式和 Coleman-Liau 指数。
我决定使用自动可读性索引:
ARI = 4.71 * (characters / words) + .5 * (words / sentences) - 21.43;
在我看来,根据基于语料库的词频列表为每个单词分配一个值,然后将这些值应用到旧的可读性公式中并不困难。
这可以对前 1000 到 5000 个最常用的词进行。
此外,为某些不同类型的单词和词性制作单独的列表可能会很有效。连词的存在肯定是句子复杂性的标志。
是否有任何公式可以做到这一点?
最佳答案
当您在机器学习公式中看到硬编码常量时,请保持怀疑......
Automated Readability Index 中的数字表示适合用于构建它的数据集的模型以及选择用来表示它的特征。
除了适用性之外,我认为作为一种常见的衡量标准,校准到学校年级是另一个好处。
您将词频添加到可读性中的想法听起来是一个很棒的功能。毕竟,一个简单语法的句子中的一个陌生单词可能会使它变得不可读。
给定词频,您应该选择表示句子的方式。示例可能是整个句子的概率、不常见单词的数量、最小频率等。
然后你应该建立一个数据集并从中学习模型的参数。最直接的方法是使用手动标记的句子数据集以提高可读性。但是,构建这样的数据集似乎非常耗时。
您可以通过使用一些可读性水平一般已知的来源来绕过这个问题,并根据来源标记句子的可读性。
例如,来自 simple English wikipedia 的句子应该比来自维基百科的句子更具可读性。其他常见可读性级别的来源可以是华尔街日报和网络论坛。
对这些句子进行一些手动标记,以对齐和校准您的可读性值。
通过使用此技术,您可以权衡标签数量的标签准确性。由于已经证明可以在存在白噪声甚至恶意错误的情况下进行机器学习,因此这种权衡通常是有益的。
关于machine-learning - 最新的句子可读性算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13795019/