一、如何评价语言模型的好坏

  标准:比起语法不通的、不太可能出现的句子,是否为“真实”或"比较可能出现的”句子分配更高的概率

  过程:先在训练数据集上训练模型的参数,然后在测试数据集上测试模型的效果。

  要求:测试数据集与训练数据集完全不同

  评价指标:用以评价模型的测试数据集上的效果

二、N-gram 模型的外部评测

1. 比较两个模型最好的评价方法:

  • 将两个模型A和B应用于同一个任务:拼写检查、语音识别、机器翻译等
  • 运行这个任务,分别得到A和B的准确性:有多少个拼写错误的单词被恰当的纠正了?或者有多少单词被准确翻译了?
  • 比较A和B的准确率,哪个更高,哪个模型就更好

2. 难点

  • 非常耗时,可能需要好几天甚至几个星期

三、N-gram 模型的内部评测

由于外部评测会非常耗时,所以我们有时候采用内部评测,也就是perplexity,其不需要任何其他的应用,只依赖于模型本身。

但是perlexity对于外部评测来说非常不好,除非测试数据跟训练数据非常相似,所以其一般只适用于预实验(中间实验)。

例1:预测下一个单词时,模型的表现如何?

当要求预测以上内容时,一个好的模型应该给实际上出现的答案分配更高的概率。

发现:unigrams在这个任务上非常不好。

一个最好的模型应该是能在非可见的测试数据集上预测最准的那个模型,即在给出的所有句子的概率中正确的句子的概率最高。

定义:Perplexity是测试数据集上的概率矩阵,并用来单词数做了归一化

要求:最小化perplexity,即PP(W)。实质上,跟要求最大化概率是一样的。

例2:识别数字‘0,1,2,3,4,5,6,7,8,9’有多难?

比如以上这个任务的perplexity就是10

定义:Perplexity是带权重的分支因子。

验证

假定有一个句子是由N个随机数字组成,每个数字的概率是1/10,那么

【NLP_Stanford课堂】语言模型2的更多相关文章

  1. 【NLP_Stanford课堂】语言模型3

    一.产生句子 方法:Shannon Visualization Method 过程:根据概率,每次随机选择一个bigram,从而来产生一个句子 比如: 从句子开始标志的bigram开始,我们先有一个( ...

  2. 【NLP_Stanford课堂】语言模型1

    一.语言模型 旨在:给一个句子或一组词计算一个联合概率 作用: 机器翻译:用以区分翻译结果的好坏 拼写校正:某一个拼错的单词是这个单词的概率更大,所以校正 语音识别:语音识别出来是这个句子的概率更大 ...

  3. 【NLP_Stanford课堂】语言模型4

    平滑方法: 1. Add-1 smoothing 2. Add-k smoothing 设m=1/V,则有 从而每一项可以跟词汇表的大小相关 3. Unigram prior smoothing 将上 ...

  4. 【NLP_Stanford课堂】文本分类1

    文本分类实例:分辨垃圾邮件.文章作者识别.作者性别识别.电影评论情感识别(积极或消极).文章主题识别及任何可分类的任务. 一.文本分类问题定义: 输入: 一个文本d 一个固定的类别集合C={c1,c2 ...

  5. 【NLP_Stanford课堂】拼写校正

    在多种应用比如word中都有拼写检查和校正功能,具体步骤分为: 拼写错误检测 拼写错误校正: 自动校正:hte -> the 建议一个校正 建议多个校正 拼写错误类型: Non-word Err ...

  6. 【NLP_Stanford课堂】情感分析

    一.简介 实例: 电影评论.产品评论是positive还是negative 公众.消费者的信心是否在增加 公众对于候选人.社会事件等的倾向 预测股票市场的涨跌 Affective States又分为: ...

  7. 【NLP_Stanford课堂】文本分类2

    一.实验评估参数 实验数据本身可以分为是否属于某一个类(即correct和not correct),表示本身是否属于某一类别上,这是客观事实:又可以按照我们系统的输出是否属于某一个类(即selecte ...

  8. 【NLP_Stanford课堂】最小编辑距离

    一.什么是最小编辑距离 最小编辑距离:是用以衡量两个字符串之间的相似度,是两个字符串之间的最小操作数,即从一个字符转换成另一个字符所需要的操作数,包括插入.删除和置换. 每个操作数的cost: 每个操 ...

  9. 【NLP_Stanford课堂】句子切分

    依照什么切分句子——标点符号 无歧义的:!?等 存在歧义的:. 英文中的.不止表示句号,也可能出现在句子中间,比如缩写Dr. 或者数字里的小数点4.3 解决方法:建立一个二元分类器: 检查“.” 判断 ...

随机推荐

  1. c# 闲谈异常处理

    今天在阅读 .net 源码时发现微软对所有使用枚举类型的地方对枚举值进行了检测,在检测不通过时抛出了异常. , )) { throw new InvalidEnumArgumentException( ...

  2. TR-069_Amendment-4:附录G.穿越NAT网关的连接请求方式

    注意:这种机制只适用于RFC 3489[21]中定义的经典STUN,RFC 5389引入后,这个机制已经过时.这个机制不是设计用于RFC 5389中定义的STUN.IPv6部署要么不使用NAT,要么以 ...

  3. SVM面经

    原始问题与对偶问题的关系 1,目标函数对原始问题是极大化,对对偶问题则是极小化 2,原始问题目标函数中的收益系数(优化函数中变量前面的系数)是对偶问题约束不等式中的右端常数,而原始问题约束不等式中的右 ...

  4. Android中直接打开高德APP进行导航

    1.判断是否安装有高德APP //高德APPprivate PackageManager mPackageManager;private static List<String> mPack ...

  5. Hibernate的查询的方式

    Hibernate的查询的方式 在Hibernate中提供了很多种的查询的方式.Hibernate共提供了五种查询方式. Hibernate的查询方式:OID查询 OID检索:Hibernate根据对 ...

  6. (转)【面试】【MySQL常见问题总结】【03】

    [常见面试问题总结目录>>>] [面试][MySQL常见问题总结][03] 2016-05-29 22:20 阅读(8244) 评论(2) [面试][MySQL常见问题总结][02] ...

  7. 如何正确且高效地中文汉化Spyder 2 或 Spyder3(图文详解)(博主推荐)

    不多说,直接上干货!   汉化下载和教程页面 : https://github.com/kingmo888/Spyder_Simplified_Chinese 汉化文件最新版直接下载 : https: ...

  8. Log4J2 配置文件模板及代码说明

    Log4j是Apache的著名项目,随着Java应用的越来越广泛,对日志性能等方面的要求也越来越高.Log4j的升级版本Log4j2在前些年发布.Log4J2的优点和好处有很多,可以自行搜索查阅相关文 ...

  9. C 标准库 - string.h之strspn使用

    strspn Returns the length of the initial portion of str1 which consists only of characters that are ...

  10. leetcode_173【二叉搜索树迭代器】

    实现一个二叉搜索树迭代器.你将使用二叉搜索树的根节点初始化迭代器. 调用 next() 将返回二叉搜索树中的下一个最小的数. 示例: BSTIterator iterator = new BSTIte ...