-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
“查找表”功能不能支持中文吗? #2
Comments
Hi, 你对 "intent_entity_featurizer_regex" 的工作方式理解错误,它不负责提取实体,它只是建议后续的实体提取组件这个可能是一个实体,具体是什么实体和采不采纳建议都是有后续组件训练得到的。具体对中文的支持情况,我还没测试。由于具体原理类的问题和 WeatherBot 项目并无关系,建议你加入 Rasa 中国官方社区 QQ Group ID:820037374,那里比较适合问rasa 相关的问题 |
好的,谢谢指点,我再深入研究下 |
经过测试发现怎么样使用查找表都没效。 |
如果你动手能力强,可以自己在后续的一些 NER 或者 分类器上实现支持这个属性的,不是很难,你如果感兴趣可以试一试,顺便给官方贡献一个 feature |
我用英文数据研究了几天,想要修改mitie的实体抽取部分以实现这个功能。 原因是mitie的python调用工具里,并没有提供“为token附加其他特征”的接口。也就是说即使"regex"组件为每个token附加了regex特征,但是最终训练时的数据集里还是把regex特征丢弃了。 我不清楚是mitie本身就没有添加额外特征的功能还是python版没提供这个接口,请问你知道吗? |
具体是 mitie 不支持额外特征还是只是 rasa 没有集成,需要你看看 mitie 的原理什么的了,我也不确定,只有看过代码理解原理才好回答 |
https://github.com/mit-nlp/MITIE/blob/master/examples/python/train_ner.py#L1 |
追根问底的解决问题的方式非常棒!加油,如果找到了最终的答案,也请在这里 update 一下,作为众人的参考。:) |
通过rasa_nlu的官方文档,我知道查找表是为了优化实体识别功能,同时又不增加过多训练样本。
但是实际使用我发现没有效果,请问你知道怎么用吗?
我在nlu.json中增加
nlu_model_config.yaml中增加pipeline
- name: "intent_entity_featurizer_regex"
训练时会在models文件夹中生成regex_featurizer.json文件。
看了rasa_nlu的源码中featurizers/regex_featurizer.py文件,
regex_string = '(?i)(\\b' + '\\b|\\b'.join(elements_sanitized) + '\\b)'
这里加了\b导致无法匹配中文(因为送到这里的文本没有分词)
然后我去掉了这里的\b,确实就能够被查找表的正则匹配了。
我理解的查找表应该是把自定义词“周子”当作和“明天”一样的'date-time'实体。
但是实际上输入“周子”时,它还是被识别成了'address'词。
请问是我理解不对,还是哪一步做错了吗?
The text was updated successfully, but these errors were encountered: