Volume:Proceedings of the Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics: HLT-NAACL 2004
Authors:Kevyn Collins-Thompson | James P Callan 、
Year:2004
Venues:NAACL | HLT

数据不公开:
550英文document,12个等级,448715个token,17928个type,来自不同主题

1 introduction
公式的方法~线性回归模型
我们的统计模型~
1)捕捉每个单词的更细节的特征~我们在更短的文章甚至小于10个单词时,准确率也很高
2)统计的方法可以获得概率分布,而不仅仅是一个预测

2 Description of Web Corpus
token定义为任何一个word的出现
type定义为一个word字符串,无论出现多少次也只算一次
数据:550英文document,12个等级,448715个token,17928个type,来自不同主题
我们的假设是:即使文本内容的主题不一样,单词的使用模式和文本的难度是有明显关系的

3 Related Work
之前的可读性评价依赖于两个主要因素:
1)the familiarity of semantic units(words or phrases)语义单元的熟悉度,如word或短语
2)the complexity of syntax. 句法的复杂
最为常用的是‘vocabulary-based measures’:
使用一个单词列表来估计语法难度,而不是number of syllables in a word,例如以下都是用单词列别的一些类型来估计语法难度
the Lexile measure (Stenner et al., 1988)
the Revised Dale-Chall formula (Chall and Dale,1995)
the Fry Short Passage measure (Fry, 1990).
--Lexile (version 1.0) uses the Carroll- Davies-Richman corpus of 86,741 types (Carroll et al., 1971);
--Dale-Chall uses the Dale 3000 word list;
Fry's Short Passage Measure uses Dale & O'Rourke's
--‘The Living Word Vocabulary’ of 43,000 types (Dale
and O'Rourke, 1981)

和Si and Callan(2001)这篇最早的也是唯一的使用语言模型的方法相比:
2001:只使用了science一个主题,分为3个难度,贝叶斯,没有实现特征选择方法的分析,所以并不知道它们的分类是是否将话题预测和难度预测混为一谈
我们:不限主题,12个难度等级,训练集更大,也使用贝叶斯,但是每个类别并不是独立的,我们使用了混合等级模型,大大提高了准确率。也没有把句子长度作业一个句法成分。测试了特征提取以及模型的泛化能力

4 The Smoothed Unigram Model

多项式和ngram的理解~~~~嘻嘻~~

4 The Smoothed Unigram Model
我们根据12个等级训练了12个语言模型,模型是基于unigrams,假设给定难度等级的情况下一个token的概率适合周围的token无关的。一个unigram语言模型是由types列表和它们各自的概率所定义的。即使这个一个weak model,它也能够比更复杂的模型用更少的数据训练,最后得到好的准确率。
4.1 Prediction with Multinomial Naïve Bayes

5 Implementation
5.1 smoothing
在测试集中会不包含训练集里的一些类型或者是很少出现,这就需要在训练的模型中采用smoothing。因此,我们调整了概率分布,将观察到的类型的概率转移一部分到没出现或出现很少的类型中。
首先对每个等级的模型分别做smoothing,使用了Simple Good-Turing smoothing;接下来,唉等级语言模型之间使用的smoothing。这不是标准的文本分类方法,标准的文本分类方法是要把每个类别独立对待的。然而对于文本难度而言,我们假设nearbygrade models是高度相关的,因此即使在一个grade的训练数据当中不包含某个类型,我们也可以通过interpolating
estimates from nearby grade models来估计出它的概率。例如,如果type w旨在至少一个grade语言模型中出现过,我们可以在所有grade models中用带有高斯核的回归来做,得到一个平滑值P(w|G)。如果w没有在任何模型中出现过,就是用传统的semantic变量,用一个type length的函数来估计。

5.2 Feature Selection
第一步是去除停用词,也就是频率最高的types。但是因为在难度较低的文本里,停用词占了大多数,所以我们不去除停用词。
第二步是移除低频词,也就是每个模型中出现次数少于2-5次的词。但是因为我们做平滑的时候是在模型之间做的,所以我们选择了在整个语料中出现次数少于3次的词。
不想普通的文本分类场景,我们也希望避免highly grade-specific的类型。例如,在grade3 model中出现频率非常高的一个type却从来没有在其他model中出现过,就更可能是site-specific noise而不是genuine vocabulary item。因此我们去除了grade低于3的model里的任何出现过的types,无论出现的频率有多么高。我们基于剩下的types的预测特定grade的能力来对剩下的types进行打分。我们使用了lag-odds ratio的形式,它对多项式贝叶斯分类器有很好的性能。

5.3 Implementation Specifics
为了降低prediction variance,对模型做了两个改变
1)没有选择可能性最大的grde语言模型,而是计算了top N结果的加权平均,N=2,权重是似然概率的相对差异
2)考虑到更长的文本中的vocabulary variation,我们把document分成了100token组成的passages。然后对每个passage做了一个grade预测。之前有人的工作表明,一个文本75%的理解率是一个理想的目标,所以我们选择占到75%分布的对应的geade level来获得最后的预测,必要的时候要用到插值。

6 evaluation
评估包括model的四个方面
1)衡量在web语料上训练的模型在别的以前没有出现过的语料上的泛化能力
2)passage长度对accuracy的影响
3)评估额外的训练数据对模型accuracy的影响
4)model在别的语言中的适用能力,实验中用的法语
6.1 Overall Accuracy and Generalization Ability
对比的accuracy:
我们的mdoel
UNK:text中unknown的比例
types:per 100-token passage里的type即unique单词的个数
MLF:passage和大语料的相对log平均概率
FK:FK公式

我们的分类器性能超过了上述semantic difficulty,但是没有捕捉到syntactic information

