我正在建立一个聊天机器人,我是NLP的新手。
(api.ai& AlchemyAPI对于我的使用案例来说太昂贵了。而且wit.ai似乎是错误的并且此刻不断变化。)
对于NLP专家,我可以轻松地在本地复制他们的服务吗?
到目前为止我的愿景(有节点,但对Python开放):
我是聊天机器人所需要的实体和意图吗? NodeNatural / StanfordNER与NLP即服务相比有多好?我没看到什么头痛?
答案 0 :(得分:3)
你似乎完成了自己的家庭工作。就像你说的那样,以下事情会帮助你一路走来,
只有wit.ai或api.ai等服务的好处才是他们训练有素的准备使用意图和模型。如果您能够为您的机器人提供适当的培训,您也将能够达到类似的准确性。
如果您构建一些现有的开源库而不是从头开始构建所有内容,那就更好了。 请在github上check my opensource project获取wit.ai/api.ai类似的界面。 快乐的编码!
答案 1 :(得分:0)
查看Luis.ai(来自Microsoft)。它将帮助您构建一个识别意图的Natural Langauge模型。您可以将意图映射到操作。它允许您包含预先配置的NLP模型,以便您的机器人可以解密文本和返回实体(名称,时间,地理等),Luis支持多种语言。您当然可以添加自己的实体。
然后用话语训练它。当用户与您的机器人交谈时,这些话语会在线存储,Luis.ai会建议您添加一些以通过其建议功能进一步优化您的模型(这样可以在不编码的情况下进行渐进式改进)。现在为编码的东西......
访问Luis.ai并在构建模型(免费)时,您可以通过测试控制台在此处测试它:https://dev.projectoxford.ai/docs/services然后您可以使用他们的Bot框架;然而,我正在JQuery / Bootstrap中构建自己的(看看这个,看看我在这里构建http://onlinebotbuilder.com)并通过帖子处理服务器中的json到Cognitive Services API(你会在蟒蛇)。目前他们每月允许10k话语;用于测试的是充足的。提示:创建模型时,请以2个意图开始,然后训练模型以识别模型。保持简单,然后随时扩展范围。希望这可以帮助。
答案 2 :(得分:0)
要考虑的两件事是:您打算如何处理事物的生成方面?实体提取和分类将对事物的自然语言理解(NLU)方面很有用,但是生成本身可能很棘手。
要考虑的另一件事是,这些模型的管道的训练和开发通常是部署中的一个独立问题。我想,您想使用节点这一事实表明您已经了解部署软件的知识。但是请记住,在管道中部署大型机器学习模型可能很复杂,我怀疑这些API可能为您提供整齐打包的管道。