私は、事前定義されたコマンドを使用して、簡単な音声ベースのコマンドインターフェイスを作成しようとしています。私が問題を抱えているのは、プログラムがコマンドと共に渡されたパラメータを理解しようとしているときです。私はいくつかの作業コードを持っていますが、私が望むものには理想的ではありません。例えば文字列内の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」] =「ロンドン」という$クエリを意味します。しかし、一度に1つの単語しかサポートできません。複数の単語をサポートする方法はありますか?
TL; DR
- コードの別々のパラメータへ
- 複数の単語
- はあなた」で
_
を置き換えることができ、文字列として乾杯
自然言語の認識と構文解析を行い、意味を識別しますか?それは...少し答えが広いです。地球上の最大のテクノロジー企業は、これをクラックするために重大なリソースを投資しています。スタックオーバーフローの簡単な解決策を期待していない。 – deceze
あらかじめ定義されたトリガーを持つ自然で事前定義されたコマンドはありません。私はちょうど何かを認識する方法があるのかどうか疑問に思った:後で______に私に思い出させて、どのコマンドを私が@decezeに言及しているかを認識させるようにする。 – P110
あなたが行きたい距離に依存する。あなたはコマンドの固定リストを持っていて、類似性を計算することができます(例えば[類似テキスト](http://php.net/manual/en/function.similar-text.php)を使用して)。または、理解しようとするレクサークラスを作成することもできます。しかし後者は、音声認識市場で最大の企業がまだ完全に達成することはできません。最初のアプローチを実装するには、正規表現を使用できます。あなたはコマンドは常に静的なので、(擬似コード)の問題です。 "(*。)のような天気は何ですか?" – Eihwaz