Linear95 / bert-intent-slot-detector

BERT-based intent and slots detector for chatbots.
119 stars 15 forks source link

数据集 #4

Closed happywch closed 3 months ago

happywch commented 4 months ago

在数据值的制作中,不明白 "domain"这个的作用,也没有看见介绍。我想要制作的大概如下 “灯光调节”:{ “调模式” “调亮度” “调色温___
} 是不是可以丢弃domain,具体如下所示 { "text": "我想把色温调高一点", "intent": "灯光调节", "slots": { "色温": "高" }

Linear95 commented 4 months ago

是的,domain是原始数据里面自带的,可以理解是一个high-level的intent,实际训练没有用到,可以去掉。

happywch commented 4 months ago

对于特定领域的意图识别,比如,家庭控制领域。 我是不是 不仅需要标注家庭控制领域内的相关数据集,还需要针对日常的无关的内容进行标注(比如“该吃饭了”),以防止误触 那么这种无关的内容该怎么标注呢。是单独将无关的内容全部标注为一个意图。还是直接空着。 当然我希望这种无关的内容可以尽可能的少的占用预测资源(不是训练)

Linear95 commented 4 months ago

可以加一个无关意图标签,遇到bad case就加进去,然后不断迭代,效果就可以持续提升。这种误触没法完全避免,只能靠加数据。

happywch commented 3 months ago

当我使用下面这样的格式 { "text": "我想把灯光颜色变得更加温暖一点", "intent": "灯光调节", "slots": { "色温调低": "10" } 来作为数据集使用。训练后,使用发现slots项的识别常常为空“{}”。 看了下huggingface的bert-base-chinese模型,他是用MASK的方法来识别的。 意思是我slots内容必须出现在text内?所以这样的标注是不对的吗?

Linear95 commented 3 months ago

对,“色温调低”这四个字必须在“text”里面出现,不然识别不到,这个是抽取式模型,没有生成slot的能力。

happywch commented 3 months ago

通过在intended内写入slot内容解决了,感谢帮助