具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
场景介绍:随着科技的发展,通过手机、电脑等浏览新闻已经成为了人们获取新闻的主要方式,然而随着大数据、自媒体时代的到来,新闻报道数量激增,然而人们往往较为关心身边发生的新闻,图1为本申请提供的一种地名识别设备的应用场景示意图,如图1所示,用户根据需要选择不同的城市,阅读与所选城市相关的新闻。要使人们能够筛选出其身边的新闻,则需要识别出新闻发生的地点。现有技术提出的地域名称识别方法,主要是对新闻文本进行中文分词处理,然后将分词后的文本信息与地区库属性进行匹配并计算各级地区属性词的权重,得到新闻发生的地名。其中,地区库属性包括当地的一些食品、特色等。然而,对新闻文本进行中文分词处理后,现有技术并没有对带有歧义的词进行消歧处理,新闻发生地的地名识别的准确性不高。
本申请的主旨思想是结合新闻文本中没有歧义的地名或者机构名称对新闻文本中存在歧义的地名或者机构名称或者机构名称进行消歧处理,使其在地域知识库中匹配到唯一的地名;再根据新闻文本中包括的地名和机构名称在地域知识库中匹配到的地名及其在新闻文本中出现的频次确定新闻的发生地。
下面结合几个具体的实施例,对本发明的技术方案进行描述,其中,相同或相似的概念可以相互参照不一一赘述。
本申请可以在如下场景中应用,例如一段新闻文本为“随着江苏省气温回暖,北京西路也进入了百花争艳的阶段,市民们争相拍照留念。”该新闻文本涉及“北京西路”,但是“北京西路”匹配到地域知识库得到两个结果,分别为“南京市鼓楼区”和“上海市静安区”,因此无法识别新闻报道中的北京西路为南京市鼓楼区的北京西路还是上海市静安区的北京西路。因而需要对“北京西路”进行消歧处理。新闻文本中还涉及“江苏省”,“南京市鼓楼区”属于“江苏省”,通过获取“江苏省”并将其与地域知识库进行匹配得到唯一对应的地名“江苏省”,因此确定新闻中的“北京西路”为位于“南京市鼓楼区”的北京西路,进而确定新闻发生地为南京市鼓楼区。
图2为本申请一实施例提供的地名识别方法的流程图,该方法可以由地名识别设备的部分或全部执行,所谓地名识别设备的部分为地名识别设备中的处理器,下面以地名识别设备为执行主体对地名识别方法进行说明,该地名识别方法包括如下步骤:
S201:地名识别设备获取文本中的待检测地名或者待检测机构名称。
待检测地名为文本中涉及的地名,例如上海市、江苏省、鼓楼区、北京西路等;待检测机构名称为文本中涉及的机构名称,例如上海市体育馆、北京西路街道办事处等。
地名识别设备获取文本中的待检测地名或者待检测机构名称的一种可能的实现方式是:通过命名实体识别技术(Named Entity Recognition,NER)获取文本中的待检测地名或者待检测机构名称。例如,一段新闻文本包括“浙江省温州市江南皮革厂倒闭”通过NER技术对其进行数据解析,提取到地名“浙江省”、“温州市”和机构名“江南皮革厂”。
S202:地名识别设备对所述待检测地名或者待检测机构名称与地域知识库进行匹配。
地域知识库包括地名、机构名称以及机构所在地点的名称。地域知识库可以预先存储在地名识别设备中,也可以在地名识别设备将待检测地名或者待检测机构名称与地域知识库进行匹配时从地名识别设备以外的存储设备或者网络存储设备中加载至地名识别设备。
待检测地名或者待检测机构名称与地域知识库进行匹配可能匹配到一个关联名词也可能匹配到多个关联名词。
S203:若在地域知识库中匹配到待检测地名或者待检测机构名称对应的一个地名,地名识别设备则将该地名确定为待检测地名或者待检测机构名称的目标名称。
若在地域知识库中匹配到待检测地名或者待检测机构名称对应的多个地名,地名识别设备则在文本中获取待检测地名或者待检测机构名称的关联名词。
关联名词为文本中与待检测地名或者待检测机构名称在地域知识库中匹配到的多个地名中的至少一个相关的名称。具体示例,可参见下文所述示例。
S204:地名识别设备根据关联名词确定待检测地名或者待检测机构名称对应的目标地名。
地名识别设备根据关联名词确定待检测地名或者待检测机构名称对应的目标地名的一种实现方式是:
a1、若在文本中只存在一个待检测地名或者待检测机构名称的关联名词,则在多个地名中,地名识别设备将与关联名词相关的地名确定为目标地名。
例如,一段新闻文本为“随着江苏省气温回暖,北京西路也进入了百花争艳的阶段,市民们争相拍照留念。”待检测地名“北京西路”匹配到地域知识库得到两个结果,分别为“南京市鼓楼区”和“上海市静安区”。新闻文本中还涉及“江苏省”,“南京市鼓楼区”属于“江苏省”,即“江苏省”为“北京西路”的关联名词,且在文本中只存在一个待检测地名“北京西路”的关联名词,因此地名识别设备将“江苏省南京市鼓楼区”确定为待检测地名“北京西路”的目标地名。
再例如,一段新闻文本为“陕西师范大学位于西长安街620号。”待检测地名为“西长安街”匹配到地域知识库得到两个结果,分别为“西安市长安区”和“北京市西城区”。新闻文本中还涉及机构名称“陕西师范大学”,“陕西师范大学”也属于西安市长安区,因此“陕西师范大学”是“西长安街”的关联名词,在文本中只存在一个待检测地名“西长安街”的关联名词,因此地名识别设备将“西安市长安区”确定为待检测地名“西长安街”的目标地名。
a2、若在文本中存在多个待检测地名或者待检测机构名称的关联名词,地名识别设备则获取各个关联名词在文本中的出现频次,根据各个关联名词的出现频次确定待检测地名或者待检测机构名称对应的目标地名。
根据各个关联名词的出现频次确定待检测地名或者待检测机构名称对应的目标地名的一种可能的实现方式是:
b1、若在各个关联名词中存在一个第一关联名词,地名识别设备则在多个地名中,将与第一关联名词相关的地名确定为待检测地名或者待检测机构名称对应的目标地名。
第一关联名词可以是各个关联名词中出现频次最高的关联名词;也可以是各个关联名词在地域知识库中匹配到的目标地名中出现频次最多的目标地名。
例如,一段新闻文本中涉及的待检测地名“北京西路”关联名词为“南京市”和“浦东机场”,“南京市”出现频次为10,“浦东机场”出现频次为5,地名识别设备则将“南京市”确定为第一关联名词,则将“南京市”确定为待检测地名“北京西路”的目标地名。
再例如,一段新闻文本中涉及的待检测地名“北京西路”关联名词为“南京市”、“浦东机场”和“上海市”,“南京市”出现频次为10,“浦东机场”出现频次为5,“上海市”的出现频次为8。“南京市”、“浦东机场”和“上海市”在地域知识库中分别匹配到的目标地名为“南京市”、“上海市”和“上海市”。3个关联名词在地域知识库中匹配到的目标地名中出现频次最多的目标地名为“上海市”,共计12次。因此,地名识别设备则将“上海市”确定为第一关联名词,则将“上海市”确定为待检测地名“北京西路”的目标地名。
b2、若在各个关联名词中存在多个第一关联名词,地名识别设备则在多个第一关联名词中确定一个第二关联名词,并在多个地名中,将与第二关联名词相关的地名确定为待检测地名或者待检测机构名称对应的目标地名。
第二关联名词可以是多个第一关联名词中流行度最高的关联名词;也可以是多个第一关联名词在地域知识库中分别匹配到的目标地名中,面积最大的或者人口数量最多的地名。
本申请通过待检测地名或者待检测机构名称的关联名词,并根据关联名词对在地域知识库中匹配到对应的多个地名的待检测地名或者待检测机构名称进行消歧处理,确定文本中的待检测地名或者待检测机构名称与地域知识库中唯一匹配的地名,提高了地名识别的准确性不高。
图3为本申请另一实施例提供的地名识别方法的流程图,该方法可以由地名识别设备的部分或全部执行,所谓地名识别设备的部分为地名识别设备中的处理器,下面以地名识别设备为执行主体对地名识别方法进行说明,图3在图1所示实施例的基础上,进一步的还包括如下步骤:
S301:地名识别设备获取文本中涉及的所有待检测地名或者机构名称对应的目标地名。
S302:地名识别设备在文本中涉及的所有待检测地名或者机构名称对应的目标地名中确定至少一组目标地名。
至少一组目标地名中每组目标地名为属于同一行政区域的目标地名。
行政区域包括省级、市级、县级以及乡级,行政区域的地名包括省级地名、市级地名、县级地名以及乡级地名。其中,省级地名可以是同属省级行政区的直辖市、自治区、特别行政区的名称;市级地名为属于地级行政区的地级市的名称;县级地名可以同属县级行政区的市辖区、县级市、自治县、旗、自治旗、林区、特区的名称;乡级地名可以是同属乡级行政区的街道、镇、民族乡、苏木、民族苏木、县辖区的名称。
地名识别设备在文本中涉及的所有待检测地名或者机构名称对应的目标地名中确定至少一组目标地名可以是获取一组目标地名,也可以是获取多组目标地名。
S303:地名识别设备获取每组目标地名中各个目标地名的出现频次。
例如,一段新闻文本“随着江苏省气温回暖,北京西路也进入了百花争艳的阶段,美丽景象吸引了大量的南京市市民们,尤其是南京市鼓楼区的市民,也吸引了南京市高淳区江东街道江东镇的村民前来观赏。”根据上面的分析可知,该新闻文本中目标地名包括“江苏省”、“南京市”、“南京市鼓楼区”和“南京市高淳区江东街道江东镇”。“江苏省”、“南京市”、“南京市鼓楼区”和“南京市高淳区江东街道江东镇”均属于江苏省,即属于同一行政区域,因而地名识别设备从该段新闻文本中可以得到一组目标地名,改组目标地名包括“江苏省”、“南京市”、“南京市鼓楼区”和“南京市高淳区江东街道江东镇”。其中,“江苏省”为省级地名,其出现的频次为1;“南京市”为市级地名,出现的频次为1;“南京市高淳区江东街道江东镇”为乡级地名,出现的频次为1。因为“北京西路”对应的目标地名为“南京市鼓楼区”,因此目标地名“南京市鼓楼区”出现的频次为2,“南京市鼓楼区”为县级地名。
S304:地名识别设备根据每组目标地名中各个目标地名的出现频次,确定文本的发生地。
可选的,图4为本申请一实施例提供的一种根据每组目标地名中各个目标地名的出现频次,确定文本的发生地的方法流程图,该方法可以由地名识别设备的部分或全部执行,所谓地名识别设备的部分为地名识别设备中的处理器,下面以地名识别设备为执行主体对地名识别方法进行说明,该方法包括如下步骤:
S401:地名识别设备根据每组目标地名中各个目标地名的出现频次,确定每组目标地名对应的第一行政级别以及第一行政级别的相似度。
第一行政级别为所有目标地名对应的最高行政级别。
可选的,当第一行政级别为省时,对于任一一组目标地名,若该组目标地名中包括省级地名,地名识别设备则可以通过公式(1),确定该组目标地名的第一行政级别的相似度。不同行政级别的加权比例可根据实际情况进行调整,对此本申请不做限制。
其中,D省为该组目标地名的省级相似度;A1为该组目标地名中的省级地名的出现频次;B1为该组目标地名中的市级地名的出现频次;C1为该组目标地名中的县级地名的出现频次;D1为该组目标地名中的乡级地名的出现频次。
可选的,当第一行政级别为市时,对于任一一组目标地名,若该组目标地名中包括市级地名,地名识别设备则可以通过公式(2),确定该组目标地名的第一行政级别的相似度。不同行政级别的加权比例可根据实际情况进行调整,对此本申请不做限制。
其中,D市为该组目标地名的市级相似度;B2为该组目标地名中的市级地名的出现频次;C2为该组目标地名中县级地名的出现频次;D2为该组目标地名中的乡级地名的出现频次。
可选的,当第一行政级别为县时,对于任一一组目标地名,若该组目标地名中包括县级地名,地名识别设备则可以通过公式(3),确定该组目标地名的第一行政级别的相似度。不同行政级别的加权比例可根据实际情况进行调整,对此本申请不做限制。
其中,D县为该组目标地名的县级相似度;C3为该组目标地名中的县级地名的出现频次;D3为该组目标地名中的乡级地名的出现频次。
可选的,当对于任一一组目标地名,若该组目标地名中包括乡级地名,地名识别设备则可以通过公式(4),确定该组目标地名的第一行政级别的相似度。不同行政级别的加权比例可根据实际情况进行调整,对此本申请不做限制。
其中,D乡为该组目标地名的乡级相似度;Dg4为该组目标地名中的乡级地名的出现频次。
可以理解的是,当第一行政级别为国家时,地名识别设备可以根据至少一个行政级别的地名中任一地名在文本中的出现频次,通过相应的公式,确定至少一项地名中属于同一行政区的地名的国家级相似度。
S402:获取第一行政级别的相似度中的至少一个第一相似度,第一相似度为每组目标地名对应的第一行政级别的相似度中最高的第一行政级别的相似度。
S403:判断第一相似度是否大于预设阈值。若该第一相似度大于预设阈值,地名识别设备则执行步骤S404;若该第一相似度小于等于预设阈值,地名识别设备则执行步骤S405。
预设阈值可以根据实际情况设置,对此本申请不做限制。
S404:地名识别设备判断该第一行政级别是否为预设行政级别。若该第一行政级不是预设行政级别,地名识别设备则执行步骤S406;若该第一行政级别是预设行政级别,地名识别设备则执行步骤S407。
预设行政级别可以根据实际情况设置,对此本申请不做限制。例如,预设行政级别为县,地名识别设备则只需将新闻的发生地确定到县一级的地名即可,即使新闻文本中涉及乡级地名也无需计算乡级相似度。
S405:地名识别设备判断确定每组目标地名对应的第一行政级别的相似度是否为初次确定第一行政级别的相似度。若确定每组目标地名对应的第一行政级别的相似度是初次确定第一行政级别的相似度,地名识别设备则执行步骤S408;若确定每组目标地名对应的第一行政级别的相似度不是初次确定第一行政级别的相似度,地名识别设备则执行步骤S409。
S406:若第一相似度大于预设阈值,且第一行政级别不是预设行政级别,地名识别设备则确定文本的第一行政级别的发生地,并获取第一相似度对应的至少一组目标地名中的次高行政级别,并将次高行政级别作为新的第一行政级别,确定第一相似度对应的至少一组目标地名对应的新的第一行政级别的相似度,以根据新的第一行政级别的相似度确定文本的发生地。
S407:若第一相似度大于预设阈值,且第一行政级别是预设行政级别,则根据第一相似度对应的至少一组目标地名确定文本的发生地。
若第一相似度对应的一组目标地名,地名识别设备则将该组目标地名中为第一行政级别的目标地名确定为文本的发生地。
若第一相似度对应的多组目标地名,地名识别设备可以根据地区流行度或者地区面积大小或者地区人口数量等预设规则从多组目标地名中为第一行政级别的目标地名中确定文本的发生地。
S408:地名识别设备结束判定。
S409:地名识别设备根据上一次确定的第一相似度所对应的至少一组目标地名确定文本的发生地。
若上一次确定的第一相似度对应的一组目标地名,地名识别设备则将该组目标地名中为第一行政级别的目标地名确定为文本的发生地。
若上一次确定的第一相似度对应的多组目标地名,地名识别设备可以根据地区流行度或者地区面积大小或者地区人口数量等预设规则从多组目标地名中为第一行政级别的目标地名中确定文本的发生地。
举例说明步骤S401~步骤S406:
例如,一段新闻文本中涉及的所有待检测地名或者机构名称对应的目标地名包括:省级地名陕西省、江苏省;市级地名西安市、南京市;县级地名雁塔区、长安区;乡级地名郭杜镇。其中郭杜镇属于长安区,雁塔区和长安区属于西安市,西安市属于陕西省;南京市属于江苏省。
假设预设行政级别为省。地名识别设备先计算出省级相似度,分别为陕西省的省级相似度和江苏省的省级相似度。假设陕西省的省级相似度大于江苏省的省级相似度,地名识别设备则将陕西省确定为新闻文本的发生地。
假设预设行政级别为县。地名识别设备先计算出省级相似度,分别为陕西省的省级相似度和江苏省的省级相似度。假设陕西省的省级相似度大于江苏省的省级相似度,地名识别设备则确定出新闻发生的省份。地名识别设备继续计算新闻文本涉及的属于陕西省的城市的市级相似度。市级相似度为西安市的相似度。假设西安市的相似度大于预设阈值,地名识别设备则确定出新闻发生的城市,并继续计算县级相似度,县级相似度包括雁塔区相似度和长安区相似度,假设雁塔区相似度大于长安区相似度,且雁塔区相似度大于预设阈值,因为预设行政级别为县,地名识别设备则将陕西省西安市雁塔区确定为新闻文本的发生地;假设雁塔区相似度和长安区相似度均小于预设阈值,地名识别设备则将西安市确定为新闻文本的发生地;假设雁塔区相似度和长安区相似度相同且均大于预设阈值,地名识别设备则可以根据人口数量或者面积或者城市流行度确定新闻文本的发生地,假设地名识别设备根据人口数量确定新闻文本的发生地,且长安区人口数量大于雁塔区,则确定陕西省西安市长安区为新闻文本的发生地。
假设预设行政级别为乡。地名识别设备先计算出省级相似度,分别为陕西省的省级相似度和江苏省的省级相似度。假设陕西省的省级相似度大于江苏省的省级相似度,地名识别设备则确定出新闻发生的省份。地名识别设备继续计算新闻文本涉及的属于陕西省的城市的市级相似度。市级相似度为西安市的相似度。假设西安市的相似度大于预设阈值,地名识别设备则确定出新闻发生的城市,并继续计算新闻文本涉及的属于西安市的县级相似度。县级相似度包括雁塔区相似度和长安区相似度,假设长安区相似度大于雁塔区相似度,且长安区相似度大于预设阈值,地名识别设备则确定出新闻发生的区,并继续计算新闻文本涉及的属于长安区的乡级相似度。乡级相似度为郭杜镇相似度,假设郭杜镇相似度小于预设阈值,地名识别设备则通过县级相似度确定新闻文本的发生地。因此,地名识别设备确定新闻文本的发生地为陕西省西安市长安区。
本申请通过获取文本中涉及的所有待检测地名或者机构名称对应的目标地名;在文本中涉及的所有待检测地名或者机构名称对应的目标地名中确定至少一组属于同一行政区域的目标地名;获取每组目标地名中各个目标地名的出现频次;根据每组目标地名中各个目标地名的出现频次,能够确定出文本的发生地。
图5为本申请一实施例提供的一种地名识别装置的结构示意图,如图4所示,地名识别装置包括:
第一获取模块51,用于获取文本中的待检测地名或者待检测机构名称。
处理模块52,用于对待检测地名或者待检测机构名称与地域知识库进行匹配,若在地域知识库中匹配到待检测地名或者待检测机构名称对应的多个地名,则在文本中获取待检测地名或者待检测机构名称的关联名词。
确定模块53,用于根据关联名词确定待检测地名或者待检测机构名称对应的目标地名。
可选的,确定模块53,具体用于若在文本中存在一个待检测地名或者待检测机构名称的关联名词,则在多个地名中,将与关联名词相关的地名确定为目标地名;若在文本中存在多个待检测地名或者待检测机构名称的关联名词,则获取各个关联名词在文本中的出现频次,根据各个关联名词的出现频次确定待检测地名或者待检测机构名称对应的目标地名。
可选的,确定模块53,还用于若在各个关联名词中存在一个第一关联名词,则在多个地名中,将与第一关联名词的地名确定为目标地名,第一关联名词为各个关联名词中出现频次最高的关联名词;若在各个关联名词中存在多个第一关联名词,则在多个第一关联名词中确定一个第二关联名词,并在多个地名中,将与第二关联名词相关的地名确定为目标地名,第二关联名词为多个第一关联名词中流行度最高的关联名词。
可选的,处理模块52,还用于若在地域知识库中匹配到待检测地名或者待检测机构名称对应的一个地名,则将该地名确定为待检测地名或者待检测机构名称对应的目标地名。
可选的,还包括:
第二获取模块54,用于获取文本中涉及的所有待检测地名或者机构名称对应的目标地名。
第二确定模块55,用于在文本中涉及的所有待检测地名或者机构名称对应的目标地名中确定至少一组目标地名,至少一组目标地名中每组目标地名为属于同一行政区域的目标地名。
第三获取模块56,用于获取每组目标地名中各个目标地名的出现频次;
第三确定模块57,用于根据每组目标地名中各个目标地名的出现频次,确定文本的发生地。
可选的,第三确定模块57,具体用于根据每组目标地名中各个目标地名的出现频次,确定每组目标地名对应的第一行政级别以及第一行政级别的相似度,第一行政级别为每组目标地名对应的最高行政级别;获取第一行政级别的相似度中的至少一个第一相似度,第一相似度为每组目标地名对应的第一行政级别的相似度中最高的第一行政级别的相似度;判断第一相似度是否大于预设阈值;若第一相似度大于预设阈值,且第一行政级别是预设行政级别,则根据第一相似度对应的至少一组目标地名确定文本的发生地;若第一相似度大于预设阈值,且第一行政级别不是预设行政级别,则获取第一相似度对应的至少一组目标地名中的次高行政级别,并将次高行政级别作为新的第一行政级别,确定第一相似度对应的至少一组目标地名对应的新的第一行政级别的相似度,以根据新的第一行政级别的相似度确定文本的发生地。
本申请提供的地名识别装置,可以执行上述的地名识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
图6为本申请实施例提供的地名识别设备的结构示意图,如图6所示,本实施例的地名识别设备包括:处理器61、存储器62;处理器61与存储器62通信连接。存储器62用于存储计算机程序。处理器61用于调用存储器62中存储的计算机程序,以实现上述方法实施例中的方法。
可选地,该地名识别设备还包括:收发器63,用于与其他设备实现通信。
该地名识别设备可以执行上述的地名识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述地名识别方法。
本申请还提供了一种计算机程序产品,包括:计算机指令,该计算机指令用于使计算机执行上述地名识别方法。该计算机指令使计算机能够执行上述地名识别方法,其内容和效果可参考方法实施例部分,对此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。