AI背景

在当今互联网信息高速发展的大背景下,人工智能(AI)已经开始走进了千家万户,逐渐和我们的生活接轨,那具体什么是AI呢?

什么是人工智能(AI)?

人工智能:简单理解就是由人制造出来的,有一定的''智慧能力'',不过它同样类似人类一样具备:听、说、看、思考、理解等能力!

  1. 听:语音识别;
  2.  
  3. 说:语音合成;
  4.  
  5. 看:图像,文字,视频的识别;
  6.  
  7. 思考:理解后的逻辑处理
  8.  
  9. 理解:语言(文字)图像,视频理解等逻辑处理

身边的人工智能有哪些呢?

阿里的天猫精灵和小米的小爱可以让陪伴我们聊天,点歌,购物等...;百度的小度的天网系统;银行办卡刷脸系统;车辆违章监控系统等....

百度的AI

百度AI开放平台,已经封装好的接口供我们进行调用,https://ai.baidu.com/,让我们能够更简单,直接的使用接触AI技术.

图灵机器人

图灵http://www.tuling123.com/,注册登录用创建一个机器人,通过api接入使用,通过api密匙

AI的使用

首先在我们python中安装接口模块,pip3 install baidu-aip第三方模块,然后根据百度技术文档,Python SDK配置使用

语音合成

  1. from aip import AipSpeech
  2.  
  3. """ 你的 APPID AK SK """
  4. APP_ID = '你的 App ID'
  5. API_KEY = '你的 Api Key'
  6. SECRET_KEY = '你的 Secret Key'
  7.  
  8. client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #以上代码,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,
  9. 系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
  10.  
  11. result = client.systhesis('你好,见到你很高兴','zh',1,{
  12. 'vol':5, #音量,取值0-15,默认为5中音量
  13. 'pit':6, #音调,取值0-9,默认为5中语调
  14. 'spd':4, #语速,取值0-9,默认为5中语速
  15. 'per':0 #发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
  16. })
  17.  
  18. if not isinstance(result,dict):
  19. with oprn('a.mp3','wb') as f:
  20. f.write(result)
    #这样就会生成一个a.mp3的音频,打开即可收听到 '你好,见到你很高兴'
  1.  

语音识别

我们继续根据百度Python SDK技术文档进行使用;简述注意事项: 1.支持的音频格式有pcm、amr(压缩格式); 2.语音上限时长60s,超过就会报错!;采用率二选一 8000 或者 16000。正常情况请使用16000

  1. #使用音频转码方式
  2. FFmpeg
  3. 1.安装链接:http://www.ffmpeg.org/download.html
  4. 2.下载到安装包后,进行解压,找到bin目录,添加到windows环境变量,重启pycharm.,然后便可以执行转换音频格式了
  5. 3. ffmpeg -y -i a.mp3 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 a.pcm
  6. 4.执行成功如下,否则报错
  7. """
  8. ffmpeg version N-91330-ga990184007 Copyright (c) 2000-2018 the FFmpeg developers
  9. built with gcc 7.3.0 (GCC)
  10. 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
  11. libavutil 56. 18.102 / 56. 18.102
  12. libavcodec 58. 20.103 / 58. 20.103
  13. libavformat 58. 17.100 / 58. 17.100
  14. libavdevice 58. 4.101 / 58. 4.101
  15. libavfilter 7. 25.100 / 7. 25.100
  16. libswscale 5. 2.100 / 5. 2.100
  17. libswresample 3. 2.100 / 3. 2.100
  18. libpostproc 55. 2.100 / 55. 2.100
  19. [mp3 @ 0000000000469300] Estimating duration from bitrate, this may be inaccurate
  20. Input #0, mp3, from 'a.mp3':
  21. Duration: 00:00:02.63, start: 0.000000, bitrate: 16 kb/s
  22. Stream #0:0: Audio: mp3, 16000 Hz, mono, fltp, 16 kb/s
  23. Stream mapping:
  24. Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
  25. Press [q] to stop, [?] for help
  26. Output #0, s16le, to 'a.mp3.pcm':
  27. Metadata:
  28. encoder : Lavf58.17.100
  29. Stream #0:0: Audio: pcm_s16le, 16000 Hz, mono, s16, 256 kb/s
  30. Metadata:
  31. encoder : Lavc58.20.103 pcm_s16le
  32. size= 82kB time=00:00:02.62 bitrate= 256.0kbits/s speed= 263x
  33. video:0kB audio:82kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
  34. """

ffmpeg音频转码方式

  1. from aip import AipSpeech
  2.  
  3. """ 你的 APPID AK SK """
  4. APP_ID = '你的 App ID'
  5. API_KEY = '你的 Api Key'
  6. SECRET_KEY = '你的 Secret Key'
  7.  
  8. client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
  9.  
  10. # 读取文件
  11. def get_file_content(filePath):
  12. with open(filePath, 'rb') as fp:
  13. return fp.read()
  14.  
  15. # 识别本地文件
  16. client.asr(get_file_content('audio.pcm'), 'pcm', 16000, {
  17. 'dev_pid': 1536,
  18. })

