2017-06-29 51 views
-1

在对话中,要求呼叫者输入其目的地地址。一些响应的例子:提取呼叫者响应的地址部分

I'm heading to 123 Lombard Street. 
    I'll be at 2210 third Ave. 
    I should be arriving to 44 Cross Terrace about 3:00 this afternoon. 

是可以分离并提取用户的地址部分回应:

123 Lombard Street 
    2210 third Ave. 
    44 Cross Terrace 

我要找的建议,在此提取是否能最佳实践使用意图和实体来定位数字部分,以及(街道,Ave,Terrace)部分和通配符(Lombard,third,Cross)之间的内容,或者需要应用程序代码来定位和提取地址部分。

如果需要任何其他信息,我会很乐意根据要求提供。

回答

0

策略可能是使用system entity @sys-number指向引用的地址片段的开头。每个找到的实体的元数据保存位置信息(在输入字符串中开始/结束)。从那里你需要在输入字符串中搜索任何不在你特定的“地址词汇”中的东西。

您可以将您的地址词汇(街道,道路,露台,大道和同义词)添加为实体。从最小的实体位置到最高的范围可以被提取,然后用于规范化地址。

提取和一些处理可以在会话服务中完成,但您可能需要有外部逻辑来将发现的地址片段标准化为所需的内容。

这个关于tips & tricks for building chatbots的博客文章有一些有用的东西和指向存储库的链接,其中包含一些处理实体和变量的详细示例。