我正在创建一个简单的聊天机器人。我想从用户响应中获取信息。一个示例场景:
Bot : Hi, what is your name?
User: My name is Edwin.
我希望从句子中提取 Edwin 的名字。但是,用户可以通过不同的方式做出响应,例如
User: Edwin is my name.
User: I am Edwin.
User: Edwin.
我试图依赖单词之间的依赖关系,但结果并不好。
关于我可以使用什么技术来解决这个问题的任何想法?
[更新]
我使用命名实体识别以及词性标注器和解析器进行了测试。我发现大多数模型的训练方式是人名或专有名词的实体的第一个字符必须大写。这对于普通文档可能是正确的,但对于聊天机器人来说无关紧要。例如
User: my name is edwin.
大多数 NER 未能认识到这一点。