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 = '15845079' 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 osAPP_ID = '15845079' 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 Aif nlp_client.simnet(text, '你今年幾歲了').get('score') >= 0.58:A = '千年999'return AA = '我不知道你在說什么'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 osAPP_ID = '15845079' 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": "123"}}data['perception']['inputText']['text'] = textdata['userInfo']['userId'] = uidres = 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 textdef my_nlp(text):if nlp_client.simnet(text,'你叫什么名字').get('score')>=0.58:A = '我叫音王吧'return Aif nlp_client.simnet(text, '你今年幾歲了').get('score') >= 0.58:A = '千年999'return AA = to_tuling(text,'007')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') # 自動播放轉載于:https://www.cnblogs.com/zhangchen-sx/p/10594820.html
總結
- 上一篇: 如何拆分PDF,PDF拆分页面的方法
- 下一篇: JS 作用域与变量提升---JS 学习笔