AI 基础
what AI ?
人工智能(Artificial Intelligence),英文缩写为AI.
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
--> 人 创造的 '智慧能力', 同样具备
听 (语音识别)
说 (语音合成)
看 (图像视频文字识别) 交通抓违章 刷脸解锁 视频APP审核机制 文字识别身份证提取信息,扫一扫翻译
理解(语言文字图像视频理解等逻辑处理)
思考(理解后的逻辑处理) 等能力.
一些现在用的例子:
像 小米小爱同学, 苹果 Siri , 微软10 Cortana 交通摄像抓违章 银行卡申办机器 联通10010智能后台 等等 .. ..
怎么降低入门门槛呢? 一家很开放的公司? 就是 Baidu 大法
ai.baidu.com -- 百度AI平台 我们学习就用这个
下面 show time:
首先 www.ai.baidu.com 登录进去 进入控制台
之后安装 百度工具包 pip install baidu-aip ,根据百度技术文档,python sdk配合使用.
pycharm里面解释器下搜索出来install也行
-- 语音合成(文字转语音) --
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #以上代码,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,
系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。 result = client.systhesis('你好,见到你很高兴','zh',1,{
'vol':5, #音量,取值0-15,默认为5中音量
'pit':6, #音调,取值0-9,默认为5中语调
'spd':4, #语速,取值0-9,默认为5中语速
'per':0 #发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
}) if not isinstance(result,dict):
with oprn('audio.mp3','wb') as f:
f.write(result)
#这样就会生成一个audio.mp3的音频,打开即可收听到 '你好,见到你很高兴'
-- 语音识别(录音转文字) --
tips:我们继续根据百度Python SDK技术文档进行使用;简述注意事项: 1.支持的音频格式有pcm、amr(压缩格式); 2.语音上限时长60s,超过就会报错!
-- 音频转码准备
FFmpeg
1. 下载链接 http://www.ffmpeg.org/download.html
2.下载到安装包后,进行解压,找到bin目录,添加到windows环境变量,重启pycharm.,然后便可以执行转换音频格式了
3. ffmpeg -y -i a.wma -acodec pcm_s16le -f s16le -ac 1 -ar 16000 a.pcm
4. cmd 下面检验下有没好
语音转文字
from aip import AipSpeech
import os
APP_ID = ''
API_KEY = '5GGaPeBu2I0LsONjlWhM04yL'
SECRET_KEY = 'Uo8zIi8VRZMRgqKkCQaqaGIorsQtkDlw' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
# 读取文件
def get_file_content(filePath):
os.system(f'ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm')
with open(f'{filePath}.pcm', 'rb') as fp:
return fp.read() # 识别本地文件
res = client.asr(get_file_content('ob.wma'), 'pcm', 16000, {
'dev_pid': 1536, #标准普通话,简单英语
})
print(res.get('result')[0])
简单二合一
from aip import AipSpeech
from aip import AipNlp
import os APP_ID = ''
API_KEY = '5GGaPeBu2I0LsONjlWhM04yL'
SECRET_KEY = 'Uo8zIi8VRZMRgqKkCQaqaGIorsQtkDlw' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 实例化
nlp_client = AipNlp(APP_ID, API_KEY, SECRET_KEY) # 实例化 res = nlp_client.simnet('你叫什么名字','你贵姓')
print(res) # 读取文件
def get_file_content(filePath):
os.system(f'ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm')
with open(f'{filePath}.pcm', 'rb') as fp:
return fp.read() # 识别本地文件
res = client.asr(get_file_content('ob.wma'), 'pcm', 16000, {
'dev_pid': 1536,
})
text = res.get('result')[0]
print(text) # 智能问答
def my_nlp(text): if nlp_client.simnet(text,'你叫什么名字').get('score')>=0.58:
A = '我叫音王吧'
return A if nlp_client.simnet(text, '你今年几岁了').get('score') >= 0.58:
A = '千年999'
return A
A = '我不知道你在说什么'
return A
A = my_nlp(text) result = client.synthesis(A, 'zh', 1, {
'vol': 5,
'per': 4,
'spd': 4,
'pit': 7
})
# import time # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
# with open(f'{time.time()}.mp3', 'wb') as f:
with open('audio.mp3', 'wb') as f:
f.write(result) os.system('audio.mp3') # 自动播放 # 自然语言处理 短文本相似度 AipNlp是自然语言处理的Python SDK客户端,为使用自然语言处理的开发人员提供了一系列的交互方法
# 相似度结果 运算出来 score 低于0.58的可以丢弃 大于0.8的基本认定一致
白热化 智能机器人 初实现
首先访问 www.tuling123.com 注册后 登录创建一个机器人
要用 api接入
文档 https://www.kancloud.cn/turing/www-tuling123-com/718218
接入教程 2.0
接口地址 http://openapi.tuling123.com/openapi/api/v2
请求方式 HTTP POST
请求参数 参数格式要求 json
示例:
{
"reqType":0,
"perception": {
"inputText": {
"text": "附近的酒店"
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "信息路"
}
}
},
"userInfo": {
"apiKey": "",
"userId": ""
}
}
一个对话处理 处理音频后返回音频自动播放
from aip import AipSpeech
from aip import AipNlp
import os APP_ID = ''
API_KEY = '5GGaPeBu2I0LsONjlWhM04yL'
SECRET_KEY = 'Uo8zIi8VRZMRgqKkCQaqaGIorsQtkDlw' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 实例化
nlp_client = AipNlp(APP_ID, API_KEY, SECRET_KEY) # 实例化 res = nlp_client.simnet('你叫什么名字','你贵姓')
print(res) # 读取文件
def get_file_content(filePath):
os.system(f'ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm')
with open(f'{filePath}.pcm', 'rb') as fp:
return fp.read() # 识别本地文件
res = client.asr(get_file_content('naojin.wma'), 'pcm', 16000, {
'dev_pid': 1536,
})
text = res.get('result')[0]
print(text) # 智能问答
import requests # 请求模块 def to_tuling(text,uid): # 问题
data = {
"reqType":0,
"perception": {
"inputText": {
"text": "上海"
},
},
"userInfo": {
"apiKey": "29f1be0165d74f7290a8cd899a4358a8",
"userId": ""
}
}
data['perception']['inputText']['text'] = text
data['userInfo']['userId'] = uid
res = requests.post('http://openapi.tuling123.com/openapi/api/v2',json=data)
print(res) res_json = res.json()
text = res_json.get('results')[0].get('values').get('text')
return text def my_nlp(text): if nlp_client.simnet(text,'你叫什么名字').get('score')>=0.58:
A = '我叫音王吧'
return A if nlp_client.simnet(text, '你今年几岁了').get('score') >= 0.58:
A = '千年999'
return A
A = to_tuling(text,'')
return A
A = my_nlp(text) result = client.synthesis(A, 'zh', 1, {
'vol': 5,
'per': 4,
'spd': 4,
'pit': 7
})
# import time # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
# with open(f'{time.time()}.mp3', 'wb') as f:
with open('audio.mp3', 'wb') as f:
f.write(result)
os.system('audio.mp3') # 自动播放
AI 基础的更多相关文章
- 贝叶斯公式由浅入深大讲解—AI基础算法入门
1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...
- 贝叶斯公式由浅入深大讲解—AI基础算法入门【转】
本文转载自:https://www.cnblogs.com/zhoulujun/p/8893393.html 1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生, ...
- AI基础架构Pass Infrastructure
AI基础架构Pass Infrastructure Operation Pass OperationPass : Op-Specific OperationPass : Op-Agnostic Dep ...
- MMORPG大型游戏设计与开发(服务器 AI 基础接口)
一个模块都往往需要统一的接口支持,特别是对于非常大型的模块,基础结构的统一性非常重要,它往往决定了其扩展对象的通用性.昨天说了AI的基本概述以及组成,作为与场景模块中核心一样重要的地位,基础部分的设计 ...
- AI基础概念
基础概念 epoch:使用训练的全部数据对模型进行一次完整的训练,被成为“一代训练”.当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch.(也就是说,所有训练样本在神经网络 ...
- 华为担纲建设基础软硬件国家新一代AI开放创新平台
[摘要] 全栈全场景AI能力爆发! [上海,2019年8月29日] 凭借领先的全栈全场景AI能力华为入选国家新一代人工智能开放创新平台 8月29日,科技部在2019世界人工智能大会宣布,将依托华为建设 ...
- zzPony.ai 的基础架构挑战与实践
本次分享将从以下几个方面介绍: Pony.ai 基础架构做什么 车载系统 仿真平台 数据基础架构 其他基础架构 1. Pony.ai 基础架构 首先给大家介绍一下 Pony.ai 的基础架构团队做什么 ...
- AI工程师基础知识100题
100道AI基础面试题 1.协方差和相关性有什么区别? 解析: 相关性是协方差的标准化格式.协方差本身很难做比较.例如:如果我们计算工资($)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们 ...
- 机器学习与AI相关的资料
机器学习与AI相关的资料: 1. http://www.fast.ai/ 基础学习 2.http://geek.ai100.com.cn/ 中文 3.http://geek.ai100.com ...
随机推荐
- 2. ansible-playbook 条件语句-内部变量使用
内部变量指的是把变量定义在playbook里面或者是执行结果作为变量 循环语句-标准Loops [root@LeoDevops playb]# cat p_loop.yaml - hosts: u12 ...
- TensorFlow 1.4利用Keras+Estimator API进行训练和预测
Tensorflow 1.4中,Keras作为作为核心模块可以直接通过tf.keas进行调用,但是考虑到keras对tfrecords文件进行操作比较麻烦,而将keras模型转成tensorflow中 ...
- android 常用框架
网络框架:okhttp.volley.android-async-http图片框架:Picasso.Fresco.Glide.Android-Universal-Image-Loader缓存框架:Di ...
- asp.net mvc 路由检测工具
初学mvc,路由搞不清楚,可以通过一款插件 查看匹配的路由. 工具名<RouteDebugger> 可以在nuget中查询RouteDebugger后,安装.或者在控制台进行安装: pm& ...
- 对于已经添加引用,还找不到类型或名字空间的错误及svn客户端清除用户帐号密码
1 已经添加过引用,却找不到类型或名字空间. 可以看下项目的的.net framework版本是否一致. 项目(例如类库项目)右键(vs解决方案资源管理器)——>属性——>应用程序——&g ...
- poj3278_kuagnbin带你飞专题一
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 88247 Accepted: 27640 ...
- 不偏移的天地图地图服务-ArcGIS版
地图偏移和纠偏是使用在线电子地图不可避免的话题.研究不深入,暂且分享一种已纠偏的地图服务. 服务地址 直接放点干货: 影像地图: http://t0.tianditu.com/cia_w/esri/w ...
- vector排序
// VectorSort.cpp : Defines the entry point for the console application. // #include "stdafx.h& ...
- 剑指offer——python【第14题】链表中倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路 注意,看清楚,是输出节点,而不是输出节点值 可以先求出链表总长度,然后正向遍历得到第n个节点 解答 class Solution: def ...
- 调用微信定位功能 lat _ lng php方法
{:wx_jssdk_config("false")} //最主要的这一句 没有这一句在微信浏览器里是无法调用的定位功能的.下面有这个方法说明 <script> wx. ...