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

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(使用前将#替换为@)

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

  • 使用正则表达式如何从十进制数中删除尾随零

    我需要编写一些正则表达式 它接受一个数字并删除小数点后的所有尾随零 语言是 Actionscript 3 所以我想写 var result String theStringOfTheNumber replace the regex 例如 3
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 正则表达式匹配整个单词[重复]

    这个问题在这里已经有答案了 我在 stackoverflow 上看到了很多关于使用正则表达式进行全词匹配的例子 我有以下情况 我想用 www xyz com 替换 www abc com string RetVal I am going t
  • REgex从oracle中的字符串中获取数字

    我有以下格式的字符串 阿克拉姆 88 jamesstree 20140418 阿克兰 8 约翰街 20140418 阿克兰 888 johnstreet 20140418 现在我只想检索 88 8 和 888 值 我为此编写了以下查询 SU
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • JavaScript RegEx:不同的结果:使用字符串和使用正则表达式“文字”构建模式?

    使用 RegExp 文字与字符串之间有什么区别吗 http jsfiddle net yMMrk http jsfiddle net yMMrk String prototype lastIndexOf function pattern p
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 用于多行字符串的 ECMAScript 正则表达式

    我正在为我的应用程序编写加载过程 它涉及从文件中读取数据并创建具有适当属性的适当对象 该文件由以下格式的连续条目 以换行符分隔 组成 OBJECT TYPE
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • 如何在Python中使用内联正则表达式修饰符[重复]

    这个问题在这里已经有答案了 我有一个正则表达式 n DOCUMENTATION n n n 2 s 女巫我正在尝试处理这样的一些文件 usr bin python coding utf 8
  • 如何使用 NLP 确定句子中的中心词?

    例如 如果我得到一个句子 一名英国士兵在阿富汗战斗中丧生 这句话的中心词是 杀 给定 Python 中的 nltk 包 我怎样才能找到它 我不是在谈论词干 我指的是中心词 您正在寻找中心词句子解析 它可以在 Python 的 nltk 包中
  • 如何在Python字符串中替换括号及其中的文本

    我有两个这样的字符串 string1 Today I went to the market to pick up some fruit string2 Today I went to school to learn algebra and
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问

随机推荐

  • 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