私は学士号を取得するために、実際の家をシミュレートするだけのスマート ホーム ソフトウェアを作成していますが、プロジェクトの NLP 部分で立ち往生しています。アイデアは、クライアントに音声入力を聞いてもらい (既に完了)、それをテキストに変換して (完了)、それをサーバーに送信することです。
したがって、すべての入力はかなり短くなります (「ポーチのライトをオンにしてください」など)。これに基づいて、どのオブジェクトをどのように動作させるかを決定したいと思います。そこで、ある程度効率的なものを書き上げるために、やるべきことをいくつか思いつきました。
- 不要な言葉を取り除く (前の例の「お願いします」と「その」は、何をする必要があるかの意味を変える言葉ではありません。しかし、「明かりを消してください」と言った場合、「私の」にはかなり重要な意味)。
- 同義語に対処します(「ライトをオンにする」は「ライトを有効にする」と同じことを行う必要があります-これはばかげた例だと思います)。唯一の選択肢は、ある種の辞書 (おそらく XML) を用意し、家の中の特定のオブジェクトの可能な単語のリストを用意することだと思います。
- 動詞と主語の検出。「オンにする」は動詞で、「ライト」は主語です。これを検出する良い方法が必要です。
- 一般的な実装。これらは通常、アルゴリズムの観点からどのように開発されますか? スマート ホームで NLP に関する記事を 1 つだけ見つけましたが、これは非常にあいまいでした (そして英語が下手でした)。どんなリンクでも大歓迎です。
質問が十分にユニークであることを願っています(SOに関するNLPの質問を見たことがありますが、実際には役に立ちませんでした)。