人工智能--AI篇
AI背景
在当今互联网信息高速发展的大背景下,人工智能(AI)已经开始走进了千家万户,逐渐和我们的生活接轨,那具体什么是AI呢?
什么是人工智能(AI)?
人工智能:简单理解就是由人制造出来的,有一定的''智慧能力'',不过它同样类似人类一样具备:听、说、看、思考、理解等能力!
- 听:语音识别;
- 说:语音合成;
- 看:图像,文字,视频的识别;
- 思考:理解后的逻辑处理
- 理解:语言(文字)图像,视频理解等逻辑处理
身边的人工智能有哪些呢?
阿里的天猫精灵和小米的小爱可以让陪伴我们聊天,点歌,购物等...;百度的小度的天网系统;银行办卡刷脸系统;车辆违章监控系统等....
百度的AI
百度AI开放平台,已经封装好的接口供我们进行调用,https://ai.baidu.com/,让我们能够更简单,直接的使用接触AI技术.
图灵机器人
图灵http://www.tuling123.com/,注册登录用创建一个机器人,通过api接入使用,通过api密匙
AI的使用
首先在我们python中安装接口模块,pip3 install baidu-aip第三方模块,然后根据百度技术文档,Python SDK配置使用
语音合成
- 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('a.mp3','wb') as f:
- f.write(result)
#这样就会生成一个a.mp3的音频,打开即可收听到 '你好,见到你很高兴'
语音识别
我们继续根据百度Python SDK技术文档进行使用;简述注意事项: 1.支持的音频格式有pcm、amr(压缩格式); 2.语音上限时长60s,超过就会报错!;采用率二选一 8000 或者 16000。正常情况请使用16000
- #使用音频转码方式
- FFmpeg
- 1.安装链接:http://www.ffmpeg.org/download.html
- 2.下载到安装包后,进行解压,找到bin目录,添加到windows环境变量,重启pycharm.,然后便可以执行转换音频格式了
- 3. ffmpeg -y -i a.mp3 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 a.pcm
- 4.执行成功如下,否则报错
- """
- ffmpeg version N-91330-ga990184007 Copyright (c) 2000-2018 the FFmpeg developers
- built with gcc 7.3.0 (GCC)
- configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
- libavutil 56. 18.102 / 56. 18.102
- libavcodec 58. 20.103 / 58. 20.103
- libavformat 58. 17.100 / 58. 17.100
- libavdevice 58. 4.101 / 58. 4.101
- libavfilter 7. 25.100 / 7. 25.100
- libswscale 5. 2.100 / 5. 2.100
- libswresample 3. 2.100 / 3. 2.100
- libpostproc 55. 2.100 / 55. 2.100
- [mp3 @ 0000000000469300] Estimating duration from bitrate, this may be inaccurate
- Input #0, mp3, from 'a.mp3':
- Duration: 00:00:02.63, start: 0.000000, bitrate: 16 kb/s
- Stream #0:0: Audio: mp3, 16000 Hz, mono, fltp, 16 kb/s
- Stream mapping:
- Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
- Press [q] to stop, [?] for help
- Output #0, s16le, to 'a.mp3.pcm':
- Metadata:
- encoder : Lavf58.17.100
- Stream #0:0: Audio: pcm_s16le, 16000 Hz, mono, s16, 256 kb/s
- Metadata:
- encoder : Lavc58.20.103 pcm_s16le
- size= 82kB time=00:00:02.62 bitrate= 256.0kbits/s speed= 263x
- video:0kB audio:82kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
- """
ffmpeg音频转码方式
- 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)
- # 读取文件
- def get_file_content(filePath):
- with open(filePath, 'rb') as fp:
- return fp.read()
- # 识别本地文件
- client.asr(get_file_content('audio.pcm'), 'pcm', 16000, {
- 'dev_pid': 1536,
- })
自然语言处理
词法分析匹配有多种,这里只介绍,短文本相似度接口,也就是判断两个文本相似度得分
- #示例
- text1 = "浙富股份"
- text2 = "万事通自考网"
- """ 调用短文本相似度 """
- client.simnet(text1, text2);
- """ 如果有可选参数 """
- options = {}
- options["model"] = "CNN"
- """ 带参数调用短文本相似度 """
- client.simnet(text1, text2, options)
- #短文本相似度 返回示例
- {
- "log_id": 12345,
- "texts":{
- "text_1":"浙富股份",
- "text_2":"万事通自考网"
- },
- "score":0.3300237655639648 //相似度结果
- },
- """根据score的比例来判断音频相似程度,得分越高,相似度越接近"""
...
人工智能--AI篇的更多相关文章
- 【AI测试】也许这有你想知道的人工智能 (AI) 测试--第二篇
概述此为人工智能 (AI) 测试第二篇 第一篇主要介绍了 人工智能测试.测试什么.测试数据等.第二篇主要介绍测试用例和测试报告.之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试.测试用 ...
- 【AI测试】人工智能 (AI) 测试--第二篇
测试用例 人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事. 收集测试数据 思考需要什么样的测试数据,测试数据的标注 跑测试数据 编写测试脚本批量运行 查看数据结果 统计正确和错误的个数 ...
- 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?
本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...
- 人工智能AI芯片与Maker创意接轨(下)
继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...
- 人工智能AI芯片与Maker创意接轨 (中)
在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...
- Python人工智能第一篇:语音合成和语音识别
Python人工智能第一篇:语音合成和语音识别 此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度, ...
- python实现人工智能Ai抠图功能
这篇文章主要介绍了python实现人工智能Ai抠图功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 自己是个PS小白,没办法只能通过技术来证明自己. 话不多说, ...
- Python人工智能第二篇:人脸检测和图像识别
Python人工智能第二篇:人脸检测和图像识别 人脸检测 详细内容请看技术文档:https://ai.baidu.com/docs#/Face-Python-SDK/top from aip impo ...
- 【转】人工智能(AI)资料大全
这里收集的是关于人工智能(AI)的教程.书籍.视频演讲和论文. 欢迎提供更多的信息. 在线教程 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程 人工智能入门 – 人工智能基础学习.Peter ...
随机推荐
- mybatis查询语句获取自增主键
第一种方式: 主键回填useGeneratedKeys 代表采用JDBC的Statment对象的getGeneratedKeys方法返回主键keyProperty 代表将用哪个POJO的属性去匹配这个 ...
- maven 一些整理
1.发布jar包到私服,需要进入项目目录 发布jar :mvn deploy 发布源码 :mvn source:jar deploy,这个需要依赖一个maven插件: <plugin> ...
- css3之border-radius理解
在日常项目过程中,border-radius这个属性算是非常常用的属性之一了,通过设置元素的border-radius值,可以轻松给元素设置圆角边框,甚至实现绘制圆.半圆.四分之一的圆等各种圆角图形. ...
- tomcat日志格式中的含义
%a - 远程IP地址 %A - 本地IP地址 %b - 发送的字节数,不包括HTTP头,或“ - ”如果没有发送字节 %B - 发送的字节数,不包括HTTP头 %h - 远程主机名 %H - 请求协 ...
- css 初始化样式
@charset "UTF-8"; /* reset */ html,body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,fieldset ...
- 清北-Day5-R2-divide
题目描述 问是否可以将一个仅由0~9组成的字符串划分成两个或两个以上部分,使得每一部分的数字总和相等. 输入 输入文件名为 \(divide.in\) 多组数据,第一行一个数\(n\),表示数据组数 ...
- Felx布局基础教程
网页布局即layout是css的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- delete web server(nginx+apache)
#!/bin/bash conf_dir1="/usr/local/nginx/conf/vhost.d" conf_dir2="/usr/local/apache2/c ...
- laravel 服务容器
服务容器,也叫IOC容器,其实包含了依赖注入(DI)和控制反转(IOC)两部分,是laravel的真正核心.其他的各种功能模块比如 Route(路由).Eloquent ORM(数据库 ORM 组件) ...
- js检测访问设备
if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { }