nlp - 斯坦福 POS 标记器和分类意图和回复可能出现错误
问题描述
我有一个特定的用例,一个人会说这样的话:
- “嘿(触发词),对象历史记录 XYZ 中的注释”或:
- “嘿(触发词),记录在对象诊断中的 PQR”
- (示例中使用的“对象”是一个占位符,可以替换为“维护/患者”等词。)
我想识别意图和插槽。
然后我使用 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 中有一个字段:对象历史)和
- 注意事项(对象最后一次更新是在 5 月 28 日)。
另一个问题是由于 NLP 的输入来自 ASR 系统,因此缺少大写字母。并且 POS 标记器错误地将“note”标记为“NN”(而不是“VB”)。理想情况下,'note'/'record' 应该是动词。我该如何解决这个可能的错误?
解决方案
您可以使用 TrueCaseAnnotator 修复案例问题:
https://stanfordnlp.github.io/CoreNLP/truecase.html
一般来说,您可能只想使用 TokensRegex 并编写规则模式来处理这些模板。更多信息在这里:
推荐阅读
- javascript - 每个月之间来回移动
- javascript - 即使用户不编辑输入值,如何使用 v-model?
- python - 使用 python 将纯 JSON 发送到 gRPC 服务器
- javascript - 为什么我不能用 JavaScript 捕获异步异常?
- java - 即使抛出异常`com.jayway.jsonpath.PathNotFoundException`,如何在JSON中收集标签的所有其他值?
- php - 将 Docker 容器链接到卷
- visual-studio-code - 如何修复 macOS Big Sur 上的 VS Code 集成终端不稳定和滞后?
- java - 如何以操纵方式重复文本,并重复此操作直到达到我的目标?
- python - 当大多数任务成功而只有少数任务失败时,如何将 DAG 运行标记为成功?
- python - 从 AllenNLP Open IE 模型中提取后处理三元组