CN112215008B - 基于语义理解的实体识别方法、装置、计算机设备和介质 - Google Patents
基于语义理解的实体识别方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN112215008B CN112215008B CN202011148668.2A CN202011148668A CN112215008B CN 112215008 B CN112215008 B CN 112215008B CN 202011148668 A CN202011148668 A CN 202011148668A CN 112215008 B CN112215008 B CN 112215008B
- Authority
- CN
- China
- Prior art keywords
- word
- entity
- words
- text
- trunk
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 239000012634 fragment Substances 0.000 claims abstract description 31
- 238000001914 filtration Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000011218 segmentation Effects 0.000 claims description 29
- 239000013598 vector Substances 0.000 claims description 4
- 241000208818 Helianthus Species 0.000 description 6
- 235000003222 Helianthus annuus Nutrition 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例属于语义识别领域,应用于智慧城市领域中,涉及一种基于语义理解的实体识别方法,包括对于用户的输入文本,提取所述输入文本的主干词语;将所述主干词语与至少一个相邻词语组成文本片段,其中,所述相邻词语是与所述主干词语相邻的词语;计算所述文本片段与实体词典中实体词的语义相似度;根据所述语义相似度对所述实体词进行过滤,得到候选实体;通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果。本申请还提供一种基于语义理解的实体识别装置、计算机设备及存储介质。采用本方法解决了现有技术中用传统词典匹配能力一般,无法识别词典外的实体,缺乏泛化能力的技术问题。
Description
技术领域
本申请涉及语义识别领域,特别是涉及一种基于语义理解的实体识别方法、装置、计算机设备和存储介质。
背景技术
命名实体识别(Named Entity Recognition,简称NER),也成为了实体识别、实体分块和实体提取,是自然语言处理的一项基础人物,旨在将文本中的命名实体定位并分类为预先定义的类别,例如人名、地名、机构名等。NER是关系抽取、时间抽取、知识图谱、信息提取、问答系统、句法分析、机器翻译等诸多NLP任务的基础,现有技术中多个NLP技术模块中需要用到NER技术,具体包括:在query语义解析中,需要利用NER技术先抽取专有名词再构建关系;在FAQ中,需要利用NER技术识别问题和答案中的实体,帮助提高答案匹配的召回率和准确率。命名实体识别的主要方式分为基于规则和词典的方式、基于统计的方式,其中,前者是命名实体识别中最早使用的方式,多采用语言学专家构造规则模板,以模式和字符串匹配为主要手段,依赖词典的构建,一般而言,当提取的规则比较精准地反映语言现象时,基于规则的方式性能要优于基于统计的方式。但传统的词典匹配一般使用字符精确匹配的方式,过于依赖词典的构建,无法识别词典外的实体,缺乏泛化能力。
发明内容
基于此,针对上述技术问题,本申请提供一种基于语义理解的实体识别方法、装置、计算机设备及存储介质,以解决现有技术中使用传统词典匹配能力一般,无法识别词典外的实体,缺乏泛化能力的技术问题。
一种基于语义理解的实体识别方法,所述方法包括:
对于用户的输入文本,提取所述输入文本的主干词语;
将所述主干词语与至少一个相邻词语组成文本片段,其中,所述相邻词语是与所述主干词语相邻的词语;
计算所述文本片段与实体词典中实体词的语义相似度;
根据所述语义相似度对所述实体词进行过滤,得到候选实体;
通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果。
一种基于语义理解的实体识别装置,所述装置包括:
分词模块,用于对于用户的输入文本,提取所述输入文本的主干词语;
组合模块,用于将所述主干词语与至少一个相邻词语组成文本片段,其中,所述相邻词语是与所述主干词语相邻的词语;
相似模块,用于计算所述文本片段与实体词典中实体词的语义相似度;
过滤模块,用于根据所述语义相似度对所述实体词进行过滤,得到候选实体;
消歧模块,用于通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述基于语义理解的实体识别方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述基于语义理解的实体识别方法的步骤。
上述基于语义理解的实体识别方法、装置、计算机设备和存储介质,通过对用户的输入文本进行分词处理,然后将相邻的两个或者三个词语组合成一个文本片段,对与不同的文本片段计算其与实体词典中实体词的语义相似度,并将匹配到实体词的文本片段用一个预设标识替代后输入到语言模型中,得到实体识别结果。本申请通过不直接得到完全匹配的实体词,而是根据自定义的语义相似度公式大致确定输入文本中可能是实体的文本片段,然后对输入文本中对有候选实体的文本片段进行消歧处理,最终得到文本片段是属于词典中那个类型、是否是实体的识别结果,解决了现有技术中用传统词典匹配能力一般,无法识别词典外 的实体,缺乏泛化能力的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于语义理解的实体识别方法的应用环境示意图;
图2为基于语义理解的实体识别方法的流程示意图;
图3为基于语义理解的实体识别装置的示意图;
图4为一个实施例中计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于语义理解的实体识别方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络以及服务端104,网络用于在终端102和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102通过网络与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器( Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3 )、MP4( Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于语义理解的实体识别方法一般由服务端/终端执行,相应地,基于语义理解的实体识别装置一般设置于服务端/终端设备中。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请可应用于智慧医疗领域中,从而推动智慧城市的建设,例如应用于医院病例实体词的确认,提高对病例的管理效率等。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信。服务端104接收终端102的输入文本,然后对输入文本进行分词处理,得到主干词语,再计算其与实体词典中实体词的语义相似度,最终通过训练好的语言模型对匹配到候选实体的文本片段进行消歧处理,得到实体识别结果。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于语义理解的实体识别方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:
步骤202,对于用户的输入文本,提取输入文本的主干词语。
用户输入的可以随机的文本,也可以某一领域的语料文本,比如,输入文本可以是:的士司机能不能买保险啊、我买了一份平安的任我行。
为了获取输入文本中可能出现的实体词,则需要对输入文本进行分词处理,得到多个词语。分词处理的方式可以是基于字符串匹配,即扫描字符串,如果发现字符串的子串和词典中的词相同,就算匹配,比如机械分词方法。这类分词通常会加入一些启发式规则,比如“正向/反向最大匹配”,“长词优先”等。第二类是基于统计以及机器学习的分词方法,它们基于人工标注的词性和统计特征,对中文进行建模,即根据观测到的数据(标注好的语料)对模型参数进行训练,在分词阶段再通过模型计算各种分词出现的概率,将概率最大的分词结果作为最终结果,最终得到一个个的主干词语。在一些实施例中的主干词语可以是对所有词语的统称,不一定是输入文本中主要词语的名称。
进一步地,在对输入文本进行分词后,还可以根据停用词表对分词后得到的主干词语进行过滤把一些不重要的词(也叫停用词)去掉,如“出租车司机能不能买保险啊”中的“能不能”、“啊”,最终得到过滤后的主干词语。
可选地,还可以在对输入文本进行分词处理后,基于停用词表,通过正则表达式对词语进行过滤,得到待确认词语,然后计算各待确认词语在输入文本中的第一词频,在获取待确认词语在语料库中的第二词频,最后根据第一词频与第二词频的乘机对待确认词语进行过滤,得到过滤后的主干词语。
具体地,假设我们通过第一词频对分词后得到的词语进行过滤,一般来说,一个词在一段文本中的出现次数较多,那么它是停用词的概率就比较大。如果:的、士、司机、能不能、保险四个词出现的次数一样多,但是在本实施例中,司机、保险的重要程度明显会大于能不能,可是的、士两词也是我们所需要的词语,这就需要在词语在当前语料中出现次数的基础上再引入一个词频,即,词语在语料库中出现词频,作为第二词频。
一般地,我们需要定义一个语料库,用来模拟语言的使用环境,来计算第二词频,具体地,可以通过公式(1)计算:(1)
其中,为第二词频、n为语料库中文档的总数、m为包含某词语的文档数。如果一个词语越常见,则/>的大小越接近于0,其中,分母之所以要加1,是为了避免分母为0,即所有的文档都不包含该词语。可以看到,如果一个词语,比如“任我行”在输入文本中出现,但是其第二词频又比较低,那么说明“任我行”可能在当前的输入文本中比较重要,说明“任我行”一词极有可能是本次输入文本中的主干词语。具体地,以/>的结果来表示一个词语是否可能为主干词语,可以得到更加精确的主干词语,不仅可以降低后续对词语的计算量,而且还能提高对实体识别的准确度。而且,通过这种方式自动提取主干词语简单快速,比较符合实际情况。
步骤204,将主干词语与至少一个相邻词语组成文本片段,其中,相邻词语是与主干词语相邻的词语。
其中,在一些实施例中的相邻词语是指与主干词语直接相邻的词语。这里的相邻词语是指包括主干词语与停用词在内的词语。一般地,在一些实施例中,分词的粒度比较小,会得到比较精细的分词结果,比如会将“的士司机”分为“的士”和“司机”,或者“的”、“士”和“司机”那么一个实体词“的士司机”就会被分开,但是我们在于实体词典中的实体词匹配的时候,不可能一个“的”、一个“士”这样去匹配所以需要提取后得到的主干词语进行拼接。具体地,将与主干词语的至少一个相邻词语与该主干词语进行拼接,例如:比如“请问/出租车/司机/可以/买/保险/吗”这句话,会有“出租车”、“请问出租车”、“出租车司机”、“请问出租车司机”这样的文本片段去跟词典里的词进行匹配计算。
步骤206,计算文本片段与实体词典中实体词的语义相似度。
具体地,需要先从实体词典中搜索是否存在与文本片段中词语对应的实体序列,其中,实体序列中包括至少一个实体词;比如,“出租车司机”这样一个文本片段,包括“出租车”、“司机”两个词语,那么可以分别在实体词典中“汽车”、“职业”两种实体分类下搜索是否存在包括“出租车”、“司机”的实体词,得到一个实体序列,其中,实体序列中至少包括一个实体词,比如“职业”分类下的“卡车司机”一词,而且,“出租车”一次不一定也有相匹配的实体词。
若存在,则计算文本片段与实体序列的语义相似度,并将相似度不小于预设值的实体词作为候选实体,其中,预设值取值为0.75,是根据经验得到的,设置这样一次值,可以保证是的文本片段尽可能存在候选实体,然后再通过语言模型进行后续处理,结合语境,得到实体词。
具体地,可以通过公式(2):;
计算文本片段与实体序列的语义相似度,其中,表示文本片段与实体词的相似度、/>为文本片段包括的词语数量、/>和/>分别表示文本片段、实体词中的词语、/>为文本片段中词语对应的词向量、/>为实体词中词语对应的词向量。在公式(2)中,如果不除以文本片段中词语的个数,那么,文本片段越长,算出的值就越大,而我们希望的是这个值只跟语义相关,跟长度无关,所以有除以表示文本片段a包含的词的个数/>。计算得到文本片段a与字典中实体词的语义相似度。
步骤208,根据语义相似度对实体词进行过滤,得到候选实体。
具体地,将语义相似度小于0.75的实体词过滤掉,剩下的就是候选实体。
步骤210,通过训练好的语言模型对包括候选实体的文本片段进行消歧处理,得到实体识别结果。
一个语言模型通常构建为字符串(输入文本)s的概率分布p(s),对于一个由个词按顺序构成的句子/>,p(s)实际上求解的是字符串的联合概率,利用贝叶斯公式(3),链式分解如下:
;
其中,表示词语/>出现的概率,/>表示/>出现后词语/>出现的概率。语言模型/>反映了一句话是正常的话(通顺)的概率。而一个直观的感受是,如果一句话中的某个文本片段是一个实体词,那么把这个实体词替换成它所属的类别,那么这句话还是通顺的,反之则不然。比如有款保险产品叫“任我行”,对于如下两个句子:
“我买了一份平安的任我行”;
“任我行并未练教主世代相传的葵花宝典”;
如果把其中的“任我行”换成“保险”:
“我买了一份平安的保险”;
“保险并未练教主世代相传的葵花宝典”;
可以发现,还是通顺的,但/>就不那么通顺了。这样就可以通过p(s)的值来判断对应的文本片段是否是一个实体。但是,从公式(3)中我们可以发现,p(s)的值还跟s中的词的个数有关,句子越长,联合概率p(s)越小,所以,会导致即使s1比s2通顺,但因为s2比s1长,反而p(s1)>p(s2),这样我们就不能直接通过p(s)的大小来进行实体消歧。另一个影响p(s)的因素是低频词,如果s中有低频词/>,那么对应的/>就是一个极小值,导致p(s)的值也很小。
基于以上两点,在一些实施例中,将输入文本输入到第一语言模型中,得到第一联合概率;将替换输入文本输入到第二语言模型中,得到第二联合概率;根据第一联合概率、第二联合概率得到实体识别结果。其中,第一联合概率、第二联合概率即得分。
具体地,本申请首先通过原始语料训练一个第一语言模型A,然后选一批高质量的实体,例如:歧义小的实体,比如“腾讯”基本一看就知道是指“腾讯公司”,但是“平安”一词,如果没有上下文,就无法确定是指“平安公司”还是指“一路平安”,这里的“腾讯”就是高质量实体。然后从原始语料中提取这些高质量的实体并进行tag替换;再通过替换后的语料训练一个第二语言模型B,对一个包含候选实体的输入文本query,分别计算其在两个语言模型中的得分,并比较两个得分的差异,在一些实施例中,可以计算第一联合概率与第二联合概率的比值,当比值接近于1或者为1时,确定文本片段为实体词。基于此来对候选实体进行判别,通过比较两个语言模型,可以避免不同输入文本query长度、低频词等对语言模型得分差异造成的影响。可选地,还可以计算第一联合概率与第二联合概率的差值,当差值接近0或者为0时,确定为实体词。
具体地,将输入文本中包括候选实体对应的文本片段替换为预设标识,比如使用预设标识tag,例如:<INS>,得到替换输入文本,具体地:
s1:我买了一份平安的任我行;
s1’:我买了一份平安的<INS>;
s2:任我行并未练教主世代相传的葵花宝典;
s2’:<INS>并未练教主世代相传的葵花宝典;
如果<INS>是保险,那么:
s1:我买了一份平安的任我行;
s1’:我买了一份平安的<保险>;
s2:任我行并未练教主世代相传的葵花宝典;
s2’:<保险>并未练教主世代相传的葵花宝典;
将以上输入文本输入到第一语言模型中,将替换输入文本输入到第二语言模型中,得到的结果p(s1)、p(s1’)、p(s2)以及p(s2’),可知,score(s1)= p(s1)/p(s1’)远远要大于score(s2)= p(s2)/p(s2’)。即,s1中的“任我行”其实是属于保险类别下的实体词,而s2中的“任我行”是人名。
以此类推,同一输入文本中有对应候选实体的其他文本片段也可以通过以上方式识别出输入候选实体中的哪一分类,是否是实体词。
需要强调的是,为进一步保证上述用户输入信息的私密和安全性,上述输入文本还可以存储于一区块链的节点中。
上述基于语义理解的实体识别方法中,通过对用户的输入文本进行分词处理,然后将相邻的两个或者三个词语组合成一个文本片段,对与不同的文本片段计算其与实体词典中实体词的语义相似度,并将匹配到实体词的文本片段用一个预设标识替代后输入到语言模型中,得到实体识别结果。本申请通过不直接得到完全匹配的实体词,而是根据自定义的语义相似度公式大致确定输入文本中可能是实体的文本片段,然后对输入文本中对有候选实体的文本片段进行消歧处理,最终得到文本片段是属于词典中那个类型、是否是实体的识别结果,解决了现有技术中用传统词典匹配能力一般,无法识别词典外 的实体,缺乏泛化能力的技术问题。另一方面,模板的构建依赖于具体的语言、领域和文本风格,匹配的精准度受到限制。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种基于语义理解的实体识别装置,该基于语义理解的实体识别装置与上述实施例中基于语义理解的实体识别方法一一对应。该基于语义理解的实体识别装置包括:
分词模块302,用于对于用户的输入文本,提取输入文本的主干词语;
组合模块304,用于将主干词语与至少一个相邻词语组成文本片段,其中,相邻词语是与主干词语相邻的词语;
相似模块306,用于计算文本片段与实体词典中实体词的语义相似度;
过滤模块308,用于根据语义相似度对实体词进行过滤,得到候选实体;
消歧模块310,用于通过训练好的语言模型对包括候选实体的文本片段进行消歧处理,得到实体识别结果。
进一步地,分词模块302,包括:
第一分词子模块,用于对输入文本进行分词处理,得到多个词语;
第一过滤子模块,用于根据停用词表对词语进行过滤,得到过滤后的主干词语。
进一步地,分词模块302,还包括:
第二分词子模块,用于对输入文本进行分词处理,得到多个词语;
第二过滤子模块,用于基于停用词表,通过正则表达式对词语进行过滤,得到待确认词语;
第一词频子模块,用于计算各待确认词语在输入文本中的第一词频;
第二词频子模块,用于获取待确认词语在语料库中的第二词频;
第三过滤子模块,用于根据第一词频与第二词频的乘积对待确认词语进行过滤,得到主干词语。
进一步地,相似模块306,包括:
搜索子模块,用于从实体词典中搜索是否存在与文本片段中词语对应的实体序列,其中,实体序列中包括至少一个实体词;
计算子模块,用于若存在,则计算文本片段与实体序列的语义相似度。
进一步地,消歧模块310,包括:
替换子模块,用于将输入文本中包括候选实体对应的文本片段替换为预设标识,得到替换输入文本;
第一概率子模块,用于将输入文本输入到第一语言模型中,得到第一联合概率;
第二概率子模块,用于将替换输入文本输入到第二语言模型中,得到第二联合概率;
识别子模块,用于根据第一联合概率、第二联合概率得到实体识别结果。
需要强调的是,为进一步保证上述用户输入信息的私密和安全性,上述输入文本还可以存储于一区块链的节点中。
上述基于语义理解的实体识别装置,通过对用户的输入文本进行分词处理,然后将相邻的两个或者三个词语组合成一个文本片段,对与不同的文本片段计算其与实体词典中实体词的语义相似度,并将匹配到实体词的文本片段用一个预设标识替代后输入到语言模型中,得到实体识别结果。本申请通过不直接得到完全匹配的实体词,而是根据自定义的语义相似度公式大致确定输入文本中可能是实体的文本片段,然后对输入文本中对有候选实体的文本片段进行消歧处理,最终得到文本片段是属于词典中那个类型、是否是实体的识别结果,解决了现有技术中用传统词典匹配能力一般,无法识别词典外 的实体,缺乏泛化能力的技术问题。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储输入文本。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种基于语义理解的实体识别方法。通过对用户的输入文本进行分词处理,然后将相邻的两个或者三个词语组合成一个文本片段,对与不同的文本片段计算其与实体词典中实体词的语义相似度,并将匹配到实体词的文本片段用一个预设标识替代后输入到语言模型中,得到实体识别结果。本申请通过不直接得到完全匹配的实体词,而是根据自定义的语义相似度公式大致确定输入文本中可能是实体的文本片段,然后对输入文本中对有候选实体的文本片段进行消歧处理,最终得到文本片段是属于词典中那个类型、是否是实体的识别结果,解决了现有技术中用传统词典匹配能力一般,无法识别词典外 的实体,缺乏泛化能力的技术问题。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中基于语义理解的实体识别方法的步骤,例如图2所示的步骤202至步骤210,或者,处理器执行计算机可读指令时实现上述实施例中基于语义理解的实体识别装置的各模块/单元的功能,例如图3所示模块302至模块310的功能。通过对用户的输入文本进行分词处理,然后将相邻的两个或者三个词语组合成一个文本片段,对与不同的文本片段计算其与实体词典中实体词的语义相似度,并将匹配到实体词的文本片段用一个预设标识替代后输入到语言模型中,得到实体识别结果。本申请通过不直接得到完全匹配的实体词,而是根据自定义的语义相似度公式大致确定输入文本中可能是实体的文本片段,然后对输入文本中对有候选实体的文本片段进行消歧处理,最终得到文本片段是属于词典中那个类型、是否是实体的识别结果,解决了现有技术中用传统词典匹配能力一般,无法识别词典外 的实体,缺乏泛化能力的技术问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种基于语义理解的实体识别方法,其特征在于,所述方法包括:
对于用户的输入文本,提取所述输入文本的主干词语;
将所述主干词语与至少一个相邻词语组成文本片段,其中,所述相邻词语是与所述主干词语相邻的词语;
计算所述文本片段与实体词典中实体词的语义相似度;
根据所述语义相似度对所述实体词进行过滤,得到候选实体;
通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果;
其中,所述计算所述文本片段与实体词典中实体词的语义相似度,包括:
从所述实体词典中搜索是否存在与所述文本片段中词语对应的实体序列,其中,所述实体序列中包括至少一个实体词;
若存在,则计算所述文本片段与所述实体序列的语义相似度;
所述根据所述语义相似度对所述实体词进行过滤,得到候选实体,包括:
将所述语义相似度不小于预设值的实体词作为候选实体;
所述计算所述文本片段与所述实体序列的语义相似度,包括:
通过公式:;
计算所述文本片段与所述实体序列的语义相似度,其中,表示文本片段与实体词的相似度、/>为文本片段包括的词语数量、/>分别表示文本片段、实体词中的词语、/>为文本片段中词语对应的词向量、/>为实体词中词语对应的词向量、a为文本片段、b为实体词。
2.根据权利要求1所述的方法,其特征在于,所述提取所述输入文本的主干词语,包括:
对所述输入文本进行分词处理,得到多个词语;
根据停用词表对所述词语进行过滤,得到过滤后的主干词语。
3.根据权利要求1所述的方法,其特征在于,所述提取所述输入文本的主干词语,包括:
对所述输入文本进行分词处理,得到多个词语;
基于停用词表,通过正则表达式对所述词语进行过滤,得到待确认词语;
计算各所述待确认词语在所述输入文本中的第一词频;
获取所述待确认词语在语料库中的第二词频;
根据所述第一词频与所述第二词频的乘积对所述待确认词语进行过滤,得到所述主干词语。
4.根据权利要求1所述的方法,其特征在于,所述语言模型包括第一语言模型、第二语言模型,所述通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果,包括:
将所述输入文本中包括所述候选实体对应的文本片段替换为预设标识,得到替换输入文本;
将所述输入文本输入到所述第一语言模型中,得到第一联合概率;
将所述替换输入文本输入到所述第二语言模型中,得到第二联合概率;
根据所述第一联合概率、所述第二联合概率得到所述实体识别结果。
5.一种基于语义理解的实体识别装置,运行时执行权利要求1至4中任一项所述基于语义理解的实体识别方法,其特征在于,所述基于语义理解的实体识别装置包括:
分词模块,用于对于用户的输入文本,提取所述输入文本的主干词语;
组合模块,用于将所述主干词语与至少一个相邻词语组成文本片段,其中,所述相邻词语是与所述主干词语相邻的词语;
相似模块,用于计算所述文本片段与实体词典中实体词的语义相似度;
过滤模块,用于根据所述语义相似度对所述实体词进行过滤,得到候选实体;
消歧模块,用于通过训练好的语言模型对包括所述候选实体的文本片段进行消歧处理,得到实体识别结果。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148668.2A CN112215008B (zh) | 2020-10-23 | 2020-10-23 | 基于语义理解的实体识别方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148668.2A CN112215008B (zh) | 2020-10-23 | 2020-10-23 | 基于语义理解的实体识别方法、装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112215008A CN112215008A (zh) | 2021-01-12 |
CN112215008B true CN112215008B (zh) | 2024-04-16 |
Family
ID=74055068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011148668.2A Active CN112215008B (zh) | 2020-10-23 | 2020-10-23 | 基于语义理解的实体识别方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112215008B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597776A (zh) * | 2021-03-08 | 2021-04-02 | 中译语通科技股份有限公司 | 关键词提取方法及系统 |
CN113360742A (zh) * | 2021-05-19 | 2021-09-07 | 维沃移动通信有限公司 | 推荐信息确定方法、装置及电子设备 |
CN113642331B (zh) * | 2021-08-10 | 2022-05-03 | 东方财富信息股份有限公司 | 金融命名实体识别方法及系统、存储介质及终端 |
CN113688243B (zh) * | 2021-08-31 | 2024-02-13 | 中国平安人寿保险股份有限公司 | 语句中实体的标注方法、装置、设备以及存储介质 |
CN113836874A (zh) * | 2021-09-16 | 2021-12-24 | 北京小米移动软件有限公司 | 文本纠错方法及装置 |
CN113807099B (zh) * | 2021-09-22 | 2024-02-13 | 北京百度网讯科技有限公司 | 实体信息识别方法、装置、电子设备以及存储介质 |
CN114118049B (zh) * | 2021-10-28 | 2023-09-22 | 北京百度网讯科技有限公司 | 信息获取方法、装置、电子设备及存储介质 |
CN114386423B (zh) * | 2022-01-18 | 2023-07-14 | 平安科技(深圳)有限公司 | 文本去重方法和装置、电子设备、存储介质 |
CN115169352A (zh) * | 2022-09-08 | 2022-10-11 | 深圳市人马互动科技有限公司 | 命名实体识别方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679039A (zh) * | 2017-10-17 | 2018-02-09 | 北京百度网讯科技有限公司 | 用于确定语句意图的方法和装置 |
CN107861939A (zh) * | 2017-09-30 | 2018-03-30 | 昆明理工大学 | 一种融合词向量和主题模型的领域实体消歧方法 |
CN108804421A (zh) * | 2018-05-28 | 2018-11-13 | 中国科学技术信息研究所 | 文本相似性分析方法、装置、电子设备及计算机存储介质 |
CN110866399A (zh) * | 2019-10-24 | 2020-03-06 | 同济大学 | 一种基于增强字符向量的中文短文本实体识别与消歧方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2371731A1 (en) * | 2002-02-12 | 2003-08-12 | Cognos Incorporated | Database join disambiguation by grouping |
-
2020
- 2020-10-23 CN CN202011148668.2A patent/CN112215008B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861939A (zh) * | 2017-09-30 | 2018-03-30 | 昆明理工大学 | 一种融合词向量和主题模型的领域实体消歧方法 |
CN107679039A (zh) * | 2017-10-17 | 2018-02-09 | 北京百度网讯科技有限公司 | 用于确定语句意图的方法和装置 |
CN108804421A (zh) * | 2018-05-28 | 2018-11-13 | 中国科学技术信息研究所 | 文本相似性分析方法、装置、电子设备及计算机存储介质 |
CN110866399A (zh) * | 2019-10-24 | 2020-03-06 | 同济大学 | 一种基于增强字符向量的中文短文本实体识别与消歧方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112215008A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112215008B (zh) | 基于语义理解的实体识别方法、装置、计算机设备和介质 | |
US11403680B2 (en) | Method, apparatus for evaluating review, device and storage medium | |
US11397762B2 (en) | Automatically generating natural language responses to users' questions | |
Smetanin et al. | Deep transfer learning baselines for sentiment analysis in Russian | |
CN109858010B (zh) | 领域新词识别方法、装置、计算机设备和存储介质 | |
CN109815333B (zh) | 信息获取方法、装置、计算机设备和存储介质 | |
CN111814447B (zh) | 基于分词文本的电子病例查重方法、装置、计算机设备 | |
CN111241237B (zh) | 一种基于运维业务的智能问答数据处理方法及装置 | |
CN111783471B (zh) | 自然语言的语义识别方法、装置、设备及存储介质 | |
US10915756B2 (en) | Method and apparatus for determining (raw) video materials for news | |
CN112287069A (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN114357117A (zh) | 事务信息查询方法、装置、计算机设备及存储介质 | |
CN113722438A (zh) | 基于句向量模型的句向量生成方法、装置及计算机设备 | |
CN111783450A (zh) | 语料文本中的短语提取方法、装置、存储介质及电子设备 | |
CN111767714B (zh) | 一种文本通顺度确定方法、装置、设备及介质 | |
CN114547315A (zh) | 一种案件分类预测方法、装置、计算机设备及存储介质 | |
CN114399396A (zh) | 保险产品推荐方法、装置、计算机设备及存储介质 | |
CN112395391A (zh) | 概念图谱构建方法、装置、计算机设备及存储介质 | |
CN112307190A (zh) | 医学文献排序方法、装置、电子设备及存储介质 | |
CN115438149A (zh) | 一种端到端模型训练方法、装置、计算机设备及存储介质 | |
WO2022073341A1 (zh) | 基于语音语义的疾病实体匹配方法、装置及计算机设备 | |
Mhamed et al. | A deep CNN architecture with novel pooling layer applied to two Sudanese Arabic sentiment data sets | |
CN114691716A (zh) | Sql语句转换方法、装置、设备及计算机可读存储介质 | |
CN112733492B (zh) | 基于知识库的辅助设计方法、装置、终端和存储介质 | |
CN114707489B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |