在自然语言处理任务中,有时候需要计算两个字符串之间的相似度,也可以称作是两者之间的距离,用最小编辑距离表示. 最小编辑距离用{Insertion,Deletion,Substitution}这三种操作把一个字符串转化成另一个字符串所需的操作次数,等同于LeetCode上的第72题,描述如下: Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (…
Stanford NLP课程简介 1. NLP应用例子 问答系统: IBM Watson 信息提取(information extraction) 情感分析 机器翻译 2. NLP应用当前进展 很成熟:垃圾邮件检测,词性标注(POS),实体名称识别(Named Entity Recognition, NER) => 课程后面会讲 相对成熟:情感分析,指代消解(coreference resolution),词义消歧,句子成分解析(parsing),机器翻译, 信息提取 => 后面课程会讲 依然…
Stanford大学在2015年开设了一门Deep Learning for Natural Language Processing的课程,广受好评.并在2016年春季再次开课.我将开始这门课程的学习,并做好每节课的课程笔记放在博客上.争取做到每周一更吧. 本文是第一篇. NLP简介 NLP,全名Natural Language Processing(自然语言处理),是一门集计算机科学,人工智能,语言学三者于一身的交叉性学科.她的终极研究目标是让计算机能够处理甚至是"理解"人类的自然语…
1. 什么是情感分析(别名:观点提取,主题分析,情感挖掘...) 应用: 1)正面VS负面的影评(影片分类问题) 2)产品/品牌评价: Google产品搜索 3)twitter情感预测股票市场行情/消费者信心 2. 目的 利用机器提取人们对某人或事物的态度,从而发现潜在的问题用于改进或预测. 这里我们所说的情感分析主要针对态度(attitude). 注:Scherer 情感状态类型主要可以分为: 情绪(emotion):有一定原因引发的同步反应.例如悲伤(sadness),快乐(joy) 心情(…
本节课将开始学习Deep NLP的基础--词向量模型. 背景 word vector是一种在计算机中表达word meaning的方式.在Webster词典中,关于meaning有三种定义: the idea that is represented by a word, phrase, etc. the idea that a person wants to express by using words, signs, etc. the idea that is expressed in a w…
本节课继续讲授word2vec模型的算法细节,并介绍了一种新的基于共现矩阵的词向量模型--GloVe模型.最后,本节课重点介绍了word2vec模型评估的两种方式. Skip-gram模型 上节课,我们介绍了一个十分简单的word2vec模型.模型的目标是预测word \(o\)出现在另一个word \(c\)的上下文语境里的条件概率: \[p(o|c) = \frac{exp(u_o^Tv_c)}{\sum_{w=1}^W{exp(u_w^Tv_c)}}\] 其中,向量\(u_o\)被称为wo…
I. 最小编辑距离的定义 最小编辑距离旨在定义两个字符串之间的相似度(word similarity).定义相似度可以用于拼写纠错,计算生物学上的序列比对,机器翻译,信息提取,语音识别等. 编辑距离就是指将一个字符串通过的包括插入(insertion),删除(deletion),替换(substitution)的编辑操作转变为另一个字符串所需的最少编辑次数.比如: 如果将编辑操作从字符放大到词,那就可以用于评估集齐翻译和语音识别的效果.比如: 还可以用于实体名称识别(named entity r…
I. 正则表达式(regular expression) 正则表达式是专门处理文本字符串的正式语言(这个是基础中的基础,就不再详细叙述,不了解的可以看这里). ^(在字符前): 负选择,匹配除括号以外的字符.比如[^A-W]匹配所有非大写字符:[^e^]匹配所有e和^以外的字符 |:或者.比如a|b|c等价于[a-c] *:匹配大于等于0个符号前面的字符:+:匹配至少一个前面的字符:.:匹配所有单个字符:?:匹配0或1个前面的字符 \:转义符:将特殊字符转化为简单字符.比如.匹配所有字符,.匹配…
1.[]表达式的用法 正则表达式可以让我们匹配我们想要的字符串形式,增加了效率,在自然语言处理领域有较大的作用. 模式 匹配 [Ww]oodchuck Woodchuck,woodchuck [1234567890] Any digit 如上面所用的模式既是正则表达式中的常用语法,在“[]”内部的字母表示可以匹配其中的任一字母, [A-Z]表示大写字母,[a-z]表示小写字母,[0-9]表示数字,[A-Za-z]表示大写加小写字母, 2.特别字符的用法 模式 含义 匹配 colou?r 匹配前面…
题意: 给两个字符串,可以增.删.改,问使这两个串变为相同的最小操作数. 解法:(下面2种的代码主要区别在初始化和,而状态转移方程大家可挑自己更容易理解的方法打) 1.f[i][j]表示a串前i个和b串前j个完成匹配的最小操作数. 2.f[i][j]表示a串前i-1个和b串前j-1个完成匹配的最小操作数. 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream&g…
题目链接:http://noi.openjudge.cn/ch0206/2988/ 题解: 首先,题目有误,少了一个添加操作 和求解LCS之类的思路类似 f[i][j]表示a序列中1..i的部分和b序列中1...j的部分的编辑距离,得: (1)i==0,j==0时,f[i][j]=0: (2)i==0,j>0时,f[i][j]=j:j==0,i>0时,f[i][j]=i:即需要对空串进行i或j个添加操作: (3)否则,f[i][j]=min(f[i-1][j]+1,f[i][j-1]+1,f[…
NET MVC全局异常处理(一)   目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关的配置,但没有实际做过,以为改下设定就可以,结果实际使用的时候还是遇到不少问题,所以要记录一下. IIS配置 刚开始不想改程序代码,所以直接就想到了IIS里面的错误页配置配置,一开始反复测试,设置改了很多,但是没有效果,后来发现是静态页的配置,还没有进入MVC的程序部分,所以对于.NET MVC这种…
php实现 计算字符串的距离 一.总结 一句话总结:解决dp问题最好的方法是什么:分析出状态后 实例+画表. 1.解决dp问题最好的方法是什么? 分析出状态后 实例+画表 2.画图的好处? 画出来表之后编程也好编,不容易出错,因为有了参照,可以照着参照来编写代码 二.计算字符串的距离 题目描述 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符.编辑距离的算法是首先由…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/233 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung.SunisDown.巩子嘉和一位不愿透露ID的知友对本翻译亦有贡献. 原文如下 这篇教程由Justin Johnson创作. 我们将使用Python编程语言来完成本课程的所有作业.Python是一门伟大的通用编程语言,在一些常用库(numpy, scipy, matplotlib)的帮助下,它又会…
vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript 经验总结 更多总结 猛戳这里 属性与方法 不要在实例属性或者回调函数中(例如,vm.$watch('a', newVal => this.myMethod())使用箭头函数.因为箭头函数会绑定父级上下文,所以 this 不会按照预期指向 Vue 实例,然后 this.myMethod 将是未定义.…
[2017cs231n]:课程笔记-第2讲:图像分类 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 课程简介 斯坦福CS231n(面向视觉识别的卷积神经网络)课程大家都很熟悉了,深度学习入门必备课程. 这是一门每学期的视频更新都会引起一波尖叫的明星课.我参照的是2017版…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/231 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/248 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/249 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/252 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-detail/256 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 ShowMeAI为斯坦福CS224n<自然语言处理与深度学习(Natural Language Processing with Deep Learn…
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep learning 的教程,虽然介绍的内容很浅,毕竟针对大部分初学者.不管学习到什么程度,能将课程跟一遍,或多或少会对知识体系的全貌有一个大致的理解.如果有时间的话,强烈建议跟完课程的同时完成各项作业.但值得注意的是,机器学习除了需要适当的数理基础之外,还是一门实践科学,只有通过不断的深入积累才能有更好…
深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html    我们知道在神经网络中,我们需要求解的是一个最小化的问题,即:最小化 loss function. 假设我们给定一组初始的参数 $\theta$,那么我们可以算出在当前参数下,这个loss是多少,即表示了这个参数到底有多不好. 然后我们利用上述式子来调整参数,其中梯度可以用▽的形式…
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录Andrew Ng课程第四章和第五章的神经网络,主要介绍前向传播算法,反向传播算法,神经网络的多类分类,梯度校验,参数随机初始化,参数的更新等等 1.神经网络概述…
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Linear Classification Note,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,巩子嘉和堃堃进行校对修改.译文含公式和代码,建议PC端阅读. 原文如下 内容列表: 线性分类器简介 线性评分函数 阐明线性分类器 译者注:上篇翻译截止处 损失函数 多类SVM Softmax分类器 SVM和Softmax的比较 基于Web的可交互线性分类器原型 小结 线性分类 上一篇笔记介绍了图像分类问题.图像分类的…
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记image classification notes,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成.ShiqingFan对译文进行了仔细校对,提出了大量修改建议,态度严谨,帮助甚多.巩子嘉对几处术语使用和翻译优化也提出了很好的建议.张欣等亦有帮助. 原文如下 这是一篇介绍性教程,面向非计算机视觉领域的同学.教程将向同学们介绍图像分类问题和数据驱动方法.下面是内容列表: 图像分类.数据驱动方法和流程 Neare…
Levenshtein字符串距离算法介绍 文/开发部 Dimmacro KMP完全匹配算法和 Levenshtein相似度匹配算法是模糊查找匹配字符串中最经典的算法,配合近期技术栏目关于算法的探讨,上期介绍了KMP算法的一些皮毛,收到了同事的一些反馈,本期再接再厉,搜集了一些资料,简单谈谈Levenshtein相似度匹配算法,希望能抛砖引玉. 算法简介: Levenshtein distance最先是由俄国科学家Vladimir Levenshtein在1965年发明,其原理是两个字符串之间,由…
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep learning 的教程,虽然介绍的内容很浅,毕竟针对大部分初学者.不管学习到什么程度,能将课程跟一遍,或多或少会对知识体系的全貌有一个大致的理解.如果有时间的话,强烈建议跟完课程的同时完成各项作业.但值得注意的是,机器学习除了需要适当的数理基础之外,还是一门实践科学,只有通过不断的深入积累才能有更好…
BERT 课程笔记 1. 传统方案遇到的问题 BERT的核心在于Transformer,Transformer就类似seq2seq网络输入输出之间的网络结构. 传统的RNN网络:最大的问题,因为不能并行计算,所以往往深度不够. 传统的word2vec:同一个词一经训练词向量便确定了下来,缺乏适应不同语境的灵活性. 2. 注意力机制的作用 注意力机制的作用是能够体现句子中的重点词,而不是把所有词都同等看待.类似图右体现的关注热点区域. self-attention举例:两个句子中it的指代是不同的…