正如我在<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所用到的概率论知识点吧:

  1. 概率(probability)
  2. 最大似然估计(maximum likelihood estimation)
  3. 条件概率(conditional probability)
  4. 全概率公式(full probability)
  5. 贝叶斯决策理论(Bayesian decision theory)
  6. 贝叶斯法则(Bayes' theorem)
  7. 二项式分布(binomial distribution)
  8. 期望(expectation)
  9. 方差(variance)

自然语言处理(NLP) - 数学基础(1) - 总述的更多相关文章

  1. 自然语言处理(NLP) - 数学基础(1) - 排列组合

    正如我在<自然语言处理(NLP) - 数学基础(1) - 总述>一文中所提到的NLP所关联的概率论(Probability Theory)知识点是如此的多, 饭只能一口一口地吃了, 我们先 ...

  2. 自然语言处理(NLP) - 数学基础(3) - 概率论基本概念与随机事件

    好像所有讲概率论的文章\视频都离不开抛骰子或抛硬币这两个例子, 因为抛骰子的确是概率论产生的基础, 赌徒们为了赢钱就不在乎上帝了才导致概率论能突破宗教的绞杀, 所以我们这里也以抛骰子和抛硬币这两个例子 ...

  3. 自然语言处理(NLP)

    苹果语音助手Siri的工作流程: 听 懂 思考 组织语言 回答 这其中每一步骤涉及的流程为: 语音识别 自然语言处理 - 语义分析 逻辑分析 - 结合业务场景与上下文 自然语言处理 - 分析结果生成自 ...

  4. 自然语言处理(NLP)之个人小结

    一 概述 1.1 自然语言处理四大任务 序列标注 分词 词性标注 命名实体识别 分类任务 文本分类 情感分析 判断句子关系 问答系统 对话系统 阅读理解 生成任务 机器翻译 自动文摘 图像描述生成 1 ...

  5. Java的多线程机制系列:(一)总述及基础概念

    前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...

  6. 三国杀3v3心法——总述篇

    昔日,独孤求败前辈精研剑法,将其中奥妙化为独孤九剑,破尽天下武功.其中开篇总诀式提纲挈领,从宏观的层面阐述剑道,是领悟后面八式的基石,而之后各式则深入微观,可各破一类具体的武功.笔者亦曾苦心研究三国杀 ...

  7. Web应用程序系统的多用户权限控制设计及实现-总述【1】

    中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...

  8. Linux makefile教程之总述二[转]

    Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...

  9. Solr4.8.0源码分析(5)之查询流程分析总述

    Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...

随机推荐

  1. 『图论』有向图强连通分量的Tarjan算法

    在图论中,一个有向图被成为是强连通的(strongly connected)当且仅当每一对不相同结点u和v间既存在从u到v的路径也存在从v到u的路径.有向图的极大强连通子图(这里指点数极大)被称为强连 ...

  2. 关于swoole 定时器有时候无法清除的解决方法

    关于swoole 定时器有时候无法清除的解决方法 有时候start里面写个定时器 有时候你关闭进程的时候 发现定时器还是可以进行 目前只有重启服务器才可以 清除 还有就是ps -ef | grep p ...

  3. win7 安装php插件imagick

        win7 安装php插件imagick  <h2>安装步骤:</h2><h2><a name="t1"></a> ...

  4. Mybatis中的别名的起源

    1.Mybatis中的别名的起源 我们对别名的认识最初是在数据库中,例如:数据库之select时取别名的做法是这样的: select 列名 as 列别名,//方法1 列名 列别名,//方法2 from ...

  5. Git: Setup a remote Git repository

    o setup a folder on a server which service for remote Git repository, apply the following steps: Cre ...

  6. Flutter之环境配置与项目搭建

    Flutter之环境配置与项目搭建 一,介绍 1.1,Dart Dart 是一种 易于学习. 易于扩展.并且可以部署到 任何地方 的 应用 编程 语言.并且同时借鉴了Java和JavaScript.D ...

  7. Java自动生成数据

    最近在造数据库中的表数据,写了些数据生成类 可以随机生成姓名.性别,民族,出生日期,身份证号,手机号,邮箱,身高,文化程度,地址,单位,日期时间,编码等 package com.util.create ...

  8. nyoj 82-迷宫寻宝(一) (多重BFS)

    82-迷宫寻宝(一) 内存限制:64MB 时间限制:1000ms 特判: No 通过数:3 提交数:5 难度:4 题目描述: 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个 ...

  9. hdu 2554 最短路 (dijkstra)

    最短路Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  10. asp.net Mvc 使用NPOI导出Excel文件

    1.新建MVC项目,新建控制器.视图 添加控制器: 添加视图(将使用布局页前面的复选框里的勾勾去掉) 2.在Models里新建一个类 public class Shop { /// <summa ...