Python 根据句子上下文判断单词you是主语还是宾语代词。
理想情况下,在python中使用正则表达式。我正在制作一个简单的聊天机器人,它目前在正确响应诸如“我爱你”之类的短语时遇到问题(当它应该返回“你爱我”时,它会从语法处理程序中抛出“你爱我”) 另外,如果你能想出一些好的短语加入这个语法处理程序,那就太好了。我想要一些测试数据Python 根据句子上下文判断单词you是主语还是宾语代词。,python,regex,nlp,linguistics,Python,Regex,Nlp,Linguistics,理想情况下,在python中使用正则表达式。我正在制作一个简单的聊天机器人,它目前在正确响应诸如“我爱你”之类的短语时遇到问题(当它应该返回“你爱我”时,它会从语法处理程序中抛出“你爱我”) 另外,如果你能想出一些好的短语加入这个语法处理程序,那就太好了。我想要一些测试数据 如果有一个很好的及物动词列表(比如“使用的前100名”),那么可以使用“及物动词+你”模式 好吧,你想要实现的肯定是非常具有挑战性的,但也非常困难 逻辑 作为初学者,我会先研究一下语法规则 基本句子结构: WORD WORD
如果有一个很好的及物动词列表(比如“使用的前100名”),那么可以使用“及物动词+你”模式 好吧,你想要实现的肯定是非常具有挑战性的,但也非常困难 逻辑 作为初学者,我会先研究一下语法规则 基本句子结构:
WORD WORD WORD
([\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)
- 主语+及物动词+宾语
- 主语+不及物动词
WORD WORD WORD
([\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)
通常可以使用正则表达式匹配,如:
([\w]+)\s+([\w]+)\s+([\w]+)?
说明:
WORD WORD WORD
([\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)
现在,很明显,要表达像“你爱我”而不是“你爱我”这样的句子,你的算法也应该“理解”这一点:
- 句子的第三部分具有宾语的作用
- 由于“I”是一个人称代词(仅用于主格:“作为主语”),我们应该把它的“宾格形式”(=作为宾语);因此,为此,您可能还需要例如人称代词表,如:
- 我-我-我
- 你-你-你
- 他-他-他
- 等等
资料 对于您感兴趣的单词列表,仅举几个示例:
- (大多数——如果不是全部的话——都是 可传递的)