CN112668335A - 一种利用命名实体识别提取营业执照结构化信息的方法 - Google Patents
一种利用命名实体识别提取营业执照结构化信息的方法 Download PDFInfo
- Publication number
- CN112668335A CN112668335A CN202011542478.9A CN202011542478A CN112668335A CN 112668335 A CN112668335 A CN 112668335A CN 202011542478 A CN202011542478 A CN 202011542478A CN 112668335 A CN112668335 A CN 112668335A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- business
- named entity
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Character Discrimination (AREA)
Abstract
本发明提供一种利用命名实体识别提取营业执照结构化信息的方法,包括以下步骤:训练命名实体模型和利用模型进行预测,其中,模型训练包括定义提取的实体、获取营业执照的照片,然后进行人工标记实体;利用BIO标注法,生成训练数据、构建以BERT+BILSTM+CRF为模型架构的模型、模型训练;利用模型进行预测包括文本拼接、模型预测、将单个字的识别结果按照BIO标注法组织成实体。本发明有很强的稳定性、鲁棒性,本发明适用范围广泛,本发明为了增强模型的泛化能力,提高提取的准确率,在数据生成时候引入噪声数据,在模型架构的特征提取层使用在大规模语料训练得到的预训练模型,在模型训练的时候引入对抗训练。
Description
技术领域
本发明涉及营业执照信息提取技术领域,尤其是一种利用命名实体识别提取营业执照结构化信息的方法。
背景技术
营业执照是工商行政管理机关发给工商企业、个体经营者的准许从事某项生产经营活动的凭证。
在某些场景下需要对营业执照里面的关键信息进行识别,例如统一社会信用代码、经营地址、经营者和注册日期等。
目前市面上的OCR一般有三大流程,第一步检测文字框,第二步文本识别,第三步提取结构化信息。其中提取结构化信息主流的技术有两种,一种是正则化提取,另外一种是基于模板的结构化处理技术。
基于正则化结构化提取:例如提取日期,用python语言的re正则化库,可以用re.search(“(\d{4}年\d{1,2}月\d{1,2}日)”,text),其中“(\d{4}年\d{1,2}月\d{1,2}日)”是匹配的正则表达式,text是要匹配的字符串。
基于模板结构化提取:首先选定几个候选字段,定义好候选字段在模板中的坐标,然后从OCR文字识别的结果中找到候选字段的位置,再进行透射变换或仿射变换,把待识别的图跟模板图对齐,最后根据OCR识别出的文本框与模板待识别区矩形框的交并比来判断该文本框的内容是否属于某个字段。
但是,基于正则化提取有两大缺点:
第一,就是容易匹配不出字段,例如OCR识别出的文字是2018年11月3曰,这时用正则化提取不出日期,因为OCR把“日”识别成“曰”,这种情况可以通过完善正则化规则来达到成功识别的目的,但规则无穷无尽,很难覆盖完全,只要OCR识别出的文字稍有偏差,基于正则化的结构化提取就有容易失效;
第二,部分字段没有规律,如营业执照上面的名称字段,有“泸沽湖守望时光”、“这儿没玉米汁儿“这类没规律的店铺名,很难通过定义正则化表达式把它们提取出来。
基于模板提取也有两个主要缺点:
第一,当模板数量多的时候,很难覆盖完全,例如全国的营业执照至少有三种版式,意味着要预先定义至少三种模板,其次当图片输入时,要先判断图片属于哪一类模板,这涉及到图像分类,增加了复杂度;
第二,有时候由于文字识别不准确或者图片输入不完整,出现找不到模板字段,目前大多数的模板结构化主要利用透射变换,意味着要至少找到4个的模板字段才能进行提取,当找不到模板字段的情况下,基于模板提取的方法就会失效。
发明内容
针对现有技术的不足,本发明提供一种利用命名实体识别提取营业执照结构化信息的方法,本发明利用命名实体识别的方法提取OCR文字识别结果,通过将OCR识别出的文字结果按照规则拼接成文字段落输入到模型后,模型就能输出结构后的信息;一方面避免书写复杂的正则化规则,另一方面不用预先定义模板,寻找模板字段。
本发明的技术方案为:一种利用命名实体识别提取营业执照结构化信息的方法,包括以下步骤:
S1)、训练命名实体模型
S101)、定义实体
定义提取的实体;
S102)、数据采集
获取营业执照的照片,然后进行人工标记实体;
S103)、生成数据
将结构化信息转换成非结构化文字段落,引入噪声数据;
S104)、利用BIO标注法,生成如下图的训练数据;
S105)、模型构建
以BERT+BILSTM+CRF为模型架构,以Bert作为特征提取层,提取文本信息,再把Bert预训练模型学习到的token向量输入BILSTM进行进一步学习,最终通过CRF层获得每个token的分类结果;
S106)、模型训练
通过将Bert层的参数学习率调低、以及将BILSTM层、全连接层和CRF层的学习率调高;
S2)利用模型进行预测
S201)、文本拼接
利用横纵坐标对文本进行修复,找出相应文本框内多个像素是否有交叉的文本框,如有就拼接在该文本框后面,若没有,则遍历下一个没有遍历过的文本框;
S202)、模型预测
把拼接后的文字段落输入到模型后,得到的是每个字的分类结果;
S203)、将单个字的识别结果按照BIO标注法组织成实体。
进一步的,步骤S101)中,所述的实体包括统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围。
进一步的,步骤S102)中,通过人工将营业执照的统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围信息标注出来。
进一步的,步骤S103)具体为:将字段名和字段内容拼接后,进行随机打乱,并且通过把一条训练样本随机进行文字删除和形近字替换,生成多条训练样本。
进一步的,步骤S106)中,还引入对抗训练FGSM,以在在输入上进行梯度上升,参数上进行梯度下降。
进一步的,步骤S106)中,设置训练样本和验证样本,并且每在训练集上训练一轮,在验证集上计算实体的micro f1值,若经过多轮训练,验证集的f1值都没有下降,则停止训练,保存在验证集上分数最高的模型。
本发明的有益效果为:
1、本发明利用命名实体识别技术从OCR文字识别结果中提取结构化字段,该发明提供了一种数据采集、数据生成、模型架构、训练方法、模型应用的一体化解决方法;
2、本发明相比基于正则化提取,能避免制定复杂的正则化规则,相比基于模板提取,不需要预先定义模板,避免出现无法找到模板字段的情况;
3、本发明有很强的稳定性、鲁棒性,本发明在模型训练阶段,引入了对抗训练提高泛化;
4、本发明能应对输入图片不完整的情况,如只拍了营业执照的部分图像,因为识别的文字信息是不完整的,用基于模板的方法很难把模板字段找全,从而无法做透射变换,但利用命名实体法能有效从不完全的文字识别结果中提取出结构化信息,
5.本发明适用范围广泛,该发明涉及的技术对其它票据和证件提取结构化信息都适用,如通用机打发票、通行费票据、户口本等;
6、本发明提出采用命名实体识别的方式提取营业执照的信息,输入拼接后的文字段落,输出结构化信息,是一种端到端的提取方法,能有效规避以往旧方法的缺点,中间免去制定正则化规则和模板匹配的繁琐过程;
7、本发明为了增强模型的泛化能力,提高提取的准确率,在数据生成时候引入噪声数据,在模型架构的特征提取层使用在大规模语料训练得到的预训练模型,在模型训练的时候引入对抗训练。
附图说明
图1为本发明方法的流程示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
实施例1
如图1所示,本实施例提供一种利用命名实体识别提取营业执照结构化信息的方法,包括以下步骤:
S1)、训练命名实体模型
S101)、定义实体
定义提取的实体,本实施例中,所述的实体统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围八个实体;
S102)、数据采集
获取营业执照的照片,然后进行人工标记实体,本实施例中,获取营业执照后,通过人工标注将统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围信息标注出来;
S103)、生成数据
本实施例中,数据生成可直接输入文字段落,同时将将结构化信息转换成非结构化文字段落;如:
{“统一社会信用代码”:530102600524922,
“名称”:”“昆明市五华区素心好餐厅”,
“类型”:“个体工商户”,
“经营场所”:“昆明市青云街88号2层”,
“经营者”:“刘星巯”,
“组成形式”:“个人经营”,
“注册日期”:“2012年5月5日”,
“经营范围”:“餐饮服务。(以上经营范围涉及许可经营项目的,应在取得有关部门的许可后方可经营)”},
本实施例将结构化信息转换成非结构化文字段落,具体形式为把字段名和字段内容拼接后,进行随机打乱,如把上面的字典结构化信息转换成非结构化文字,“统一社会信用代码530102600524922类型个体工商户经营场所昆明市青云街88号2层名称昆明市五华区素心好餐厅组成形式个人经营注册日期2012年5月5日经营者刘星巯经营范围餐饮服务。(以上经营范围涉及许可经营项目的,应在取得有关部门的许可后方可经营)”
由于在文字识别的时候,识别的文字并非完全准确,本实施例为了更贴近真实使用场景,提高模型的泛化能力,把一条训练样本随机进行文字删除和形近字替换,生成多条训练样本,如上面的一段文字,可以生成“统土会信代码5302600524922类型个体商户经营昆明市青88号2称昆明市素心好餐形式个人经营曰期2012年5日经营者刘星巯经营范围餐饮。(经营范围及许可经项目的,应在取有关部门的可后方可经营)”和“一社会信用代码5310260052422类个体工商户经营场昆明市云街88号2层名昆明市五华区素心好厅组成形式个一经营注册日期202年5月5日经营者刘巯经营范围餐欠服务。(以上经营范围及可经营项目的,应在取得有关部门的许可方可经营”等多条样本。
S104)、利用BIO标注法,生成如下的训练数据;
S105)、模型构建
以BERT+BILSTM+CRF为模型架构,以Bert作为特征提取层,提取文本信息,再把Bert预训练模型学习到的token向量输入BILSTM进行进一步学习,最终通过CRF层获得每个token的分类结果;
S106)、模型训练
由于Bert是已经在大规模语料中训练过的预训练模型,所以重新训练的时候,避免遗忘过往学习到的特征,因此把Bert层的参数学习率调低,本实施例设计为0.00003,BILSTM层、全连接层和CRF层的权重是未经过训练的,学习率调高,本实施例设置为0.001,为了增加模型的泛化能力,引入对抗训练Fast Gradient Sign Method(FGM),本实施例主要是在输入上进行梯度上升(增大loss),在参数上进行梯度下降(减少loss),由于输入会进行embedding lookup,因此,本实施例在Bert的embedding.words层网络参数上进行梯度上升。
另外,本实施例设置训练样本400条,验证样本50条,每在训练集上训练一轮,在验证集上计算实体的micro f1值,假如连续4轮,验证集的f1值都没有下降,则停止训练,保存在验证集上分数最高的模型。
S2)利用模型进行预测
S201)、文本拼接
由于营业执照部分字段会跨行,而OCR文本框识别是一行一行文字进行识别的,所以有可能出现识别内容断开的情况,所以不能随便把文字识别内容进行拼接,如下面截取的OCR识别出的文本框坐标和文本内容
[{“text”:“经营场所西双版纳傣族自治州勐腊县勐腊镇新城社区”,“宽度”:333,“高度”:18,“左间距”:489,“上间距”:338},{“text”:“营范围小吃、冷饮服务。(依法须经批的项目,经相关部门批准后”,“宽度”:416,“高度”:18,“左间距”:60,“上间距”:367},{“text”:“雨林大道中国电信营业厅旁”,“宽度”:149,“高度”:16,“左间距”:591,“上间距”:358}],如果直接按顺序进行拼接,拼接成“经营场所西双版纳傣族自治州勐腊县勐腊镇新城社区营范围小吃、冷饮服务。(依法须经批的项目,经相关部门批准后雨林大道中国电信营业厅旁”,那么“西双版纳傣族自治州勐腊县勐腊镇新城社区雨林大道中国电信营业厅旁”这一经营场所实体就断开了,这样模型很难进行预测,或者得到的结果也是不完整的。本实施例采用横纵坐标对其进行修复,如找出某个文本框右边40个像素是否有交叉的文本框,有就拼接在该文本框后面,再找出该文本框下方30个像素是否有交叉的文本框,有就进行拼接,如果都没有,就遍历下一个没有遍历过的文本框。
S202)、模型预测
把拼接后的文字段落输入到模型后,得到的是每个字的分类结果,如下所示:
[“经”:”O”,”营”:”O”,”者”:”O”,”王”:”B-经营者”,”丽”:”I-经营者”,”经”:”O”,”营”:”O”,”场”:”O”,”所”:”O”,”西”:”B-经营场所”,”双”:”I-经营场所”,”版”:”I-经营场所”,”纳”:”I-经营场所”,”傣”:”I-经营场所”,”族”:”I-经营场所”,”自”:”I-经营场所”,”治”:”I-经营场所”,”州”:”I-经营场所”,”勐”:”I-经营场所”,”腊”:”I-经营场所”,”县”:”I-经营场所”,”勐”:”I-经营场所”,”腊”:”I-经营场所”,”镇”:”I-经营场所”,”新”:”I-经营场所”,”城”:”I-经营场所”,”社”:”I-经营场所”,”区”:”I-经营场所”,”雨”:”I-经营场所”,”林”:”I-经营场所”,”大”:”I-经营场所”,”道”,”中”:”I-经营场所”,”国”:”I-经营场所”,”电”:”I-经营场所”,”信”:”I-经营场所”,”营”:”I-经营场所”,”业”:”I-经营场所”,”厅”:”I-经营场所”,”旁”:”I-经营场所”]
S203)、将单个字的识别结果按照BIO标注法组织成实体。
得到{“经营者”:”王丽”,“经营场所”:”西双版纳傣族自治州勐腊县勐腊镇新城社区雨林大道中国电信营业厅旁”}结构化信息。
本实施例为了增强模型的泛化能力,提高提取的准确率,在数据生成时候引入噪声数据,在模型架构的特征提取层使用在大规模语料训练得到的预训练模型,在模型训练的时候引入对抗训练。
上述实施例和说明书中描述的只是说明本发明的原理和最佳实施例,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (6)
1.一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于,包括以下步骤:
S1)、训练命名实体模型
S101)、定义实体
定义提取的实体;
S102)、数据采集
获取营业执照的照片,然后进行人工标记实体;
S103)、生成数据
将结构化信息转换成非结构化文字段落;
S104)、利用BIO标注法,生成如下图的训练数据;
S105)、模型构建
以BERT+BILSTM+CRF为模型架构,以Bert作为特征提取层,提取文本信息,再把Bert预训练模型学习到的token向量输入BILSTM进行进一步学习,最终通过CRF层获得每个token的分类结果;
S106)、模型训练
通过将Bert层的参数学习率调低、以及将BILSTM层、全连接层和CRF层的学习率调高;
S2)利用模型进行预测
S201)、文本拼接
利用横纵坐标对文本进行修复,找出相应文本框内多个像素是否有交叉的文本框,如有就拼接在该文本框后面,若没有,则遍历下一个没有遍历过的文本框;
S202)、模型预测
把拼接后的文字段落输入到模型后,得到的是每个字的分类结果;
S203)、将单个字的识别结果按照BIO标注法组织成实体。
2.根据权利要求1所述的一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于:步骤S101)中,所述的实体包括统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围。
3.根据权利要求1所述的一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于:步骤S102)中,通过人工将营业执照的统一社会信用代码、名称、类型、经营场所、经营者、组成形式、注册日期、经营范围信息标注出来。
4.根据权利要求1所述的一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于:步骤S103)具体为是将字段名和字段内容拼接后,进行随机打乱,并且通过把一条训练样本随机进行文字删除和形近字替换,生成多条训练样本。
5.根据权利要求1所述的一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于:步骤S106)中,还引入对抗训练FGM,以在输入上进行梯度上升,参数上进行梯度下降。
6.根据权利要求5所述的一种利用命名实体识别提取营业执照结构化信息的方法,其特征在于:步骤S106)中,设置训练样本和验证样本,并且每在训练集上训练一轮,在验证集上计算实体的micro f1值,若经过多轮训练,验证集的f1值都没有下降,则停止训练,保存在验证集上分数最高的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542478.9A CN112668335A (zh) | 2020-12-21 | 2020-12-21 | 一种利用命名实体识别提取营业执照结构化信息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542478.9A CN112668335A (zh) | 2020-12-21 | 2020-12-21 | 一种利用命名实体识别提取营业执照结构化信息的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112668335A true CN112668335A (zh) | 2021-04-16 |
Family
ID=75409278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011542478.9A Pending CN112668335A (zh) | 2020-12-21 | 2020-12-21 | 一种利用命名实体识别提取营业执照结构化信息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668335A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516196A (zh) * | 2021-07-20 | 2021-10-19 | 云知声智能科技股份有限公司 | 命名实体识别数据增强的方法、装置、电子设备和介质 |
CN113869131A (zh) * | 2021-09-01 | 2021-12-31 | 南京烽火天地通信科技有限公司 | 一种结构文本化营业执照图片的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297913A (zh) * | 2019-06-12 | 2019-10-01 | 中电科大数据研究院有限公司 | 一种电子公文实体抽取方法 |
CN110889402A (zh) * | 2019-11-04 | 2020-03-17 | 广州丰石科技有限公司 | 一种基于深度学习的营业执照内容识别方法及系统 |
CN111680511A (zh) * | 2020-04-21 | 2020-09-18 | 华东师范大学 | 一种多神经网络协作的军事领域命名实体识别方法 |
CN111695356A (zh) * | 2020-05-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 同义语料生成方法、装置、计算机系统及可读存储介质 |
CN111860524A (zh) * | 2020-07-28 | 2020-10-30 | 上海兑观信息科技技术有限公司 | 一种数字档案智能分类的装置及方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
-
2020
- 2020-12-21 CN CN202011542478.9A patent/CN112668335A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297913A (zh) * | 2019-06-12 | 2019-10-01 | 中电科大数据研究院有限公司 | 一种电子公文实体抽取方法 |
CN110889402A (zh) * | 2019-11-04 | 2020-03-17 | 广州丰石科技有限公司 | 一种基于深度学习的营业执照内容识别方法及系统 |
CN111680511A (zh) * | 2020-04-21 | 2020-09-18 | 华东师范大学 | 一种多神经网络协作的军事领域命名实体识别方法 |
CN111695356A (zh) * | 2020-05-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 同义语料生成方法、装置、计算机系统及可读存储介质 |
CN111860524A (zh) * | 2020-07-28 | 2020-10-30 | 上海兑观信息科技技术有限公司 | 一种数字档案智能分类的装置及方法 |
CN111967266A (zh) * | 2020-09-09 | 2020-11-20 | 中国人民解放军国防科技大学 | 中文命名实体识别模型及其构建方法和应用 |
Non-Patent Citations (3)
Title |
---|
WWT: "闲话NLP中的对抗训练", Retrieved from the Internet <URL:https://wuwt.me/2020/11/06/adverisal-train-2020/> * |
李灵芳;杨佳琦;李宝山;杜永兴;胡伟健;: "基于BERT的中文电子病历命名实体识别", 内蒙古科技大学学报, no. 01 * |
陈剑;何涛;闻英友;马林涛;: "基于BERT模型的司法文书实体识别方法", 东北大学学报(自然科学版), no. 10, pages 1 - 2 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113516196A (zh) * | 2021-07-20 | 2021-10-19 | 云知声智能科技股份有限公司 | 命名实体识别数据增强的方法、装置、电子设备和介质 |
CN113516196B (zh) * | 2021-07-20 | 2024-04-12 | 云知声智能科技股份有限公司 | 命名实体识别数据增强的方法、装置、电子设备和介质 |
CN113869131A (zh) * | 2021-09-01 | 2021-12-31 | 南京烽火天地通信科技有限公司 | 一种结构文本化营业执照图片的方法 |
CN113869131B (zh) * | 2021-09-01 | 2024-03-29 | 南京烽火天地通信科技有限公司 | 一种结构文本化营业执照图片的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816165B2 (en) | Identification of fields in documents with neural networks without templates | |
CN108960223B (zh) | 基于票据智能识别自动生成凭证的方法 | |
CN107608958B (zh) | 基于条款统一建模的合同文本风险信息挖掘方法和系统 | |
US20190294921A1 (en) | Field identification in an image using artificial intelligence | |
CN112182246B (zh) | 通过大数据分析建立企业画像的方法、系统、介质及应用 | |
US20220237373A1 (en) | Automated categorization and summarization of documents using machine learning | |
WO2019157025A1 (en) | System and method for generating an electronic template corresponding to an image of an evidence | |
CN109685056A (zh) | 获取文档信息的方法及装置 | |
CN110929969A (zh) | 一种供应商的评价方法及装置 | |
US20210256052A1 (en) | Image search method, apparatus, and device | |
US20220292861A1 (en) | Docket Analysis Methods and Systems | |
RU2765884C2 (ru) | Идентификация блоков связанных слов в документах сложной структуры | |
US11880435B2 (en) | Determination of intermediate representations of discovered document structures | |
CN112668335A (zh) | 一种利用命名实体识别提取营业执照结构化信息的方法 | |
CN111914729A (zh) | 凭证关联方法、装置、计算机设备及存储介质 | |
CN115983571A (zh) | 一种基于人工智能的建筑业施工方案审核方法及其系统 | |
CN114971294A (zh) | 数据采集方法、装置、设备及存储介质 | |
Dell et al. | American stories: A large-scale structured text dataset of historical us newspapers | |
CN116777607B (zh) | 一种基于nlp技术的智能审计方法 | |
TW202018616A (zh) | 智能會計帳務系統與會計憑證的辨識入帳方法 | |
US11386263B2 (en) | Automatic generation of form application | |
CN115422920B (zh) | 基于bert和gat的裁判文书争议焦点识别方法 | |
CN117112782A (zh) | 一种招标公告信息提取方法 | |
US11681966B2 (en) | Systems and methods for enhanced risk identification based on textual analysis | |
TWM575887U (zh) | 智能會計帳務系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |