一种基于双向递归神经网络的企业简称提取方法

文档序号:10612877阅读:207来源:国知局
一种基于双向递归神经网络的企业简称提取方法
【专利摘要】本发明涉及自然语言处理领域,特别涉及一种基于双向递归神经网络的企业简称提取方法,本发明通过分词处理将待处理文本序列化,并选取一定数量待处理文本进行人工标注,将其中的企业名称分段标注为:开始部分、关键字部分、行业部分和组织形式部分,将企业名称以外的数据标注为无关部分,将标注后的训练样本输入双向递归神经网络中训练所述双向递归神经网络,经过所述双向递归神经网络的预测,将其中属于企业名称的字词序列提取出来,进一步的提取出属于名称关键字部分的字段作为企业的简称,建立相应的企业简称数据库,为非正式文本的相关信息分析提供有力的技术支撑。
【专利说明】
一种基于双向递归神经网络的企业简称提取方法
技术领域
[0001] 本发明涉及自然语言处理领域,特别涉及一种基于双向递归神经网络的企业简称 提取方法。
【背景技术】
[0002] 随着互联网的快速发展,产生了大量的、公开的网页数据,也因此催发了各种基于 大数据技术的新兴产业,比如互联网医疗、互联网教育、企业或者个人征信等。这些互联网 产业的兴起于繁荣离不开大量的信息数据分析,而信息分析的价值在于敏锐和准确,敏锐 的分析要求及时快速的发现新的信息;但是直接从网页上获取到数据大部分都是非结构化 的,为了使用这些数据,数据清洗工作成了各大公司耗费时间精力最多的地方。而数据清洗 当中特定信息提取,特别是命名实体的提取又是经常发生的事情,比如做企业征信,最常见 的任务就是从大篇幅文本当中提取公司的名字。
[0003] 除了常见的按照"省市+关键字+行业+组织形式"的规则来命名之外,还存在大量 的例外,比如公司名没有使用省市作为开头,又或者在非正式文本里,公司名可能以简写、 缩写的方式出现,这直接导致了使用传统的方式来进行的信息解析的召回率不高。事实上, 非正式文本比如:网络新闻、媒体资讯、简报、评论文章、微博内容等中涉及企业名称的内容 中的企业名称大多数都是以简称的方式出现,且这些非正式文本在相关的信息分析中的比 重远大于正式文本,在这些海量的互联网信息中快速准确的提取相关的企业名称以及简 称,对于避免相关信息的漏判具有重要的意义。
[0004] 传统的自然语言处理方法使用条件随机场(CRF)对文本进行序列建模,进行文本 分析识别和发现公司名。使用条件随机场,首先需要根据待识别实体的特点来设计构建特 征模板,特征模板包括指定窗口大小上下文的一阶词或者多阶词组,词的前缀、后缀,词性 标注等状态特征;特征模板的构造非常耗时耗力,而手动设置的特征模板往往仅依据部分 样本的特点,通用性差;识别结果对特征模板的依赖程度极大,而且通常只能用到局部的上 下文信息,各个特征模板的使用也是相互独立的,预测不能依赖更长的历史状态信息,也无 法利用更长未来的信息反馈来纠正可能的历史错误;预测过程费时费力,预测结果难以实 现全局最优。此外由于企业简称的随机性和非规则性,提取出企业的简称使用传统的CRF的 方式很难实现。

【发明内容】

