自然语言处理(NLP) - 数学基础(1) - 总述
正如我在<2019年总结>里说提到的, 我将开始一系列自然语言处理(NLP)的笔记.
很多人都说, AI并不难啊, 调现有库和云的API就可以啦.
然而实际上并不是这样的.
首先, AI这个领域十分十分大, 而且从1950年图灵提出图灵测试, 1956年达特茅斯会议开始, AI已经发展了五十多年了, 学术界有的认为有六个时期, 有的认为有三起二落.
所以Ai发展到今天, 已经有相当的规模了, 不可能有一个人熟悉AI的所有领域, 最多也就是熟悉相关联的几个领域, 比如NLP和OCR以及知识图谱相关联, 这已经顶天了.
所以我不敢说我会AI, 我只敢说我做过自然语言处理(NLP)项目.
换种我们所熟知的方式表达, AI就相当于.NET, .NET有七龙珠, 遍及web, 桌面, 移动端, 手游端等等, 一个人不可能熟悉所有领域, 能够熟悉web和桌面端两三个领域已经很顶天了.
当一个做惯了web和桌面端的程序员突然去做移动端和手游端, 因为缺乏对应领域的基础知识, 是不能马上上手的, 也是通不过面试的, 也就是为什么很少.NET程序员能够从web和桌面端转型做手游端一样. 最典型一个问题, 让一个做web的.NET程序员去做手游客户端的自动寻址功能, 并不容易.
所以虽然我做过NLP项目, 现在让我突然去做阿拉法狗, 我也是不行的.
我接触到不少人做过NLP项目, 因为只会调现有库和云的API, 最终效果不佳, 不得不回退到用正则表达式处理的方式, 甚至乎类似于"价值一个亿的AI核心代码". 或者采取人工+智能的方式.
在此我并没有嘲笑以上各种方法的意思, 毕竟第一我的水平也不怎么样嘛, 第二正则表达式和人工+智能的方式的确临时解决了部分问题.
但是人总是要有追求的, 就像Eric说的, 就算做咸鱼都要做一条有理想的咸鱼, 而且从长远的角度来说还是要靠数学才能根本性的解决问题.
数学和AI一样五花八门种类繁杂, 同样是研究数学, 研究计算共形几何和研究范畴论的两个人是很难沟通的.
自然语言处理(NLP)对应的数学分支是概率论. 而概率论中又会用到微分和积分, 合称微积分.
然而概率论子分类也很多, 这里就简单列一下NLP所用到的概率论知识点吧:
- 概率(probability)
- 最大似然估计(maximum likelihood estimation)
- 条件概率(conditional probability)
- 全概率公式(full probability)
- 贝叶斯决策理论(Bayesian decision theory)
- 贝叶斯法则(Bayes' theorem)
- 二项式分布(binomial distribution)
- 期望(expectation)
- 方差(variance)
自然语言处理(NLP) - 数学基础(1) - 总述的更多相关文章
- 自然语言处理(NLP) - 数学基础(1) - 排列组合
正如我在<自然语言处理(NLP) - 数学基础(1) - 总述>一文中所提到的NLP所关联的概率论(Probability Theory)知识点是如此的多, 饭只能一口一口地吃了, 我们先 ...
- 自然语言处理(NLP) - 数学基础(3) - 概率论基本概念与随机事件
好像所有讲概率论的文章\视频都离不开抛骰子或抛硬币这两个例子, 因为抛骰子的确是概率论产生的基础, 赌徒们为了赢钱就不在乎上帝了才导致概率论能突破宗教的绞杀, 所以我们这里也以抛骰子和抛硬币这两个例子 ...
- 自然语言处理(NLP)
苹果语音助手Siri的工作流程: 听 懂 思考 组织语言 回答 这其中每一步骤涉及的流程为: 语音识别 自然语言处理 - 语义分析 逻辑分析 - 结合业务场景与上下文 自然语言处理 - 分析结果生成自 ...
- 自然语言处理(NLP)之个人小结
一 概述 1.1 自然语言处理四大任务 序列标注 分词 词性标注 命名实体识别 分类任务 文本分类 情感分析 判断句子关系 问答系统 对话系统 阅读理解 生成任务 机器翻译 自动文摘 图像描述生成 1 ...
- Java的多线程机制系列:(一)总述及基础概念
前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...
- 三国杀3v3心法——总述篇
昔日,独孤求败前辈精研剑法,将其中奥妙化为独孤九剑,破尽天下武功.其中开篇总诀式提纲挈领,从宏观的层面阐述剑道,是领悟后面八式的基石,而之后各式则深入微观,可各破一类具体的武功.笔者亦曾苦心研究三国杀 ...
- Web应用程序系统的多用户权限控制设计及实现-总述【1】
中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...
- Linux makefile教程之总述二[转]
Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...
- Solr4.8.0源码分析(5)之查询流程分析总述
Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...
随机推荐
- JavaScript入门经典(第7版)读书笔记
断断续续看了十来天,终于看完了,还是学到些东西,这本书还是不错的,各方面都有涉及. 补充了下之前不完善的JS 知识 笔记一般只记必要的东西. Table of Contents 1. JavaScr ...
- layer弹框的上面各个属性 -可配置
<script type="text/javascript"> 12 //eg 13 layer.open({ 14 title:"标题信息提示", ...
- 网站搭建-2-本地网站搭建-安装Linux虚拟机/ 安装IIS Windows
搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 首先,已经拥有了一个可以正常使用的域名. 之前买了两年的阿里的服务器,由于是Windows的,最后不了了之了(因为当时找的代码都是lin ...
- JavaScript with Image:创建缩略图
当图片很大,直接把图片从Server下载到浏览器上看是一种很不明智的做法,浪费了服务器的资源,网络带宽和客户端的资源.所以,通常Server和Client之间会传输缩略图,只有当Client请求某张图 ...
- PHP代码安全有必要了解下
攻击者通过构造恶意SQL命令发送到数据库,如果程序未对用户输入的 SQL命令执行判断过滤,那么生成的SQL语句可能会绕过安全性检查,插入其他用于修改后端数据库的语句,并可能执行系统命令,从而对系统造成 ...
- Linux 搭建 WIKI
转自:http://blog.csdn.net/chy800/article/details/6906090 由于公司需要一个知识共享的系统,选择wiki来实现.经过准备决定使用Linux+xampp ...
- java操作RabbitMQ添加队列、消费队列和三个交换机
假设已经在服务器上安装完RabbitMQ.我写的教程 一.发送消息到队列(生产者) 新建一个maven项目,在pom.xml文件加入以下依赖 <dependencies> <depe ...
- Linux入门之安装及相关知识。
一.VMware虚拟机安装与使用 1.1.VMware 简介 VMware是一个虚拟PC的软件,可以在现有的操 作系统上虚拟出一个新的硬件环境,相当于模拟 出一台新的PC.以此来实现在一台机器上真正 ...
- 力扣(LeetCode)学生出勤记录I 个人题解
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个' ...
- Json模块和Pickle模块的使用
在对数据进行序列化和反序列化是常见的数据操作,Python提供了两个模块方便开发者实现数据的序列化操作,即 json 模块和 pickle 模块.这两个模块主要区别如下: json 是一个文本序列化格 ...