0

我正在为一个学校项目创建一个 IOS 应用程序,用户要求该应用程序使用非对称算法加密/解密字符串。

我希望用户能够与机器“交谈”,就像在与另一个人交谈一样。例如,用户可以问应用程序“你能加密‘你好吗?’ 对我来说,使用约翰的公钥?” 然后,该应用程序将返回使用 Johns 公钥加密的“你好吗”。

我看过关于核心 ML 的 WWDC17 会议。但是我不确定它是否适用于我的用例。我应该使用 Core ML 还是 NLP?还是我应该只在句子中寻找关键词?如果我应该使用 Core ML,应该使用什么框架来创建模型?

4

2 回答 2

2

实现这项工作的一种简单方法是使用@dannymout 提到的语音框架将用户的语音转换为文本。但我建议你采取两个步骤:

在第一步中,用户说“请加密”或“我想解密”之类的内容,但还不是实际文本。所以在这里你只需寻找“加密”或“解密”这个词来弄清楚要做什么。(您可以为此使用一些基本的 NLP,或者只是进行字符串搜索。)

然后应用程序说,“你想加密什么文本?” 现在用户再次说话,您接受输入并对其进行加密并显示结果。

(我猜他们会在解密时输入加密的文本而不是说出来,但你可以让应用程序在解密后说出文本。)

于 2017-07-26T08:45:20.607 回答
1

因此,如果我理解正确,您正在尝试构建一个聊天机器人。我建议使用 NLP 和语音框架进行语音听写,或者只是使用语音输入来查找关键词。

CoreML 的设置要复杂得多,并不真正适合您的用例,并且只提供 NLP,并且更难使用。NLP 就是为做这样的事情而生的。

寻找关键词可能更容易,因为您的应用程序将获得的输入可能不会比“使用此算法加密”更广泛。

于 2017-07-26T01:12:58.663 回答