当前位置: 首页 > news >正文

【NLP 1、人工智能与NLP简介】

人人都不看好你,可偏偏你最争气

                                        —— 24.11.26

一、AI和NLP的基本介绍

1.人工智能发展流程

弱人工智能 ——> 强人工智能 ——> 超人工智能

① 弱人工智能

人工智能算法只能在限定领域解决特定的问题

eg:特定场景下的文本分类、垂直领域下的对话、银行卡卡号识别

② 强人工智能

通用领域胜任人类所有的工作、一个模型处理不同工作

eg:各种大模型

③ 超人工智能

远超人类的智慧

目前AI技术的阶段:在弱人工智能与强人工智能发展间的阶段


2.人工智能 —— 研究方向

① 语音合成(TTS)

eg:语音播报能力、站点报时报点

② 语音识别(ASR)

说一句话将这段音频转为文字

eg:语音转文字

③ 字符识别(OCR)

从画面中识别一些特定的字符串、信息

eg:录入身份证/银行卡信息/违章识别

④ 机器翻译(MP)

自然语言处理的一种,将不同语言间进行翻译

eg:同声翻译

⑤ 图像识别(CV)

在一张图像中识别出具体的物体

eg:电商拍图搜索类似商品

⑥ 语义理解(NLU)

强大的语义理解,从文本中识别出具体语义

eg:对话机器人

⑦ 指纹识别(较为成熟)

通过指纹识别出不同的角色

⑧ 声纹识别(较为成熟)

通过声纹识别出不同的身份,而不用判断说的内容


3.人工智能、机器学习、深度学习间的关系

① 人工智能是一个较大的范畴

② 机器学习是实现人工智能的一种基本方法

③ 深度学习是机器学习的一个分支


4.人工智能(机器学习)—三驾马车

① 算法

② 算力(主要进步)

③ 数据(主要进步)


5.自然语言处理(NLP)

自然语言处理包含:语言学、数学、计算机科学三者交叉

自然语言处理的目标

① 人机交互

eg:问答搜索、闲聊回答、指令操作、机器翻译

辅助生活和工作,给生活带来便利,随着机器能力边界的提升其价值不断增加

② 数据分析/挖掘

eg:舆情分析、文本分类、知识抽取、命名实体识别

辅助决策和选择,给决策带来便利,随着数据量的增大和类别的增多其价值不断提升


二、算法行业介绍

1.算法相关的工作

Ⅰ 落地型

① 主要负责业务场景的算法落地,动手编程能力强

② 需要熟悉业务场景常见问题,极端情况的处理

③ 难点:小坑不断、需求改变、数据欠缺、效果不定

Ⅱ 研究型

① 主要负责发表论文及算法比赛等,理论知识扎实

② 研究内容可以脱离实际业务,在公开数据集上工作

③ 难点:需要创新思路、参加比赛获奖


2.项目人员构成

① 业务人员/甲方

一般是非程序员,根据业务场景需要,提出需求

② 产品经理

与业务对接、梳理需求,整理成开发的计划;或根据用户反馈等,提出自己的需求

③ 开发人员

人工智能方向一般大致分成算法开发工程开发,合作处理整个项目

④ 测试人员

专门进行测试,也可以进一步细分,一般也需要编程能力

⑤ 运维人员

机器维护人员,服务器和数据库的重启、扩容、缩容等操作由他们进行,同时负责监控服务运行的状况

⑥ Option(可选)

部署人员、数据标注人员、项目管理人员、平台维护人员


3.项目主要流程&算法开发职责

① 确认需求 —— 业务发起需求评审(进行沟通)

了解业务背景,以算法人员视角给出是否可行的意见

② 确认技术方案 —— 开发进行技术评审(算法方案+工程方案),根据需求制作方案

对问题的建模过程,需求转化为哪(几)种机器学习问题(或规则处理),需要哪些前置条件

③ 获取标注数据 —— 算法或业务提出数据需求

建立标注规范,校验数据格式,抽样评估效果 ,训练集验证集划分,搜索开源数据,购买数据

⭐④ 代码开发 —— 模型训练、功能开发

训练/预测代码开发,算法实验,对比效果

⑤ 测试 —— 测试用例评审

功能测试、效果测试、性能测试,开发可以自测,配合测试组发现的问题做修改

⑥ 部署上线/投入使用 —— 开发上线,测试验证,运维监控

