簡單對話機械人

2021-10-05 13:55:32 字數 1451 閱讀 9717

import random

# 定語從句語法

grammar =

'''戰鬥 => 施法 , 結果 。

施法 => 主語 動作 技能

結果 => 主語 獲得 效果

主語 => 張飛 | 關羽 | 趙雲 | 典韋 | 許褚 | 劉備 | 黃忠 | 曹操 | 魯班七号 | 貂蟬

動作 => 施放 | 使用 | 召喚

技能 => 一騎當千 | 單刀赴會 | 青龍偃月 | 刀鋒鐵騎 | 黑暗潛能 | 畫地為牢 | 守護機關 | 狂獸血性 | 龍鳴 | 驚雷之龍 | 破雲之龍 | 天翔之龍

獲得 => 損失 | 獲得

效果 => 數值 狀態

數值 => 1 | 1000 |5000 | 100

狀態 => 法力 | 生命

'''def

getgrammardict

(gram , linesplit =

'\n'

,gramsplit =

'=>'):

result=

for line in gram.split(linesplit):if

not line.strip():

continue

expr,statement = line.split(gramsplit)

result[expr.strip()]

=[i.split(

)for i in statement.split(

"|")

]#print(result)

return result

defgenerate

(gramdict , target , iseng =

false):

if target not

in gramdict:

return target

find = random.choice(gramdict[target]

)print

(find)

blank=

''if iseng:

blank =

' '#blank.join() 不斷新增字元,字元中間新增指定符號,此處為新增空格。

return blank.join(generate(gramdict,t,iseng)

for t in find)

gramdict = getgrammardict(grammar)

print

(gramdict)

print

(generate(gramdict,

"戰鬥"))

print

(generate(gramdict,

"戰鬥"

,true

))

spilt() 函式 按照指定方式換行(預設為\n)

strip() 函式除去首尾的字元

(推薦)叮噹 中文語音對話機械人

叮噹是一款可以工作在 raspberry pi 上的開源中文語音對話機械人 智慧型音箱專案,目的是讓中國的hacker們也能快速打造個性化的智慧型音箱。叮噹包括以下諸多特性 推薦使用映象安裝的方式,像安裝 raspbian 系統一樣,安裝完後,只需要少量的配置即可立即使用叮噹機械人。映象安裝方法詳見...

大話機械人之雲端架構

對於複雜的機械人系統,實現的功能複雜多樣,而實現每種功能的方案又是多樣的 為統一介面,標準化開發流程,ros系統應運而生。隨著機械人技術的不斷發展,各種演算法方案優劣各異,運算複雜度也越來越高 單一的低功耗arm已經很難滿足日益龐大臃腫的ros系統及各路高複雜度演算法。同時單獨的ros系統及演算法跑...

評估智慧型對話機械人的7大資料指標

如果你正負責一款智慧型對話機械人產品,不管是軟體還是硬體,不管叫 小a 還是叫 小b 總要遇到乙個對於產品本身好壞的衡量指標的難題。如果你是leader更要弄清楚到底怎麼給做這款產品的下屬制定okr及考核指標。智慧型對話機械人,或者有些公司會將其命名為 智慧型助理 智慧型小助手 多數是以 工具 閒聊...