2012-01-19 55 views
1

我正在用PHP構建一個語音識別+處理工具,而且我剛剛遇到了一個問題,我不太清楚如何修復..用正則表達式去掉句子?

基本上,如果用戶說嗨,我我們從約30個不同的問候語列表中隨機發問,然後以類似的口吻將剩下的談話建立起來。

現在,在更復雜的句子中,用戶可以說'玩貓頭鷹城玩螢火蟲',或'聽貓頭鷹城螢火蟲',或'嗨,我可以聽貓頭鷹城的螢火蟲「可以理解的是,這些都是播放音樂的要求。

問題是,當一個句子有這麼多變量時,如何測試listen,play和歌曲名稱的存在?基本上我假設我必須去掉所有那些無用詞的句子,只解釋'聽/玩螢火蟲貓頭鷹城市'。

也是我計劃與「聽」做的是觸發運行於YouTube搜索API,它會打開一個新標籤,或返回YouTube搜索網址,這取決於客戶端上的「聽」功能。

有誰知道如何去掉像preg_match這樣的句子?或者其他方式?我一直在嘗試過去的幾個小時,哈哈。

乾杯,對於任何非常感謝和所有響應:)

+3

所以基本上你問如何寫一個PHP腳本,將通過一個[圖靈測試(http://en.wikipedia.org/wiki/Turing_test)?祝你好運... – DaveRandom

回答

2

語言解析是相當複雜的,而不是正規表達式:但要開始,你需要能夠識別的「鑰匙」的詞語,如名詞,動詞,形容詞等,並分析這些來確定意義。諸如brill parser之類的工具將有助於第一部分。

有語音分析儀的部分相當完整列表here