我想在文本中有公司名称,以及文本中与公司名称相关的部分,请
text="""Facebook est spécialisé dans les services web, qui permet aux utilisateurs d'échanger par message. Elle est parmi les autres entreprises qui sont spécialisés dans le même domaine. Google est une entreprise aussi spécialisé dans les services informatiques"""
Company=["Facebook","Google","Apple"]
negative_patterns_list = [
"\s[A-Z]",
"\s[0-9]"
]
split_elements = [
"[.!?%$-] "
]
split_pattern = "(?<!%s)(%s)" % ("|".join(negative_patterns_list), "|".join(split_elements))
# séparation sur les éléments ponctuations de fin de phrases
text_splitted = re.split(split_pattern, text)
liste_split = [elt for idx, elt in enumerate(text_splitted) if idx % 2 == 0]
sentences = [elt for idx, elt in enumerate(liste_split) if elt != '']
此代码允许将文本拆分为句子(“句子”是句子列表)
sentences : ["Facebook est spécialisé dans les services web, qui permet aux utilisateurs d'échanger
par message",'Elle est parmi les autres entreprises qui sont spécialisés dans le même domaine',
'Google est une entreprise aussi spécialisé dans les services informatiques']
第一句包含“脸谱”:ok,第三句也包含谷歌ok。。。 但第二个不包含公司名称,因此我想将其与列表中的前一句连接起来,即:
["Facebook est spécialisé dans les services web, qui permet aux utilisateurs d'échanger
par message, Elle est parmi les autres entreprises qui sont spécialisés dans le même domaine",
"Google est une entreprise aussi spécialisé dans les services informatiques"]
作为输出,我希望有:
"Facebook" : "Facebook est spécialisé dans les services web, qui permet aux utilisateurs d'échanger
par message, Elle est parmi les autres entreprises qui sont spécialisés dans le même domaine"
"Google" : "Google est une entreprise aussi spécialisé dans les services informatiques"
而不是:
下面的暴力解决方案为您提供了给定示例所需的解决方案。请注意,这些句子是用标点符号分隔的(而不是结果显示的逗号-这个obv很容易调整)
如果时间复杂度是一个重要因素(即您使用的是v大数据集),则可能会有更多的最佳解决方案
相关问题 更多 >
编程相关推荐