理想情况下,在 python 中使用正则表达式。我正在制作一个简单的聊天机器人,它目前在正确响应“我爱你”之类的短语时遇到问题(它会从语法处理程序中返回“你爱我”,而它应该回馈“你爱我” ”)。
另外,如果你能想到好的短语来投入这个语法处理程序,我会很高兴,那就太好了。我想要一些测试数据。
如果那里有一个很好的及物动词列表(比如“使用前 100 个”),那么使用它和特殊情况下的“及物动词 + 你”模式可能是可以接受的。
理想情况下,在 python 中使用正则表达式。我正在制作一个简单的聊天机器人,它目前在正确响应“我爱你”之类的短语时遇到问题(它会从语法处理程序中返回“你爱我”,而它应该回馈“你爱我” ”)。
另外,如果你能想到好的短语来投入这个语法处理程序,我会很高兴,那就太好了。我想要一些测试数据。
如果那里有一个很好的及物动词列表(比如“使用前 100 个”),那么使用它和特殊情况下的“及物动词 + 你”模式可能是可以接受的。
好吧,您要实现的绝对是非常具有挑战性的,但也非常困难。
作为初学者,我会先研究一下语法规则。
基本句子结构:
(当然,我们也可以讨论“主语+动词+间接宾语+直接宾语”格式等(例如我给你球),但现在这太复杂了......)
显然,这个方案非常简单,但现在让我们坚持下去。
然后(另一个过于简单化的假设),每个部分都是一个单词。
所以基本上你有以下句子计划:
WORD WORD WORD
这通常可以使用正则表达式匹配:
([\w]+)\s+([\w]+)\s+([\w]+)?
解释 :
([\w]+) # first word (=subject)
\s+ # one or more spaces
([\w]+) # second word (=verb)
\s+ # one or more spaces
([\w]+)? # (optional) third word (=object - if the verb is transitive)
现在,显然要制定像“你爱我”而不是“你爱我”这样的句子,你的算法也应该“理解”:
- 我-我-我
- 你——你——你
- 他-他-他
- ETC...
只是一些想法......(纯粹出于我对语言学的热情:-))
至于您感兴趣的单词表,只需几个示例: