【问题标题】:Replacing nouns from 2 strings用 2 个字符串替换名词
【发布时间】:2020-11-19 11:00:16
【问题描述】:

无论如何我可以将名词从一个字符串替换为另一个字符串。就像我有 2 个字符串一样

例如

original = "他的名字叫 Javed Aaqib。他住在卡拉奇"

gen = "他们称他为 Aab Khan。他的住所在卡拉奇。"

现在我想将 fake noun (Aab Khan) 替换为 original noun (Javed Aaqib) 即替换 gen 后应该是 “他们称他为 Javed Aaqib”

我已经使用 spacy 提取了命名实体,但由于文本中有多个名词,因此陷入了如何匹配假名的逻辑。

【问题讨论】:

    标签: python string replace named-entity-recognition


    【解决方案1】:

    您可以在最佳响应中使用解决方案here 作为您解决方案的一部分。

    在上面链接的代码末尾添加:

    person_names = filter(lambda x: 'PERSON' in x[1], named_entities_str_tag)
    print(person_names)
    

    person_names 将是句子中的人名列表,在您的情况下,它只有一个,供您替换为所需的。

    【讨论】:

    • 实际上我没有信号名称我有各种各样的名称,它基本上来自新闻所以可以是任何东西。顺便说一句,我使用 spacy 来提取名称实体,然后在多个名称的情况下应用一些逻辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多