如何用javascript检测被动句

如何用javascript检测被动句,javascript,text,Javascript,Text,被动语态中的句子是这样的:动作的实施者放在最后,动作的接受者放在开头,与主动语态中的句子相反。比如说, 约翰接住了球 是主动语态,但是 球被约翰接住了 是被动语态。在英语中,SE给出了从句被动的4个必要条件,即从句必须有及物动词的过去分词、无直接宾语和助动/帮助动词(任何形式)。出于我的目的,我们可以忽略第四个条件,因为编写这一条件非常困难,而且大多数句子都属于这一类。 还有几件事需要注意: 被动句通常(但并非总是)有介词短语(“by X”),其中X是主动句开头的主语 句子可以有几个分句,用逗

被动语态中的句子是这样的:动作的实施者放在最后,动作的接受者放在开头,与主动语态中的句子相反。比如说,

约翰接住了球

是主动语态,但是

球被约翰接住了

是被动语态。在英语中,SE给出了从句被动的4个必要条件,即从句必须有及物动词的过去分词、无直接宾语和助动/帮助动词(任何形式)。出于我的目的,我们可以忽略第四个条件,因为编写这一条件非常困难,而且大多数句子都属于这一类。
还有几件事需要注意:

  • 被动句通常(但并非总是)有介词短语(“by X”),其中X是主动句开头的主语
  • 句子可以有几个分句,用逗号或分号等分隔,每个分句可以有自己的语态。例如 当(校长)按铃时,吉米下课了

从“When”到逗号的第一个从句是被动从句,第二个从句是主动从句。此外,这句话没有括号中的部分就可以了,这是我的第一点。
虽然这不是严格的,我们可以考虑每一个单词的动词和至少三个单词分隔的一些标点作为一个子句。考虑到在文本中包含一个包含每个子句的数组(因此,不必担心提取子句)。p>
我的问题是,“我们如何使用JavaScript识别被动子句?”我已经思考了一段时间,尝试了几次都失败了,但我没能走多远。如果有帮助的话,我之所以需要至少一个文本中被动从句百分比的近似值,是因为我试图使用以下方法分析文本作者的特征:;被动句的使用,特别是某些短语的频率,就是这样一个特点。

有趣。假设我们有一个包含all子句的数组,我们只需要找到一种方法对引用的那些子句进行编码。该条款必须具有:

  • 助动词的一种形式(通常为be或get)
  • 及物动词的过去分词
  • 无直接目标
  • 动词短语的主语是发生动作或状态改变的实体
1) 如果我们有一本助动词词典,这是小菜一碟。我们还可以将每个子句与动词词典进行匹配&检查是否有两个或更多动词(更有可能是一个助动词)

2) 同样,我们需要找到子句中的动词,并对它们进行检查。可能是看结尾字符来确定它是被动的

3) 查找子句是否包含直接对象将有点简单。检查名词及其在原因中相对于动词的位置

4) 与3相似;检查名词,如果只有一个,我们很有可能通过这个相位

显然这有点棘手,我们还有很多事情要做。我认为我们能做的最基本的事情(尽管它的准确性非常糟糕)是:

  • 把从句分成动词和名词
  • 检查名词的数量及其相对于动词的位置
  • 检查动词结尾是否符合常见的被动动词结尾(即-ed)
这是一个有趣且相当棘手的问题,我很好奇你用这种方法能得到多准确的结果