社保领域概念提取算法
分词和词性标注是后续实体识别、关系抽取等步骤的关键基础。在这一过程中准确识别出领域概念格外重要。
“社保领域概念大多数为一些由基本概念的组合而来的长词,而这些词一般是不会出现在分词工具的词典中,这种词被称作未登录词。
解决这种问题有两种主流方法:
一种是基于有监督机器学习的领域概念提取算法。这种方法需要人工对数据进行标注,利用隐马尔科夫和条件随机场等模型根据上下文来识别未登录词[49],但是这种模型缺少对领域的自适应能力[50],并且需要大量的人工参与,制约了这种方法的实用性。
所以本文采用另一种常用方法基于统计的无监督方法,并根据领域特点进行了改进。”
1、利用词性及词性搭配规则进行候选概念的选取。
2、对选取的候选概念计算其不同的统计量特征,根据统计结果进行评分并筛选得到最终结果。
训练语料
1762篇养老服务领域文献的关键词
《社会福利词典》中377个词条,对当代欧美国家社会福利的理论与实践及其各种学术观点做了精炼的概括和解析。(词典暂不启用,与文献摘要数据不太相关。)
训练语料处理
# encoding: UTF-8
# 删除重复关键词,整理格式为每行一个关键词
import shutil
def keywords_extract(fi):
"""
提取关键词
"""
fo = open("D:/textAnalysis/project/knowledgeGraph/data/data_9920_keywords_1.txt","w",encoding="utf-8")
wflag =False #写标记
newline = [] #创建一个新的列表
for line in fi : #按行读入文件,此时line的type是str
if "K1" not in