[0005] 本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于双向递归神 经网络的企业简称提取方法。通过双向递归神经网络来来识别待处理文本中的企业名称, 并将企业名称中的简称提取出来存入企业简称数据库中。
[0006] 为了实现上述发明目的,本发明提供了以下技术方案:
[0007] -种基于双向递归神经网络的企业简称提取方法,本发明方法包含以下实现步 骤:
[0008] (1)对待处理文本进行分词处理,形成对应的字词序列;
[0009] (2)选取设定数量的待处理样本进行人工标注,根据分词结果,将其中的企业名称 分段标注为开始部分、关键字部分、行业部分和组织形式部分,将企业名称以外的文本标注 为无关部分;
[0010] (3)将人工标注的文本,先正向再反向输入所双向述递归神经网络中,训练所述双 向递归神经网络;
[0011] (4)将待分析文本中的文字序列,先正向再反向输入训练好的所述双向递归神经 网络中,经过双向递归神经网络判断出文字序列中各个词或者字的分类,并将其中相邻的 属于企业名称的字词作为一个整体提取出来;
[0012] (5)将提取出来的企业名称中属于企业名称关键字部分的作为企业的简称提取出 来,放入企业简称数据库中。
[0013] 进一步的,所述双向递归神经网络采用以下向前算法公式:
[0020] I为向量化的字或者词的维度,Η为隐含层的神经元个数,K是输出层神经元的个 数,其中4为正向输入(文字序列从头至尾正向输入所述神经网络)时t时刻所述双向递归
[0014]
[0015]
[0016]
[0017]
[0018]
[0019] 神经网络的隐含层神经元的输入,$为反向输入(文字序列从尾至头反向输入所述神经网 络)时t时刻所述双向递归神经网络的输出层神经元的输入,%为正向输入时t时刻隐含层 神经元的输出,%为反向输入时t时刻隐含层神经元的输出,θ()为隐含层神经元的非线性 激励函数,4为(先正向再反向输入)t时刻输出层神经元的输入,为t时刻输出层神经元 的输出,为一个概率值,表示第k个神经元的输出值相对于K个神经元输出值总和的比 值,取值最大的神经元对应的分类为t时刻所述双向递归神经网络预测的对应字或词的 最终分类。
[0021] 具体的,紀和是各个维度值均为0的向量,T为输入序列的长度。
[0022] 进一步的,本发明方法中通过构建词典映射表来实现待处理文本序列中字或者词 的向量化。所述词典映射表为一个矩阵,其中的每个行向量对应一个字或者词,而行向量与 字或者词的对应关系在构建所述词典映射时设置的。
[0023] 进一步的,在进行数据标注时,将待标注文本中的企业名称的开始部分标记为B、 关键字部分标记为K、行业部分标记为I、组织形式部分标记为T,将企业主体名称以外的文 字的无关部分标记为N。
[0024] 进一步的,所述步骤(4)中,将所述双向递归神经网络分类结果中N B K…Ι···Τ N、 Ν Β Κ···Γ··Ν、Ν Κ···Γ··Ε Ν、Ν Κ…ΤΝ中Β Κ…Ι···Τ、Β Κ…Ι···、Κ…Ι···、Κ···Τ对应的文字作为 企业名称整体提取出来,其中Κ···为至少1个Κ组成的序列,I…为至少1个I组成的序列。
[0025] 进一步的,所述步骤(5)中将相邻的属于Κ···、Β Κ…和,或Κ···Ι…所对应的字段作 为企业简称提取出来。
[0026] 进一步的,在标注文本中选取25%的样本作为开发样本,75%的样本为训练样本。 在所述双向递归神经网络训练过程中仅保留在开发集上识别准确率最高的模型。
[0027] 与现有技术相比,本发明的有益效果:本发明提供一种基于双向递归神经网络的 企业简称提取方法,通过双向递归神经网络对待处理文本中的企业名称进行预测,并在企 业名称预测的基础上进一步的提取出企业简称。使用双向递归神经网络在每预测一个字或 者词的分类时既依赖了前文信息又依赖了后文信息,结合上下文的方式使得对字词的预测 结果更加准确,而且本发明方法使用的双向递归神经网络的方式可以依赖的上下文信息为 全文信息,预测结果实现了全局最优而非局部优化。不仅如此,本发明不需要进行手动设置 特征模板,大量节省了手动设置特征模板所花费的人力和时间,通用性也更好。本发明在进 行训练样本标注时,将企业名称根据情况分段标注为:开始、关键字、行业和组织形式,这样 在进行模型的训练和预测时输出的企业名称对应包含:开始、关键字、行业和组织形式,这 样分段的标注方式为企业简称的提取提供了前提条件,通过本发明可以直接识别出企业的 简称并存储于对应的数据库中,为海量的非正式文本的分析提供技术支撑。
【附图说明】:
[0028] 图1为本基于双向递归神经网络的企业简称提取方法的实现过程示意图。
[0029] 图2为本基于双向递归神经网络的企业简称提取方法的双向递归神经网络模型训 练过程示意图。
[0030] 图3为本基于双向递归神经网络的企业简称提取方法的信号流程示意图。
[0031]应该明白本发明说明书附图仅为示意性的,不代表真实的实施方式。
【具体实施方式】
[0032]下面结合试验例及【具体实施方式】对本发明作进一步的详细描述。但不应将此理解 为本发明上述主题的范围仅限于以下的实施例,凡基于本
【发明内容】
所实现的技术均属于本 发明的范围。
[0033]本发明提供一种基于双向递归神经网络的企业简称提取方法,经过分词处理将待 处理文本序列化,并选取一定数量(比如5000件)待处理文本进行人工标注,将其中的企业 名称分段标注为:开始部分、关键字部分、行业部分和组织形式部分,将企业名称以外的数 据标注为无关部分,将标注后的训练样本输入双向递归神经网络中训练所述双向递归神经 网络,经过所述双向递归神经网络的预测,输出文本中的企业名称并进一步提取出企业简 称存入企业简称库中。为了实现上述发明目的,本发明提供如图1、图2所示的技术方案:
[0034] -种基于双向递归神经网络的企业简称提取方法,包含以下实现步骤:
[0035] (1)对待处理文本进行分词处理,形成对应的字词序列;目前可用的分词工具很多 比如说:斯坦福分词器、ICTCLAS、盘古分词、庖丁分词器……通过分词将较长的文本内容分 解成相对独立的字词单元,使待处理文本内容离散化、序列化,为双向递归神经网络的应用 提供基础。
[0036] (2)选取设定数量(比如说4000件)的待处理样本进行人工标注,根据分词结果,将 其中的企业名称分段标注为开始部分、关键字部分、行业部分和组织形式部分,将企业名称 以外的文本标注为无关部分。规则命名的企业名称一般是:省市(行政区划)+关键字+行业+ 组织形式,基于企业命名的特点,将规则命名的企业名称分段标注为:省市(行政区划)对应 的字段标注为开始部分(用字母B表示),将关键字对于的字段标记为关键字部分(用字母K 表示),将行业对应的字段标注为行业部分(用字母I表示),将组织形式对应的字段标注为 组织形式部分(用字母T表示);比如说将:"北京XX生物技术有限公司"经过分词后形成:"北 京/XX/生物/技术/有限公司"将其中的"北京"标注为B,将"XX"标注为"K",将"生物"标记为 "Γ,将"技术"标记为"Γ,将"有限公司"标记为"T"。分段标注的方式,为企业名称的识别以 及企业简称的提取奠定了分类的基础,同时将神经网络的分类用字母表示,快捷方便,为后 期的相关操作提供一定便利。
[0037] (3)如图3所示,将人工标注的文本形成的字词序列经过词典映射转化成对应的向 量数据序列,将这些向量数据序列,先正向再反向输入所双向述递归神经网络中,训练所述 双向递归神经网络;(所述正向输入是指将序列中的字或者词,按照位置的前后顺利依次输 入对应时刻的递归神经网络中,所述反向输入是指将序列中的字或者词倒序依次输入对应 时刻的递归神经网中)所述双向归神经网络每个当前时刻的输入信号还包括上一时刻所述 双向递归神经网络的输出信号。
[0038] 所述词典映射表为一个二维矩阵,其中矩阵中的每一个行向量代表一个字或者 词,而字或者词与行向量的对应关系是在构建词典映射表时所设定的。通过词典映射表将 待处理文本中的字、词或者标点符号转化成神经网络可以处理的向量数据,打破了自然语 言与神经网络之间的技术壁皇,为使用神经网络来识别文本中间的企业名称开辟了道路。
[0039] (4)将待分析文本中的文字序列,先正向再反向输入训练好的所述双向递归神经 网络中,经过双向递归神经网络判断出文字序列中各个字、词或者标点符号的分类,并将其 中相邻的属于企业名称的字词作为一个整体提取出来。
[0040] (5)将提取出来的企业名称中属于企业名称关键字部分的作为企业的简称提取出 来,放入企业简称数据库中。建立企业简称的数据库或者数据列表,这样在进行数据分析时 可以直接根据数据库中已有的企业名称和简称快速准确的分析相关的数据,而避免重复的 企业名称分析,为信息的及时处理提供保障。
[0041] 进一步的,为了使双向递归神经网络的模型简单,本发明所述双向递归神经网络
[0042] 采用如下向前算法公式:
[0043]
[0044]
[0045]
[0046]
[0047]
[0048] 1艿又子序列甲的子现有词冋重化;5的维度,Η艿隐含层的神经元个数,K是输出层 神经元的个数,其中 <为t时刻向量化的字或者词在第i维度的取值,%为正向输入(文字 ?. Η 序列正向输入神经网络)时,t时刻所述双向递归神经网络的隐含层神经元的输入(本发明 方法中所述双向递归神经网络的时刻序号与输入文字序列的位置序号相对应,比如所文字 序列中处于第3位置的字或者词,对应输入第3时刻的双向递归神经网络中),4为反向输入 h (文字序列反向输入神经网络)时,t时刻所述双向递归神经网络的输出层神经元的输入,% 为正向输入时t时刻隐含层神经元的输出,%为反向输入时t时刻隐含层神经元的输出,θ〇 为隐含层神经元输入到输出的函数,< 为t时刻输出层神经元的输入,可以看出α?结合了 t 时刻正向输入时隐含层神经元的输出信号和反向输入时的隐含层神经元的输出信号),4 的计算结果一直向前传播直到所述双向递归神经网络输出该时刻的分类结果;这样在计算 当前时刻对应字或者词的分类结果时既结合了历史序列信息又结合了未来序列信息,依赖 了整个文本的上下文信息而非局部信息,从而使得预测结果达到了全局最优。为t时刻 输出层神经元的输出,为一个概率值,表示第k个神经元的输出值相对于κ个神经元输出 值总和的比值,通常取最大的神经元对应的分类为该时刻所述双向递归神经网络预测 的最终分类。'为正向输入时X;的权重系数,为反向输入时4的权重系数/^为 正向输入时的权重系数,11;}丨丨为反向输入时的权重系数,^^为%的权重系数, 为$的权重系数。
[0049] 特别的,&>/·^+1是各个维度值均为0的向量,T为输入序列的长度。
[0050] 从上述向前算法公式可以看出,本发明方法使用双向递归神经网络的方式在预测 企业名称时,在一次向前算法中先将文本序列从头至尾依次正向输入所述递归神经网络 中,再从尾至头反向输入到所述递归神经网络中;在正向和反向输入的过程中各时刻双向 递归神经网络的输入信号包括该时刻向量化的字或者词信号和上一时刻递归神经网络的 输出信号,仅在反向输入时所述双向递归神经网络才输出该时刻对应字或者词的分类结 果。这样在预测企业主体名称时既依赖了前文信息又依赖了后文信息,预测的结果为实现 了全局优化,识别的可靠性更高。而且通过双向递归神经网络的处理方式,无需手动设置特 征模板,节省人力且通用性更好,可以在各种类型的文本中发现并提取企业名称,识别的召 回率较传统基于规则的处理方法显著提高。
[0051] 进一步的,本发明采用上述向前算法在所述双向递归神经网络中来逐层传输运算 数据,在输出层获取到识别(预测)数据,当预测结果与训练样本的标注结果具有偏差时,通 过神经网络中经典的误差反向传播算法来调整神经网络中的各个权重,误差反向传播方法 将误差逐级反向传播分摊到各层的所有神经元,获得各层神经元的误差信号,进而修正各 神经元的权重。通过向前算法逐层传输运算数据,并通过向后算法来逐渐修改各神经元的 权重的过程就是神经网络的训练过程;重复上述过程,直到预测结果的正确率达到设定的 阈值,停止训练,此时可认为所述双向递归神经网络模型已经训练完成。
[0052]进一步的,所述步骤(1)中,了识别待处理的非正式文本中已有的企业简称、缩写, 对应选取一定数量的(标注样本的1/5)包含企业简称、缩写的非正式文本来进行人工标注; 比如说将"3月9日晚间,XXYY集团公司发布公告称,拟以全资子公司香港XXYY股份有限公司 为投资主体,出资300万美元与其他方共同成立XX人工智能科技公司,总股本1亿股,香港XX 占比15%。"经过分词处理为:"3月/9日/晚间/,/XX/YY/集团公司/发布/公告/称/,/拟/以/ 全资/子公司/香港/ΧΧ/ΥΥ/股份有限公司/为/投资/主体/,/出资/300/万美元/与/其他方/ 共同/成立/XX/人工智能/科技/公司/,/总/股本/1亿股/,/香港/XX/占比/15%/。"将其中 的"ΧΧ/ΥΥ/集团公司"标注为"ΚΚΤ",件"香港/ΧΧ/ΥΥ/股份有限公司"标注为"ΒΚΚΤ"将"XX/人 工智能/科技/公司"标注为"ΚΙΙΤ",将"香港/XX"标注为:"ΒΚ",而将其他字或者词标注为Ν。 信号流程如图 3 所不,(其中 vec_a、vec-b、vec_c、vec-d、vec-e、vec-f、vec-g、vec-h、vec_i、 vec-j、vec_k、vec_l、vec_m......vec_z等代表词典映射表中二维矩阵的行向量这样本标注 文本中即包括企业全称也包括企业简称,标注1000件这样的样本,用来训练所述双向递归 神经网络来训练所述双向递归神经网络,当所述双向递归神经网络训练完毕之后可以在待 处理文本中识别出类似结构的企业全称和已近存在的简称。
[0053]进一步的,所述步骤(5)中,将相邻的属于Κ···、Β K…和,或Κ···Ι…所对应的字段作 为企业简称提取出来,企业的简称在非正式的文本中可能会有多种多样的表述,比如说某 企业的全称为"北京ΑΒ科技有限公司"在非正式的文本中可能为:"北京ΑΒ"、"ΑΒ科技"或者 "ΑΒ",企业的全称与简称是"一对多"的关系,为了识别出企业的简称,则将"北京ΑΒ科技有 限公司"经过所述双向递归神经网络所得到的分类序列为"ΒΚΙΤ"中"ΒΚ"、"ΚΙ"和"Κ"对应的 "北京ΑΒ"、"ΑΒ科技"和"ΑΒ"作为"北京ΑΒ科技有限公司"的简称提取出来,并存于对应的企 业简称数据库中。这样一对多的简称提取方式能够涵盖绝大部分文本的企业称谓,为相关 信息的分析提供更加全面准确的数据基础。
[0054]进一步的,如图2所示,在人工标注文本的样本中选取25%的样本作为开发样本, 75%的样本为训练样本。在所述双向递归神经网络训练过程中仅保留在开发集上识别准确 率最高的模型。在神经网络的训练过程中使用开发集来验证训练的效果,可以防止神经网 络训练模型的过拟合,保证神经网络的训练朝着正确的方向进行。
【主权项】
1. 一种基于双向递归神经网络的企业简称提取方法,其特征在于,包含W下实现步骤: (1) 对待处理文本进行分词处理,形成对应的字词序列; (2) 选取设定数量的待处理样本进行人工标注,根据分词结果,将其中的企业名称分段 开始部分、关键字部分、行业部分和组织形式部分,将企业名称W外的文本标注为无关部 分; (3) 将人工标注的文本,先正向再反向输入所双向述递归神经网络中,训练所述双向递 归神经网络; (4) 将待分析文本中的文字序列,先正向再反向输入训练好的所述双向递归神经网络 中,经过双向递归神经网络判断出文字序列中各个词或者字的分类,并将其中相邻的属于 企业名称的字词作为一个整体提取出来; (5) 将提取出来的企业名称中属于企业名称关键字部分的作为企业的简称提取出来, 放入企业简称数据库中。2. 如权利要求1所述的方法,其特征在于,所述双向递归神经网络采用如下向前算法公 式:I为向量化的字或者词的维度,Η为隐含层的神经元个数,K是输出层神经元的个数,其 中aj为正向输入时t时刻所述双向递归神经网络的隐含层神经元的输入,4为反向输入时t 时刻所述双向递归神经网络的输出层神经元的输入,为正向输入时t时刻隐含层神经元 的输出,?为反向输入时t时刻隐含层神经元的输出,θ()为为隐含层神经元的非线性激励 函数,口!为t时刻输出层神经元的输入,为t时刻输出层神经元的输出,少?为一个概率值, 表示第k个神经元的输出值相对于Κ个神经元输出值总和的比值。3. 如权利要求2所述的方法,其特征在于,是各个维度值均为0的向量,其中T为 输入文字序列的长度。4. 如权利要求1至3之一所述的方法,其特征在于,通过构建词典映射表来实现待处理 文本序列中字或者词的向量化,所述词典映射表为一个矩阵,其中的每个行向量对应一个 字或者词,而行向量与字或者词的对应关系在构建所述词典映射时设置的。5. 如权利要求4所述的方法,其特征在于,在进行数据标注时,将待标注文本中的企业 名称的开始部分标记为B、关键字部分标记为K、行业部分标记为I、组织形式部分标记为T, 将企业主体名称W外的文字的无关部分标记为N。6. 如权利要求5所述的方法,其特征在于,所述步骤(4)中,将所述双向递归神经网络分 类结果中N B K…I...T N、N B K…I...N、N K…I...E N、N K…TN中B K…I...T、B Κ...Γ..、Κ… Γ··、Κ…Τ对应的文字作为企业名称整体提取出来,其中Κ···为至少1个Κ组成的序列。7. 如权利要求6所述的方法,其特征在于,所述步骤(5)中将相邻的属于Κ···、Κ…Ι···、Β Κ…所对应的字段作为企业简称提取出来。8. 如权利要求7所述的方法,其特征在于,在标注文本中选取25%的样本作为开发样 本,75%的样本为训练样本。9. 如权利要求8所述的方法,其特征在于,在所述双向递归神经网络训练过程中仅保留 在开发集上识别准确率最高的模型。
【文档编号】G06N3/02GK105975555SQ201610285157
【公开日】2016年9月28日
【申请日】2016年5月3日
【发明人】刘世林, 何宏靖
【申请人】成都数联铭品科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1