2017-07-26 44 views
0

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

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

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

+1

CoreML是 - 我 - 绝对不是** * * - 要走的路线。说实话,可能不是NLP。两者都使用文本(NLP)或图像识别。您需要的第一件事是*声音*语言识别,而不是键盘或视觉识别。为了那个原因?我不确定,但看看你能在Siri上找到什么。 – dfd

+0

因此,澄清NLP可以用来确定输入的意图是什么? –

+0

因为两个答案都说,当然。但是在不将语言翻译成文本的情况下使用NLP就像是把马车放在马前。另外,恕我直言,这个“学校”项目的规模相当大 - “生产质量”应用程序可能需要一个接近一年的小团队开发人员来完成。 – dfd

回答

1

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

CoreML的设置将会复杂得多,不适合您的使用情况,并且提供的只是NLP,并且使用起来会更加困难。 NLP是为了做这样的事情而制作的。

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

1

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

第一步用户说“请加密”或“我想解密”,但不是实际的文本。因此,在这里您只需查找“加密”或“解密”一词来找出要执行的操作。 (你可以使用一些基本的NLP,或者只是做一个字符串搜索。)

然后,应用程序说:“你想要加密哪些文本?”现在用户再说一遍,然后您接受该输入并加密并显示结果。

(我猜解密,他们将在加密的文本类型,而不是说出来的,但你可以让应用程序一旦被解密讲话的文本。)