我試圖創建一個簡單的基於語音的命令接口,使用預定義的命令。我遇到問題的具體部分是程序試圖理解通過命令傳遞的參數。我有一些工作代碼,但它不是我想要的。字符串中的PHP正則表達式自定義變量
例如,我可能有檢查天氣如下命令:
在英國倫敦的天氣怎麼
和模式得到認可將是這樣:
在_什麼是天氣
我已經得到了一些基於相關性的mysql查詢的命令,這不是我的問題,我的問題是從命令中分離出「倫敦英國」的上下文。
我有此刻的一些工作代碼,但它並不理想:
//SPLIT CONTEXT FROM COMMAND
$query = "in london what is the weather";
$trigger = "in _ what is the weather";
$triggers = explode("_", $trigger);
foreach($triggers as $word){
$query = str_replace($word, "'", $query);
}
$query = explode("'", $query);
array_shift($query);
這將意味着$查詢[0] =「倫敦」。但它一次只能支持一個單詞,是否有支持多個單詞的方式,通過某種方式將它作爲一個變量或某些事物來處理?
TL;博士
- 代碼分離參數
- 多個單詞
- 分離出來作爲一個字符串
乾杯
你想自然語言識別和解析與意義的識別?這是...有點廣泛的回答。這個星球上最大的科技公司正在投入大量資源來解決這個問題。不要期望得到堆棧溢出的簡單解決方案。 – deceze
沒有預定義觸發器的自然預定義命令。我只是想知道是否有一種方式來識別......諸如此類的東西:提醒我以後再______並且讓它知道我指的是哪個命令@deceze – P110
這取決於你想走多遠。你可以有一個固定的命令列表,然後計算相似性(例如使用[similar-text](http://php.net/manual/en/function.similar-text.php))。或者你可以創建一個詞法分類,試圖找出答案。儘管如此,後者尚未由語音識別市場上的大公司完全實現。要實現第一種方法,你可以使用正則表達式。你的命令總是靜態的,所以它是(僞代碼)「(*。)中的天氣如何」 – Eihwaz