2017-07-26 3 views
0

私は、非対称アルゴリズムを使用して文字列を暗号化/復号化するようにアプリに依頼する学校プロジェクトのIOSアプリを作成しています。コアMLスウィフトユースケース

私は、他の人間と話しているかのように、マシンに「話す」ことができるようにしたいと思います。たとえば、ユーザーはアプリに「あなたは暗号化できますか?」と尋ねることができます。私にとっては、Johnsの公開鍵を使用していますか?このアプリはJohnsの公開鍵で暗号化されています。

コアMLのWWDC17セッションを監視しました。しかし、それが私のユースケースに当てはまるかどうかはわかりません。 Core MLまたはNLPを使用すべきですか?あるいは、私は文の中のキーワードを探すべきですか? Core MLを使用する必要がある場合は、モデルを作成するためにどのフレームワークを使用する必要がありますか?

+1

CoreMLがある - 私には - 絶対に**ません* * - 行く道。正直言って、おそらくNLPではありません。両方ともテキスト(NLP)または画像認識のいずれかを使用します。あなたが必要とする最初のものは、キーボードや視覚的認識ではなく、音声認識です。それ?私は確信していませんが、あなたがSiriで見つけることができるものを見てください。 – dfd

+0

NLPを明確にするために、入力の意図とは何かを理解するために使用できますか? –

+0

両方の答えが言ったように、確かに。しかし、音声をテキストに翻訳せずにNLPを使用することは、馬の前にカートを置くことと同じです。また、IMHOのこの「学校」プロジェクトはかなり規模が大きい。「プロダクション品質」のアプリは、1年近い開発者チームを抱える可能性が高い。 – dfd

答えて

1

私が正しく理解している場合は、チャットボットを作成しようとしています。私は、NLPとSpeechフレームワークを使って音声の口述をするか、言葉の入力を使ってキーワードを探してみることをお勧めします。

CoreMLは、セットアップを行うのがずっと複雑で、実際の使用には適していないし、NLP以上のものは提供していないため、使いにくいです。このようなことをするためにNLPが作られました。

キーワードを検索すると、アプリの入力が「このアルゴリズムを使用してこれを暗号化する」よりも広くなることはないため、さらに簡単になります。

1

この作業を簡単に行うには、@ dannymoutが述べた音声フレームワークを使用して、ユーザーの音声をテキストに変換します。しかし、私はあなたが2つのステップを取ることをお勧めします:

最初のステップでは、ユーザーは "Encrypt please"や "I want to decrypt"のようなものを言っていますが、実際のテキストはまだありません。ここでは、何をすべきかを理解するために、「暗号化」または「復号化」という言葉を探します。 (あなたはこれにいくつかの基本的なNLPを使うことも、文字列検索を行うこともできます)

次に、「どのテキストを暗号化しますか?今度はユーザーが再び話すと、その入力を受け取り、暗号化して結果を表示します。

(私は、彼らが暗号化されたテキストで入力するのではなく、それを言う解読するために推測するが、あなたはそれが解読されると、アプリがテキストを話すことができます。)