2012-01-19 56 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