6.2 Effect of Passage Length on Accuracy
结果:我们的model用的ngram,对passage长度不那么敏感,更能够捕捉word级别的难度,例如即使两个词有一样多的音节且都在~语料中出现同样的次数,模型也能够根据每个单词的grade usage来区分难度

6.3 Effect of Training Set Size on Accuracy

6.4 Application to French Web Pages
通过figure4可以看出,在level低时预测的难度偏高,可能是由于取top2的平均导致bias。

7 discussion
1)smoothing大大降低了对每个grade model的训练数据的要求
2)我们对grade level的相对概率而不是绝对概率感兴趣,这样更为合理,因为绝对概率对不同主题的训练数据model拟合的太近了
3)have normalized incoming types to accommodate the morphology of a language, the same core classifier approach may still be applicable, at least for some family of languages.

A Language Modeling Approach to Predicting Reading Difficulty-paer的更多相关文章

  1. 斯坦福大学自然语言处理第四课“语言模型(Language Modeling)”

    http://52opencourse.com/111/斯坦福大学自然语言处理第四课-语言模型(language-modeling) 一.课程介绍 斯坦福大学于2012年3月在Coursera启动了在 ...

  2. Recurrent Neural Network Language Modeling Toolkit代码学习

    Recurrent Neural Network Language Modeling Toolkit  工具使用点击打开链接 本博客地址:http://blog.csdn.net/wangxingin ...

  3. RNN and Language modeling in TensorFlow

    RNNs and Language modeling in TensorFlow From feed-forward to Recurrent Neural Networks (RNNs) In th ...

  4. 课程五(Sequence Models),第一 周(Recurrent Neural Networks) —— 2.Programming assignments:Dinosaur Island - Character-Level Language Modeling

    Character level language model - Dinosaurus land Welcome to Dinosaurus Island! 65 million years ago, ...

  5. Language Modeling with Gated Convolutional Networks

    语言模型 所谓的语言模型,即是指在得知前面的若干个单词的时候,下一个位置上出现的某个单词的概率. 最朴素的方法是N-gram语言模型,即当前位置只和前面N个位置的单词相关.如此,问题便是,N小了,语言 ...

  6. 【NLP】Conditional Language Modeling with Attention

    Review: Conditional LMs Note that, in the Encoder part, we reverse the input to the ‘RNN’ and it per ...

  7. NLP | 自然语言处理 - 语言模型(Language Modeling)

    转:http://blog.csdn.net/lanxu_yy/article/details/29918015 为什么需要语言模型? 想象“语音识别”这样的场景,机器通过一定的算法将语音转换为文字, ...

  8. 语言模型(Language Modeling)与统计语言模型

    1. n-grams 统计语言模型研究的是一个单词序列出现的概率分布(probability distribution).例如对于英语,全体英文单词构成整个状态空间(state space). 边缘概 ...

  9. Language Modeling with Gated Convolutional Networks(句子建模之门控CNN)--模型简介篇

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/liuchonge/article/deta ...

随机推荐

  1. 剑指offer(14)链表中倒数第K个节点

    题目描述 输入一个链表,输出该链表中倒数第k个节点. 题目分析 用两个指针来跑,两个指针中间相距k-1个节点,第一个指针先跑,跑到了第k个节点时,第二个指针则是第一个节点. 这时候两个一起跑.当第一个 ...

  2. SVN冲突以及解决办法

    1.冲突原因: 假设 A.B 两个用户都在版本号为 100 的时候,更新了 kingtuns.txt 这个文件,A 用户在修改完成之后提交 kingtuns.txt 到服务器, 这个时候提交成功,这个 ...

  3. iOS开发 -------- storyBoard实现控制器添加childViewController

    1 拖进去scrollView 添加约束(0,0,0,0);     2 更新scrollView约束,然后在scrollView上面加个view,设置其约束为(0,0,0,0) 和 水平滑动约束; ...

  4. (转载)Unity UGUI点击不同Button执行不同的方法(无参方法)

      将脚本随意挂在任何位置 但是这个btnParent一定是 按钮的父节点   脚本很简单自己敲一遍就全都明白了 上脚本 OnClickTest using UnityEngine; using Un ...

  5. Windows下命令行怎样登录MySQL

    直接cmd回车然后 “ mysql -u root -p  ”  登录时出现错误,原来是权限不够 打开cmd时需要以管理员的身份打开 然后继续使用 “ mysql -u root -p ” 还是不行, ...

  6. linux安装redis ,mariadb

    linux下安装软件方法 1 rpm (不推荐使用) 2 yum 安装(非常方便快捷) 3 编译安装(需要自定制的时候才使用) 安装mariadb(mysql) 1 使用官方源安装mariadb vi ...

  7. dedecms 在模版页面获取当前栏目id

    在模版中单独调用当前栏目id {dede:type}[field:ID /]{/dede:type} 在{dede:sql}中调用当前栏目id {dede:sql sql='Select * from ...

  8. day34 GIL锁 线程队列 线程池

    一.Gil锁(Global Interpreter Lock) python全局解释器锁,有了这个锁的存在,python解释器在同一时间内只能让一个进程中的一个线程去执行,这样python的多线程就无 ...

  9. React文档(十一)提升state

    经常有些组件需要映射同一个改变的数据.我们建议将共用的state提升至最近的同一个祖先元素.我们来看看这是怎样运作的. 在这一节中,我们会创建一个温度计算器来计算提供的水温是否足够沸腾. 我们先创建一 ...

  10. 阿里云ssh断开处理办法

    一.背景说明 1.1 墙外的吐槽 云是个好东西但我一直不觉是个有那么好的东西,因为就较多次的体验来看,用得很难受:如果要我来选我宁愿自建机房.要说难受的具体原因原来倒是没想得很清楚,现在想来网速慢不是 ...