[发明专利]一种从Web网页中获取汉语全称的方法在审
申请号: | 201110253100.1 | 申请日: | 2011-08-31 |
公开(公告)号: | CN102955818A | 公开(公告)日: | 2013-03-06 |
发明(设计)人: | 王石;丁远钧;符建辉;王卫民 | 申请(专利权)人: | 镇江诺尼基智能技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/27 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 212009 江苏省镇江市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 web 网页 获取 汉语 全称 方法 | ||
1.一种从Web网页中获取汉语全称的方法,其特征在于:包括一下步骤:
步骤1、输入一个给定的汉语简称;
步骤2、选择查询模式来构造查询项,将查询项提交到Google搜索引擎中搜索,保存前N项锚文本作为锚语料;
步骤3、通过正则表达式,从锚语料中获取出包含查询项的关系的句子,保存下来作为全简称语料;
步骤4、利用简称提取算法EFN从全简称语料中提取出候选全称,形成候选全称集合;
步骤5、对候选全称集合进行基于全简称关系约束的验证,形成全称集合;
步骤6、对全称集合进行基于全简称关系约束的分类,从而形成带有类别标注的全称集合。
2. 根据权利要求1所述的一种从Web网页中获取汉语全称的方法,其特征在于:在所述步骤2中,若Google返回的查询结果>100条,则N取100,否则N取Google返回的查询结果的条数。
3. 根据权利要求1所述的一种从Web网页中获取汉语全称的方法,其特征在于:上述步骤2中,所述的查询模式包括两种:查询模式1:“简称An”,查询模式2:“An全称”;先选择查询模式1,其次选择查询模式2。
4. 根据权利要求1所述的一种从Web网页中获取汉语全称的方法,其特征在于:上述步骤4中,全称提取算法EFN包括两个算法CFNEA1和CFNEA2,分别对应步骤2中的两种查询模式,即当步骤2中选择查询模式1时,步骤4中采用CFNEA1来提取Fn,当步骤2中选择查询模式2时,步骤4中采用CFNEA2来提取Fn。
5. 根据权利要求4所述的一种从Web网页中获取汉语全称的方法,其特征在于:当步骤2选择查询模式1时,步骤4执行以下步骤:
全简称句子主要分为三种类型,即:标号对型、无后缀型和有后缀型;标号对型:An后面无汉字,且Cfn被配对标号所标出,无需确定Cfn的边界,直接提取;无后缀型:An后面无汉字,Cfn未被配对标号标出,Cfn需定左边界;有后缀型:An后面有汉字,表明An是另一简称“An*”的前半部分,故Cfn也该是“An*”对应的全称“Cfn*”的前半部分,故Cfn需确定左右边界;
步骤A-1、利用算法FCFNEA提取基准候选全称集;
提取基准候选全称集的算法:(formal candidate fullname extract algorithm FCFNEA)
输入:标号对型全简称句子集合 ,无后缀型全简称句子集合 ,有后缀型全简称句子集合
输出:基准候选全称集合
,提取标号对中的词条 à ,并统计 的频度;
,,若 包含在中,则 的频度+1,并从中删除;
,,若包含在中,则 的频度+1;
,利用ICTCLAS进行分词,将第一个分词和最后一个分词组成, à
,,若中存在前缀为pre且后缀为suf的词条 ,则 à ,从中删除,利用优先级排序策略PSCF求出的最优候选 à ;
return
在算法FCFNEA的Step5中用到的优先级排序策略PSCF的定义如下:
优先级排序策略(priority sort comparison function PSCF)
,
iff
1). ;
2).,if ;
iff
1).;
2).;
if ,则称Cfnk是中的最优候选,记为 ;
步骤A-2、利用算法ICFNEA提取非基准候选全称集;
提取非基准候选全称的算法:(informal candidate fullname extract algorithm ICFNEA)
输入:待提取的短语或短句Co-referent,已知概念词Inputitem={C1C2……Cn};
输出:提取出的全简称候选Candidate;
对Co-referent进行分词并且标注词性,分词结果为:{P1P2……Pm};
定义位置变量left_flag?k,left?1
for each Ci∈{CnCn-1……C1}
for each Pj∈{Pleft_flagPleft_flag-1……P1}
if Ci 出现在Pj中
Then left_flag? j
break;
end if
end for each
end for each
for each Pk∈{P1P2……Pm}
if Pk的词性∈{连词 介词 助词 动词 量词 标号} and k < left_flag
Then left? k+1;
end if
end for each
return Candidate?{Pleft……Pm};
步骤A-3、利用类比的方法对非基准候选全称集中的候选全称再定左右边界;
类比的方法具体见如下的方法1和方法2;
形式表示:
方法1的直观意义:对于候选全称集中的任意两个候选和,若同时满足前提条件:
An中的汉字全都出现在中
是的真子串
的频数>2或的频数<10
相对于的前缀不是候选全称集中其余候选的前缀
则的频度改为和的频度之和,并将从候选全称集中删除;
形式表示:
方法2的直观意义:对于候选全称集中的任意两个候选和,若同时满足前提条件:
的频数10
的频数的频数的5倍
是的真子串
中包含An的字数和中包含An的字数相等
则的频度改为和的频度之和,并将从候选全称集中删除;
步骤A-4、分别读入左边界词表LBV和右边界词表RBV,利用LBV和RBV对非基准候选全称集中的候选全称再定左右边界;具体算法如下:
利用 LBV 和 RBV 再定左右边界的算法(RDLRB):
输入:候选全称Cfn,简称An,左边界词表LBV,右边界词表RBV;
输出:再定左右边界后的候选全称cFN;
利用ICTCLAS对Cfn进行分词,结果为:Cfn_clas = P1P2……Pn
确定An的第一个字和最后一个字在cfn中分别对应的分词Pi和Pj ;
定义Cfn的左边界left ? 1;
for each Pk∈{Pi-1……P1}
if Pk 在左边界词表中
left ? k+1;
break;
end if
end for each
定义Cfn的右边界right ? n;
for each Pk∈{Pj+1……Pn}
if Pk 在右边界词表中
right ? k-1;
break;
end if
end for each
cFN ?{Pleft……Pright};
Return cFN;
步骤A-5、从基准全称集中提取出存在的最近前缀词和最近后缀词,分别加入到可疑左边界词表和可疑右边界词表中;从非基准全称集中提取出存在的最近左部词和最近右部词,分别加入到可疑左边界词表和可疑右边界词表中;
在上述步骤A-5中,提到的最近前缀词、最近后缀词、最近左部词、最近右部词、可疑左边界词表、可疑右边界词表,具体定义及生成方法如下:
定义1:对于满足以上方法1和方法2中条件的Cfni 和 Cfnj,记 Cfnj = left+Cfni+right,其中,left(若非空)称为Cfnj的左部,right(若非空)称为Cfnj的右部,对left和right分别用ICTCLAS进行分词,left的最后一个分词称为Cfnj的最近左部词,right的第一个分词称为Cfnj的最近右部词;
定义2:对于基准候选全称集中的每个候选全称Cfnk,若An的每个字都出现在Cfnk中,则 对Cfnk用ICTCLAS进行分词后,设分词Fi和Fj分别是An的第一个字和最后一个字在Cfnk中对应的分词,记 称为Cfnk的前缀,Fi-1称为Cfnk的最近前缀词, 称为Cfnk的后缀,Fj+1称为Cfnk的最近后缀词;
定义3:可疑左边界词表(dubious left boundary vocabulary DLBV):
形式定义:
map<key,map_value> dubious_left_boundary;
key: string prefix: 最近左部词或最近前缀词
map_value: int qu: prefix 作为最近左部词的频度
int liu: prefix 作为最近前缀词的频度
bool flag: prefix 是否需要进行人工验证
定义4:可疑右边界词表(dubious right boundary vocabulary DRBV):
map<key,map_value> dubious_left_boundary;
key: string suffix: 最近右部词或最近后缀词
map_value: int qu: suffix 作为最近右部词的频度
int liu: suffix 作为最近后缀词的频度
bool flag: suffix 是否需要进行人工验证
步骤A-6、对可疑左边界词表和可疑右边界词表进行人工验证,生成左边界词表和右边界词表;
人工验证可疑左边界词表的方法如下:
,若满足:
prefix 未进行人工验证
prefix 作为最近左部词的频度 > 2
prefix 作为最近前缀词的频度 < 2
prefix 作为最近左部词的频度 > 5 * prefix作为最近前缀词的频度
则对prefix进行人工验证,确定是否作为左边界词,若作为左边界词则加入左边界词表;
定义5:左边界词表(left boundary vocabulary LBV):
形式定义:
map<key,map_value> left_boundary;
key: string prefix: 左边界词
map_value: int num: 利用 prefix 确定左边界的 Cfn 个数
人工验证可疑右边界词表的方法如下:
,若满足:
suffix 未进行人工验证
suffix 作为最近右部词的频度 > 2
suffix 作为最近后缀词的频度 < 2
suffix 作为最近右部词的频度 > 9 * suffix作为最近后缀词的频度
则对suffix进行人工验证,确定是否是右边界词,若是右边界词则加入右边界词表;
定义6:右边界词表(right boundary vocabulary RBV):
map<key,map_value> right_boundary_cfn;
key: string suffix: 右边界词
map_value: int num: 利用 suffix 确定右边界的 Cfn 个数
步骤A-7、合并基准候选全称集和非基准候选全称集,生成候选全称集;
步骤A-1至步骤A-2组成算法CFNEA1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江诺尼基智能技术有限公司,未经镇江诺尼基智能技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110253100.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:医疗呈现创建器
- 下一篇:生产不溶性硫磺的处理罐