CN113486155B - 一种融合固定短语信息的中文命名方法 - Google Patents
一种融合固定短语信息的中文命名方法 Download PDFInfo
- Publication number
- CN113486155B CN113486155B CN202110856019.6A CN202110856019A CN113486155B CN 113486155 B CN113486155 B CN 113486155B CN 202110856019 A CN202110856019 A CN 202110856019A CN 113486155 B CN113486155 B CN 113486155B
- Authority
- CN
- China
- Prior art keywords
- keyword
- phrase
- word
- sequence
- fixed phrase
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 24
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims abstract description 16
- 238000012163 sequencing technique Methods 0.000 claims abstract description 12
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000003058 natural language processing Methods 0.000 abstract description 8
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 241000238557 Decapoda Species 0.000 description 128
- 238000012549 training Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241001573881 Corolla Species 0.000 description 1
- 241000219112 Cucumis Species 0.000 description 1
- 235000015510 Cucumis melo subsp melo Nutrition 0.000 description 1
- 102100037641 Kelch-like protein 42 Human genes 0.000 description 1
- 101710173078 Kelch-like protein 42 Proteins 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- 238000012896 Statistical algorithm Methods 0.000 description 1
- FJJCIZWZNKZHII-UHFFFAOYSA-N [4,6-bis(cyanoamino)-1,3,5-triazin-2-yl]cyanamide Chemical compound N#CNC1=NC(NC#N)=NC(NC#N)=N1 FJJCIZWZNKZHII-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 244000144987 brood Species 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 210000000232 gallbladder Anatomy 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 241000238565 lobster Species 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本专利将自然语言处理中的关键字抽取以及语义嵌套技术应用到中文固定短语上来,挖掘了现有中文固定短语的潜力,并进一步拓展延伸了其在日常生活中的应用场景。通过关键字抽取技术抽取出所描述事物标题和描述中的最具有含义的字,通过SBert模型将描述话语、成语本身及对应语义转换为嵌套嵌入向量并进行语义匹配,并在其中巧妙地加入编辑距离算法,对输出成语的符合程度进行排序,最终生成最为匹配的成语集合。这些生成的谐音异字成语能应用在日常生活中的各个领域,无论是网络热词、畅销菜谱、店名、口号乃至书名都能够获得应用或者启发。
Description
技术领域
本发明涉及自然语言处理领域,尤其涉及一种融合固定短语信息的中文命名方法。
背景技术
随着自然语言处理技术的不断发展和普及,越来越多深度学习的算法和技巧被应用到中文文本上来,特别是在中文文本相似度以及中文语义理解方面,相关研究如火如荼。对于日常使用的文本而言,自然语言处理技术能够实现一定的效果。因为大多数模型的训练都是基于互联网中的海量文本。但是对于中文固定短语,比如成语、歇后语这些缩略精简化的中文文本而言,由于其结构和语义的复杂性,使得上述技术很难有用武之地。而这进一步限制了固定短语相关或固定短语之外的知识获取,以及固定短语与自然语言处理技术相结合,在日常生活中的应用。
而在中文命名领域,一种比较新颖的方式是将成语、歇后语这些固定短语通过谐音变换关键字的方式形成新的名称,但这种方法主要依赖于命名人自身的经验和想象力,妙手偶得之,缺乏多种方案以供选择。
发明内容
本发明的目的在于提供一种融合固定短语信息的中文命名方法,从而解决现有技术中存在的前述问题,挖掘了现有中文固定短语的潜力,并进一步拓展延伸了固定短语在日常生活中的应用场景。
为了实现上述目的,本发明采用的技术方案如下:
一种融合固定短语信息的中文命名方法,其特征在于,其输入对象包括原始标题、描述文本、固定短语数据库,所述固定短语数据库包括固定短语和所述固定短语的解释信息,按照如下步骤实现,
S1:加载预训练的词性标注模型、中文分词模型以及中文文本词向量;
S2:综合应用字数统计算法和关键词抽取算法,抽取出核心关键字;
S3:核心关键字同音或谐音匹配固定短语,形成替换后的谐音短语集合;
S4:通过嵌套转换模块对所述替换后的谐音短语集合转换并排序,生成推荐的谐音短语序列。
进一步,所述S2中字数统计算法实现方式为,
S211:对所述描述文本进行遍历,对于首次出现在所述描述文本中的字将被计入字典中,并将值设为1,对于非首次出现的字将自动进行加一操作;
S212:统计每个字的对应计数值;
S213:按所述计数值从大到小对所述字排序,形成关键字序列。
进一步,所述S2中关键词抽取算法实现方式为,
S221:使用tfidf算法抽取第一词语序列;
S222:使用TextRank算法抽取第二词语序列;
S223:将所述第一词语序列与所述第二词语序列合并,去掉重复词语,得到关键词集合。
进一步,所述S2中抽取出核心关键字实现方式为,
S231:针对所述关键字序列,按顺序分别在所述关键词集合中遍历;对于属于所述关键字序列中的某关键字,依次遍历所述关键词集合,当检测到所述某关键字存在于所述关键词集合中的任何一个词语中的时候,则停止遍历,并保留所述某关键字;当所述某关键字不存在于所述关键词集合中的任一个词语中的时候,则将其从所述关键字序列中删除;所述关键字序列中的全部关键字均遍历完成后,形成第二关键字序列;
S232:针对所述第二关键字序列中的所有关键字依次使用所述词性标注模型进行判断,舍弃掉所有的非名词的关键字,形成第三关键字序列;
S233:针对所述第三关键字序列中的所有关键字,依次判断其是否存在于所述原始标题中,若存在则保留,若不存在则舍弃,形成最终关键字序列;
S234:若所述最终关键字序列仅包含一个关键字,则该关键字为所述核心关键字;若所述最终关键字序列包含两个或两个以上关键字,则按顺序保留前两个关键字,作为所述核心关键字;若所述最终关键字序列为空,则将所述原始标题中的最后一个字作为所述核心关键字。
进一步,所述S3的具体实现方式为,
S301:将所述核心关键字转换为无标注的拼音;
S302:将所述固定短语库中的所述固定短语依次输入到拼音转换模块转换为固定短语语音信息;
S303:将所述无标注的拼音与所述固定短语语音信息逐条匹配,检索所述无标注的拼音是否存在于所述固定短语语音信息中;若存在,则同时获取所述无标注的拼音在所述固定短语语音信息中的位置信息,并将所述核心关键字替换掉对应的所述固定短语相同位置上的同音字,形成固定短语谐音短语,同时记录所述固定短语的解释信息,并继续检索下一条所述固定短语语音信息;如不存在,则继续检索下一条所述固定短语语音信息;直至全部匹配完毕,形成固定短语谐音短语集合,同时所述固定短语的解释信息形成固定短语解释信息集合。
S304:若所述核心关键字包含两个关键字,则S303中需要满足两个关键字的无标注的拼音同时存在于所述固定短语语音信息中,才视为匹配;若匹配完成后,所述固定短语谐音短语集合为空,则仅保留第一个关键字,并重复S301-S303;
S305:若所述固定短语谐音短语集合中的所述固定短语谐音短语超过10个,则采用编辑距离算法进行排序,并保留前10个,形成新的固定短语谐音短语集合。
进一步,所述S4的具体实现方式为,
S401:使用SBert模型,将所述固定短语谐音短语集合和所述固定短语解释信息集合转化为语义向量并相加;
S402:使用SBert模型,将所述描述文本同样转化为语义向量;
S403:使用词频和余弦相似度共同计算得分并排序,生成推荐的谐音短语序列。
本发明的有益效果是:
本专利将自然语言处理中的关键字抽取以及语义嵌套技术应用到中文固定短语上来,挖掘了现有中文固定短语的潜力,并进一步拓展延伸了其在日常生活中的应用场景。这些生成的谐音异字短语能广泛应用在日常生活中的命名场景,无论是网络热词、畅销菜谱、店名、口号乃至书名都能够获得应用或者启发。
附图说明
图1是该基于固定短语信息的中文命名方法的基本流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本具体实施例描述了如何运用本基于固定短语信息的中文命名方法来进行菜名命名,最终生成的菜名是与原始菜名及菜式描述具有相关性的中文成语谐音短语。进行实验和测试的原始菜名及菜式描述通过网络公开信息预先爬取形成小型数据集,主要包括了“美食杰”官网上菜谱数据中的菜名和该菜式的特点、形容语句以及具体做法步骤等菜式描述。中文成语则依据腾讯公司整理的《成语出现频率列表》筛选出出现频率较高的7558条成语及其对应解释构建成语数据库。在实际生成成语谐音短语的过程中,使用采样的方法来测试效果。
第一步,加载预训练语言模型。在程序初始启动时,需要预先加载后续发明实例步骤中所需要使用的预训练的语言模型。需要提前加载的主要预训练语言模型如下:
1.词性标注模型(POS_Tagger):词性标注模型使用的是Hanlp库基于最全的CTB9标准的中文数据集训练的模型,通过该训练生成的多用途模型可以同步进行词性分析、中文分词等多项自然语言处理任务,且结果准确,一步到位。
2.中文分词模型(TOK):中文分词模型同样是Hanlp库基于超大规模语料集预训练的分词模型,通过该分词模型可以在后续的一些相关任务中起到很好地辅助作用。
3.预训练文本向量模型(SBert):预训练模型使用的是SBert模型依据超大规模的中文语料训练而来。可以通过该模型将中文文本编码成固定维度的词向量,方便数字化的处理操作。
在此后续的步骤中,可以直接调用这些加载好的预训练模型,大大节约了加载时间。
第二步,进入本具体实施例的关键字抽取模块。关键字抽取模块分为了两个主干函数,分别是字数统计以及关键词提取这两个主函数。通过这两个主函数的结合,才能够更加高效地抽取出有意义的关键字。关键词抽取函数针对的是词语,因为大部分有意义的字都是包括在一个词语中的,因此,在描述内容中出现的高频词往往包含有关键字。但是如何从一个词语中挑选出合适的关键字就成为了一个亟待解决的问题。出于以下两点考虑:
1.关键字往往包含在出现频率很高的字当中,甚至可以出现在多个不同的关键词当中;
2.考虑到抽取关键字需要对于菜名有一定的联想性,因此关键字一定会出现在菜名中。
以此为依托,本发明实例使用了简单高效的字数统计来获取最可能的关键字。
为了避免大量无关信息对抽取关键字的干扰,如‘的’这样没有实际含义但出现频率非常高的字的影响,在进入关键字抽取模块之前,需要对输入的数据信息进行去除停用词的预处理。通过预先定义好的停用词(本发明使用的是github上开源的中文停用词表)去除输入的描述文本中的无意义信息,关键词抽取的结果都将会更加准确。
关键字统计将对菜式描述文本进行遍历,对于首次出现在菜式描述文本中的字将被计入字典中,并将值设为1,对于非首次出现的字将自动进行加一操作。
通过关键字统计,获取了抽取的关键字序列。再通过对计数数值的排序,获取排名靠前的关键字序列{char1,char2,char3...}
关键词抽取的方法使用了tfidf和TextRank相结合的方法。tfidf方法是一种常用的用于评估字词对于一个文本片段集或者一个语料库中的其中一份文件的重要程度的方法,单个字词的重要性随着它在语句或者文件中出现的次数成正比增加,但同时会随着它在文本片段中或者语料库中出现的频率成反比下降。如果某个词或者短语在一篇文章中出现的频率(即tf)比较高,但是同时,这个词或者短语在其他的文章中却很少出现,那么可以认为,这个词或者这个短语是一个非常有区分度的一个特征,而有区分度的特征就非常适合用来做这篇文档或者几篇文档的一个关键特征,并可以依据此来进行分类,抽取,近似等操作。
tf(term frequency)公式:
其中n表示的是词语i在句子j中的出现的总次数,分母表示句子j中出现的所有词语的总数,tf表示单词在一个文档片段d中出现的频率。一个词条在一篇文档里频繁出现,那么可以说明该词条能很好地代表这篇文章的核心内容。求出的tf值是对词数的归一化,防止得出的统计结果会偏向长文章片段。(可能存在同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)
idf(inverse document frequency)公式:
其中|D|表示的是文章片段中的句子总数(即Document),dj表示的是文章句子集合中的每一条句子,分母的含义是如果单词ti存在于句子dj中,则分母加1,即包含有单词ti的句子总数。如果包含词条ti的文档越少,对应idf值越大,则可以说明词条ti有着很好的类别区分能力(例如“的”这种字相应的在文档中出现的频率虽然极高,但是我们认为“的”这个字对于我们区分重要性的意义不大,也就是不适合作为关键词区分或者筛选的一个关键特征)。如果一个词语的idf相对很大,那么我们应该赋予这个词条更高的权重,并将其选中作为该句或者该类文档的特征词,以此来区分其他语句或者文档。
而tfidf算法则很好地将这两种构思技巧结合起来,以达到不偏不倚的效果。
tfidfi,j=tfi,j×iddfi (4)
在某一个特定语义片段中的高词语频率,以及该词语在整个文件集合中的低文件频率才能够产生出高权重的tfidf,因此,使用tfidf算法能够很好地保留重要的词语{word1,word2,...,word10}。
而TextRank方法则是基于网页推荐算法PageRank算法发展而来的算法,主要基于以下思想:如果一个单词出现在很多单词后面的话,那么说明这个单词比较重要。一个TextRank值很高的单词后面跟着的一个单词,那么这个单词所对应的TextRank数值会相应地因此增高。一般来说TextRank模型会被表示为一个有向有权图G=(y,E),由点集合V和边集合E组成,E是V×V的子集。图中任两点Vi,Vj之间边的权重为Wji,对于一个给定的点Vi,In(Vi)为指向该点的点集合,Out(Vi)为点Vi指向的点集合。公式如下:
其中,d为阻尼系数,取值范围为0到1,代表从图中某一特定点指向其他任意点的概率,一般取值为0.85。使用TextRank算法计算图中各点的得分时,需要给图中的点指定任意的初值,并递归计算直到收敛,即图中任意一点的误差率小于给定的极限值时就可以达到收敛,一般该极限值取0.0001。TextRank中的一个单词i的权重取决于与在i前面的各个点j组成的(j,i)这条边的权重,以及j这个点到其他边的权重之和。
将这种方法运用到关键词提取中来,TextRank算法利用局部词汇之间的关系,即共现窗口对后续的关键词进行排序。把给定的文本T按照完整句子进行分割,即T=[S1,S2,...,Sm]
对于每个句子Si<T,进行分词和词性标注处理,并过滤掉停用词,只保留指定词性的单词,如名词、动词、形容词,即si=[ti,1,ti,2,...,ti,n],其中ti,j<Sj是保留后的候选关键词。
构建候选关键词图G=(V,E),其中V为节点集,由生成的候选关键词组成,然后采用共现关系(co-occurrence)构造任两点之间的边,两个节点之间存在边仅当它们对应的词汇在长度为K的窗口中共现,K表示窗口大小,即最多共现K个单词。
根据上面公式,迭代传播各节点的权重,直至收敛。
对节点权重进行倒序排序,从而得到最重要的T个单词,作为候选关键词{Twoed1,Tword2,...,Tword10}。
接着,将通过这两者方法获取的文本进行合并,可能会有一定程度上的重复,得到关键词集合{word1,word2,...,word10,Tword1,Tword2,...,Tword10}。然后对之前提出的关键字按顺序遍历char1,char2,char3,...,通过遍历获取存在于关键词集合中的关键字。当遍历到关键字chari时,依此遍历关键词集合,当检测到关键字chari存在于关键词集合中的任何一个词语的时候,则停止遍历,并保留该关键字。当关键字chari遍历关键词集合完毕之后仍然不存在时,我们认为该关键字并非正确提取出的关键字,将其从关键字列表中删去。
同时,由于所替换的关键字大多数应该为名词词性的字,在抽取出关键字序列之后针对每一个关键字序列中的关键字chari使用预训练的POS_Iagger模型进行判断,当验证得到该关键字的词性是名词(即标签‘NN’)时,对该关键字进行保留,否则将其舍弃。
然后,考虑到标题的重要性和联想性,所提取出的关键字理应在标题中存在,即所抽取的关键字chari需要出现在标题中至少一次。因此,再次遍历关键字的剩余序列,并判断该关键字chari是否存在于标题字符串中,如果存在,则继续保留该关键字字符,否则删除该关键字。得到最终的关键字序列{key1,key2,...}。
此时,抽取出的关键字可能包括以下的几种情况,当抽取出的关键字大于等于1个时,按顺序抽取出前2个作为最终所需要使用的关键字作为后续匹配时使用的关键字;当抽取出的关键字为0个时,即通过统计信息抽取的关键字并不存在于使用关键词算法抽取出的关键词时,那么认为抽取出的关键字有问题,或者描述中的无用信息过多,掩盖住了核心的关键字,那么依据统计规律,从菜名(标题)中抽取出最后一个字作为关键字进入后续的匹配模块,这种情况出现的几率很小但是存在,容易诱发程序报错,因此需要单独提出启发式的解决方案规避报错的情况。
通过以上操作,能够获取1~2个关键字,这些关键字就作为后续匹配成语的核心关键字。
第三步,核心关键字同音匹配成语,形成成语谐音短语。当匹配开始前,将抽取出的关键字转换为无标注的拼音。例如‘鱼’转换为‘yu’。将其转换为拼音之后,再进入成语数据库进行检索。
在每一次检索时,通过各样的语音映射的方法,将成语数据库中的成语词条转换成为一个拼音列表,便于后续的匹配。
具体的匹配方法如下:遍历成语库中的每一个成语,将成语数据库中所有的成语词条依次输入到拼音转换模块中转换为语音信息之后,检索关键字的读音是否存在于该模块中。当只有一个关键字时,大概率上包含该关键字的成语数量非常多;当含有两个关键字时,按照成语语料库的输入顺序进行检索,如果遍历完常用成语语料库之后依然不能够找到能够同时匹配满足两个关键字要求的成语,则考虑到关键字抽取时是按照重要性顺序依次抽取,将第二个关键字忽略然后重新进行匹配操作。通过这种办法能够保证生成的关键字仍然能够按照先前抽取的关键字顺序进行匹配。当每一步检索成语语音的时候,同时获取该关键字所在位置的索引,并将关键字替换掉索引位置上的那个同音字,形成成语谐音短语。当把所有满足筛选条件的成语谐音短语提取出来时,我们就已经获得了待排序的成语谐音短语序列。此时输出的内容包括:替换之后的成语谐音短语{idiom1,idiom2,...}、替换之前的原成语{origin1,origm2,...}、原成语的解释{explanation1,explanation2,...}。携带着这些相关信息,可以进入到语义相似度计算模块。
在进入语义相似度模块计算之前,由于可能存在较多候选成语谐音短语,在语义相似度计算模块可能会花费大量的时间,因此,当候选成语谐音短语数量达到一定阈值时,可以预先减少候选成语谐音短语的规模来缓解后续的资源消耗和匹配压力,并在一定程度上提高匹配的相似度。因此,本发明考虑到人的认知习惯,使用编辑距离来解决候选成语谐音短语过多、匹配压力过大的问题。
编辑距离,即Levenshtein距离,本来是用来衡量两个字符串之间的距离,能够计算出将一个单词转换为另一个单词最少单字符编辑操作的次数。表示为leva,b(|a|,|b|),其中|α|和|b|分别对应字符串a,b的长度。那么,在这里两个字符串a,b的LevenshteinDistance,即leva,b(|a|,|b)可用如下的数学语言描述:
leva,b(i,j)指的是a中前i个字符和b中前j个字符之间的距离。为了方便理解,这里的i,j可以看做是a和b的长度。由于计算机中第一个字符通常是从0开始的,因此最后的编辑距离就是当i=|a|,j=|b|时的距离:leva,b(|a|,|b|)
在本发明实例中,所需要匹配的编辑距离是替换之后的成语谐音短语和菜式描述之间的编辑距离。当该替换之后的成语谐音短语和菜式描述之间的编辑距离比较近时,说明二者之间的重复度相对较高,也就意味着该替换之后的成语谐音短语与菜式描述之间有更多的交叉文本内容,且相对顺序一致。编辑距离匹配能在一定程度上给予表述逻辑与描述文本类似的成语更高的距离分数。通过对每一个候选的成语谐音短语进行编辑距离的匹配,并对最终获得的编辑距离进行排序,设定取舍阈值(本发明设定为10),获取与菜式描述文本编辑距离相似度最高的成语谐音短语加以保留,剩下的予以舍弃,通过编辑距离排序再次精简了匹配集合。编辑距离算法较为简单,效率很高,在很小的时间复杂度中排除了大量的无关成语谐音短语,为后续语义匹配大大地节约了时间资源。编辑距离排序使用了简单的操作实现了多种效果。
第四步,通过嵌套转换模块对成语谐音短语进行排序。本发明使用的是在大规模中文文本分类语料上训练的SBert预训练模型,通过这个模型能很好地将一些文本转换成相同维度的向量,方便后续的语义匹配模块的进行。SBert模型是一种预训练Bert网络的改进,由于Bert的构造原因,当处理的数据粒度为句子时会导致巨大的计算开销,使其不适合语义相似性搜索以及聚类等无监督任务。而SBert使用连体和三元组网络结构来推导语义上有意义的句子嵌入,使得句子嵌入能够使用余弦相似度进行比较,通过微调大大减少了寻找最相似的工作量。本发明使用的SBert预训练模型是轻量级但是效果很好的stsb-roberta-base预训练模型,这个预训练模型主要是为了解决语义相似度任务构建的,并基于SNLI和MultiNLI数据集进行训练。
嵌套生成模块通过将输入转换成为语义嵌套来完成后续的语义匹配。此时的输入为替换之后的成语谐音短语序列{idiom1,idiom2,...},以及对应原成语的解释{explanation1,explanation2,...},将成语和解释转化为嵌套之后直接相加,此时获取到的语义向量既能够获取到替换之后成语谐音短语的全貌又能接触到原成语的语义,相加之后也就相当语义的中和,效果会更好。同时,需要同步输入的内容还有菜式描述,通过菜式描述文本能够很好地获取该菜式的一些相关信息以及语义信息,将其同样转换为一个相同维度的嵌套。
对应的替换成语谐音短语信息和菜式描述文本信息此时已经全数转换为了768维的向量。接下来进入相似度计算模块。要想使得更符合日常使用的成语谐音短语排序后能尽量靠前,本发明同时考虑使用词频和余弦相似度共同计算排序分数。
scorek=sbertscorek×freqscorek (7)
其中,sbertscore为通过使用SBert模型的嵌套转换模块转换之后,由成语谐音短语和菜式描述文字之间计算的余弦相似度。freqscore为经过0-1归一化之后获得的每一个成语的词频分数,在事先计算之后存储在了文件中随用随调。所述词频分数来源于一个在大规模数据集上统计的成语频率表,该成语频率表上统计了每个出现频率大于20的成语的出现次数,为了方便后续的计算匹配使用到0-1归一化。通过这种计算方法获得的分数能兼顾到词频和相似度,即让人有熟悉感,也能够让人眼前一亮。
此时便生成了推荐度从高到低的成语谐音短语序列,使用者可从中挑选心仪的菜名,用以替换原本的相对普通的菜名。
为进一步帮助理解上述步骤,这里使用一个数据实例来展示:
原始输入数据:
以该油焖大虾为例。
抽取关键字模块:
替换模块输出:
['虾落不明','对症虾药','天虾第一','双管齐虾','承上启虾','每况愈虾','目不虾接','急转直虾','不相上虾','应接不虾','闻名虾迩','不在话虾','潸然泪虾','能上能虾','居高临虾','声泪俱虾','举国上虾','催人泪虾','虾路相逢','上行虾效','夕阳西虾','泪如雨虾','虾不为例','泥沙俱虾','手虾留情','天虾为公','上虾一心','冒天虾之大不韪','欺上瞒虾','骑虎难虾','桃李满天虾','落井虾石','黑灯虾火','包打天虾','上虾其手','先虾手为强','寄人篱虾','七上八虾','天虾太平','上虾同心','相持不虾','自顾不虾','三虾五除二','世风日虾','虾里巴人','名满天虾','江河日虾','兵临城虾','一统天虾','瓜田李虾','汗如雨虾','上情虾达','甘拜虾风','花前月虾','虾肝义胆','九泉之虾','虾不掩瑜','以天虾为己任','上梁不正虾梁歪','名闻虾迩','滑天虾之大稽','普天之虾','虾情上达','天虾大乱','不上不虾','低声虾气','独步天虾','天虾无敌','天虾一家','刀虾留人','云蒸虾蔚','低三虾四','直上直虾','虾回分解','大树底虾好乘凉','等米虾锅','天虾无双','上虾同欲','朝野上虾','不耻虾问','虾兵蟹将','正中虾怀','天虾归心','凤冠虾帔','等而虾之','目不虾给','誉满天虾','天虾乌鸦一般黑','兼善天虾','承欢膝虾','虾子摸象','城虾之盟','礼贤虾士','纵横天虾','虾逐客令','虾迩闻名','盲人骑虾马','胯虾之辱','食不虾咽','月虾老人']
成语数量大于10,使用编辑距离过滤:
['等米虾锅','桃李满天虾','名满天虾','独步天虾','正中虾怀','誉满天虾','虾光万道','半部论语治天虾','虾笔千言','白璧无虾']
排序算法排序:
['桃李满天虾','名满天虾','独步天虾','等米虾锅','正中虾怀','誉满天虾','虾光万道','半部论语治天虾','虾笔千言','白璧无虾']
相应的,固定短语不仅包括成语、歇后语,还包括四字熟语、专有名词与结构对称的习惯语等,该实施例中的成语数据库也可以替换成扩展的成语数据库或其他固定短语数据库。
该方案可以运用于商标、字号、书名、演唱会命名等商业命名或日常生活中需要进行创意化命名、网络用语、宣传口号等各种场合,具有非常广阔的应用场景和实用价值。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本专利将自然语言处理中的关键字抽取以及语义嵌套技术应用到中文固定短语上来,挖掘了现有中文固定短语的潜力,并进一步拓展延伸了其在日常生活中的应用场景。这些生成的谐音异字短语能广泛应用在日常生活中的命名场景,无论是网络热词、畅销菜谱、店名、口号乃至书名都能够获得应用或者启发。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (3)
1.一种融合固定短语信息的中文命名方法,其特征在于,其输入对象包括原始标题、描述文本、固定短语数据库,所述固定短语数据库包括固定短语和所述固定短语的解释信息,按照如下步骤实现,
S1:加载预训练的词性标注模型、中文分词模型以及中文文本词向量;
S2:综合应用字数统计算法和关键词抽取算法,抽取出核心关键字;
S3:核心关键字同音或谐音匹配固定短语,形成替换后的谐音短语集合;
S4:通过嵌套转换模块对所述替换后的谐音短语集合转换并排序,生成推荐的谐音短语序列;
所述S2中字数统计算法实现方式为,
S211:对所述描述文本进行遍历,对于首次出现在所述描述文本中的字将被计入字典中,并将值设为1,对于非首次出现的字将自动进行加一操作;
S212:统计每个字的对应计数值;
S213:按所述计数值从大到小对所述字排序,形成关键字序列;
所述S2中关键词抽取算法实现方式为,
S221:使用tfidf算法抽取第一词语序列;
S222:使用TextRank算法抽取第二词语序列;
S223:将所述第一词语序列与所述第二词语序列合并,去掉重复词语,得到关键词集合;
所述S2中抽取出核心关键字实现方式为,
S231:针对所述关键字序列,按顺序分别在所述关键词集合中遍历;对于属于所述关键字序列中的某关键字,依次遍历所述关键词集合,当检测到所述某关键字存在于所述关键词集合中的任何一个词语中的时候,则停止遍历,并保留所述某关键字;当所述某关键字不存在于所述关键词集合中的任一个词语中的时候,则将其从所述关键字序列中删除;所述关键字序列中的全部关键字均遍历完成后,形成第二关键字序列;
S232:针对所述第二关键字序列中的所有关键字依次使用所述词性标注模型进行判断,舍弃掉所有的非名词的关键字,形成第三关键字序列;
S233:针对所述第三关键字序列中的所有关键字,依次判断其是否存在于所述原始标题中,若存在则保留,若不存在则舍弃,形成最终关键字序列;
S234:若所述最终关键字序列仅包含一个关键字,则该关键字为所述核心关键字;若所述最终关键字序列包含两个或两个以上关键字,则按顺序保留前两个关键字,作为所述核心关键字;若所述最终关键字序列为空,则将所述原始标题中的最后一个字作为所述核心关键字。
2.如权利要求1所述的融合固定短语信息的中文命名方法,其特征在于,所述S3的具体实现方式为,
S301:将所述核心关键字转换为无标注的拼音;
S302:将所述固定短语数据 库中的所述固定短语依次输入到拼音转换模块转换为固定短语语音信息;
S303:将所述无标注的拼音与所述固定短语语音信息逐条匹配,检索所述无标注的拼音是否存在于所述固定短语语音信息中;若存在,则同时获取所述无标注的拼音在所述固定短语语音信息中的位置信息,并将所述核心关键字替换掉对应的所述固定短语相同位置上的同音字,形成固定短语谐音短语,同时记录所述固定短语的解释信息,并继续检索下一条所述固定短语语音信息;如不存在,则继续检索下一条所述固定短语语音信息;直至全部匹配完毕,形成固定短语谐音短语集合,同时所述固定短语的解释信息形成固定短语解释信息集合;
S304:若所述核心关键字包含两个关键字,则S303中需要满足两个关键字的无标注的拼音同时存在于所述固定短语语音信息中,才视为匹配;若匹配完成后,所述固定短语谐音短语集合为空,则仅保留第一个关键字,并重复S301-S303;
S305:若所述固定短语谐音短语集合中的所述固定短语谐音短语超过10个,则采用编辑距离算法进行排序,并保留前10个,形成新的固定短语谐音短语集合。
3.如权利要求1所述的融合固定短语信息的中文命名方法,其特征在于,所述S4的具体实现方式为,
S401:使用SBert模型,将所述固定短语谐音短语集合和所述固定短语解释信息集合转化为语义向量并相加;
S402:使用SBert模型,将所述描述文本同样转化为语义向量;
S403:使用词频和余弦相似度共同计算得分并排序,生成推荐的谐音短语序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110856019.6A CN113486155B (zh) | 2021-07-28 | 2021-07-28 | 一种融合固定短语信息的中文命名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110856019.6A CN113486155B (zh) | 2021-07-28 | 2021-07-28 | 一种融合固定短语信息的中文命名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486155A CN113486155A (zh) | 2021-10-08 |
CN113486155B true CN113486155B (zh) | 2022-05-20 |
Family
ID=77944404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110856019.6A Expired - Fee Related CN113486155B (zh) | 2021-07-28 | 2021-07-28 | 一种融合固定短语信息的中文命名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486155B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115223588B (zh) * | 2022-03-24 | 2024-08-13 | 华东师范大学 | 一种基于拼音距离和滑动窗口的儿童语音短语匹配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112974A (ja) * | 1998-10-02 | 2000-04-21 | Nippon Telegr & Teleph Corp <Ntt> | テキスト情報の特徴情報作成方法及び特徴情報作成プログラムを記録した記録媒体 |
CN106997344A (zh) * | 2017-03-31 | 2017-08-01 | 成都数联铭品科技有限公司 | 关键词抽取系统 |
CN109977398A (zh) * | 2019-02-21 | 2019-07-05 | 江苏苏宁银行股份有限公司 | 一种特定领域的语音识别文本纠错方法 |
CN112364624A (zh) * | 2020-11-04 | 2021-02-12 | 重庆邮电大学 | 基于深度学习语言模型融合语义特征的关键词提取方法 |
-
2021
- 2021-07-28 CN CN202110856019.6A patent/CN113486155B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000112974A (ja) * | 1998-10-02 | 2000-04-21 | Nippon Telegr & Teleph Corp <Ntt> | テキスト情報の特徴情報作成方法及び特徴情報作成プログラムを記録した記録媒体 |
CN106997344A (zh) * | 2017-03-31 | 2017-08-01 | 成都数联铭品科技有限公司 | 关键词抽取系统 |
CN109977398A (zh) * | 2019-02-21 | 2019-07-05 | 江苏苏宁银行股份有限公司 | 一种特定领域的语音识别文本纠错方法 |
CN112364624A (zh) * | 2020-11-04 | 2021-02-12 | 重庆邮电大学 | 基于深度学习语言模型融合语义特征的关键词提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113486155A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106997382B (zh) | 基于大数据的创新创意标签自动标注方法及系统 | |
CN110442760B (zh) | 一种问答检索系统的同义词挖掘方法及装置 | |
CN111177365B (zh) | 一种基于图模型的无监督自动文摘提取方法 | |
Singh et al. | Text stemming: Approaches, applications, and challenges | |
CN110298033B (zh) | 关键词语料标注训练提取系统 | |
CN108287822B (zh) | 一种中文相似问题生成系统与方法 | |
CN113268995B (zh) | 中文学术关键词抽取方法、装置和存储介质 | |
US8131539B2 (en) | Search-based word segmentation method and device for language without word boundary tag | |
KR101136007B1 (ko) | 문서 감성 분석 시스템 및 그 방법 | |
CN114254653A (zh) | 一种科技项目文本语义抽取与表示分析方法 | |
CN113632092A (zh) | 实体识别的方法和装置、建立词典的方法、设备、介质 | |
CN116501875B (zh) | 一种基于自然语言和知识图谱的文档处理方法和系统 | |
JP2011118689A (ja) | 検索方法及びシステム | |
CN114065758A (zh) | 一种基于超图随机游走的文档关键词抽取方法 | |
CN112036178A (zh) | 一种配网实体相关的语义搜索方法 | |
CN114265936A (zh) | 一种科技项目文本挖掘的实现方法 | |
CN114997288A (zh) | 一种设计资源关联方法 | |
CN113486155B (zh) | 一种融合固定短语信息的中文命名方法 | |
US8862459B2 (en) | Generating Chinese language banners | |
CN114969324A (zh) | 基于主题词特征扩展的中文新闻标题分类方法 | |
CN110717015B (zh) | 一种基于神经网络的多义词识别方法 | |
JP4213900B2 (ja) | 文書分類装置と記録媒体 | |
Dhanda et al. | A Novel Approach to Text Summarization Using Machine Learning | |
CN116976290B (zh) | 一种基于自回归模型的多场景资讯摘要生成方法以及装置 | |
Li et al. | Research on image text generation based on word2vec visual vocabulary attention |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220520 |
|
CF01 | Termination of patent right due to non-payment of annual fee |