人人都不看好你,可偏偏你最争气
—— 24.11.26
一、AI和NLP的基本介绍
1.人工智能发展流程
弱人工智能 ——> 强人工智能 ——> 超人工智能
① 弱人工智能
人工智能算法只能在限定领域解决特定的问题
eg:特定场景下的文本分类、垂直领域下的对话、银行卡卡号识别
② 强人工智能
在通用领域胜任人类所有的工作、一个模型处理不同工作
eg:各种大模型ChatGPT
③ 超人工智能
远超人类的智慧,做出比人类更好的决策
目前AI技术的阶段:在弱人工智能与强人工智能发展间的阶段
2.人工智能 —— 研究方向
① 语音合成(TTS)
eg:语音播报能力、站点报时报点
② 语音识别(ASR)
说一句话将这段音频转为文字
eg:语音转文字
③ 字符识别(OCR)
从画面中识别一些特定的字符串、信息
eg:录入身份证/银行卡信息/违章识别
④ 机器翻译(MT)
自然语言处理的一种,将不同语言间进行翻译
eg:同声翻译
⑤ 图像识别(CV)
在一张图像中识别出具体的物体
eg:电商拍图搜索类似商品
⑥ 语义理解(NLU)
强大的语义理解,从文本中识别出具体语义
eg:对话机器人
⑦ 指纹识别(较为成熟)
通过指纹识别出不同的角色
⑧ 声纹识别(较为成熟)
通过声纹识别出不同的身份,而不用判断说的内容
3.人工智能、机器学习、深度学习间的关系
人工智能 ——> 机器学习 ——> 深度学习
① 人工智能是一个较大的范畴
② 机器学习是实现人工智能的一种基本方法
③ 深度学习是机器学习的一个分支
4.人工智能(机器学习)—三驾马车
① 算法
② 算力(主要进步)
③ 数据(主要进步)
算力和数据的发展是促进人工智能发展的主要因素
5.自然语言处理(NLP)
NLP主要研究如何让机器理解人类语言
自然语言处理包含:语言学、数学、计算机科学三者交叉
自然语言处理的目标
① 人机交互
eg:问答搜索、闲聊回答、指令操作、机器翻译……
作用:辅助生活和工作,给生活带来便利,随着机器能力边界的提升其价值不断增加
② 数据分析/挖掘
eg:舆情分析、文本分类、知识抽取、命名实体识别……
作用:辅助决策和选择,给决策带来便利,随着数据量的增大和类别的增多其价值不断提升
二、算法行业介绍
1.算法相关的工作
Ⅰ 落地型
① 主要负责业务场景的算法落地,动手编程能力强(coding)
② 需要熟悉业务场景常见问题,极端情况的处理
③ 难点:小坑不断、需求经常改变、数据欠缺、效果升降不定
Ⅱ 研究型
① 主要负责发表论文及算法比赛等,理论知识扎实
② 研究内容可以脱离实际业务,在公开数据集上工作
③ 难点:需要足够好的创新思路、参加比赛获奖
2.项目人员构成
① 业务人员/甲方
一般是非程序员,根据业务场景需要,提出需求
② 产品经理
与业务对接、梳理需求,整理成开发的计划;或根据用户反馈等,提出自己的需求
③ 开发人员
人工智能方向一般大致分成算法开发和工程开发,合作处理整个项目
④ 测试人员
专门进行测试,也可以进一步细分,一般也需要编程能力
⑤ 运维人员
机器维护人员,服务器和数据库的重启、扩容、缩容等操作由他们进行,同时负责监控服务运行的状况
⑥ Option(可选项)
部署人员、数据标注人员、项目管理人员、平台维护人员等
3.项目主要流程&算法开发职责
① 确认需求 —— 业务发起需求评审(进行沟通)
了解业务背景,以算法人员视角给出是否可行的意见
② 确认技术方案 —— 开发进行技术评审(算法方案+工程方案),根据需求制作方案
⭐对问题的建模过程,需求转化为哪(几)种机器学习问题(或规则处理),需要哪些前置条件
③ 获取标注数据 —— 算法或业务提出数据需求
建立标注规范,校验数据格式,抽样评估效果 ,训练集验证集划分,搜索开源数据,购买数据
⭐④ 代码开发 —— 模型训练、功能开发等
训练 / 预测代码开发,算法实验,对比效果
⑤ 测试 —— 测试用例评审
功能测试、效果测试、性能测试,开发可以自测,配合测试组发现的问题做修改
⑥ 部署上线/投入使用 —— 开发上线,测试验证,运维监控
每个公司使用框架情况有所差异,根据实际情况处理
⑦ 后续迭代 —— 业务提出需求
数据埋点、分析日志等
4.算法工程师需要的技能
① 编程能力
② 算法知识储备
③ 沟通和协作能力
④ 学习能力
⑤ 一定程度的英文功能
⑥ 使用搜索引擎/大模型的能力
5.NLP面临的困难
① 口吃系列、划分语义边界
例:
校长说衣服上除了校徽别别别的
过几天天天天气不好
骑车出门差点摔跤,还好我一把把把把住了
碳碳键键能能否否定定律一
来到杨过曾经生活过的地方,小龙女动情地说:“我也想过过过儿过过的生活。”
我背有点驼,麻麻说“你的背得背背背背佳“
② 分词系列、划分语义边界
例:
南京市长江大桥
一位友好的哥谭市民
乒乓球拍卖完了
③ 套娃系列、语言的递归性
例:
转发(自治区教育厅办公室关于转发教育部关于做好春夏季中小学生和幼儿安全工作的紧急通知》的通知》的通知
④ 同文歧义系列、常识认知、社会认知
例:
单身的原因有两个,一是谁都看不上,二是谁都看不上。
女孩给男朋友打电话:如果你到了,我还没到,你就等着吧;如果我到了,你还没到,你就等着吧。
冬天:能穿多少穿多少。夏天:能穿多少穿多少
⑤ 反话正说系列、语序和语义的关联
例:
屡败屡战 屡战屡败
情理之中意料之外 意料之外情理之中
情有可原罪无可恕 罪无可恕情有可原
⑥ 崩溃系列
例:
领导:你这是什么意思?
小明:没什么意思,意思意思。
领导:你这就不够意思了。
小明:小意思,小意思。
领导:你这人真有意思。
小明:其实也没有别的意思。
领导:那我就不好意思了。
小明:是我不好意思。
⑦ 英语系列
例:
Kids
Watching a Model Train
Normal PeopleWatching aModel Train
Software Engineers
Watching amodel Train
NLP对于机器来说很困难,本质上是因为对人来说它也很困难
对语言的理解要远远难于对一些有着明确规则任务的理解
语言本身具有创造性,在不同时代和背景下进行不断地更新迭代
三、人工智能和深度学习的发展历程
1.人工智能的发展
① 起步发展期
1950~1960,人工智能诞生
eg:机器定理证明、智能跳棋程序
② 反思发展期
1960~1970,任务失败,目标落空
eg:机器翻译,笑话百出、定理证明,发展乏力
③ 应用发展期
1970~1980,专家系统遍地开发,人工智能转向实用
eg:医疗专家系统、化学专家系统、地质专家系统
④ 低迷发展期
1980~1990,多项研究发展缓慢
eg:专家系统发展乏力、神经网络研究受阻
⑤ 稳步发展期
1990~2010,互联网推到人工智能不断创新和实用
eg、深蓝战胜国际象棋冠军、IBM提出智慧地球、我国提出感知中国
⑥ 蓬勃发展期
2010至今,深度学习和大数据兴起带来了人工智能的爆发
物联网、云计算、大数据
2.NLP的发展历程
图灵测试 —— 如何判断机器是否拥有智能
1950年提出,是图灵的个人观点,并非当前业界的追求
测试方法
让机器人冒充人,与人展开对话,如果有超过30%的人误以为在是人类在和自己对话而非计算机,那就可以认为这台机器拥有人类智能
3.NLP的发展现状
① 深度学习大幅改变了NLP研究,极大地推进了NLP技术的发展
② NLP技术已经深入生活的各个角落,输入法(提示输入词)、语音助手、搜索引擎(浏览器,用相关文字查找到有关的网页)、智能客服(智能电话)等大量依赖NLP技术的应用已经被推广和使用
③ 大语言模型的强大理解能力,让人们看到了强人工智能的曙光
四、一些NLP常用的工具和框架介绍
1.编译器
Pycharm、VSCode
2.机器学习相关python框架
① Tensorflow
工程配套完善
② Pytorch
调试方便,目前的主流
③ Keras
高级封装,简单好用,现已和Tensorflow合体
④ Gensim
训练词向量常用
⑤ Sklearn
大量机器学习算法,如逻辑回归、决策树、支持向量机、随机森林、KMeans等等,同时具有数据集划分和各种评价指标的实现
⑥ Numpy
各种向量矩阵操作
多多调用库进行代码编写
⑦ GPU的用处
GPU能够为深度学习加速训练