使用 Python 和 jieba 实现中文文本中的人名和公司名提取
import jieba.posseg as pseg
def extract_names_and_companies(text):
names = set()
companies = set()
words = pseg.cut(text)
for word, flag in words:
if flag == "nr": # 人名
names.add(word)
elif flag == "nt": # 地名
companies.add(word)
return names, companies
# 示例文本
text = "张三是北京某公司的CEO,他在某会议上发表了演讲。"
# 提取人名和公司名
names, companies = extract_names_and_companies(text)
print("人名:", names)
print("公司名:", companies)
这段代码使用了结巴分词库的词性标注功能来识别人名和公司名。其中,"nr" 表示人名,"nt" 表示地名,这些标签是结巴分词根据词性进行的预定义标记。运行这段代码会从示例文本中提取出人名 "张三" 和公司名 "北京某公司"。
评论已关闭