LUIS.ai返回实体时给短横线/下划线加空格,能否阻止该行为?
解决LUIS.ai自动在实体符号前后添加空格的问题
我之前也碰到过一模一样的情况,LUIS的这种行为其实是它默认的文本归一化逻辑导致的——它会把短横线、下划线这类符号前后的内容当成独立语义单元处理,所以才自动加了空格。除了手动替换,确实有几种方法能直接从根源上阻止这个问题,给你分享下:
用短语列表(Phrase List)强化实体识别:在LUIS控制台里新建一个短语列表,把所有带短横线、下划线的目标术语(比如
transition-document)都加进去,并且设置为「互斥(Exclusive)」或者标记为相关短语。这样LUIS会把这些短语当成一个完整的语义整体,不会拆分符号前后的内容。记得多补充几个类似格式的训练样本,让LUIS更好地学习这种固定结构。改用正则表达式实体(Regex Entity):如果你的实体格式比较固定(比如都是
[单词]-[单词]或者[单词]_[单词]的结构),直接创建正则实体是最稳妥的选择。比如写个匹配模式\b\w+[-_]\w+\b,这样LUIS会严格按照正则规则识别实体,完全不会修改原始的符号格式,连多余空格都不会加。切换到列表实体(List Entity):如果你的实体是固定的术语集合,把它们全部添加到列表实体里,LUIS会精确匹配输入中的内容,不会做任何格式调整。这种方法适合实体范围明确、不会频繁新增的场景。
如果以上配置都没法满足你的需求,手动替换-和_为-、_确实是简单有效的兜底方案,但优先推荐前面的配置方法,从根源上解决问题。
内容的提问来源于stack exchange,提问作者Kevin D.
相关产品推荐
相关产品推荐

