【问题标题】:how to split sentence into clauses in python? [closed]如何在python中将句子拆分为子句? [关闭]
【发布时间】:2021-08-02 05:24:32
【问题描述】:

我正在尝试将句子拆分为从句以进行情感分析。 例如,我想更改“我喜欢剧情,但表演太糟糕”这句话。 变成“我喜欢这个情节”,“但演技很糟糕。”。

我试图查看其他人是如何做到这一点的,并找到了两种方法。 第一种方法是使用 nltk 解析树作为下面的链接。 How to split an NLP parse tree to clauses (independent and subordinate)?

另一种方法是使用 spacy 包并在下面的链接中找到词根动词。 https://subscription.packtpub.com/book/data/9781838987312/2/ch02lvl1sec13/splitting-sentences-into-clauses

从上面拆分成子句的最佳方法是什么,或者有更好的方法吗?

【问题讨论】:

    标签: python nlp nltk spacy


    【解决方案1】:

    这取决于它需要有多准确。您可能只需查看某些连词就可以获得相当好的覆盖率,在您的示例中 but 拆分了两个子句。其他候选人将是 whileand(尽管您可能需要检查上下文才能使这个工作)、代替因为 等。逗号或分号也可能有用。

    如果您有可用的 pos 信息,您可以识别每个从句的核心:主从句的限定动词,不定式从句的非限定动词(我同意回答这个问题)和动名词从句(他已经开始读这本书了)。如果你找到两个动词,它们之间必须有一个从句边界。对于不定式从句,它通常在 to 之前,对于动名词,它可能会更复杂一些:He can see him reading a book 基本上使用 him 作为的直接宾语,同时也是阅读的主语;你可以说reading a book并不是真正的独立从句,而是him的修饰语;这是您的选择。

    因此,您不需要完整的句法分析来拆分子句。在解析树不能完全工作的情况下,使用上述启发式方法甚至可能更可靠,因为它们需要的结构信息较少。但是,您可能需要进行一些反复试验才能开始设置它。但至少你可以很容易地理解为什么它以某种方式拆分子句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 2015-02-11
      • 2011-01-10
      • 1970-01-01
      • 2016-10-09
      • 2013-04-28
      • 2013-05-21
      相关资源
      最近更新 更多