使用 python 包将句子从第一人称重写为第三人称,反之亦然

问题描述 投票:0回答:1

python中是否有任何包可以从人的角度重写大量内容,即第一人称到第三人称和第三人称到第一人称

我昨天吃了苹果 他昨天吃了苹果

我尝试使用 spacy 语言包并使用 if 条件将代词替换为相关代词。有没有更简单的方法

text url-rewriting nlp spacy grammar
1个回答
0
投票

您可以使用 spaCy 库来识别文本中的代词,然后从所需的角度将其替换为对应的代词。您需要安装 spaCy 软件包和英语语言模型。

要安装,请运行:

pip install spacy
python -m spacy download en_core_web_sm

创建一个文件后,例如,名为 spacy_test.py 并保存以下代码:

import spacy

# Load spaCy's language model
nlp = spacy.load('en_core_web_sm')

# Pronouns mapping (first-person -> third-person)
pronouns_map = {
    "I": "He", "me": "him", "my": "his", "mine": "his", 
    "we": "they", "us": "them", "our": "their", "ours": "theirs"
}

def replace_pronouns(text):
    doc = nlp(text)
    result = []
    for token in doc:
        if token.text in pronouns_map:
            result.append(pronouns_map[token.text])
        else:
            result.append(token.text)
    return " ".join(result)

# Example usage
text = "I ate an apple yesterday."
print(replace_pronouns(text))  # Output: "He ate an apple yesterday."

要执行该文件,请运行:

python test_spacy.py
© www.soinside.com 2019 - 2024. All rights reserved.