自然语言处理

词法分析匹配有多种,这里只介绍,短文本相似度接口,也就是判断两个文本相似度得分

  1. #示例
  2. text1 = "浙富股份"
  3. text2 = "万事通自考网"
  4. """ 调用短文本相似度 """
  5. client.simnet(text1, text2);
  6. """ 如果有可选参数 """
  7. options = {}
  8. options["model"] = "CNN"
  9. """ 带参数调用短文本相似度 """
  10. client.simnet(text1, text2, options)
  11.  
  12. #短文本相似度 返回示例
  13.  
  14. {
  15. "log_id": 12345,
  16. "texts":{
  17. "text_1":"浙富股份",
  18. "text_2":"万事通自考网"
  19. },
  20. "score":0.3300237655639648 //相似度结果
  21. },
  22.  
  23. """根据score的比例来判断音频相似程度,得分越高,相似度越接近"""

...

人工智能--AI篇的更多相关文章

  1. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--第二篇

    概述此为人工智能 (AI) 测试第二篇 第一篇主要介绍了 人工智能测试.测试什么.测试数据等.第二篇主要介绍测试用例和测试报告.之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试.测试用 ...

  2. 【AI测试】人工智能 (AI) 测试--第二篇

    测试用例 人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事. 收集测试数据 思考需要什么样的测试数据,测试数据的标注 跑测试数据 编写测试脚本批量运行 查看数据结果 统计正确和错误的个数 ...

  3. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?

    本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...

  4. 人工智能AI芯片与Maker创意接轨(下)

    继「人工智能AI芯片与Maker创意接轨」的(上)篇中,认识了人工智能.深度学习,以及深度学习技术的应用,以及(中)篇对市面上AI芯片的类型及解决方案现况做了完整剖析后,系列文到了最后一篇,将带领各位 ...

  5. 人工智能AI芯片与Maker创意接轨 (中)

    在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...

  6. Python人工智能第一篇:语音合成和语音识别

    Python人工智能第一篇:语音合成和语音识别 ​ 此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度, ...

  7. python实现人工智能Ai抠图功能

    这篇文章主要介绍了python实现人工智能Ai抠图功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 自己是个PS小白,没办法只能通过技术来证明自己. 话不多说, ...

  8. Python人工智能第二篇:人脸检测和图像识别

    Python人工智能第二篇:人脸检测和图像识别 人脸检测 详细内容请看技术文档:https://ai.baidu.com/docs#/Face-Python-SDK/top from aip impo ...

  9. 【转】人工智能(AI)资料大全

    这里收集的是关于人工智能(AI)的教程.书籍.视频演讲和论文. 欢迎提供更多的信息. 在线教程 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程 人工智能入门 – 人工智能基础学习.Peter ...

随机推荐

  1. mybatis查询语句获取自增主键

    第一种方式: 主键回填useGeneratedKeys 代表采用JDBC的Statment对象的getGeneratedKeys方法返回主键keyProperty 代表将用哪个POJO的属性去匹配这个 ...

  2. maven 一些整理

    1.发布jar包到私服,需要进入项目目录 发布jar   :mvn deploy 发布源码 :mvn source:jar deploy,这个需要依赖一个maven插件: <plugin> ...

  3. css3之border-radius理解

    在日常项目过程中,border-radius这个属性算是非常常用的属性之一了,通过设置元素的border-radius值,可以轻松给元素设置圆角边框,甚至实现绘制圆.半圆.四分之一的圆等各种圆角图形. ...

  4. tomcat日志格式中的含义

    %a - 远程IP地址 %A - 本地IP地址 %b - 发送的字节数,不包括HTTP头,或“ - ”如果没有发送字节 %B - 发送的字节数,不包括HTTP头 %h - 远程主机名 %H - 请求协 ...

  5. css 初始化样式

    @charset "UTF-8"; /* reset */ html,body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,fieldset ...

  6. 清北-Day5-R2-divide

    题目描述 问是否可以将一个仅由0~9组成的字符串划分成两个或两个以上部分,使得每一部分的数字总和相等. 输入 输入文件名为 \(divide.in\) 多组数据,第一行一个数\(n\),表示数据组数 ...

  7. Felx布局基础教程

    网页布局即layout是css的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

  8. delete web server(nginx+apache)

    #!/bin/bash conf_dir1="/usr/local/nginx/conf/vhost.d" conf_dir2="/usr/local/apache2/c ...

  9. laravel 服务容器

    服务容器,也叫IOC容器,其实包含了依赖注入(DI)和控制反转(IOC)两部分,是laravel的真正核心.其他的各种功能模块比如 Route(路由).Eloquent ORM(数据库 ORM 组件) ...

  10. js检测访问设备

    if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { }