CN104699662B - 识别整体符号串的方法和装置 - Google Patents
识别整体符号串的方法和装置 Download PDFInfo
- Publication number
- CN104699662B CN104699662B CN201510120020.7A CN201510120020A CN104699662B CN 104699662 B CN104699662 B CN 104699662B CN 201510120020 A CN201510120020 A CN 201510120020A CN 104699662 B CN104699662 B CN 104699662B
- Authority
- CN
- China
- Prior art keywords
- symbol string
- symmetry
- symbol
- character
- string
- 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
Abstract
本发明公开了一种识别整体符号串的方法和装置,属于自然语言处理研究领域。所述方法包括:提取文本信息中包含的符号串;从所述符号串中获取具有对称性的符号对;根据所述获取的符号对计算所述符号串的对称度;如果所述符号串的对称度满足预设条件,则确定所述符号串为整体符号串。所述装置包括:提取模块,获取模块,计算模块和确定模块。由于本发明能够计算符号串的对称度,根据符号串的对称度确定符号串是否是整体符号串,不需要依赖表情符号字典,即使不在表情符号字典内的符号串,也能够确定出该符号串是否是整体符号串,从而解决了表情符号等符号串信息识别精度低下、容易造成文本信息缺失等问题,达到了提高文本信息处理系统的性能的效果。
Description
技术领域
本发明涉及自然语言处理研究领域,特别涉及一种识别整体符号串的方法和装置。
背景技术
当前,随着计算机网络和通信技术的发展,移动终端越来越普及,电子邮件、短信、QQ、微信、微博等各种社交媒体越来越多渗透到人们的日常工作和生活。在人们的日常交流活动中,短文本大量出现,且文字中夹杂各种各样有多重符号串组成的表情符号。
表情符号的大量出现丰富人们日常情感交流活动的同时,给短文本的信息处理造成一些技术难题。比如,当利用短文本进行诸如网络舆情分析等汉语文本信息处理时,需要先利用表情符号词典来识别出短文本中的哪些符号串是个整体的表情符号,然后再对短文本进行信息处理。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于表情符号的多样性,难以构建一个非常完整的表情符号字典,不在表情符号字典中的表情符号常常被分割成为单个的字,被当作垃圾信息过滤掉,造成信息缺失,影响文本信息处理的质量和精度。
发明内容
为了解决现有技术中的问题,本发明实施例提供了一种识别整体符号串的方法和装置。所述技术方案如下:
一方面,本发明提供了一种识别整体符号串的方法,所述方法包括:
提取文本信息中包含的符号串;
从所述符号串中获取具有对称性的符号对;
根据所述获取的符号对计算所述符号串的对称度;
如果所述符号串的对称度满足预设条件,则确定所述符号串为整体符号串。
进一步地,所述从所述符号串中获取具有对称性的符号对,包括:
确定所述符号串的中心位置;
根据所述中心位置,从所述符号串中获取位置对称的两个字符;
如果所述两个字符具有对称性,则将所述两个字符组成具有对称性的符号对。
进一步地,所述将所述两个字符确定具有对称性的符号对之前,还包括:
确定所述两个字符是否相同或形状反向,如果所述两个字符相同或形状反向,则判断出所述两个字符具有对称性。
进一步地,所述提取文本信息中包含的符号串之后,还包括:
获取所述符号串中具有对称性的子符号串;
从所述子符号串中获取具有对称性的符号对;
根据所述获取的符号对计算所述子符号串的对称度;
如果所述子符号串的对称度满足预设条件,则确定所述子符号串为整体符号串。
进一步地,所述获取所述符号串中具有对称性的子符号串,包括:
从所述符号串中获取任意相同或形状反向的两个字符或两个字符串;
从所述符号串中获取由所述两个字符分别作为开始字符和结束字符的子字符串,或者获取由所述两个字符串分别作为开始字符串和结束字符串的子符号串;
将所述获取的子符号串确定为具有对称性的子符号串。
进一步地,所述提取文本信息中包含的符号串,包括:
对文本信息进行分词,得到所述文本信息包括的分词,所述文本信息包括的各分词的位置顺序与所述各分词在所述文本信息中的位置顺序一致;
根据预设的正则表达式,从所述文本信息包括的分词中提取与所述正则表达式匹配的符号串。
进一步地,所述确定所述符号串为整体符号串之后,还包括:
在所述文本信息中对所述整体符号串的两个边界字符和位于所述两个边界字符之间的中间字符进行标注。
另一方面,本发明提供了一种识别整体符号串的装置,所述装置包括:
提取模块,用于提取文本信息中包含的符号串;
获取模块,用于从所述符号串中获取具有对称性的符号对;
计算模块,用于根据所述获取的符号对计算所述符号串的对称度;
确定模块,用于如果所述符号串的对称度满足预设条件,则确定所述符号串为整体符号串。
进一步地,所述获取模块包括:
第一确定单元,用于确定所述符号串的中心位置;
第一获取单元,用于根据所述中心位置,从所述符号串中获取位置对称的两个字符;
组成单元,用于如果所述两个字符具有对称性,则将所述两个字符组成具有对称性的符号对。
进一步地,所述提取模块,还用于获取所述符号串中具有对称性的子符号串;
所述获取模块,还用于从所述子符号串中获取具有对称性的符号对;
所述计算模块,还用于根据所述获取的符号对计算所述子符号串的对称度;
所述确定模块,还用于如果所述子符号串的对称度满足预设条件,则确定所述子符号串为整体符号串。
本发明实施例提供的技术方案带来的有益效果是:
提取文本信息中包含的符号串;从该符号串中获取具有对称性的符号对;根据获取的符号对计算该符号串的对称度;如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串。由于本发明能够计算符号串的对称度,根据符号串的对称度确定符号串是否是整体符号串,不需要依赖表情符号字典,即使不在表情符号字典内的符号串,本发明也能够确定出该符号串是否是整体符号串,从而解决了表情符号等符号串信息识别精度低下、容易造成文本信息缺失等问题,达到了提高文本信息处理系统的性能的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的识别整体符号串的方法流程图;
图2是本发明实施例2提供的识别整体符号串的方法流程图;
图3是本发明实施例3提供的识别整体符号串的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种识别整体符号串的方法,该方法的执行主体为终端,终端可以为移动终端、固定终端或者服务器等;识别整体符号串的方法可以通过软件、硬件或者两者的结合实现,该识别整体符号串的方法可以为终端的部分或者全部。
参见图1,其中,该方法包括:
步骤101:提取文本信息中包含的符号串;
步骤102:从该符号串中获取具有对称性的符号对;
步骤103:根据获取的符号对计算该符号串的对称度;
步骤104:如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串。
进一步地,从该符号串中获取具有对称性的符号对,包括:
确定该符号串的中心位置;
根据中心位置,从该符号串中获取位置对称的两个字符;
如果两个字符具有对称性,则将该两个字符组成具有对称性的符号对。
进一步地,将该两个字符确定具有对称性的符号对之前,还包括:
确定该两个字符是否相同或形状反向,如果该两个字符相同或形状反向,则判断出该两个字符具有对称性。
进一步地,提取文本信息中包含的符号串之后,还包括:
获取该符号串中具有对称性的子符号串;
从该子符号串中获取具有对称性的符号对;
根据获取的符号对计算该子符号串的对称度;
如果该子符号串的对称度满足预设条件,则确定该子符号串为整体符号串。
进一步地,获取该符号串中具有对称性的子符号串,包括:
从该符号串中获取任意相同或形状反向的两个字符或两个字符串;
从该符号串中获取由两个字符分别作为开始字符和结束字符的子字符串,或者获取由该两个字符串分别作为开始字符串和结束字符串的子符号串;
将获取的子符号串确定为具有对称性的子符号串。
进一步地,提取文本信息中包含的符号串,包括:
对文本信息进行分词,得到文本信息包括的分词,文本信息包括的各分词的位置顺序与各分词在文本信息中的位置顺序一致;
根据预设的正则表达式,从文本信息包括的分词中提取与正则表达式匹配的符号串。
进一步地,确定该符号串为整体符号串之后,还包括:
在文本信息中对整体符号串的两个边界字符和位于两个边界字符之间的中间字符进行标注。
在本发明实施例中,提取文本信息中包含的符号串;从该符号串中获取具有对称性的符号对;根据获取的符号对计算该符号串的对称度;如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串。由于本发明能够计算符号串的对称度,根据符号串的对称度确定符号串是否是整体符号串,不需要依赖表情符号字典,即使不在表情符号字典内的符号串,本发明也能够确定出该符号串是否是整体符号串,从而解决了表情符号等符号串信息识别精度低下、容易造成文本信息缺失等问题,达到了提高文本信息处理系统的性能的效果。
实施例2
本发明实施例提供了一种识别整体符号串的方法,该方法的执行主体为终端,终端可以为移动终端、固定终端或者服务器等;该识别整体符号串的方法可以通过软件、硬件或者两者的结合实现,并且该识别整体符号串的方法可以为终端的部分或者全部。
参见图2,其中,该方法包括:
步骤201:提取文本信息中包含的符号串;
用户可以向终端输入文本信息,终端获取用户输入的文本信息,检测文本信息中是否包含符号串,如果包含符号串,则提取文本信息中包含的符号串。用户也可以直接向终端输入符号串。
其中,符号串可以为由字母、数字、标点、拼音、假名、字形、种类、个数或长度、以及2个或2个以上的符号组成的具有特定意义的子串及其文字、语义、图像、语音、情感类别等属性特征中的一种或一种以上。
用户可以以文件的形式或者其他形式向终端输入文本信息,在本发明实施例中对文本信息的输入形式不作具体限定。并且,文本信息可以为任何一种自然语言,如英语、汉语、日语、法语等,也可以使多国语言混合输入方式,此时终端可以采用UTF(UnicodeTransformation Format,Unicode转换格式)编码,该UTF编码是一种能够存储多国语言的编码方式。
其中,提取文本信息中包含的符号串的步骤可以通过以下步骤(1)和(2)实现,包括:
(1):对文本信息进行分词,得到文本信息包括的分词,文本信息包括的各分词的位置顺序与各分词在文本信息中的位置顺序一致;
其中,对文本信息进行分词时,根据文本信息的语种,获取该语种对应的分词方法,根据获取的分词方法对文本信息进行分词,得到文本信息包括的分词;例如,当输入的文本信息为英语时,可简单地以空格输入的文本信息进行分词;当输入的文本信息为汉语时,可以使用汉语分词工具,如中科院计算所的分词工具ICTCLAS(http://ictclas.nlpir.org/)、清华大学的分词工具THULAC(http://nlp.csai.tsinghua.edu.cn/thulac/)、或者斯坦福大学的分词器等;当输入的文本信息是日语时,可以使用日语分词工具,如Chasen、(http://chasen.naist.jp/hiki/ChaSen/)、Mecab(http://code.google.com/p/mecab/)或JUMAN(http://nlp.ist.i.kyoto-u.ac.jp/EN/index.php?JUMAN)等日语形态素解析工具进行分词处理。本实施例对输入文本信息的语种及分词方式不作具体限定。
例如,以输入的文本信息为汉语,且以文件形式的输入为例进行说明;如用户输入的文本信息为“这件事情让她(⊙o⊙),非常(*^﹏^*)!”。
利用清华大学的分词工具THULAC进行分词处理,得到分词结果;当分词结果不带词性标注信息时,分词结果为如下分词结果1所示;当分词结构带词 性标注信息时,分词结果为如下分词结果2所示。
分词结果1:这件事情让她(⊙o⊙),非常(*^﹏^*)!
分词结果2:这/r件/q事情/n让/p她/r(/w⊙/wo/x⊙/w)/w,/w非常/d(/w*/w^/w﹏/x^/w*/w)/w!/w。
其中,清华大学分词工具THULAC的词性标注集合信息如表1所示:
表1
符号 | 词性 | 符号 | 词性 | 符号 | 词性 |
n | 名词 | s | 处所词 | r | 代词 |
np | 人名 | v | 动词 | c | 连词 |
ns | 地名 | vm | 能愿动词 | p | 介词 |
ni | 机构名 | vd | 趋向动词 | u | 助词 |
nz | 其它专名 | a | 形容词 | y | 语气助词 |
m | 数词 | d | 副词 | e | 叹词 |
q | 量词 | h | 前接成分 | o | 拟声词 |
mq | 数量词 | k | 后接成分 | g | 语素 |
t | 时间词 | i | 习语 | w | 标点 |
f | 方位词 | j | 简称 | x | 其它 |
其中,也可以不使用分词工具对文本信息进行分词,仅仅根据文字及符号的字节数插入空格对文本信息进行分词,得到分词结果为如下分词结果3所示:
分词结果3:这件事情让她(⊙o⊙),非常(*^﹏^*)!。
(2):根据预设的正则表达式,从文本信息包括的分词中提取与正则表达式匹配的符号串。
预设的正则表达式可以根据需要进行设置并更改,在本发明实施例中对预设的正则表达式不作具体限定。
对于分词结果1,例如预设的正则表达式为“\(\“.”\)\”,将分词结果1中的分词依次与字符“(”和字符“)”进行匹配,如将“这”“件”“事情”“让”“她”“(”“⊙”“o”“⊙”“)”“,”“非常”“(”“*”“^”“﹏”“^”“*”“)”“!”,依次与字符“(”和字符“)进行匹配,由于分词结果1中的“(”与正则表达式中的“(”匹配上了,分词结果1中的“)”与正则表达式中的“)”匹配上了,则从分词结果1中获取包含字符“(”和“)”的字符串为“(⊙o⊙)” 以及“(*^﹏^*),从而提取与正则表达式匹配的符号串为“(⊙o⊙)”和“(*^﹏^*)”。
对于分词结果2,可以使用分词结果的词性标注信息,如“w”所表示的标点信息,作为单词或字的属性,制定仅包括词性的正则表达式,如“\w\“.”\w\”将分词结果2中的分词依次与字符“w”和“w”进行匹配,如将“这”“/r”“件”“/q”“事情”“/n”“让”“/p”“她”“/r”“(”“/w”“⊙”“/w”“o”“/x”“⊙”“/w”“)”“/w”“,”“/w”“非常”“/d”“(”“/w”“*”“/w”“^”“/w”“﹏”“/x”“^”“/w”“*”“/w”“)”“/w”“!”“/w”依次与字符“/w”进行匹配,由于分词结果2中的“/w”与正则表达式匹配上了,则从分词结果2中获取包含“/w”的字符串为(/w⊙/wo/x⊙/w)/w和(/w*/w^/w﹏/x^/w*/w)/w,将词性符号去除,得到与正则表达式匹配的符号串“(⊙o⊙)”和“(*^﹏^*)”;同样,本发明也可以制定包括词性和字符的正则表达式,如“\(/w\“.”\)/w\”,通过以上方法进行依次匹配,从分词结果2中提取与正则表达式匹配的字符串“(⊙o⊙)”和“(*^﹏^*)”。
对于分词结果3,例如正则表达式为“\(\“.”\)\”,通过以上方法进行依次匹配,从分词结果3中提取与正则表达式匹配的符号串为“(⊙o⊙)”和“(*^﹏^*)”;提取的符号串中包含了空格符。
其中,当输入的文本中的括号有嵌套时,可在指定嵌套深度之后,生成的正则表达式可以匹配最大深度为制定的嵌套深度的嵌套括号,如Perl语言规则:
$regex='\('.'(?:[^()]|\('x$depth.'[^()]*'.'\))*'x$depth.'\)';
其中,$depth为指定嵌套深度的变量名,$regex表示用于存储所生成的正则表达式规则的变量名。
其中,如果不使用分词工具对文本信息进行分词时,可以直接使用C语音、JAVA、Perl或Python等计算机语音,人工制定正则表达式如\(\“.”\)\”,获取该文本信息包括的符号串“(⊙o⊙)”和“(*^﹏^*)”。
其中,步骤201也可以不通过以上步骤(1)和(2)实现,直接构建一个符号表,如表2所示,该符号表中包括所有文字编辑软件可输入的符号个体,再制定正则表达式,根据正则表达式从文本信息中提取与正则表达式匹配的符号串。
表2
编号 | 符号 |
0 | ( |
1 | ) |
2 | @ |
3 | ^ |
4 | * |
5 | ﹏ |
6 | ! |
7 | ⊙ |
8 | o |
9 | & |
… | … |
n | * |
由此可见,当输入的文本信息的语种不同时,可以通过采用输入语种相对应的分词工具对所输入的文本信息进行词法分析和符号串提取处理,本实施例对词法分析的方法或分词工具不作具体限定。
进一步地,终端具有实时保存的功能,终端将用户输入的文本信息或者用户输入的符号串存储在终端的存储介质中。
步骤202:从该符号串中获取具有对称性的符号对;
其中,步骤202可以通过以下步骤(1)至(3)实现,包括:
(1):确定该符号串的中心位置;
获取该符号串包含的符号的个数L,如果L为奇数,则(L+1)/2位置的符号即为该符号串的中心位置;如果L为偶数,则L/2和L/2+1之间的位置为该符号串的中心位置。
例如,以符号串“(⊙o⊙)”为例进行说明,该符号串“(⊙o⊙)”包含的符号的个数为5,则字符“o”的位置为该符号串“(⊙o⊙)”的中心位置。
再如,以符号串“(*^﹏^*)”为例进行说明,该符号串“(*^﹏^*)”包含的符号的个数为7,则字符“﹏”的位置为该符号串“(*^﹏^*)”的中心位置。
(2):根据该中心位置,从该符号串中获取位置对称的两个字符;
例如,根据该中心位置“o”,从该符号串“(⊙o⊙)”中获取位置对称的两个字符分别为“⊙”和“⊙”,“(”和“)”。
再如,根据该中心位置“﹏”,从该符号串“(*^﹏^*)”中获取位置对称的两个字符分别为“^”和“^”,“*”和“*”,“(”和“)”。
(3):如果该两个字符具有对称性,则将该两个字符组成具有对称性的符号对。
其中,确定两个字符是否具有对称性的步骤为:
确定该两个字符是否相同或形状反向,如果两个字符相同或形状反向,则判断出两个字符具有对称性。否则,则确定该两个字符不具有对称性。
例如,由于“⊙”和“⊙”相同,则“⊙”和“⊙”这两个字符具有对称性;由于“(”和“)”形状相反,则“(”和“)”这两个字符具有对称性。则“⊙”和“⊙”组成具有对称性的符号对,“(”和“)”组成具有对称性的符号对。也即符号串“(⊙o⊙)”中包含两对具有对称性的符号对。
再如,由于“^”和“^”相同,则“^”和“^”这两个字符具有对称性,;由于“*”和“*”相同,则“*”和“*”这两个字符具有对称性;“(”和“)”形状相反,则“(”和“)”这两个字符具有对称性。则“^”和“^”组成具有对称性的符号对,“*”和“*”组成具有对称性的符号对,“(”和“)”组成具有对称性的符号对。也即符号串(*^﹏^*)中包含三对具有对称性的符号对。
步骤203:根据获取的符号对计算该符号串的对称度;
获取该符号串包含的符号的个数L,根据获取的符号对的个数K和该符号串包含的符号的个数L,计算该符号串的对称度Sym。
其中,当L为奇数时,Sym=2*K/(L-1);当L为偶数时,Sym=2*K/L。
由于符号串至少包含两个符号,则L一般大于或者等于2。
例如,符号串“(⊙o⊙)”中包含的符号个数L=5,获取的符号对的个数K为2,则Sym=2*2/(5-1)=1。
再如,符号串(*^﹏^*)中包含的符号个数L=7,获取的符号对的个数K为3,则Sym=2*3/(7-1)=1。
其中,符号串的对称度的取值范围为[0,1]。
其中,计算符号串的对称度时,可以根据具体的需要,对符号串的对称性 构成要素,以及符号串的对称性进行定义,具体举例如下:
定义1:单个符号2次以上重复出现所形成的符号串,定义为具有对称性;
定义符号表Σ,该符号表可包括所有的标点符号集合、特殊符号集合、字母的大写集合及小写集合、数字集合、拼音集合、假名集合、希腊字母集合等,本文不作特定的限制,用户可以根据自己的需要自定义符号表集合。
存在任意字符X,X∈Σ,当符号串S=Xn(n>1)时,定义符号串S具有对称性;
定义2:各种形状具有对称性的符号对,如各种括号和反括号,定义其对称性构成要素;
如可定义“【”和“】”、“{”和“}”、“(”和“)”属于对称性构成要素;
定义3:当2个以上的符号按照特定的顺序连续重复出现2次以上的情况下,定义符号串具有对称性;
定义4:由m个符号构成的符号串,m为奇数,以符号串的中间元素(m+1)/2为起始点加窗[-n,n],(1≤n≤(m-1)/2),其中,-n表示中间元素的左侧第n个字或词,n表示中间元素的右侧的第n个字或词。当-n和n所表示的符号相同或者形状反向(如左括号和右括号)时,定义二者所代表的元素,具有对称性;定义5:由p个符号构成的符号串,p为偶数,从符号串的中间位置为)的两个元素为起始窗,分别加窗[-n,n],(),则窗的宽度为n时,则位置为-n和n的所代表的符号的位置分别为:(),且1≤n≤p/2,当-n和n所表示的符号完全相同或者形状反向(如左括号和右括号)时,定义二者所代表的元素,具有对称性;
步骤204:如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串;
预设条件为对称度大于预设阈值;如果该符号串的对称度大于预设阈值,则确定该符号串为整体符号串;否则,则确定该符号串不为整体符号串。
预设阈值可以根据需要进行设置并更改,在本发明实施例中,对预设阈值不作具体限定。
例如预设阈值为0.8,则由于符号串“(⊙o⊙)”和符号串(*^﹏^*)的对 称度都为1,则符号串“(⊙o⊙)”和符号串(*^﹏^*)的对称度都满足预设条件,则确定符号串“(⊙o⊙)”和符号串(*^﹏^*)为整体符号串。
需要说明的是,通过以上步骤201-203能够确定出符号串是否为整体符号串,为了提高识别精度,可以通过以下步骤204-208确定出符号串的子符号串是否为整体符号串。
步骤205:获取该符号串中具有对称性的子符号串;
其中,步骤205可以通过以下步骤(1)至(3)实现,包括:
(1):从该符号串中获取任意相同或形状反向的两个字符或两个字符串;
从该符号串的最左侧开始扫描,获取当前扫描的字符或者字符串,从已扫描的符号串中查找是否存在和当前扫描的字符相同或形状相反的字符或者字符串,如果有,获取相同或者形状相反的两个字符或两个字符串。
例如,该符号串为“xy123xy”,则从该符号串中获取字符“x”和“x”,字符“y”和“y”,以及字符串“xy”和“xy”。
(2):从该符号串中获取由两个字符分别作为开始字符和结束字符的子字符串,或者获取由该两个字符串分别作为开始字符串和结束字符串的子符号串;
例如,从该符号串“xy123xy”中获取以字符“x”和“x”分别作为开始字符和结束字符的子字符“y123”,或者从该符号串“xy123xy”中获取以字符“y”和“y”分别作为开始字符和结束字符的子字符“123x”,或者从该符号串“xy123xy”中获取以字符“xy”和“xy”分别作为开始字符和结束字符的子字符“123”。
(3):将获取的子符号串确定为具有对称性的子符号串。
例如,将子符号串“y123”、“123x”和“123”确定为具有对称性的子符号串。
步骤206:从该子符号串中获取具有对称性的符号对;
其中,步骤206可以通过以下步骤(1)至(3)实现,包括:
(1):确定子符号串的中心位置;
(2):根据该中心位置,从该字符号串中获取位置对称的两个字符;
(3):如果这两个字符具有对称性,则将这两个字符组成具有对称性的符号对。
步骤207:根据获取的符号对计算该子符号串的对称度;
获取该子符号串包含的符号的个数L,根据获取的符号对的个数K和该子符号串包含的符号的个数L,计算该子符号串的对称度Sym。
其中,当L为奇数时,Sym=2*K/(L-1);当L为偶数时,Sym=2*K/L。
步骤208:如果该子符号串的对称度满足预设条件,则确定该子符号串为整体符号串;
预设条件为对称度大于预设阈值;如果该子符号串的对称度大于预设阈值,则确定该子符号串为整体符号串;否则,则确定该子符号串不为整体符号串。
预设阈值可以根据需要进行设置并更改,在本发明实施例中,对预设阈值不作具体限定。
步骤209:在文本信息中对整体符号串的两个边界字符和位于两个边界字符之间的中间字符进行标注。
在文本信息中确定整体符号串的左边界字符、右边界字符和位于左边界字符和右边界字符之间的中间字符;在文本信息中对左边界字符、右边界字符和中间字符进行标注。
其中,在文本信息“这件事情让她(⊙o⊙),非常(*^﹏^*)!”中,确定整体符号串“(⊙o⊙)”的左边界字符为“(”,右边界字符为“)”,中间字符为“⊙o⊙”;确定整体符号串“(*^﹏^*)”的左边界字符为“(”,右边界字符为“)”,中间字符为“*^﹏^*”,对整体符号串“(⊙o⊙)”和“(*^﹏^*)”的左边界字符、右边界字符和中间字符进行标注如下表3所示:
表3
符号串 | 左边界字符 | 右边界字符 | 中间字符 |
(⊙o⊙) | ( | ) | ⊙,o,⊙ |
(*^﹏^*) | ( | ) | *,^,﹏,^,* |
… | … | … | … |
进一步地,根据整体符号串中的左边界字符、右边界字符和中间字符对整体符号串进行建模和解码处理。
在本发明中,还可以根据机器学习数据的需要,赋予整体符号串中包括的左边界字符、右边界字符和中间字符号特定的标注信息,便于机器学习建模和解码处理。
例如,对整体符号串“(⊙o⊙)”和“(*^﹏^*)”采用BIE标注法进行标注得到的标注结果如下表4所示:
表4
符号串 | 标注信息 |
( | B |
⊙ | I |
o | I |
⊙ | I |
) | E |
… | … |
( | B |
* | I |
^ | I |
﹏ | I |
^ | I |
* | I |
) | E |
… | … |
其中,B表示整体符号串中的左边界字符,E表示整体符号串中的右边界字符,I表示整体符号串中的中间字符。
本实施例中所采用的机器学习方法,以使用条件随机场(CRF)进行建模为例,建模时的学习数据的格式,如表5所示:
表5
文本信息 | 标注信息 |
这 | S |
件 | S |
事情 | S |
让 | S |
她 | S |
( | B |
⊙ | I |
o | I |
⊙ | I |
) | E |
, | S |
非常 | S |
( | B |
* | I |
^ | I |
﹏ | I |
^ | I |
* | I |
) | E |
! | S |
… | … |
使用条件随机场(CRF),可以使用开源工具CRF++:Yet Another CRF toolkit进行建模和解码(该开源工具的代码和建模和解码的使用方法见网址:http://crfpp.googlecode.com/svn/trunk/doc/index.html?source=navbar)。其学习数据的格式,可以以词为单位,也可以以字为单位,对学习数据进行标注,以词为单位的标注,如表5所示。以字为单位的标注方法,如表6所示:
表6
文本信息 | 标注信息 |
这 | S |
件 | S |
事 | S |
情 | S |
让 | S |
她 | S |
( | B |
⊙ | I |
o | I |
⊙ | I |
) | E |
, | S |
非 | S |
常 | S |
( | B |
* | I |
^ | I |
﹏ | I |
^ | I |
* | I |
) | E |
! | S |
… | … |
本实施例中所采用的机器学习方法,还可以采用决策树、贝叶斯分类器、最大熵模型(Maximum Entropy,ME)、隐马尔科夫模型(HMM)、支持向量机(SVM)、条件随机场(CRF)、神经网络等;本实施例对机器学习数据的格式,不做特定的限制。
以支持向量机(SVM),可以使用SVMLight(http://svmlight.joachims.org/)或者LIBSVM(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)等开源工具,SVM的学习数据的格式,可以按照上述网站的使用说明,建立特征向量空间,然后进行文本特征的数值化转换。在特征转换过程中,可以对边界判定步骤所输出的符号串的边界特征,作为SVM的特征的属性进行建模和解码。
本实施例仅例举了条件随机场(CRF)和支持向量机(SVM)的学习数据的整理方法,毋庸讳言,本发明也可适用于其他机器学习方法进行建模和解码,本发明对机器学习的方法不做特定的限定。
进一步地,确定出整体符号串的左边界字符、右边界字符和中间字符时,将该符号串的左边界字符、右边界字符和中间字符存储在边界记忆库中。该边界记忆库可以为提供机器学习的学习数据的数据变换规则。
其中,存储格式可以采用表4所示的哈希数组的形式,也可以采用其他存储形式,在本发明实施例对存储形式不作具体限定。
其中,对符号串进行解码处理时,获取统计模型,根据统计模型对符号串进行解码处理。
在本发明的实施例中,以汉语文本的实例进行了说明,在本发明的事实过程中,也可以采用其他语种及其相应的分词工具等加以实现,本发明的技术不受语种的限制。
在本发明实施例中提取文本信息中包含的符号串;从该符号串中获取具有对称性的符号对;根据获取的符号对计算该符号串的对称度;如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串。由于本发明能够计算符号串的对称度,根据符号串的对称度确定符号串是否是整体符号串,不需要依赖表情符号字典,即使不在表情符号字典内的符号串,本发明也能够确定出该符号串是否是整体符号串,从而解决了表情符号等符号串信息识别精度低下、容易造成文本信息缺失等问题,达到了提高文本信息处理系统的性能的效果;实现了符号串及其符号子串的高精度识别,保证了文本信息的完整性;达到有效改善文本信息预处理阶段的数据质量,有效提升文本信息的分词、句法分析、语义分析、情感分类、舆情分析等机器学习应用系统的性能。
实施例3
本发明实施例提供了一种识别整体符号串的装置,参见图3,其中,该装置包括:
提取模块301,用于提取文本信息中包含的符号串;
获取模块302,用于从符号串中获取具有对称性的符号对;
计算模块303,用于根据获取的符号对计算符号串的对称度;
确定模块304,用于如果符号串的对称度满足预设条件,则确定符号串为整体符号串。
进一步地,获取模块302,包括:
第一确定单元,用于确定符号串的中心位置;
第一获取单元,用于根据中心位置,从符号串中获取位置对称的两个字符;
组成单元,用于如果两个字符具有对称性,则将两个字符组成具有对称性的符号对。
获取模块302,还包括:
判断单元,用于确定两个字符是否相同或形状反向,如果两个字符相同或形状反向,则判断出两个字符具有对称性。
进一步地,获取模块302,还用于获取符号串中具有对称性的子符号串;
第三获取模块302,还用于从子符号串中获取具有对称性的符号对;
第二计算模块303,还用于根据获取的符号对计算子符号串的对称度;
第二确定模块304,还用于如果子符号串的对称度满足预设条件,则确定子符号串为整体符号串。
进一步地,获取模块302,包括:
第二获取单元,用于从符号串中获取任意相同或形状反向的两个字符或两个字符串;
第三获取单元,用于从符号串中获取由两个字符分别作为开始字符和结束字符的子字符串,或者获取由两个字符串分别作为开始字符串和结束字符串的子符号串;
确定单元,用于将获取的子符号串确定为具有对称性的子符号串。
进一步地,提取模块301,包括:
分词单元,用于对文本信息进行分词,得到文本信息包括的分词,文本信息包括的各分词的位置顺序与各分词在文本信息中的位置顺序一致;
提取单元,用于根据预设的正则表达式,从文本信息包括的分词中提取与正则表达式匹配的符号串。
进一步地,装置还包括:
标注模块,用于在文本信息中对整体符号串的两个边界字符和位于两个边界字符之间的中间字符进行标注。
在本发明实施例中,提取文本信息中包含的符号串;从该符号串中获取具有对称性的符号对;根据获取的符号对计算该符号串的对称度;如果该符号串的对称度满足预设条件,则确定该符号串为整体符号串。由于本发明能够计算 符号串的对称度,根据符号串的对称度确定符号串是否是整体符号串,不需要依赖表情符号字典,即使不在表情符号字典内的符号串,本发明也能够确定出该符号串是否是整体符号串,从而解决了表情符号等符号串信息识别精度低下、容易造成文本信息缺失等问题,达到了提高文本信息处理系统的性能的效果。
需要说明的是:上述实施例中提供的识别整体符号串的方法在识别整体符号串时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将识别整体符号串的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的识别整体符号串的装置与识别整体符号串的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种识别整体符号串的方法,其特征在于,所述方法包括:
提取文本信息中包含的符号串;
确定所述符号串的中心位置;
根据所述中心位置,从所述符号串中获取位置对称的两个字符;
确定所述两个字符是否相同或形状反向,如果所述两个字符相同或形状反向,则判断出所述两个字符具有对称性,如果所述两个字符具有对称性,则将所述两个字符组成具有对称性的符号对,否则,则确定所述两个字符不具有对称性;
获取所述符号串包含的符号的个数L,根据获取的符号对的个数K和所述符号串包含的符号的个数L,计算所述符号串的对称度Sym,当L为奇数时,Sym=2*K/(L-1),当L为偶数时,Sym=2*K/L,所述L大于或者等于2,所述Sym的取值范围为[0,1];
如果所述符号串的对称度满足预设条件,则确定所述符号串为整体符号串。
2.如权利要求1所述的方法,其特征在于,所述提取文本信息中包含的符号串之后,还包括:
获取所述符号串中具有对称性的子符号串;
从所述子符号串中获取具有对称性的符号对;
根据所述获取的符号对计算所述子符号串的对称度;
如果所述子符号串的对称度满足预设条件,则确定所述子符号串为整体符号串。
3.如权利要求2所述的方法,其特征在于,所述获取所述符号串中具有对称性的子符号串,包括:
从所述符号串中获取任意相同或形状反向的两个字符或两个字符串;
从所述符号串中获取由所述两个字符分别作为开始字符和结束字符的子字符串,或者获取由所述两个字符串分别作为开始字符串和结束字符串的子符号串;
将所述获取的子符号串确定为具有对称性的子符号串。
4.如权利要求1所述的方法,其特征在于,所述提取文本信息中包含的符号串,包括:
对文本信息进行分词,得到所述文本信息包括的分词,所述文本信息包括的各分词的位置顺序与所述各分词在所述文本信息中的位置顺序一致;
根据预设的正则表达式,从所述文本信息包括的分词中提取与所述正则表达式匹配的符号串。
5.如权利要求1至4任一项权利要求所述的方法,其特征在于,所述确定所述符号串为整体符号串之后,还包括:
在所述文本信息中对所述整体符号串的两个边界字符和位于所述两个边界字符之间的中间字符进行标注。
6.一种识别整体符号串的装置,其特征在于,所述装置包括:
提取模块,用于提取文本信息中包含的符号串;
获取模块包括第一确定单元、第一获取单元和组成单元:
所述第一确定单元,用于确定所述符号串的中心位置;
所述第一获取单元,用于根据所述中心位置,从所述符号串中获取位置对称的两个字符;
所述组成单元,用于确定所述两个字符是否相同或形状反向,如果所述两个字符相同或形状反向,则判断出所述两个字符具有对称性,如果所述两个字符具有对称性,则将所述两个字符组成具有对称性的符号对,否则,则确定该两个字符不具有对称性;
计算模块,用于获取所述符号串包含的符号的个数L,根据获取的符号对的个数K和所述符号串包含的符号的个数L,计算所述符号串的对称度Sym,当L为奇数时,Sym=2*K/(L-1),当L为偶数时,Sym=2*K/L,所述L大于或者等于2,所述Sym的取值范围为[0,1];
确定模块,用于如果所述符号串的对称度满足预设条件,则确定所述符号串为整体符号串。
7.如权利要求6所述的装置,其特征在于,
所述提取模块,还用于获取所述符号串中具有对称性的子符号串;
所述获取模块,还用于从所述子符号串中获取具有对称性的符号对;
所述计算模块,还用于根据所述获取的符号对计算所述子符号串的对称度;
所述确定模块,还用于如果所述子符号串的对称度满足预设条件,则确定所述子符号串为整体符号串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120020.7A CN104699662B (zh) | 2015-03-18 | 2015-03-18 | 识别整体符号串的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120020.7A CN104699662B (zh) | 2015-03-18 | 2015-03-18 | 识别整体符号串的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699662A CN104699662A (zh) | 2015-06-10 |
CN104699662B true CN104699662B (zh) | 2017-12-22 |
Family
ID=53346802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510120020.7A Active CN104699662B (zh) | 2015-03-18 | 2015-03-18 | 识别整体符号串的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699662B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502207B (zh) * | 2016-09-21 | 2019-01-01 | 珠海格力智能装备有限公司 | 数据解析方法及装置 |
CN106992006B (zh) * | 2017-03-23 | 2020-03-03 | 北京云知声信息技术有限公司 | 一种对称符号的处理方法及装置 |
CN107705784B (zh) * | 2017-09-28 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 文本正则化模型训练方法和装置、文本正则化方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735240A (zh) * | 2004-10-29 | 2006-02-15 | 康佳集团股份有限公司 | 一种手机短消息中表情符号及语音的实现方法 |
JP2010092351A (ja) * | 2008-10-09 | 2010-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 顔文字検出装置、その方法、プログラム及び記録媒体 |
JP2010102370A (ja) * | 2008-10-21 | 2010-05-06 | Nippon Telegr & Teleph Corp <Ntt> | 顔文字検出装置、その方法、プログラム及び記録媒体 |
CN102339278A (zh) * | 2010-07-14 | 2012-02-01 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN102750555A (zh) * | 2012-06-28 | 2012-10-24 | 北京理工大学 | 一种应用于即时通讯工具的表情机器人 |
CN102982012A (zh) * | 2011-09-07 | 2013-03-20 | 百度在线网络技术(北京)有限公司 | 一种用于获取失序文本中的目标字符串的方法与设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242593A1 (en) * | 2005-04-26 | 2006-10-26 | Sharp Laboratories Of America, Inc. | Printer emoticon detector & converter |
US20130159919A1 (en) * | 2011-12-19 | 2013-06-20 | Gabriel Leydon | Systems and Methods for Identifying and Suggesting Emoticons |
US9767789B2 (en) * | 2012-08-29 | 2017-09-19 | Nuance Communications, Inc. | Using emoticons for contextual text-to-speech expressivity |
-
2015
- 2015-03-18 CN CN201510120020.7A patent/CN104699662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735240A (zh) * | 2004-10-29 | 2006-02-15 | 康佳集团股份有限公司 | 一种手机短消息中表情符号及语音的实现方法 |
JP2010092351A (ja) * | 2008-10-09 | 2010-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 顔文字検出装置、その方法、プログラム及び記録媒体 |
JP2010102370A (ja) * | 2008-10-21 | 2010-05-06 | Nippon Telegr & Teleph Corp <Ntt> | 顔文字検出装置、その方法、プログラム及び記録媒体 |
CN102339278A (zh) * | 2010-07-14 | 2012-02-01 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN102982012A (zh) * | 2011-09-07 | 2013-03-20 | 百度在线网络技术(北京)有限公司 | 一种用于获取失序文本中的目标字符串的方法与设备 |
CN102750555A (zh) * | 2012-06-28 | 2012-10-24 | 北京理工大学 | 一种应用于即时通讯工具的表情机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN104699662A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608949B (zh) | 一种基于语义模型的文本信息抽取方法及装置 | |
TWI636452B (zh) | 語音識別方法及系統 | |
CN104615593B (zh) | 微博热点话题自动检测方法及装置 | |
CN106096664B (zh) | 一种基于社交网络数据的情感分析方法 | |
Chen et al. | Chinese named entity recognition with conditional random fields | |
CN106610951A (zh) | 改进的基于语义分析的文本相似度求解算法 | |
CN102693279A (zh) | 一种快速计算评论相似度的方法、装置及系统 | |
CN112215008A (zh) | 基于语义理解的实体识别方法、装置、计算机设备和介质 | |
Mager et al. | Probabilistic finite-state morphological segmenter for wixarika (huichol) language | |
US20220269354A1 (en) | Artificial intelligence-based system and method for dynamically predicting and suggesting emojis for messages | |
CN101308512B (zh) | 一种基于网页的互译翻译对抽取方法及装置 | |
CN113268576B (zh) | 一种基于深度学习的部门语义信息抽取的方法及装置 | |
CN112100365A (zh) | 双阶段文本摘要方法 | |
CN106980620A (zh) | 一种对中文字串进行匹配的方法及装置 | |
CN104699662B (zh) | 识别整体符号串的方法和装置 | |
CN110347802A (zh) | 一种文本分析方法及装置 | |
CN112328735A (zh) | 热点话题确定方法、装置及终端设备 | |
CN106610952A (zh) | 一种混合的文本特征词汇提取方法 | |
CN111339772A (zh) | 俄语文本情感分析方法、电子设备和存储介质 | |
Sagcan et al. | Toponym recognition in social media for estimating the location of events | |
CN113918031A (zh) | 使用子字符信息进行中文标点恢复的系统和方法 | |
WO2014189400A1 (en) | A method for diacritisation of texts written in latin- or cyrillic-derived alphabets | |
CN113434636A (zh) | 基于语义的近似文本搜索方法、装置、计算机设备及介质 | |
Attia et al. | Gwu-hasp: Hybrid arabic spelling and punctuation corrector | |
CN111680146A (zh) | 确定新词的方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |