计算机擅长响应编程指令和预先确定的纯语言命令,但我们对自然语言的理解还处于初级阶段。
例如,"挂断电话 "这样一个简单的命令,其含义是由历史和口语背景决定的。人类很快就能理解这句话,但计算机可能无法理解。
幸运的是,自然语言处理(NLP)技术的进步使计算机在理解人类自然语言交流方式方面更胜一筹。
这一领域的成功为客户服务、知识管理和数据采集等领域创造了无数新的商机。事实上,自然语言理解是Botpress 公司的核心目标--帮助机器更好地理解人类是我们开发对话式人工智能的灵感来源。
虽然自然语言功能的实现已变得越来越容易,但其算法对许多开发人员来说仍是一个 "黑盒子",阻碍了这些团队实现这些功能的最佳利用。掌握其工作原理的基础知识对于确定他们将使用何种训练数据来训练这些智能机器至关重要。选择和应用正确的训练数据是成功的关键。
在本文中,我们将回顾自然语言的基础知识及其功能。我们还研究了几个关键用例,并就如何开始使用自己的自然语言解决方案提出了建议。
什么是自然语言处理?
自然语言处理是人工智能的一个子领域,研究计算机与人类语言之间的互动。它是语言学与计算机科学相结合的研究领域。自然语言处理的目的是将自然语言输入转化为结构化数据。它使用多种任务来实现这一目的,如语音部分标记、命名实体识别、句法分析等。
什么是自然语言理解(NLU)?
自然语言理解是指对语言的理解。与我们类似,自然语言理解技术也可以在不理解的情况下听到或读懂一些东西。自然语言理解是为对话界面提供动力的技术。如果没有理解的部分,对话几乎是不可能的,或者最多是尴尬的。
北大西洋公约组织如何运作?
与其他人工智能解决方案一样,这项技术也需要训练。意图检测取决于聊天机器人开发者提供的培训数据和平台工程师选择的技术。这些专家必须提供训练数据,以确保工具在其功能范围内理解用户--无论该功能是服务外部客户还是协助内部用户进行知识管理。即使进行了培训,NLU 也会因为对话偏离其核心功能而变得泛泛而谈,从而迷失方向。
幸运的是,这些技术在特定的使用案例中非常有效。对于大多数开发人员甚至非技术用户来说,优化和执行培训并非遥不可及。人工智能领域最近取得的突破,部分原因是计算能力的指数级增长,使得这些解决方案的应用比以往任何时候都更容易、更平易近人、更经济实惠。
"为了获得这种理解,机器需要能够理解和生成语音部分,提取和理解实体,确定词义,并使用更复杂的处理活动,将概念、短语、概念和语法连接到意图和意义的大画面中"。福布斯》,"能理解人类语言的机器:人工智能的对话模式",2020 年 6 月
语言是复杂的--比我们可能意识到的还要复杂--因此,创建能考虑到语言的所有细微差别并成功确定语言背后的人类意图的软件也是复杂的。但是,与人类智能一样,对人工智能进行充分的训练可以让机器克服这些复杂性(如果训练数据的形状足够好的话)。
训练人工智能对每个人工智能的用途和环境都有特定的要求。例如,假设我们打算训练一个使用 NLU 的聊天机器人,让它为航空旅行提供客户服务。聊天机器人将处理客户的自然语言,帮助他们预订航班和调整行程。
在这种情况下,聊天机器人开发人员必须为机器的自然语言算法提供意图数据。这些数据包括旅游客户在创建或更改预订时可能使用的常用短语。自然语言算法--一种机器学习功能--会根据这些数据进行自我训练,这样对话助理就能识别含义相似但用词不同的短语。
理想情况下,这种培训将使对话助理能够处理大多数客户场景,从而将人工座席从乏味的通话中解放出来,因为这些通话不需要人工座席具备更深层次的能力。同时,对话助理还能将更复杂的场景(例如需要人类共情的对话)交给人工座席处理。即使具备了这些功能,开发人员也必须继续为算法提供各种数据,以便其校准内部模型,跟上客户行为和业务需求的变化。
为此,一种名为 "词语矢量化 "的方法将词语或短语映射到相应的 "矢量"--实数,机器可以利用这些实数预测结果、识别词语的相似性并更好地理解语义。词语矢量化极大地扩展了机器理解自然语言的能力,体现了这些技术的进步性和未来潜力。
建立数据集的技巧
- 每个意图坚持使用一个概念(一个意图包含多个语句)
- 尝试在语句中混用同义词
- 用你的角色会使用的语言写出你的话语
- 使用实体
- 避免拼写和语法错误