一种针对中文文本的智能标注方法及系统
技术领域
本发明属于自然语言处理
技术领域
,尤其涉及一种针对中文文本的智能标注方法及系统。背景技术
本部分的陈述仅仅是提供了与本公开相关的
背景技术
信息,不必然构成在先技术。信息抽取是自然语言处理的一项重要任务,它的基本目的之一是从原始的非结构化文本中提取有意义的结构化信息,以用于智能问答、检索等自然语言处理应用,从而给用户带来更加智能的体验。信息抽取本身是一项庞大的任务,包括命名实体识别、关系抽取、事件抽取等子任务。由于中文标注语料的短缺,信息抽取的研究相对于英文数据集上的研究较少。而标注语料数据集需要人工标注,使得数据包含高质量的实体关系三元组,几乎没有噪音。但是,人工标注数据集耗时耗力,因此这些数据集通常规模较小,并不能很好的支撑后续建模。
分词作为实体关系抽取的第一步,其准确性对实体关系抽取的效率和准确性都有很大影响。众所周知,英文的单词之间天然存在空格来分隔,因此在进行英文文本处理时,可以非常容易的通过空格来切分单词。与英文相比,中文在每句话中间是不存在分隔符的,而是由一串连续的汉字顺序连接构成了句子。如何正确的根据语义完成中文切分是一个挑战性的任务,一旦切词发生失误,会导致后续的文本处理产生连锁问题,给正确理解语义带来障碍。
发明内容
为克服上述现有技术的不足,本发明提供了一种针对中文文本的智能标注方法及系统,通过模型进行实体关系的识别,得到预标注结果,然后基于预标注结果,给出了一种基于可交互页面的人工标注方法,保证了实体和关系标注的精度。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
一种针对中文文本的智能标注方法,包括以下步骤:
获取待标注数据集,以及待标注的实体和关系标签;
基于实体关系抽取模型,对待标注数据集进行实体和关系识别,得到预标注结果;
接收用户对预标注结果的修正,完成标注。
进一步地,得到预标注结果后,对预标注结果进行显示,具体包括:
将待标注数据集的文本内容进行显示,同时显示预标注结果,所述预标注结果对于不同的实体或关系标签根据设定样式进行区分显示;并且,提供不同实体或关系标签相应的样式。
进一步地,接收用户对预标注结果的修正包括:
捕获屏幕上的鼠标事件,在鼠标滑动过程中,对鼠标所指的词语进行实时区别显示;当鼠标所指的词语需要标注或者需要修改标注时,接收用户的标注操作将相应样式赋予该词语。
进一步地,对鼠标所指的词语进行实时区别显示包括:
捕获屏幕上的鼠标事件,当鼠标滑过待标注数据集文本中某个字时,查找系统内置分词表中是否有这个字,若有,则获取该字前面或后面的字与该字进行组合,查找分词表中是否有这个组合,若有,则将这个组合认定为是一个词,将该词进行区别显示。
一个或多个实施例提供了一种客户端,与服务器连接,包括:
标注任务配置模块,用于配置待标注数据集、待标注的实体和关系标签,以及所需实体关系抽取模型,并生成标注任务;
标注任务发布模块,用于发布所述标注任务并进行人员分配;
人工标注模块,用于获取经由实体关系抽取模型识别、标注得到的预标注结果并进行显示,接收用户对预标注结果的修正。
进一步地,所述人工标注模块中,将预标注结果进行显示包括:
将待标注数据集的文本内容进行显示,同时显示预标注结果,所述预标注结果对于不同的实体或关系标签根据设定样式进行区分显示;并且,提供不同实体或关系标签相应的样式。
进一步地,所述人工标注模块中,接收用户对预标注结果的修正包括:
捕获屏幕上的鼠标事件,在鼠标滑动过程中,对鼠标所指的词语进行实时区别显示;当鼠标所指的词语需要标注或者需要修改标注时,接收用户的标注操作将相应样式赋予该词语。
进一步地,对鼠标所指的词语进行实时区别显示包括:
捕获屏幕上的鼠标事件,当鼠标滑过待标注数据集文本中某个字时,查找系统内置分词表中是否有这个字,若有,则获取该字前面或后面的字与该字进行组合,查找分词表中是否有这个组合,若有,则将这个组合认定为是一个词,将该词进行区别显示。
一个或多个实施例提供了一种服务器,与所述客户端连接,包括:
模型管理模块,用于管理实体关系模型,所述实体关系模型包括模型架构和已训练好的模型;以及,获取客户端关于实体关系抽取模型的配置,得到所需实体关系抽取模型;
智能标注模块,用于基于所述实体关系抽取模型,对待标注数据集进行实体和关系识别,得到预标注结果。
一个或多个实施例提供了一种针对中文文本的智能标注系统,包括所述客户端和所述服务器。
以上一个或多个技术方案存在以下有益效果:
以上技术方案提供了一种智能标注与人工标注相结合的标注方法,通过模型进行实体关系的识别,得到预标注结果,然后基于预标注结果,给出了一种基于可交互页面的人工标注方法,保证了标注精度。
其中,基于可交互页面的人工标注方法能够通过VUE鼠标事件识别分词并进行区别显示,并且结合层叠样式表用于实现标签和样式的关联,使得用户可以灵活的标注实体和关系,提升了用户体验,并且由于词语随着鼠标的划动实时显示,避免了用户逐字阅读,提高了人工标注的效率,使得获取大规模标注数据集成为可能,为后续建模的准确性提高提供了数据支撑。
此外,以上技术方案提供的系统中,预置了多种模型框架和已训练好的模型,用户既可以通过配置模型参数进行重新训练,也可以直接采用已训练好的模型,灵活性高;并且,经过人工标注的标注结果还用户对模型进行更新,保证了模型准确率的提升,在多次训练的过程中提升了语料库的质量和数量。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例一中针对中文文本的智能标注系统框架图;
图2为本发明实施例二中针对中文文本的智能标注方法流程图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了一种针对中文文本的智能标注系统,包括服务器和客户端。
所述客户端,被配置为包括:
标注任务配置模块,用于新建标注任务,输入任务名称、选择所需数据源、实体/关系标签、选择所需标注模型。具体包括:
数据源配置子模块,用于获取待标注数据文件,并发送至服务器进行存储。数据文件格式在此不做限定根据用户需求添加数据源,例如txt/csv文本、SQL数据库和NoSQL数据库等。
标签配置子模块,用于设定标注任务过程中所需的实体标签和关系标签,也可基于系统已有的实体标签和关系标签进行选择。
模型配置子模块,用于配置实体关系抽取模型,并将配置信息发送至服务器,以及,接收服务器训练得到的实体关系抽取模型。具体地,用户可根据具体场景和需求配置建模过程所需参数。配置成功后可提交任务至任务管理,通过任务管理对建模任务进行监管。当然,也可以选择已经构建好的模型,通过配置模型输入和输出参数对第三方模型或者其他模型进行管理。
标注任务发布模块,用于在任务配置成功后,发布标注任务,并将标注任务指派给标注员进行人工手动标注。
人工标注模块,在智能标注的基础上,人工对模型标注结果进行人工校验。人工校验页面通过VUE鼠标事件和层叠样式表的方式实现。被配置为执行以下步骤:
(1)从服务器获取预标注结果,并将其在待标注数据集中进行显示。
具体地,对于不同的实体或关系根据设定样式进行区分显示,并提供不同实体或关系标签相应的样式。作为一种具体的实现方式,为不同的实体或关系设定不同的显示样式,例如采用不同的高亮颜色进行区分显示。当然,也可设定其他区分显示的方式,例如对于不同的实体或关系,赋予不同的字体颜色等等,在此不做限定。
(2)接收用户对预标注结果的修正,完成标注。
具体地,鼠标事件包括:鼠标按下、抬起、移动、移入元素、移出元素等,通过鼠标事件,改变标注数据所属实体,进而该变元素样式。
作为一种具体的实施方式,所述步骤(2)具体包括:
(2.1)捕获屏幕上的鼠标事件,在鼠标滑动过程中,对鼠标所指的词语进行实时区别显示;具体地,捕获屏幕上的鼠标事件,当鼠标滑过待标注数据集文本中某个字时,查找系统内置分词表中是否有这个字,若有,则获取该字前面或后面的字与该字进行组合,查找分词表中是否有这个组合,若有,则将这个组合认定为是一个词,将该词进行区别显示。
(2.2)当鼠标所指的词语需要标注或者需要修改标注时,接收用户的标注操作将相应样式赋予该词语。具体地,由于显示的是预标注结果,系统已经根据机器学习模型的识别进行标注,因此在鼠标划过时,对鼠标所指的词语进行判断,是否需要标注或者需要修改标注,当需要时,选中该词语并标注为所属标签的样式。
在标注过程中,通过监听鼠标按下、移动、抬起事件,获取鼠标按下和抬起的位置和选中的字符串,然后给选中的每个字添加选中状态样式,从而实现对实体和关系的标注。这种通过鼠标点选灵活标注实体和关系,具有较好的用户使用体验。
二次审核模块,用于任务审核员在任务审核模块对模型和人工标注的结果进行二次校验核对。
校验通过的数据将会被存储至服务器,便于采用最新的标注语料更新实体关系抽取模型,从而提升模型的准确率。
任务管理模块,用于对任务状态和完成进度进行查询。具体是指对标注任务、建模任务、流程进度进行查询,查看当前任务状态、当前处理人员及完成情况等。
所述服务器,被配置为包括:
人员管理模块,用于管理人员基本信息和权限信息。不同权限的人员所对应的客户端中所能使用的功能模块不同,即,所述权限信息限制了工作人员相应客户端所能应用的功能模块。
例如,管理员权限的工作人员,其客户端中所有功能模块都能使用,既可以配置和发布任务,也可以自行执行标注,而普通权限仅能够使用人工标注模块、二次审核模块,仅能够根据派发的任务执行标注,具体的权限配置可根据具体需求调整,在此不做限定。
数据源管理模块,用于管理历史标注的数据源文件。
标签管理模块,用于管理人工手动配置管理标注任务过程中所需的实体标签和关系标签。
模型管理模块,用于管理实体关系模型,所述实体关系模型包括模型架构和已训练好的模型。接收客户端关于实体关系抽取模型的配置,得到所述实体关系抽取模型;以及,接收客户端经二次审核的标注结果,对所述实体关系抽取模型进行更新。其中,模型架构可以通过客户端的模型配置模块进行参数配置,然后选择历史标注数据进行训练。已训练好的模型包括经由模型管理模块训练得到的模型,以及用户上传的离线模型。具体地,所述模型管理模块内置TensorFlow深度学习框架,可进行在线建模,在建模过程中使用BERT模型进行中文文本特征的提取。
智能标注模块,用于在任务发布后,调用基于深度学习的实体关系抽取模型(智能标注模型)对数据源中数据进行基于模型的实体和关系标注,得到预标注结果,并发送至客户端。
历史标注数据管理模块,对已标注数据文件进行存储,作为构建或更新实体关系抽取模型的训练数据。
实施例二
本实施例公开了一种针对中文文本的智能标注方法,包括以下步骤:
步骤1:获取待标注数据集,以及待标注的实体和关系标签;
步骤2:基于实体关系抽取模型,对待标注数据集进行实体和关系识别,得到预标注结果;
步骤3:接收用户对预标注结果的修正,完成标注。
所述步骤2具体包括:
步骤2.1:基于实体关系抽取模型,对待标注数据集进行实体和关系识别;
步骤2.2:对识别出的词语进行标注,得到预标注结果,将预标注结果进行显示。
将预标注结果进行显示包括:将待标注数据集的文本内容进行显示,同时显示预标注结果,所述预标注结果对于不同的实体或关系根据设定样式进行区分显示。作为一种具体的实现方式,为不同的实体或关系设定不同的显示样式,例如采用不同的高亮颜色进行区分显示。当然,也可设定其他区分显示的方式,例如对于不同的实体或关系,赋予不同的字体颜色等等,在此不做限定。
所述步骤2中的实体关系抽取模型是基于历史标注数据进行训练得到的。
所述步骤3具体包括:
步骤3.1:捕获屏幕上的鼠标事件,在鼠标滑动过程中,对鼠标所指的词语进行实时区别显示;
具体地,捕获屏幕上的鼠标事件,当鼠标滑过待标注数据集文本中某个字时,查找系统内置分词表中是否有这个字,若有,则获取该字前面或后面的字与该字进行组合,查找分词表中是否有这个组合,若有,则将这个组合认定为是一个词,将该词进行区别显示。
通过上述方法,鼠标划过待标注文本时,可实时突出显示鼠标所指的词,使得用户无需逐字阅读,大大提高了人工标注的效率。
步骤3.2:当鼠标所指的词语需要标注或者需要修改标注时,接收用户的标注操作将相应样式赋予该词语。
具体地,由于显示的是预标注结果,系统已经根据机器学习模型的识别进行标注,因此在鼠标划过时,对鼠标所指的词语进行判断,是否需要标注或者需要修改标注,当需要时,选中该词语并标注为所属标签的样式。
最终得到的经人工审核和修正后的标注结果,用于步骤2中实体关系抽取模型的参数更新。
以上一个或多个实施例提供了一种针对中文文本的智能标注系统及方法,用户在配置好实体标签和关系标签后,在创建标注任务时选择待标注数据集、实体和关系模型、对应实体关系抽取模型即可生成标注任务。在生成标注任务的过程中实现对实体和关系的智能标注,同时通过VUE鼠标事件和层叠样式表自动识别中文分词优化用户使用体验。人工通过鼠标点选可灵活标注实体和关系,对模型智能标注结果进行调优。同时,在提升标注准确率的前提下,不断完善标注语料的数据质量。通过上述标注方法得到的语料库后续可以用于构建知识图谱、构建机器学习模型等。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。