一种获取机构名称的方法及装置
技术领域
本发明涉及信息提取及文本挖掘领域,特别涉及一种获取机构名称的方法及装置。
背景技术
大部分企业在运作时都会产生大量的企业公文,企业的企业公文中包括大量有助于了解企业的有用信息。为了便于用户快速了解企业,可以从企业公文中提取有用信息并显示给用户。
企业公文中常常包括机构名称等有用信息,机构名称往往是企业名称,例如北京###有限公司就是一种机构名称。为了让用快速了解企业,常常需要从企业公文中获取机构名称。目前可以通过实体识别系统识别出企业公文中的机构名称,并在企业公文中标记识别出的机构名称。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前通过实体识别系统识别出的很多机构名称都是不全的名称,例如,对于北京###有限公司,往往只识别出有限公司,将北京###给丢失了,导致识别准确性较低。
发明内容
为了提高识别机构名称的准确性,本发明提供了一种获取机构名称的方法及装置。所述技术方案如下:
第一方面,本发明提供了一种获取机构名称的方法,所述方法包括:
通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称;
根据后缀模型确定所述机构名称是否为实体机构的全称,所述后缀模型包括至少一个实体机构的后缀名称;
在所述机构名称不是实体机构的全称时,获取位于所述机构名称之前满足预设条件的词语;
将所述获取的词语和所述机构名称组成实体机构的全称。
可选的,所述根据后缀模型确定所述机构名称是否为实体机构的全称,包括:
从所述后缀模型包括的至少一个实体机构的后缀名称中获取一后缀名称,所述后缀名称是所述机构名称的子串或所述机构名称是所述后缀名称的子串;
若所述机构名称包括的第一文字数目不大于所述后缀名称包括的第二文字数目或者或所述第一文字数目大于所述第二文字数目且所述第一文字数目与所述第二文字数目之间的差值不大于预设阈值时,确定所述机构名称不是实体机构的全称。
可选的,所述获取位于所述机构名称之前满足预设条件的词语,包括:
获取有效范围,所述有效范围为所述机构名称与目标标点符号之间的文字,所述目标标点符号为所述机构名称之前首次出现的标点符号,或者,所述有效范围为所述机构名称与所述机构名称所在段落的开始位置之间的文字;
获取所述有效范围内的地名,若所述地名的左右两侧没有括号,则获取所述地名和所述地名与所述机构名称之间的词语。
可选的,所述获取位于所述机构名称之前满足预设条件的词语,包括:
获取位于所述机构名称之前首次出现的名词词语;
获取位于所述名词词语之前首次出现的非名词词语;
获取位于所述非名词词语与所述机构名称之间的词语。
可选的,所述根据后缀模型确定所述机构名称是否为实体机构的全称之前,还包括:
根据预设的训练集合构建所述后缀模型,所述预设的训练集合包括多个预设机构名称的全称。
第二方面,本发明提供了一种获取机构名称的装置,所述装置包括:
标记模块,用于通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称;
确定模块,用于根据后缀模型确定所述机构名称是否为实体机构的全称,所述后缀模型包括至少一个实体机构的后缀名称;
获取模块,用于在所述机构名称不是实体机构的全称时,获取位于所述机构名称之前满足预设条件的词语;
组成模块,用于将所述获取的词语和所述机构名称组成实体机构的全称。
可选的,所述确定模块包括:
第一获取单元,用于从所述后缀模型包括的至少一个实体机构的后缀名称中获取一后缀名称,所述后缀名称是所述机构名称的子串或所述机构名称是所述后缀名称的子串;
确定单元,用于若所述机构名称包括的第一文字数目不大于所述后缀名称包括的第二文字数目或者或所述第一文字数目大于所述第二文字数目且所述第一文字数目与所述第二文字数目之间的差值不大于预设阈值时,确定所述机构名称不是实体机构的全称。
可选的,所述获取模块包括:
第二获取单元,用于获取有效范围,所述有效范围为所述机构名称与目标标点符号之间的文字,所述目标标点符号为所述机构名称之前首次出现的标点符号,或者,所述有效范围为所述机构名称与所述机构名称所在段落的开始位置之间的文字;
第三获取单元,用于获取所述有效范围内的地名,若所述地名的左右两侧没有括号,则获取所述地名和所述地名与所述机构名称之间的词语。
可选的,所述获取模块包括:
第四获取单元,用于获取位于所述机构名称之前首次出现的名词词语;
第五获取单元,用于获取位于所述名词词语之前首次出现的非名词词语;
第六获取单元,用于获取位于所述非名词词语与所述机构名称之间的词语。
可选的,所述装置还包括:
构建模块,用于根据预设的训练集合构建所述后缀模型,所述预设的训练集合包括多个预设机构名称的全称。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包括:
用于通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称的指令;
用于根据后缀模型确定所述机构名称是否为实体机构的全称的指令,所述后缀模型包括至少一个实体机构的后缀名称;
用于在所述机构名称不是实体机构的全称时,获取位于所述机构名称之前满足预设条件的词语的指令;
用于将所述获取的词语和所述机构名称组成实体机构的全称的指令。
本发明提供的技术方案的有益效果是:
通过在标记机构名称后确定该机构名称是否为全称,在不是全称时,获取位于该机构名称之前满足预设条件的词语,将获取的词语和该机构名称组成实体机构的全称,提高获取机构名称的准确性。
附图说明
图1是本发明实施例1提供的一种获取机构名称的方法流程图;
图2-1是本发明实施例2提供的一种获取机构名称的方法流程图;
图2-2是本发明实施例2提供的一种非结构化文本文本示意图;
图3是本发明实施例3提供的一种获取机构名称的方法流程图;
图4是本发明实施例4提供的一种获取机构名称的装置结构示意图;
图5是本发明实施例5提供的一种获取机构名称的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如下任一实施例的执行主体可以为服务器或终端等,终端可以为台式计算机、笔记本电脑或平板电脑等。
实施例1
参见图1,本发明实施例提供了一种获取机构名称的方法,所述方法包括:
步骤101:通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称。
步骤102:根据后缀模型确定该机构名称是否为实体机构的全称,该后缀模型包括至少一个实体机构的后缀名称。
步骤103:在该机构名称不是实体机构的全称时,获取位于该机构名称之前满足预设条件的词语。
步骤104:将获取的词语和该机构名称组成实体机构的全称。
在本发明实施例中,在标记机构名称后,通过确定该机构名称是否为全称,在不是全称时,获取位于该机构名称之前满足预设条件的词语,将获取的词语和该机构名称组成实体机构的全称,提高获取机构名称的准确性。
实施例2
参见图2-1,本发明实施例提供了一种获取机构名称的方法,该方法用于获取非结构化文本文件包括的机构名称,包括:
步骤201:通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称。
分词系统和实体识别系统都可以采用目前已有的系统。非结构化文本文件是企业公文文件,非结构化文本文件包括文字等内容。例如,参见图2-2所示的“北京###有限公司”的非结构化文本文件,该非结构化文本文件就是由文字组成。
在本步骤中,将非结构化文本文件输入到分词系统中,通过分词系统对非结构化文本文件中的文字进行分词,并标注每个分词的词性;然后将经过分词的非结构化文本文件输入到实体识别系统中,通过实体识别系统对非结构化文本文件包括的分词一个一个地进行识别。对于任一个分词,当实体识别系统识别出该分词为实体机构的机构名称时,在非结构化文本文件中可以给该分词添加用于标记机构名称的标记符号。
例如,通过分词系统对如图2-2所示的非结构化文本文件包括的文字进行分词,将该非结构化文本文件分成“在”、“2017年”、“4月”、“北京”、“##”、“#有限公司”、“在”、“污水”、“处理”、“技术”、“取得”等多个分词。然后将经过分词的该非结构化文本文件输入到实体识别系统,通过实体识别系统对分词“在”、“2017年”、“4月”、“北京”、“##”分词进行一一识别,识别出均不是机构名称。
继续通过实体识别系统对分词“#有限公司”进行识别,识别出为机构名称,在图2-2所示的非结构化文本文件中给该分词添加标记1,用于标记机构名称。继续通过实体识别系统对分词“在”进行识别,识别出不是机构名称。按上述流程对图2-2所示的非结构化文本文件中的每个分词进行识别,并在图2-2所示的非结构化文本文件中添加了标记2和3所标记的机构名称。
所谓实体机构就是例如像企事业单位、公司、组织或网站等单位,机构名称就是实体机构的名称。
在本实施例中,由于分词系统在对实体机构的机构名称进行分词时,可能将一个机构名称分成多个分词,这样实体识别系统在识别机构名称时可能将该机构名称包括的最后一个或多个分词识别为机构名称,导致识别的机构名称不是实体机构的全称。
例如,在图2-2所示的实例中,“北京###有限公司”被分词系统分成“北京”、“##”和“#有限公司”,使得实体识别系统将“#有限公司”识别为机构名称,识别的机构名称不是实体机构的全称。在图2-2中类似的情况还包括被标记2所标记的“有限责任公司”以及被标记3所标记的“有限公司”。为了解决该问题可以通过如下流程补全该机构名称。
步骤202:对于被标记的任一机构名称,从后缀模型包括的至少一个实体机构的后缀名称中获取与该机构名称之间匹配度最高的后缀名称。
后缀模型是预先建立的后缀名称集合,后缀名称是机构名称的后半部分。例如,“北京###有限公司”的后缀名称就是“有限公司”。再如,目前机构名称常见的后缀名称还包括有限责任公司、集团和股份有限公司等。
在本实施例可以事先预设大量实体机构的全称,根据大量实体机构的全称建立后缀模型。假设,建立的后缀模型包括股份有限公司、有限责任公司、有限公司和集团等后缀名称。
本步骤可以为:从后缀模型包括的第一个后缀名称开始,将该后缀名称与该机构名称进行匹配,如果匹配出该后缀名称是该机构名称的子串或该机构名称是该后缀名称的子串,则获取该后缀名称,否则,将该后缀模型中的下一个后缀名称与该机构名称进行匹配。
例如,假设,对于图2-2中被标记1标记的机构名称“#有限公司”,将“#有限公司”与后缀模型中的第一个后缀名称“股份有限公司”进行匹配,匹配结果为机构名称“#有限公司”不是后缀名称“股份有限公司”的子串且后缀名称“股份有限公司”也不是机构名称“#有限公司”的子串。
将机构名称“#有限公司”与后缀模型中的第二个后缀名称“有限责任公司”进行匹配,匹配结果为机构名称“#有限公司”不是后缀名称“有限责任公司”的子串且后缀名称“有限责任公司”也不是机构名称“#有限公司”的子串;
将机构名称“#有限公司”与后缀模型中的第三个后缀名称“有限公司”进行匹配,匹配结果是后缀名称“有限公司”为机构名称“#有限公司”的子串,获取后缀名称“有限公司”。
在执行本步骤之前,还可以根据预设的训练集合构建后缀模型,预设的训练集合包括多个预设实体机构的全称。实现过程如下:
2021:将训练集合中的任意两个机构实体的全称进行匹配,提取该两个机构实体的全称之间最长的共同子串,假设提取的共同子串数目为N。
例如,训练集合包括M个机构实体的全称,M可以为1万、2万、3万或4万等数值。对该M个机构实体的全称中任意两个全称进行匹配,提取该两个全称之间最长的共同子串,按上述过程提取得到N个共同子串。
两个机构实体的全称之间的共同子串往往是两个全称的后缀名称。例如,假设一机构实体的全称为“北京###有限公司”,另一个机构实体的全称为“上海***有限公司”,该两个机构实体的全称的最长共同子串为“有限公司”,分别为该两个机构实体的全称的后缀名称。
2022:获取该N个共同子串中的每个共同子串的频度,选择频度最高的预设数值个共同子串。
对于该N个共同子串中的任一个共同子串,从训练集合中找出包括该共同子串的机构实体的全称,统计找出的机构实体的全称数目得到该共同子串的频度,按上述方式计算得到该N个共同子串中的每个共同子串的频度。
2023:对选择的各共同子串按包括的文字数目进行排序得到后缀模型。
可以按包括的文字数目从大到小的顺序,对选择的各共同子串进行排序得到后缀模型。例如,假设选择的共同子串包括有限公司、有限责任公司、集团和股份有限公司四个共同子串,对该四个共同子串按包括的文字数目进行排序,得到的后缀模型为股份有限公司、有限责任公司、有限公司和集团。
步骤203:根据该机构名称包括的第一文字数目和该后缀名称包括的第二文字数目,确定该机构名称是否为实体机构的全称,如果不是,执行步骤204。
其中,需要说明的是:一般实体机构的全称包括的文字要多于该全称的后缀名称。通常实体机构的全称包括的文字数目比该全称的后缀名称包括的文字数目多出预设阈值。该预设阈值可以为2、3或4等数值。例如,“北京###有限公司”比后缀名称“有限公司”多出的文字数目为5。
本步骤可以为:统计该机构名称包括的第一文字数目,以及统计该后缀名称包括的第二文字数目,若第一文字数目小于或等于第二文字数目,则确定该机构名称不是实体机构的全称;若第一文字数目大于第二文字数目且第一文字数目与第二文字数目之间的差值不超过预设阈值,则确定该机构名称不是实体机构的全称;若第一文字数目大于第二文字数目且第一文字数目与第二文字数目之间的差值超过预设阈值,则确定该机构名称是实体机构的全称。
例如,假设预设阈值为3,对于标记1所标记的机构名称“#有限公司”,该机构名称“#有限公司”包括的文字数目为5,后缀名称“有限公司”包括的文字数目为4,且该机构名称“#有限公司”包括的文字数目与后缀名称“有限公司”包括的文字数目之间的差值为1,小于预设阈值3,所以确定机构名称“#有限公司”不是实体机构的全称。
在判断出该机构名称不是实体机构的全称时,可以通过如下步骤补全该机构名称。
步骤204:获取有效范围,该有效范围为该机构名称与目标标点符号之间的文字,目标标点符号为该机构名称之前首次出现的标点符号,或者,该有效范围为该机构名称与该机构名称所在段落的开始位置之间的文字。
具体地,在非结构化文本文件中,从该机构名称开始向前逐字遍历,当首次遍历到标点符号时,将该标点符号作为目标标点符号,获取位于目标标点符号和该机构名称之间的文字作为有效范围;如果遍历到该机构名称所在段落的开始位置都未遍历到标点符号,则获取位于该段落开始位置与该机构名称之间的文字作为有效范围。
其中,机构实体的全称可能由于分词系统分成多个分词,导致实体识别系统将该全称的后半部分识别为机构名称,但该全称中包括的多个分词之间没有标点符号隔开,因此在本步骤中获取的有效范围包括该全称的前半部分。
例如,在图2-2所示的非结构化文本文件中,从机构名称“#有限公司”开始向前逐字遍历,在遍历到段落的开始位置都未遍历到标点符号,则获取位于该段落位置与该机构名称“#有限公司”之间的文字“在2017年4月北京##”作为有效范围。
步骤205:获取该有效范围内的地名,若该地名的左右两侧没有括号,则获取该地名和该地名与该机构名称之间的词语。
通常机构名称的都是地名开头,且该地名的左右两侧没有括号。例如,对于机构名称“北京###有限公司”,该机构名称就是以地名“北京”开头,且地名“北京”的左右两侧没有括号。
例如,在有效范围“在2017年4月北京##”获取地名“北京”,然后获取地名“北京”与该机构名称“#有限公司”之间的词“##”。
步骤206:将获取的地名、获取的词语和该实体机构名称组成实体机构的全称。
按上述205至206的步骤对非结构文本文件中被标记的其他机构名称进行处理,以补全其他机构名称。
例如,可以将获取的地名“北京”、获取的词语“##”和该机构名称“#有限公司”组成实体机构的全称“北京###有限公司”。
组成实体机构的全称后,还可以将该实体机构的全称存储在分词系统的矫正词典中,并标注该全称是一个机构名称。这样分词系统以后在对该全称分词时会将该全称分成一个分词。
在本发明实施例中,在标记机构名称后,通过确定该机构名称是否为全称,在不是全称时,获取有效范围,该有效范围为该机构名称与目标标点符号之间的文字,目标标点符号为该机构名称之前首次出现的标点符号,或者,该有效范围为该机构名称与该机构名称所在段落的开始位置之间的文字;然后获取该有效范围内的地名,若该地名的左右两侧没有括号,则获取该地名和该地名与该机构名称之间的词语,将获取的词语和该机构名称组成实体机构的全称,提高获取机构名称的准确性。
实施例3
参见图3,本发明实施例提供了一种获取机构名称的方法,该方法用于获取非结构化文本文件包括的机构名称,包括:
步骤301:通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称。
分词系统和实体识别系统都可以采用目前已有的系统。非结构化文本文件是企业公文文件,非结构化文本文件包括文字等内容。例如,参见图2-2所示的“北京###有限公司”的非结构化文本文件,该非结构化文本文件就是由文字组成。
在本步骤中,将非结构化文本文件输入到分词系统中,通过分词系统对非结构化文本文件中的文字进行分词,并标注每个分词的词性;然后将经过分词的非结构化文本文件输入到实体识别系统中,通过实体识别系统对非结构化文本文件包括的分词一个一个地进行识别。对于任一个分词,当实体识别系统识别出该分词为实体机构的机构名称时,在非结构化文本文件中可以给该分词添加用于标记机构名称的标记符号。
例如,通过分词系统对如图2-2所示的非结构化文本文件包括的文字进行分词,将该非结构化文本文件分成“在”、“2017年”、“4月”、“北京”、“##”、“#有限公司”、“在”、“污水”、“处理”、“技术”、“取得”等多个分词。然后将经过分词的该非结构化文本文件输入到实体识别系统,通过实体识别系统对分词“在”、“2017年”、“4月”、“北京”、“##”分词进行一一识别,识别出均不是机构名称。
继续通过实体识别系统对分词“#有限公司”进行识别,识别出为机构名称,在图2-2所示的非结构化文本文件中给该分词添加标记1,用于标记机构名称。继续通过实体识别系统对分词“在”进行识别,识别出不是机构名称。按上述流程对图2-2所示的非结构化文本文件中的每个分词进行识别,并在图2-2所示的非结构化文本文件中添加了标记2和3所标记的机构名称。
所谓实体机构就是例如像企事业单位、公司、组织或网站等单位,机构名称就是实体机构的名称。
在本实施例中,由于分词系统在对实体机构的机构名称进行分词时,可以将一个机构名称分成多个分词,这样实体识别系统在识别机构名称时可能将该机构名称包括的最后一个或多个分词识别为机构名称,导致识别的机构名称不是实体机构的全称。
例如,在图2-2所示的实例中,“北京###有限公司”被分词系统分成“北京”、“##”和“#有限公司”,使得实体识别系统将“#有限公司”识别为机构名称,识别的机构名称不是实体机构的全称。在图2-2中类似的情况还包括被标记2所标记的“有限责任公司”以及被标记3所标记的“有限公司”。为了解决该问题可以通过如下流程补全该机构名称。
步骤302:对于被标记的任一机构名称,从后缀模型包括的至少一个实体机构的后缀名称中获取与该机构名称之间匹配度最高的后缀名称。
后缀模型是预先建立的后缀名称集合,后缀名称是机构名称的后半部分。例如,“北京###有限公司”的后缀名称就是“有限公司”。再如,目前机构名称常见的后缀名称还包括有限责任公司、集团和股份有限公司等。
在本实施例可以事先预设大量实体机构的全称,根据大量实体机构的全称建立后缀模型。假设,建立的后缀模型包括股份有限公司、有限责任公司、有限公司和集团等后缀名称。
本步骤可以为:从后缀模型包括的第一个后缀名称开始,将该后缀名称与该机构名称进行匹配,如果匹配出该后缀名称是该机构名称的子串或该机构名称是该后缀名称的子串,则获取该后缀名称,否则,将该后缀模型中的下一个后缀名称与该机构名称进行匹配。
例如,假设,对于图2-2中被标记2标记的机构名称“有限责任公司”,将“有限责任公司”与后缀模型中的第一个后缀名称“股份有限公司”进行匹配,匹配结果为机构名称“有限责任公司”不是后缀名称“股份有限公司”的子串且后缀名称“股份有限公司”也不是机构名称“有限责任公司”的子串。
将机构名称“有限责任公司”与后缀模型中的第二个后缀名称“有限责任公司”进行匹配,匹配结果为机构名称“有限责任公司”是后缀名称“有限责任公司”的子串,获取后缀名称“有限责任公司”。
在执行本步骤之前,还可以根据预设的训练集合构建后缀模型,预设的训练集合包括多个预设实体机构的全称。实现过程如下:
3021:将训练集合中的任意两个机构实体的全称进行匹配,提取该两个机构实体的全称之间最长的共同子串,假设提取的共同子串数目为N。
例如,训练集合包括M个机构实体的全称,M可以为1万、2万、3万或4万等数值。对该M个机构实体的全称中任意两个全称进行匹配,提取该两个全称之间最长的共同子串,按上述过程提取得到N个共同子串。
两个机构实体的全称之间的共同子串往往是两个全称的后缀名称。例如,假设一机构实体的全称为“北京###有限公司”,另一个机构实体的全称为“上海***有限公司”,该两个机构实体的全称的最长共同子串为“有限公司”,分别为该两个机构实体的全称的后缀名称。
3022:获取该N个共同子串中的每个共同子串的频度,选择频度最高的预设数值个共同子串。
对于该N个共同子串中的任一个共同子串,从训练集合中找出包括该共同子串的机构实体的全称,统计找出的机构实体的全称数目得到该共同子串的频度,按上述方式计算得到该N个共同子串中的每个共同子串的频度。
3023:对选择的各共同子串按包括的文字数目进行排序得到后缀模型。
可以按包括的文字数目从大到小的顺序,对选择的各共同子串进行排序得到后缀模型。例如,假设选择的共同子串包括有限公司、有限责任公司、集团和股份有限公司四个共同子串,对该四个共同子串按包括的文字数目进行排序,得到的后缀模型为股份有限公司、有限责任公司、有限公司和集团。
步骤303:根据该机构名称包括的第一文字数目和该后缀名称包括的第二文字数目,确定该机构名称是否为实体机构的全称,如果不是,执行步骤304。
其中,需要说明的是:一般实体机构的全称包括的文字要多于该全称的后缀名称。通常实体机构的全称包括的文字数目比该全称的后缀名称包括的文字数目多出预设阈值。该预设阈值可以为2、3或4等数值。例如,“北京###有限公司”比后缀名称“有限公司”多出的文字数目为5。
本步骤可以为:统计该机构名称包括的第一文字数目,以及统计该后缀名称包括的第二文字数目,若第一文字数目小于或等于第二文字数目,则确定该机构名称不是实体机构的全称;若第一文字数目大于第二文字数目且第一文字数目与第二文字数目之间的差值不超过预设阈值,则确定该机构名称不是实体机构的全称;若第一文字数目大于第二文字数目且第一文字数目与第二文字数目之间的差值超过预设阈值,则确定该机构名称是实体机构的全称。
例如,假设预设阈值为3,对于标记1所标记的机构名称“#有限公司”,该机构名称“#有限公司”包括的文字数目为5,后缀名称“有限公司”包括的文字数目为4,且该机构名称“#有限公司”包括的文字数目与后缀名称“有限公司”包括的文字数目之间的差值为1,小于预设阈值3,所以确定机构名称“#有限公司”不是实体机构的全称。
在判断出该机构名称不是实体机构的全称时,可以通过如下步骤补全该机构名称。
步骤304:获取位于该机构名称之前首次出现的名词词语以及获取位于该名词词语之前首次出现的非名词词语。
实体机构的全称通常有两种结构,分别为:第一种全称通常由该全称的后缀名称和位于该后缀名称之前的连续名词性质的多元组合短语组成;第二种全称通常由该全称的后缀名称和位于该后缀名称之前的连续名词性质与动词性质组合的多元组合短语组成。多元组合短语可以为二元组合短语、三元组合短语或四元组合短语等。
对于上述第一种全称,例如,在机构名称“网络科技有限公司”中“网络”和“科技”均为名词,“网络科技”是连续名词性质的二元组合短语,该二元组合短语和后缀名称“有限公司”组成机构名称。再如,在机构名称“上海***网络科技有限公司”中“上海”、“***”、“网络”和“科技”均为名词,“上海***网络科技”是连续名词性质的四元组合短语,该四元组合短语和后缀名称“有限公司”组成机构名称。
对于上述第二种全称,例如,在机构名称“商务咨询有限公司”中“商务”的词性为名词,“咨询”的词性为动词,“商务咨询”是连续名词性质与动词性质的二元组合短语。该机构名称是由该二元组合短语和后缀名称“有限公司”组成。再如,在机构名称“北京***商务咨询有限责任公司”中“北京”、“***”、“商务”的词性为名词,“咨询”的词性为动词,“北京***商务咨询”是连续名词性质与动词性质的四元组合短语。该机构名称是由该四元组合短语和后缀名称“有限责任公司”组成。
对于上述两种全称,实体机构的全称都是以名称性质的词语开头,且在非结构化文件文件中,实体机构的全称之前相邻的第一个词语通常为非名词词语。例如,参见图2-2,“北京***商务咨询有限责任公司”之前相邻的第一个词语为非名词词语“了”,“上海***网络科技有限公司”之前相邻的第一个词语为非名词词语“和”。
所以在图2-2所示的例子中,对于标记2所标记的机构名称“有限责任公司”,获取位于“有限责任公司”之前首次出现的名词词语“商务”以及获取位于“商务”之前首次出现的非名词词语“了”。对于标记3所标记的机构名称“有限公司”,获取位于“有限公司”之前首次出现的名词词语“科技”以及获取位于“科技”之前首次出现的非名词词语“和”。
步骤305:获取该非名词语与该机构名称之间的词语。
例如,对于标记2所标记的机构名称“有限责任公司”,在图2-2所示的非结构化文本文件中获取非名词词语“了”与“有限责任公司”之间的词语“北京***商务咨询”。对于标记3所标记的机构名称“有限公司”,在图2-2所示的非结构化文本文件中获取非名词词语“和”与“有限公司”之间的词语“上海***网络科技”。
步骤306:将获取的词语和该实体机构名称组成实体机构的全称。
按上述305至306的步骤对非结构文本文件中被标记的其他机构名称进行处理,以补全其他机构名称。
例如,对于标记2所标记的机构名称“有限责任公司”,将获取的词语“北京***商务咨询”和机构名称“有限责任公司”组成实体机构的全称“北京***商务咨询有限责任公司”。对于标记3所标记的机构名称“有限公司”,将获取的词语“上海***网络科技”和机构名称“有限公司”组成实体机构的全称“上海***网络科技有限公司”。
组成实体机构的全称后,还可以将该实体机构的全称存储在分词系统的矫正词典中,并标注该全称是一个机构名称。这样分词系统以后在对该全称分词时会将该全称分成一个分词。
在本发明实施例中,在标记机构名称后,通过确定该机构名称是否为全称,在不是全称时,获取位于该机构名称之前首次出现的名词词语以及获取位于该名词词语之前首次出现的非名词词语,进一步获取该非名词语与该机构名称之间的词语,将获取的词语和该机构名称组成实体机构的全称,提高获取机构名称的准确性。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
实施例4
参见图4,本发明实施例提供了一种获取机构名称的装置400,所述装置400包括:
标记模块401,用于通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称;
确定模块402,用于根据后缀模型确定所述机构名称是否为实体机构的全称,所述后缀模型包括至少一个实体机构的后缀名称;
获取模块403,用于在所述机构名称不是实体机构的全称时,获取位于所述机构名称之前满足预设条件的词语;
组成模块404,用于将所述获取的词语和所述机构名称组成实体机构的全称。
可选的,所述确定模块402包括:
第一获取单元,用于从所述后缀模型包括的至少一个实体机构的后缀名称中获取一后缀名称,所述后缀名称是所述机构名称的子串或所述机构名称是所述后缀名称的子串;
确定单元,用于若所述机构名称包括的第一文字数目不大于所述后缀名称包括的第二文字数目或者或所述第一文字数目大于所述第二文字数目且所述第一文字数目与所述第二文字数目之间的差值不大于预设阈值时,确定所述机构名称不是实体机构的全称。
可选的,所述获取模块403包括:
第二获取单元,用于获取有效范围,所述有效范围为所述机构名称与目标标点符号之间的文字,所述目标标点符号为所述机构名称之前首次出现的标点符号,或者,所述有效范围为所述机构名称与所述机构名称所在段落的开始位置之间的文字;
第三获取单元,用于获取所述有效范围内的地名,若所述地名的左右两侧没有括号,则获取所述地名和所述地名与所述机构名称之间的词语。
可选的,所述获取模块403包括:
第四获取单元,用于获取位于所述机构名称之前首次出现的名词词语;
第五获取单元,用于获取位于所述名词词语之前首次出现的非名词词语;
第六获取单元,用于获取位于所述非名词词语与所述机构名称之间的词语。
可选的,所述装置400还包括:
构建模块,用于根据预设的训练集合构建所述后缀模型,所述预设的训练集合包括多个预设机构名称的全称。
在本发明实施例中,在标记机构名称后,通过确定该机构名称是否为全称,在不是全称时,获取位于该机构名称之前满足预设条件的词语,将获取的词语和该机构名称组成实体机构的全称,提高获取机构名称的准确性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例5
图5是根据一示例性实施例示出的一种获取机构名称的装置500的框图。该装置500用于执行实施例1、实施例2或实施例3所述的方法,该装置500可以是计算机,平板设备等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置500的处理器执行时,使得装置500能够执行一种获取机构名称的方法,所述方法包括:
通过分词系统和实体识别系统标记非结构化文本文件中包括的机构名称;
根据后缀模型确定所述机构名称是否为实体机构的全称,所述后缀模型包括至少一个实体机构的后缀名称;
在所述机构名称不是实体机构的全称时,获取位于所述机构名称之前满足预设条件的词语;
将所述获取的词语和所述机构名称组成实体机构的全称。
可选的,所述根据后缀模型确定所述机构名称是否为实体机构的全称,包括:
从所述后缀模型包括的至少一个实体机构的后缀名称中获取一后缀名称,所述后缀名称是所述机构名称的子串或所述机构名称是所述后缀名称的子串;
若所述机构名称包括的第一文字数目不大于所述后缀名称包括的第二文字数目或者或所述第一文字数目大于所述第二文字数目且所述第一文字数目与所述第二文字数目之间的差值不大于预设阈值时,确定所述机构名称不是实体机构的全称。
可选的,所述获取位于所述机构名称之前满足预设条件的词语,包括:
获取有效范围,所述有效范围为所述机构名称与目标标点符号之间的文字,所述目标标点符号为所述机构名称之前首次出现的标点符号,或者,所述有效范围为所述机构名称与所述机构名称所在段落的开始位置之间的文字;
获取所述有效范围内的地名,若所述地名的左右两侧没有括号,则获取所述地名和所述地名与所述机构名称之间的词语。
可选的,所述获取位于所述机构名称之前满足预设条件的词语,包括:
获取位于所述机构名称之前首次出现的名词词语;
获取位于所述名词词语之前首次出现的非名词词语;
获取位于所述非名词词语与所述机构名称之间的词语。
可选的,所述根据后缀模型确定所述机构名称是否为实体机构的全称之前,还包括:
根据预设的训练集合构建所述后缀模型,所述预设的训练集合包括多个预设机构名称的全称。
在本发明实施例中,在标记机构名称后,通过确定该机构名称是否为全称。在不是全称时,获取有效范围,该有效范围为该机构名称与目标标点符号之间的文字,目标标点符号为该机构名称之前首次出现的标点符号,或者,该有效范围为该机构名称与该机构名称所在段落的开始位置之间的文字;然后获取该有效范围内的地名,若该地名的左右两侧没有括号,则获取该地名和该地名与该机构名称之间的词语,将获取的词语和该机构名称组成实体机构的全称。或者,
在不是全称时,获取位于该机构名称之前首次出现的名词词语以及获取位于该名词词语之前首次出现的非名词词语,进一步获取该非名词语与该机构名称之间的词语,将获取的词语和该机构名称组成实体机构的全称。这样获取的机构名称为机构实体的全称,提高获取机构名称的准确性。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。