好的。让我们像语言学家一样看待这个问题。我在这里大声思考。
"Her" 是一个代词。它可以是:
1.
物主代词
This is her book.
2.
人称代词
把它给her.(介词后)
他写了her一封信。(间接宾语)
他治疗了her感冒了。(直接宾语)
让我们看一下情况(1),所有格代词。也就是说,它是一个“所有格”的代词(意思是,它是一个“所有格”的名词。好吧,这个细节并不像下一个细节那么重要。)
在这种情况下,“她”充当了“决定者”的角色。限定词可以出现在句子中的两个位置(这是一个简化):
Det + 名词(“她的书”)
Det + Adj + 名词(“她的好书”)
因此,要弄清楚她是否是决定者,您可以采用以下逻辑:
A。如果“her”后面的单词是名词,那么“her”就是限定词。
b.如果“her”后面的两个词是形容词,然后是名词,那么“her”是限定词”
如果你确定“她”是一个限定词,那么你就知道必须用“他的”替换它,它也是一个限定词(又名属格名词,又名所有格代词)。
If it doesn't符合上面的条件 (a) 和 (b),那么您可能会得出结论:not限定词,这意味着它必须是人称代词。在这种情况下,您可以将“她”替换为“他”。
您甚至不必进行以下测试,但无论如何我都会尝试描述它们。
从上面看(2):personal代词,而不是所有格。这变得更加棘手。
上面的例子显示“她”以三种方式出现:
(1) 把它给her.(在介词之后。我们称之为“介词的宾语”。)
所以你也许可以设计一个规则:“如果‘她’紧接在介词之后出现,那么它应该被视为名词,所以我们会把它替换为‘他’”。
接下来的两个就很棘手了。 “她”可以是direct对象或indirect object.
(2) 他写了her一封信。(间接宾语)
(3) 他治疗了her感冒了。(直接宾语)
从语法上来说,我们如何区分?
直接宾语紧接在动词之后。
如果有一个动词,后面跟着一个名词,那么该名词就是直接宾语。例如:
他治疗了 her.*
如果有一个动词,后面跟着一个名词,后面跟着一个介词短语,那么该名词就是直接宾语。
他治疗了her感冒了。(“her”是一个名词,它紧接在动词“treatment”之后。“for a Cold”是一个介词短语。)
这意味着你可以说“如果你有动词+名词+预备”那么名词就是直接宾语。由于名词是直接宾语,那么它是人称代词,所以用“他”。 (请注意,您只需检查介词,而不是整个预备短语,因为该短语始终以介词开头。)
如果它是间接宾语,那么您将采用“动词+名词+名词”的形式。
他写了her一封信。(“她”是一个名词,“字母”是一个名词。好吧,“一封信”是一个“名词短语”,所以你还必须考虑限定词。)
所以...如果“her”是直接宾语、间接宾语或prep宾语,则可以将其更改为“him”,否则,将其更改为“his”。
这个方法看起来要复杂得多 - 所以我首先检查“her”是否是一个限定词(见上文),如果它是一个限定词,则使用“his”,否则就使用“him”。
所以,上面有很多简化。它不涵盖“中断短语”,或子句结构,或选区测试,或嵌入式子句,或标点符号,或类似的内容。
此外,此解决方案需要一本字典 - “名词”、“动词”和“介词”的列表,以便您可以确定句子中每个单词的词汇类别。
即使在那里,自然语言处理也很困难。您需要对模型进行某种“训练”以获得良好的解决方案。但对于非常简单的事情,请尝试上面描述的一些东西。
抱歉说得这么啰嗦! (现有的答案都没有提供任何硬数据或精确的语言定义,所以这里是。)