Stanford POS Tagger 对意图和回复进行分类时可能出现的错误

Possible error with Stanford POS Tagger and classifying intent and the replies

我有一个特定的用例,一个人会说这样的话:

我想认清意图和槽点。

然后我使用 Stanford Parser 来解析句子,例如解析 "Note in object history object was last updated in may twenty eighteen" 给出这个元组列表:

[('Note', 'VB'),
 ('in', 'IN'),
 ('object', 'NN'),
 ('history', 'NN'),
 ('object', 'NN'),
 ('was', 'VBD'),
 ('last', 'RB'),
 ('updated', 'VBN'),
 ('in', 'IN'),
 ('may', 'MD'),
 ('twenty', 'CD'),
 ('eighteen', 'CD')]
  1. 现在,我的重点是如何使用这些信息来获得必要的输出:

    • 需要注意的地方(我们在数据库中有一个字段:对象历史记录)
    • 注意事项(对象最后更新于五月二十八)
  2. 另一个问题是,由于NLP的输入来自ASR系统,因此缺少大写字母。词性标注器将 'note' 错误标记为 'NN'(而不是 'VB')。理想情况下 'note'/'record' 应该是一个动词。我该如何解决这个可能的错误?

您可以使用 TrueCaseAnnotator 修复大小写问题:

https://stanfordnlp.github.io/CoreNLP/truecase.html

一般来说,您可能只想使用 TokensRegex 并编写规则模式来处理这些模板。更多信息在这里:

https://stanfordnlp.github.io/CoreNLP/tokensregex.html