【发布时间】:2019-05-13 17:55:55
【问题描述】:
我有一个特定的用例,一个人会说这样的话:
- “嘿(触发词),对象历史记录 XYZ 中的注释” 或:
- “嘿(触发词),在对象诊断中记录 PQR”
- (示例中使用的“object”是一个占位符,可以替换为“Maintenance/Patient”等词)
我想识别意图和插槽。
然后我使用 Stanford Parser 来解析句子,例如解析 "Note in object history object was last updated in May 28" 给出了这个元组列表:
[('Note', 'VB'),
('in', 'IN'),
('object', 'NN'),
('history', 'NN'),
('object', 'NN'),
('was', 'VBD'),
('last', 'RB'),
('updated', 'VBN'),
('in', 'IN'),
('may', 'MD'),
('twenty', 'CD'),
('eighteen', 'CD')]
-
现在,我的重点是如何使用这些信息来获得必要的输出:
- 需要注意的地方(我们在 DB 中有一个字段:Object History) 和
- 注意事项(对象最后一次更新是在 5 月 28 日)。
另一个问题是由于 NLP 的输入来自 ASR 系统,因此缺少大写字母。并且 POS 标记器错误地将“note”标记为“NN”(而不是“VB”)。理想情况下,'note'/'record' 应该是动词。如何解决这个可能的错误?
【问题讨论】:
-
您可以简单地删除 "Hey (Trigger Word), " 序言,然后将下一个单词大写(*"Note"/"Record"/etc.)。如果 POSTagger 仍然将其误分类为 NN,您可以保留一个通常开始一个句子的已知动作动词的列表,并将第一个项目合并到 POS 输出中。 (但也要在 POSTagger 上提交一个错误)
-
非常感谢。我会记住这一点。现在为第 1 部分添加了另一个查询。什么样的分块将帮助我获得句子的第二部分(注意事项)。我可以从分块“位置注释”中获取注释的位置,但我仍然不确定如何获取该部分:要注意什么。非常感谢。
标签: nlp speech-recognition stanford-nlp pos-tagger