我正在進行語言處理。我收到一個字符串(例如來自語音識別)。該字符串包含一些命令,必須是找到。我把我自己的系統放在一起,但我無法確定它的算法(我是編程和python的新手)。根據句子在嵌套字典中查找函數
簡單的例子:
received_string = 'I want to turn on machine'
# idea dictionary in dictionary
# commands
def function1():
pass
def function2():
pass
commands = \
{
'I want to turn on ': {
'machine': function1,
'lights': function2
},
'Open the ': {
#####
#####
}
}
所以基本上我收到例如「我想打開機器」。 「我想打開」是可應用於多個對象之一的命令。我想將這些對象存儲在commands
字典中的dictionary_中。有沒有可能找到&實現一些聰明的算法,它會處理'我想打開機器'到'我想打開',然後找到'機器'對象並執行function1()
?
我真的不想有一個算法來切斷字符串中的最後一個單詞,然後搜索。原因是我想要帶有問題的字典等等,並且沒有意見要削減它。事實上,我想要真正複雜的系統,這個帶有命令和不同對象的字典阻礙了我的進步。我知道有一個解決方案可以製作兩個獨立的命令'我想打開機器'和'我想打開燈',但這有點不專業,不可行嗎?
謝謝。這更好的主意 - 比較字典鍵與字符串比鍵與字符串。我會嘗試你的解決方案 – Martin
沒問題,我發現通常比較容易找出子字符串是否在較大的字符串中,而不是查看字符串是否包含某個子字符串,至少從簡單的編程角度來看。 – tmwilson26