我有两个实体:
entities: {
frase: {
trim: [
{
position: "betweenLast",
leftWords: [
"falar"
],
rightWords: [
"na"
]
},
{
position: "afterLast",
words: [
"falar"
]
}
]
},
voz: {
trim: [
{
position: "betweenLast",
leftWords: [
"na voz do",
"na voz da",
"na voz de"
],
rightWords: [
"falar"
]
},
{
position: "afterLast",
words: [
"na voz do",
"na voz da",
"na voz de"
]
}
]
}
}
当我说这个短语:“falar testando, 1 2 3 na voz do chaves”时,槽位正常工作。
但我遇到了一个问题:当用户输入以下句子时:“Minha secretária pediu um aumento, mas não posso dar. Me descreva 5 motivos para falar isso para ela de forma bem delicada.”它却进入了那个槽位,而正确的应该是进入None。
如何修复这个槽位,使其仅在以“falar”开头时接受?
6条答案
按热度按时间xghobddn1#
请分享实体数组中的确切返回值。此外,这句话属于哪两个插槽?
还使用了哪个版本的nlp.js?请提供更多信息和详细信息。
rslzwgfq2#
另外:你知道在修剪规则中,它们都是“为自己而立”,所以这不是一个“组合”,意味着在你的情况下,有两个实体,它们都有两个选项可以匹配(它们有点像“或”连接)。要在那里添加一个“与逻辑”(这确实可能是一个很酷的想法),这将更多地是一个功能请求。
我期望(我没有尝试过!)你的句子有以下结果:
所以,如果结果和我预期的一样,那么这个库就按照设计工作了。
此外,允许在lef/rightwords中使用“短语”(也称为按定义顺序排列的多个单词)也是一个功能请求。
t40tm48m3#
请分享一下实体数组中的确切返回值?同时,这句话属于哪两个槽位?
还请问使用了哪个版本的nlp.js?请提供更多信息和详细说明。
nlp.js版本:"@nlpjs/basic": "^4.25.0",
语料库:
我的示例代码:
conf.json文件:
返回值:
9udxz4iz4#
好的,我的假设是正确的,匹配的内容是什么,上面的描述就是。
l0oc07j25#
感谢@Apollon77/
你还有其他使用trim的例子吗?
rsl1atfo6#
也许https://github.com/axa-group/nlp.js/blob/master/docs/v4/ner-manager.md#trim-entities可以提供更多上下文。