1.一种基于NLP的企业供应关系自动抽取分析方法,其特征在于具体过程包括公司名称识别、产品名称识别和供求关系判断三个步骤,具体为:(一)公司名称识别:
(1)文本处理:读取年报自然句,使用哈工大的LTP自然语言处理工具对该句进行分词、词性标注、依存句法分析处理分别得到分词结果、词性标注结果、依存句法分析结果,将得到的分词结果作为Stanford NER的输入源进行公司名称识别;
(2)公司名称识别:将分词结果输入Stanford NER提供的条件随机场模型和自构建的公司名称词典进行公司名称匹配识别,将识别结果在分词结果上进行汇总整合得到公司名称识别结果;
(3)公司实体组处理:
(31)获取:对文本处理步骤中得到的依存句法分析结果中具有直接或间接并列关系的词放到一起形成并列词组并组成候选实体组;
(32)筛选:根据公司名称识别结果和公司实体组的词性特征判断该候选实体组是不是一个公司实体组并进行筛选;公司实体组的筛选按照以下两点规则进行:一是:如果候选实体组中的一个并列词组为一个公司实体组,那么该词组至少要有一个词语在公司名称识别阶段被标注为公司名;二是:公司实体组中至少含有一个词性为其他专有名词nz的词;
(33)规则后处理:
(331)将公司实体组中未标注为公司名称的词语标注为公司名,将非公司实体组的并列词组中标注为公司名称的词语标注为非公司名;
(332)利用依存句法补全新扩展出的公司名称,主要是利用句法规则补全新扩展出的公司名称,当公司实体组中的词被重新标注为公司名时,考虑到公司名的完整性,对该公司名的左边界进行重新计算,判断当前词与其左侧第一个词之间的依存关系,若为定中关系,则把其左侧的词也标注为公司名称;
(二)产品名称识别:
(1)文本处理:读取年报自然句,使用哈工大的LTP自然语言处理工具对该句进行分词、词性标注、依存句法分析处理分别得到分词结果、词性标注结果、依存句法分析结果;
(2)产品名称识别:使用现有CRF++0.58开源工具包来构建条件随机场(CRF)模型进行产品名称识别,具体过程为:(21)实体类别标注:使用BIEO标注方式来对语料进行标注,用B_PRODUCT标签来标注产品名称的左边界,用E_PRODUCT标签来标注产品名称的右边界,用I_PRODUCT标签来标注左边界和右边界的中间字符,用O标签来标注其他的非产品名称的词语;其中语料是指用于训练条件随机场模型所需的人工标注的语料;
(22)语料库构建:先读取语料文本,对文本中的每条自然句使用哈工大LTP自然语言处理对其进行分词、词性标注;再人工对分词结果进行产品名称标注,遍历分词结果,当该词出现在边界词表中时,边界词特征为Y,否则为N;然后遍历分词结果,当该词出现在产品名称词表中时,词典特征为Y,否则为N;将分词、词性、边界词特征、词典特征、人工标注组合为一行token,将每个自然句的处理结果之间空一行,一行表示一个token,每个token包含多个特征,各个特征之前以空格或者制表符来间隔,最后一个特征为类别标签,也就是需要训练的正确的标注;在训练语料的文本进行人工标注后,还需要对语料格式进行转换后才能输入到CRF++中进行训练;
(23)条件随机场模型特征选取:选取词特征、词性特征、边界词特征和词典特征用于条件随机场模型的训练,其中词特征表示当前词自身,或者是与左右窗口中其他词的组合;词性特征是指把词的特点当做依据从而划分词类的依据,包含名词、动词、形容词、副词、连词、介词;边界词特征是指出现在产品名称附近的词特征;词典采用与公司识别过程中相同的构建方法进行构建;
(3)规则后处理:
(31)利用哈工大LTP对自然句进行依存句法分析,通过对结果的分析,找出句子中具有并列关系的实体,确定潜在实体组,一个句子中的潜在实体组可能由多个{G1,G2…Gn},n为句中实体组的总数,其中的任意一个实体组Gi={E1,E2…Em},其中m为实体的个数,其中任意一个实体又包含一个或多个单词;自然句指以分号、句号、问号分割的单句;
(32)遍历每一个潜在实体组,如果该实体组中有实体被CRF模型标注为产品名称,那么该潜在实体组就是一个产品名称实体组,那么组中其他实体也是产品名称;在把之前的未标注词利用产品实体组标注为产品名称时,需要通过判断中心词左侧相邻词的句法关系是不是定中关系就可以判断相邻词是否为产品修饰词,并在进行产品名称标注时将这些修饰词标注出来;
(三)企业供求关系的判断和抽取:
(1)文本筛选:一是筛选的文本中要包含自构建的供应关系关键词库中的词,供应关系关键词库用于判断文本的主题,当文本的主题中包含关键词库中的词时,认为该文本的主题与供应关系相关;二是文本中至少要含有两个公司名称,并且这两个公司实体间的关系不能为并列关系;
(2)实体语义关联判断:当确定文本主题与供应关系相关且文本中包含供应关系需要的基本信息后,需要判断文本中各实体之前的语义关联了,设一个句子中的公司集合C={c1,c2,…,cn},n为句子中公司数量,产品集合为P={p1,p2,…pm},m为句子中产品数量,则具体步骤如下:(1)遍历集合C,对于C中的每一个实体对
(2)对于存在语义关联的公司实体对
2.根据权利要求1所述基于NLP的企业供应关系自动抽取分析方法,其特征在于构建公司名称词典的具体过程为:(1)初始词典构建:根据年报中出现的公司注释和专有名词注释,利用正则表达式“(\S+)+指+(\S+)“匹配注释词条,并利用关键词筛选关于公司的词条,再遍历筛选后的词条列表,判断当前词条在当前公司名称词典表中是否已经存在,若不存在则插入到其中;关键词包括组织机构名后缀,集团、公司、企业等;
(2)词典扩充:词典扩充的数据来自公司实体组处理中重新标识出来的公司名称,新标注的公司名称经过人工筛选去除标注错误后加入到公司名称词典中,用以提高识别公司名称识别的准确率和召回率。
3.根据权利要求1所述基于NLP的企业供应关系自动抽取分析方法,其特征在于采用人工构建和自动构建相结合的方式构建供应关系关键词库,具体为:For each语句集合set
For each关键词k∈关键词词库
For each两个包含了同一个k且包含两个以上公司名称的不同语句S1,S2寻找两个句子中的公共词组进行去停用词操作将去停用词以后的关键词词组保存进备选词库,并计算出现频率Foreach备选词wordIF word出现频率大于0.3THEN把该词添加到关系指示词库
4.根据权利要求1所述基于NLP的企业供应关系自动抽取分析方法,其特征在于利用最近句法依赖动词判断语义关联,先把文本中的公司名称组成实体对,判断公司之间是否存在语义关联,若存在语义关联,则根据公司名称在句中出现的先后顺序可以确定供应关系中的供应商公司和客户公司,如果句子中也包含产品名称,进而可以利用最近依赖动词判断产品与公司之间的关系,从而确定供应的产品;实体对
步骤2:提取与第2个实体ej的依存关联节点ej'发生依存关系的最近动词Vj;
步骤3:获取与第1个实体ei的依存关联节点ei'发生SBV主谓关系或FOB前置宾语关系的最近动词Vi。
步骤4:通过判断动词Vi与Vj是否为同一个动词或为COO并列结构关系,确定该实体对