Rasa实战:构建开源对话机器人
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人


2.2.5 正则表达式和查找表的使用

在Rasa中,正则表达式和查找表可以通过2种方式使用。

● 作为NER组件的输入特征之一。一个足够聪明的NER组件应该能在特征中发现规律,适当地使用我们提供的建议信息。这里值得说明的是,我们提供的特征只建议模型这有可能是电话号码,而不肯定这是电话号码,因为身份证号码中也可能会出现电话号码。模型需要根据上下文的信息决定是否采用我们的建议。正则特征只是一种帮助模型提取文本特征的手段,开发者依旧要定义意图和实体的训练样本。需要注意的是,为了让模型能够学习查找表特征对模型预测的影响,用户要确保在训练数据中有部分训练数据和查找表特征词汇一致,否则模型会认为预测结果和正则表达式或查找表之间不存在任何关联。另外,开发者要保证查找表数据中的数据没有错误或噪声,否则可能适得其反(模型过度信任正则表达式或查找表提供的特征),模型性能下降。

● 作为NER组件的输入。Rasa中有RegexEntityExtractor,可以按照正则表达式和查找表数据提取实体,这是一种非常机械的实体提取手段,但在某些场合下非常实用。