每个公司使用框架情况有所差异,根据实际情况处理

⑦ 后续迭代 —— 业务提出需求

数据埋点、分析日志等


4.算法工程师需要的技能

① 编程能力

② 算法知识储备

③ 沟通和协作能力

④ 学习能力

⑤ 一定程度的英文功能

⑥ 使用搜索引擎/大模型的能力


5.NLP面临的困难

① 口吃系列、划分语义边界

例:

校长说衣服上除了校徽别别别的

过几天天天天气不好

骑车出门差点摔跤,还好我一把把把把住了

碳碳键键能能否否定定律一

来到杨过曾经生活过的地方,小龙女动情地说:“我也想过过过儿过过的生活。”

我背有点驼,麻麻说“你的背得背背背背佳“

② 分词系列、划分语义边界

例:

南京市长江大桥

一位友好的哥谭市民

乒乓球拍卖完了

③ 套娃系列、语言的递归性

例:

转发(自治区教育厅办公室关于转发教育部关于做好春夏季中小学生和幼儿安全工作的紧急通知》的通知》的通知

④ 同文歧义系列、常识认知、社会认知

例:

单身的原因有两个,一是谁都看不上,二是谁都看不上。

女孩给男朋友打电话:如果你到了,我还没到,你就等着吧;如果我到了,你还没到,你就等着吧。

冬天:能穿多少穿多少。夏天:能穿多少穿多少

⑤ 反话正说系列、语序和语义的关联

例:

屡败屡战 屡战屡败

情理之中意料之外 意料之外情理之中

情有可原罪无可恕 罪无可恕情有可原

 ⑥ 崩溃系列

例:

领导:你这是什么意思?

小明:没什么意思,意思意思。

领导:你这就不够意思了。

小明:小意思,小意思。

领导:你这人真有意思。

小明:其实也没有别的意思。

领导:那我就不好意思了。

小明:是我不好意思。

⑦ 英语系列

例:

Kids
Watching a Model Train
Normal People

Watching 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

各种向量矩阵操作

多多调用库进行代码编写

相关文章:

【NLP 1、人工智能与NLP简介】

人人都不看好你,可偏偏你最争气 —— 24.11.26 一、AI和NLP的基本介绍 1.人工智能发展流程 弱人工智能 ——> 强人工智能 ——> 超人工智能 ① 弱人工智能 人工智能算法只能在限定领域解决特定的问题 eg:特定场景下的文本分类、垂直领域下的对…...

网络安全事件管理

一、背景 信息化技术的迅速发展已经极大地改变了人们的生活,网络安全威胁也日益多元化和复杂化。传统的网络安全防护手段难以应对当前繁杂的网络安全问题,构建主动防御的安全整体解决方案将更有利于防范未知的网络安全威胁。 国内外的安全事件在不断增…...

Swagger记录一次生成失败

最近在接入Swagger的时候遇到一个问题,就是Swagger UI可以使用的,但是/v3/docs 这个接口的json返回的base64类型的json,并不是纯json,后来检查之后是因为springboot3里面配置了json压缩。 Beanpublic HttpMessageConverters cusHt…...

Go 语言常用工具方法总结

在 Go 语言开发中,常常需要进行一些常见的类型转换、字符串处理、时间处理等操作。本文将总结一些常用的工具方法,帮助大家提高编码效率,并提供必要的代码解释和注意事项(go新人浅浅记录一下,以后来翻看🤣&…...

ThingsBoard规则链节点:GCP Pub/Sub 节点详解

目录 引言 1. GCP Pub/Sub 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 数据传输 3.2 数据分析 3.3 事件通知 3.4 任务调度 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台&#xff0…...

【Linux】select,poll和epoll

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符fd,一旦某个描述符就绪(一般是读就绪或者写就绪),系统会通知有I/O事件发生了(不能定位是哪一个)。但sel…...

Qt程序发布及打包成exe安装包

参考:Qt之程序发布以及打包成exe安装包 目录 一、简述 Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno Setup 打包工具打包成一个 exe 安装包,就可以…...

python怎样运行js语句

1. 安装 pip install PyExecJS # 需要注意, 包的名称:PyExecJS 2. 简单使用 import execjs execjs.eval("new Date") 返回值为: 2018-04-04T12:53:17.759Z execjs.eval("Date.now()") 返回值为:152284700108…...

汽车渲染领域:Blender 和 UE5 哪款更适用?两者区别?

在汽车渲染领域,选择合适的工具对于实现高质量的视觉效果至关重要。Blender和UE5(Unreal Engine 5)作为两大主流3D软件,各自在渲染动画方面有着显著的差异。本文将从核心定位与用途、工作流程、渲染技术和灵活性、后期处理与合成四…...

JAVA实现将PDF转换成word文档

POM.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…...

前端-Git

一.基本概念 Git版本控制系统时一个分布式系统&#xff0c;是用来保存工程源代码历史状态的命令行工具 简单来说Git的作用就是版本管理工具。 Git的应用场景&#xff1a;多人开发管理代码&#xff1b;异地开发&#xff0c;版本管理&#xff0c;版本回滚。 Git 的三个区域&a…...

如何分析Windows防火墙日志

Windows防火墙&#xff0c;也被称为Windows Defender Firewall&#xff0c;是一种内置的安全功能&#xff0c;可以主动监控和分析运行Windows操作系统的计算机上通过Windows防火墙的网络流量&#xff0c;主要目的是作为计算机和互联网或其他网络之间的屏障&#xff0c;使管理员…...

工作坊报名|使用 TEN 与 Azure,探索你的多模态交互新场景

GPT-4o Realtime API 发布&#xff0c;语音 AI 技术正在进入一场新的爆发。语音AI技术的实时语音和视觉互动能力将为我们带来更多全新创意和应用场景。 实时音频交互&#xff1a; 允许应用程序实时接收并响应语音和文本输入。自然语音生成&#xff1a; 减少 AI 技术生成的语音…...

学习笔记041——Elastic Search的学习与使用以及SpringBoot整合

文章目录 1、Elastic Search介绍1.1、ES 的数据结构1.2、ES 为什么查询快1.3、CRUD 2、Spring Boot 整合 ES 1、Elastic Search介绍 ‌Elasticsearch‌是一个分布式的、基于RESTful API的搜索和分析引擎&#xff0c;广泛用于大规模数据存储和快速检索。它最初由Shay Banon于20…...

R安装rgdal报错 解决办法

尝试了网上很多办法&#xff0c;不知道哪一步解决了&#xff0c;记录一下所有步骤&#xff1a; 1. 尝试github安装 options(repos c(CRAN "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))install.packages("devtools")library(devtools)devtools::in…...

【智能制造-46】人机工程(工厂自动化)

工作空间设计 设备布局规划 根据人体测量学数据&#xff0c;合理安排自动化设备、生产线和工作区域的布局。例如&#xff0c;考虑工人的操作空间和活动范围&#xff0c;确保他们能够舒适地接近和操作设备。在汽车装配车间&#xff0c;机器人和工人的工作区域应划分明确&#…...

C#笔记(5)

一、winform项目与窗体控件 1、部分类的使用 好处&#xff1a;让自动生成的代码后置&#xff0c;我们编写程序的代码显得更加简洁 特点&#xff1a;在最后编译的时候&#xff0c;仍然编译成一个窗体类。 窗体和控件的基本使用 3、Event事件&#xff08;委托--》事件&#…...

【软件国产化】| Windows和Linux下文件名后缀是否区分大小写

今天在开发过程中遇到了个软件在Linux系统和Windows系统下功能表现不一致的bug&#xff0c;具体表现为&#xff1a; 插入一张图片&#xff08;A文件夹中的001.jpg&#xff09;&#xff0c;然后使用“图片替换”功能&#xff0c;用B文件夹中的图片&#xff08;B文件夹中的001.JP…...

讨论JAVA、JVM与Spring

Q1: 作为一个JAVA开发人员&#xff0c;对于jvm肯定不陌生&#xff0c;但很多人对它不陌生也仅止于概念上&#xff0c;而且对概念也是模糊不清的&#xff0c;但jvm实际是java程序运行在其中的实际存在的环境&#xff0c;对它的理解应该要是具象化的。 我们还是从一项技术产生的…...

【04】MySQL数据库和数据表的基本操作详解与实例

文章目录 一、连接MySQL服务器二、数据库的基本操作2.1数据库的基本操作1. 创建数据库2. 选择数据库3. 删除数据库4.查询所有数据库5.修改数据库的字符集 2.2 数据表的基本操作1. 创建数据表2. 查看数据表结构3. 删除数据表4. 修改数据表5. 插入数据6. 查询数据7. 更新数据8. 删…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...