我正在创建一个简单的聊天机器人。我想从用户响应中获取信息。一个示例场景:
Bot : Hi, what is your name?
User: My name is Edwin.
我希望从句子中提取 Edwin 的名字。但是,用户可以通过不同的方式做出响应,例如
User: Edwin is my name.
User: I am Edwin.
User: Edwin.
我试图依赖单词之间的依赖关系,但结果并不好。
关于我可以使用什么技术来解决这个问题的任何想法?
我正在创建一个简单的聊天机器人。我想从用户响应中获取信息。一个示例场景:
Bot : Hi, what is your name?
User: My name is Edwin.
我希望从句子中提取 Edwin 的名字。但是,用户可以通过不同的方式做出响应,例如
User: Edwin is my name.
User: I am Edwin.
User: Edwin.
我试图依赖单词之间的依赖关系,但结果并不好。
关于我可以使用什么技术来解决这个问题的任何想法?
首先,我认为设置一个完整的名称检测真的很繁重。如果您希望您的机器人能够在 99% 的情况下检测到名称,那么您需要做一些工作。我想名字检测只是你计划的开始......
这就是说,这是我想到的第一个想法:
但是,我不是人工智能专家,我期待看到其他建议。
如果您考虑“我的名字不重要”、“我的名字很长”等问题,检测名字可能会很复杂。
这是 Self 中尝试解析名称的公共域脚本,您可以将其改编为 python,它还会做一些疯狂的事情,例如在维基词典上查找单词以查看它们是否被归类为名称,
有很多选择,只有 2 个“模型”:
基于NLP训练;使用 HTTP 进行集成/交付:
基于模式匹配;使用解释器(需要本机实现或其他实现的桥梁)
这不是当前选项的详尽列表。