【发布时间】:2022-01-07 12:56:01
【问题描述】:
我需要提取给定文本的名称和引用,例如:
Homer Simpson 说:“好吧,我们开始……”
返回值:
- extracted_person_name - 提取的人名,显示在上述模式中
- extracted_quotation - 提取的引用文本(不带引号)。
- 重要提示:如果未找到该模式,则为两个
返回 None 值 提取的人名和提取的文本。
您可能期望输入文本类似于以下模式:
人名说:“引文”
上述模式的变体:
冒号标点符号 (:) 是可选的,并且可能不会出现 在输入语句中。而不是说的话,你也可以期待 的话:
回答,回答,回答
这是我目前得到的:
def person_quotation_pattern_extraction(raw_text):
name_pattern = "\w+\s\w+"
quote_pattern = "["]\w+["]"
quote = re.search(quote_pattern, raw_text)
name = re.search(name_pattern, raw_text)
if re.search(quote_pattern,raw_text):
extracted_quotation = quote.group(0)
else:
extracted_quotation=None
if re.search(name_pattern,raw_text):
extracted_person_name = name.group(0)
else:
extracted_person_name=None
return extracted_person_name, extracted_quotation
问题是它返回Null。我假设模式不正确,你能告诉我它们有什么问题吗?
【问题讨论】:
标签: python pandas nlp data-science python-re