脚本是否有一种相当简单的方法来判断(从上下文)“她”是否是所有格代词?

2023-11-27

我正在编写一个脚本来反转一段文本中的所有性别,因此所有性别单词都会被交换 - “男人”与“女人”交换,“她”与“他”交换,等等。但是存在歧义,因为是否应该用“他”或“他的”代替“她”。


好的。让我们像语言学家一样看待这个问题。我在这里大声思考。

"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”。


所以,上面有很多简化。它不涵盖“中断短语”,或子句结构,或选区测试,或嵌入式子句,或标点符号,或类似的内容。

此外,此解决方案需要一本字典 - “名词”、“动词”和“介词”的列表,以便您可以确定句子中每个单词的词汇类别。

即使在那里,自然语言处理也很困难。您需要对模型进行某种“训练”以获得良好的解决方案。但对于非常简单的事情,请尝试上面描述的一些东西。

抱歉说得这么啰嗦! (现有的答案都没有提供任何硬数据或精确的语言定义,所以这里是。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

脚本是否有一种相当简单的方法来判断(从上下文)“她”是否是所有格代词? 的相关文章

随机推荐

  • iOS:使用 ContainerView 具有动态内容的 UIScrollView (一步一步)

    尽管这里有多个问题和答案 但我无法创建一个UIScrollView具有静态和动态内容 通过使用ContainerView 并使尺寸正常工作 因此 我将提供一步一步的指导 直到我无法取得任何进展并且有人可以提供解决方案为止 这样我们就会有一个
  • 在 Objective C 中导入标头

    在 Objective c 中 当我们按照惯例将一个类的对象使用到另一个类中时 我们应该在 h 文件中转发声明该类 即 class classname 并且应该在 m文件中导入头文件 即 import header h 但是如果我们在 h
  • 在 Android 应用程序之间共享身份验证令牌

    我需要在 2 个或更多 Android 应用程序之间共享通用的持久登录 身份验证令牌 诀窍在于 任何一个应用程序都不需要安装另一个应用程序即可工作 它们是相互独立的 因此 在应用程序登录之前 它会问一个问题 是否可能有另一个友好的应用程序可
  • 在 css 样式表中添加指向图像的链接

    我希望在 CSS 样式表中添加指向图像的链接 以便在按下图像时它将导航到该链接 图像本身的代码是 logo background image url images logo png width 981px height 180px marg
  • C# ASP.NET 页面离开事件?

    我正在寻找一个会触发的事件或一种判断用户是否离开页面的方法 导航到另一个页面或完全关闭该页面 通过引发的事件这可能吗 本身不在 ASP NET 中 您必须编写一些前端 JavaScript 才能使用类似的方法来执行此操作window onb
  • 使用 Scikit Learn SVM 准备文本分类数据

    我正在尝试应用 Scikit learn 中的 SVM 对我收集的推文进行分类 因此 将有两个类别 将它们命名为 A 和 B 目前 我将所有推文分类为两个文本文件 A txt 和 B txt 但是 我不确定 Scikit Learn SVM
  • 根据日期选择最近 5 行

    我已经有一段时间没有接触 PHP 了 并尝试选择数据库中最近的 5 个条目并将它们打印到屏幕上 我看到不再推荐使用 mysql 命令并使用 PDO gt mysql 代替 我的查询是这样的 SELECT id title date auth
  • Windows堆块头解析和大小计算

    如何根据从内存读取的原始字节计算堆块大小 我尝试了下面的事情 0 001 gt heap Index Address Name Debugging options enabled 1 00500000 2 00280000 3 008f00
  • Python中如何获取实例变量?

    Python中是否有内置方法来获取所有类实例变量的数组 例如 如果我有以下代码 class hi def init self self ii foo self kk bar 我有办法做到这一点 gt gt gt mystery method
  • 准备语句是否可以保护您的数据库?

    我知道你们中的一些人可能会结束这个问题 但我的问题是由你们和你们的回答提出的 我正在阅读过去两个小时有关 SQL 注入以及如何保护数据库的问题和解答 我看到的大量网页和教程也是如此 我发现一半的人声称准备语句确实可以保护您的数据库 而另外
  • Visual Studio 2010:复制类的最简单方法?

    有没有一种简单的方法可以用不同的名称复制一个类 不确定这是否可以作为最简单的方法 但如果您有锐锐 你可以使用它的复印类型重构以复制类 接口 结构 并控制副本所在的命名空间并在副本中命名 这意味着如果您复制具有 5 个构造函数的类 则副本将全
  • typescript 4.4.4:tsconfig 路径未按预期解析

    我的 tsconfig json compilerOptions target ES2018 module CommonJS lib ESNext ESNext AsyncIterable skipLibCheck true sourceM
  • 致命:用户“postgres”的密码身份验证失败

    在 ubuntu 中收到此错误消息 在 pg hba conf 文件中 我尝试在不同时间使用 ident peer trust md5 但没有成功 请帮忙 在你的 pg hba conf 中 IPv4 local connections T
  • 如何在 Axis2 客户端中正确使用 WS-Addressing?

    全部 我正在尝试编写一个在 Axis2 1 5 中调用 Web 服务客户端的 Junit 测试 但我对如何准确地将其设置为使用 WS Addressing 感到困惑 我使用 wsdl2java 生成了一个客户端存根 并且使用 axis2 二
  • itextsharp 测量块宽度/高度

    我正在尝试使用 iTextSharp 进行一些精确对齐 但我一直达不到要求 因为我无法找到一种方法来获取块或段落的宽度 高度值 如果我创建一个具有特定字体 大小和文本的段落 那么它的尺寸应该是已知的 对吗 我知道默认的左 右 中心对齐对我来
  • 在 ASP.NET Core 中将 Razor 视图渲染为字符串

    I use 剃刀引擎用于解析我的 MVC 6 项目中的模板 如下所示 Engine Razor RunCompile File ReadAllText fullTemplateFilePath templateName null model
  • 模块 t 导入意外值 null

    在将我的应用程序 Angular2 express starter 的一个分支 部署到 Heroku 时 我遇到了这个奇怪的问题 https totalautosapp herokuapp com 起初我以为是 Heroku 但我将它部署到
  • 这种形式的方法调用仅允许类方法错误

    我不断收到此错误 在FGetZoneData I have var SelectedDept String implementation procedure TFGetZoneDept GetClick1 Sender TObject va
  • 限制选择列表的初始宽度

    我有一个选择列表 其中一些客户为他们输入了非常长的选项 这破坏了设计 我想知道是否有一种方法可以在选择小部件上设置固定宽度 但它生成的下拉菜单仍然足够宽以显示所有选项 由于您没有指定所需的浏览器支持 因此这可能是也可能不是解决方案 这适用于
  • 脚本是否有一种相当简单的方法来判断(从上下文)“她”是否是所有格代词?

    我正在编写一个脚本来反转一段文本中的所有性别 因此所有性别单词都会被交换 男人 与 女人 交换 她 与 他 交换 等等 但是存在歧义 因为是否应该用 他 或 他的 代替 她 好的 让我们像语言学家一样看待这个问题 我在这里大声思考 Her