CN111984845B - 网站错别字识别方法和*** - Google Patents
网站错别字识别方法和*** Download PDFInfo
- Publication number
- CN111984845B CN111984845B CN202010826076.5A CN202010826076A CN111984845B CN 111984845 B CN111984845 B CN 111984845B CN 202010826076 A CN202010826076 A CN 202010826076A CN 111984845 B CN111984845 B CN 111984845B
- Authority
- CN
- China
- Prior art keywords
- word
- sentences
- kenlm
- training
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000009193 crawling Effects 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims description 63
- 238000004458 analytical method Methods 0.000 claims description 23
- 238000004140 cleaning Methods 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 7
- 230000014509 gene expression Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000227 grinding Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 241000721047 Danaus plexippus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明提供网站错别字识别方法和***,包括以下步骤:针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码,根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;基于预先训练完成的kenlm模型,利用kenlm模型对各个词打分,根据打分结果识别出网站所有子页面中包含的错别字词。本发明使用方便,用户只需提供需要监控的网站地址即可,按需求识别该网站相关子页面错别字。
Description
技术领域
本发明属于人工智能计算机对自然语言处理技术领域,具体涉及网站错别字识别方法和***。
背景技术
市面上目前提供错别字识别服务的产品包括百度,网易等。每家专注的领域不同,各有优缺点。有些业务场景,仅采用一家的服务又无法满足数据的精准性要求。全部引入又存在数据格式不一致,数据需要清洗,且购买成本高的问题。目前各大平台仅提供接口服务,主要针对文本内容,且文本长度也有限制。无法针对web页面做错别字识别,因为web页面还有html代码标签混淆,影响判断结果。
发明内容
本发明旨在解决现有技术中存在的以上技术问题,提供网站错别字识别方法。
为实现上述技术目的,本发明采用以下技术方案。
一方面,本发明提供网站错别字识别方法,包括以下步骤:
针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码,根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
基于预先训练完成的kenlm模型,利用kenlm模型对短句打分,根据打分结果识别出网站所有子页面中包含的错别字词。
进一步地,根据抓取的源代码获得正文文字的方法包括以下步骤:
分布式爬虫抓取网站源代码,将结果存入kafka;
利用logstash将kafka中的数据清洗后存入elasticsearch;
Beautifulsoup使用正则表达式取出页面源代码中的页面标签,提取出正文文字。
进一步地,所述kenlm模型的训练方法包括:
将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并分配给各个厂商接口;
分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
再进一步地,所述kenlm模型的训练方法还包括按照设定时间对所述错词整合模型进行重新训练,具体重新训练的方法包括:
基于各个厂商的接口返回的对同一页面中语句的分析结果对训练文本进行纠错,将纠错后的文本结果加入训练语料库,基于纠错后的训练语料库对kenlm进行重新训练得到新的klm模型。
进一步地,识别出网站所有子页面中包含的错别字之后还包括对错别字进行纠错,具体包括以下步骤:
根据预先获取的中文常用字数据集、同音字数据集、同形字数据集和混淆字数据集,将识别出的错别字词的同音字,同形字,混淆字带入原句子,计算PPL,并将PPL最小的值替换原句子;计算PPL的方法如下:
两边取对数
其中S为句子,wi为第i个词,p(wi)为第i个词的概率,
PPL(Perplexity)为用于评估语言模型的好坏,
p(wi)为第i个词的概率。
进一步地,将各个厂商的接口返回的对同一页面中语句的分析结果中相同的错误类型,分别加入到同音字数据集、同形字数据集和混淆字数据集,获得更新后的同音字数据集、同形字数据集和混淆字数据集。
第二方面,本发明提供网站错别字识别***,包括以下步骤:主域名输入模块、源代码爬取模块、分词模块以及错别字识别模块;
所述主域名输入模块,用于输入主域名;
所述源代码爬取模块,用于针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码;
所述分词模块,用于根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
所述错别字识别模块,用于基于预先训练完成的kenlm模型,利用kenlm模型对短句打分,根据打分结果识别出网站所有子页面中包含的错别字词。
进一步地,所述***还包括kenlm模型训练模块以及接口模块,所述kenlm模型训练模块用于训练kenlm模型,所述接口模块用于连接各个厂商输入接口;所述训练kenlm模型,具体用于调用分词模块将获得将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并通过接口模块分配给各个厂商接口;
所述训练kenlm模型,通过接口模块分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
本发明还提供一种计算机可读存储介质,其特征在于,其存储有机器可读的指令,所述指令在由所述机器执行时使得所述机器执行上述第一方面任意一种实施方式提供的所述的网站错别字识别方法。
本发明所取得的有益技术效果:
1、本发明使用方便,用户只需提供需要监控的网站地址即可,按需求识别该网站相关子页面错别字;
2、帮助用户节约成本,用户仅需支付平台检测费用,即可选择指定厂商的产品服务,无需自己购买节约不必要的购买,开发使用成本,减少资源浪费;
3、提高检测准确性,多厂商结果汇总,减少误报,提升结果精度;
4、分布式爬虫,可指定爬取深度和爬取页面url规则,提高了采集的速度;可控的采集范围减少了不必要的页面抓取及页面分析,提升了整个任务的效率;
5、平台返回的结果录入自己数据库,作为自研错别字算法的数据训练集,随着任务量的提升,训练集逐渐扩大,既可以提升自己模型训练的准确性;
6、多引擎爬虫保证页面js加载后的页面被抓取,既能处理页面源码,又能对加载后页面文字进行处理;
7.Kafka+elk保证数据入库的效率和准确性。
附图说明
图1为本发明具体实施例完整文本分割过程;
图2为本本发明整体流程图。
具体实施方式
以下结合说明书附图对本发明做进一步说明。
实施例一、网站错别字识别方法,包括以下步骤:
针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码,根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
基于预先训练完成的kenlm模型,利用kenlm模型对短句打分,根据打分结果识别出网站所有子页面中包含的错别字词。
本实施例中利用kenlm模型对短句打分的具体方法包括以下步骤:
Bi-gram:
对两端数据补全,用于计算首尾词的分数
Tri-gram:
首尾数据补全
取Bi-gram和Tri-gram对应位置的数值的平均值sentence_score
取sentence_score的中位数sentence_score_median
计算sentence_score中每个分数与sentence_score_median的差的绝对值,
获得分数差的绝对值数据margin_median
margin_median=[|sentence_score[1]-sentence_score_median|,
|sentence_score[2]-sentence_score_median|,...,
|sentence_score[n]-sentence_score_median|]
获取差值绝对值的中位数median_abs_deviation
y_score=0.6745×margin_median÷median_abs_deviation
注释
n-gram:一个词个词的出现依赖前面出现面n-1个词词,称为n-gram;
n=2为Bi-gram二元模型;
n=3为Tri-gram三元模型;
句子S出现现的概率是n个word出现现的概率组成,
P(S)=P(w1w2w3...wn)=P(w1)P(w2|w1)P(w3|w1w2)...P(wn|w1w2...wn-1)
根据马据马尔科夫,一个词个词出现的概率赖于它前面出现的几个词,
公式简式简:P(S)≈P(w1)P(w2|w1)P(w3|w2)...P(wn|wn-1)
S(wi-1wi):Bi-gram中第i个字的得分
avgscores_bi_gram:第i个字及前一个字的平均分
S(wi-2wi-1wi)Tri-gram中第i个字的得分
avgscores_tri_gram:第i个字及前两字及前两个分
sentence_score:avgscores_bi_gram和avgscores_tri_gram的平均分
sentence_score_median:sentence_score的中位数
margin_median:sentence_score中每每个数sentence_score_median的差的绝差的
median_abs_deviation:margin_median的中位数
通过以上方法获得词的分数,将分数大于阈值的词识别为错别字,可选地,将识别的错别字入库并进行数据展示。
具体实施例中分布式爬虫抓取网站源代码,将结果存入kafka并使用logstash存入到elasticsearch中,kafka用于削峰,减少高并发时数据处理的压力及入库的压力,logstash用于数据清洗和传输,将kafka中的数据初步清洗后传递给elasticsearch;利用正则表达式,Beautifulsoup等去除页面源码中的标签,提取正文文;eautifulsoup用于直接从源码中取出标签,获取正文数据,再用正则表达式进一步去除标签。
对获取的正文进行分词采用现有技术实现,如采用jieba分词,现有的中文分词工具,本发明中不再赘述。
以下对于出现的名词进行解释:
Kafka:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者在网站中的所有动作流数据。
Logstash:Logstash是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Elasticsearch:Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎;
Beautifulsoup:Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库;
Kenlm:一种统计语言模型工具,速度快,内存效率高,可使用多核处理器。
实施例二、在实施例一的基础上,本实施例包括对kenlm模型进行训练,具体包括以下步骤:将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并分配给各个厂商接口;
分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
基于kenlm模型,获取中文常用字数据集,同音字数据集,同形字数据集,加载kenlm模型,使用正则将长句子切分为短句,查看是否包含混淆集的字词,如果有则加入疑似错误词典(类型为混淆类型),切词后查看字词是否在常用词数据集内,不是则加入疑似错误词典,利用kenlm模型根据以下公式,检测出句子中的疑似错别字。
训练文本的获得方法如下:分布式爬虫抓取网站源代码,将结果存入kafka并使用logstash存入到elasticsearch中,kafka用于削峰,减少高并发时数据处理的压力及入库的压力,logstash用于数据清洗和传输,将kafka中的数据初步清洗后传递给elasticsearch;
利用正则表达式,Beautifulsoup等去除页面源码中的标签,提取正文文字,beautifulsoup用于直接从源码中取出标签,获取正文数据,再用正则表达式进一步去除标签。
根据厂商接口文档,将文本按段落,语义,以及上下文语义进行切分,将页面文字切分为符合接口长度要求的句子,分配给各个厂商的接口。
举个例子:黄初三年,余朝京师,还济洛川。古人有言,斯水之神,名曰宓妃。感宋玉对楚王神女之事,遂作斯赋。其辞曰:
余从京域,言归东藩。背伊阙,越轘辕,经通谷,陵景山。日既西倾,车殆马烦。尔乃税驾乎蘅皋,秣驷乎芝田,容与乎阳林,流眄乎洛川。于是精移神骇,忽焉思散。俯则未察,仰以殊观,睹一丽人,于岩之畔。乃援御者而告之曰:“尔有觌于彼者乎?彼何人斯?若此之艳也!”御者对曰:“臣闻河洛之神,名曰宓妃。然则君王所见,无乃是乎?其状若何?臣愿闻之。”
厂商1接口限制长度为30:
根据段落来划分的话,本段文字只有一段且字数超过接口限制.
根据标点来,句子长度分别为15,15,16,4,10,16,10,26,12,20,9,21,5,36的独立含义的短句顺序排列为4,5,9,10,10,12,15,15,16,16,20,21,26,36,再组合得到(26,4),(21,9),(20,10),(16,10),...这样的多个句子组合成的长句;而针对最后一个长度36的已经超过了字数限制,且这个句子语义为完整的,有上下文依赖关系,则单独分析这段文字,里面是有多个短句的,将短句拆分,然后再调用接口。
例如:厂商1,限制接口请求最大字数为50字,厂商2限制接口请求最大字数为100,某个页面源码中包含文本长度为1000字。那么调厂商1接口时,将文本划分为20个长度为50的句子(假定这个50个字的句子就是一句完整的话,实际上字数肯定小于这个值,划分的句子数量也大于20)。
对各个厂商确定的页面中的错别字格式清洗,各个厂商返回的数据格式是不一致的,针对不同厂商的返回结果需要用不同的方法转换为相同的格式,例如
百度返回:
另一个厂商返回:
具体实施中的入库格式是
需要将他们清洗为符合格式才能保证数据的统一入库,详细的清洗过程视不同的返回格式而定,对各个厂商确定的页面中的错别字格式清洗,是一项基本且必不可少的过程。
对分析结果整合:不同厂商接口对于文本有长度限制,页面源代码中提取的文本长度远远大于接口长度限制,因此一个页面的文本,需要分成多段文字多次去调同一个厂商的接口,而每次接口返回的数据中错别字的位置是针对调用接口的这段文字的位置,而不是该错别字在全文中的位置,需要重新计算错别字位置,这里又涉及到了上面的清洗问题,有的厂商计算文字位置时忽略了标点(我爱你,中国(中国位置是3-4)),有些是将标点位置算进去的(我爱你,中国(中国位置是4-5)),有的厂商位置计数从0开始有的厂商从1开始。例如:上面那个例子,句子在厂商1切分成了20个句子,那么将这20个句子的厂商接口返回结果整合,得到该厂商对于整个页面所有文本的分析结果,这里只是按厂商的结果整合不是说综合所有厂商结果,如流程图2所示。
在具体实施例中,还包括在设定时间对kenlm模型进行重训练,重训练的具体方法包括:基于各个厂商的接口返回的对同一页面中语句的分析结果对训练文本进行纠错,将纠错后的文本结果加入训练语料库,基于纠错后的训练语料库对kenlm进行重新训练得到新的klm模型。
具体实施例中,各个厂家对同一页面的识别结果通过接口返回,将同一页面中语句的返回结果整合,得到整个页面的错别字;综合所有厂商结果将各个厂商结果中相同的错误类型加入到我们的同音字,同形字等数据集中。
可选地,对各个厂商返回结果进行格式整理,入库,用于后续结果展示。
基于kenlm模型,获取中文常用字数据集,同音字数据集,同形字数据集,加载kenlm模型,使用正则将长句子切分为短句,查看是否包含混淆集的字词,如果有则加入疑似错误词典(类型为混淆类型),切词后查看字词是否在常用词数据集内,不是则加入疑似错误词典,利用kenlm模型根据以下公式,检测出句子中的疑似错别字。
Bi-gram:
对两端数据补全,用于计算首尾词的分数
Tri-gram:
首尾数据补全
取Bi-gram和Tri-gram对应位置的数值的平均值sentence_score
取sentence_score的中位数sentence_score_median
计算sentence_score中每个分数与sentence_score_median的差的绝对值,
获得分数差的绝对值数据margin_median
margin_median=[|sentence_score[1]-sentence_score_median|,
|sentence_score[2]-sentence_score_median|,...,
|sentence_score[n]-sentence_score_median|]
获取差值绝对值的中位数median_abs_deviation
y_score=0.6745×margin_median÷median_abs_deviation
通过以上方法,能够识别网页错别字的同时得到中文常用字数据集、同音字数据集、同形字数据集和混淆字数据集,录入自己数据库,作为自研错别字算法的数据训练集,随着任务量的提升,训练集逐渐扩大,既可以提升自己模型训练的准确性,又可作为专业数据集进行出售回收平台开发成本。
本发明提供的方法适配所有主流错别字检索工具,通过自主算法,提升错别字识别准确率;通过集成市面上主流的错别字识别接口,对各自的数据分析结果做数据清洗和整合,保证用户数据安全,仅返回综合分析结果给用户。
本发明能够实现web页面文字精确提取,和根据各主流平台不同字数限制做自动拆分,将拆分后的结果动态整合。用户仅需要提供一个主域名入口,即可实现全部网页的错别字识别分析结果本发明进一步通过对各厂商结果和本发明提供的方法的识别结果进行展示,能够实现针对定制用户,可提供网站分析结果汇总展示。
实施例三,识别出网站所有子页面中包含的错别字之后还包括对错别字进行纠错,具体包括以下步骤:
根据预先获取的最新的中文常用字数据集、同音字数据集、同形字数据集和混淆字数据集,将识别出的错别字词的同音字,同形字,混淆字带入原句子,计算PPL,并将PPL最小的值替换原句子;计算PPL的方法如下:
两边取对数
其中S为句子,wi为第i个词,p(wi)为第i个词的概率,
PPL(Perplexity)为用于评估语言模型的好坏,
p(wi)为第i个词的概率。
ppl是在上面kenlm模型识别出错别字基础上进行纠错的。方法是获取这个错别字所有的同音字,同形字,易错字,然后将这些字带入原句子,分别计算替换了这些文字后句子的ppl,ppl最小的为纠错后的字,每个字的概率是由klm模型得到的。
实施例四、与以上实施例提供的网站错别字识别方法对应的方法,本实施例提供了网站错别字识别***,包括以下步骤:主域名输入模块、源代码爬取模块、分词模块以及错别字识别模块;
所述主域名输入模块,用于输入主域名;
所述源代码爬取模块,用于针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码;
所述分词模块,用于根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
所述错别字识别模块,用于基于预先训练完成的kenlm模型,利用kenlm模型对短句打分,根据打分结果识别出网站所有子页面中包含的错别字词。
进一步,在实施例四的基础上,所述***还包括kenlm模型训练模块以及接口模块,所述kenlm模型训练模块用于训练kenlm模型,所述接口模块用于连接各个厂商输入接口;所述训练kenlm模型,具体用于调用分词模块将获得将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并通过接口模块分配给各个厂商接口;
所述训练kenlm模型,通过接口模块分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
需要说明的是,本实施例中各模块的具体实施方式如以上实施例一一对应,本实施例中不再详细说明。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (9)
1.网站错别字识别方法,其特征在于,包括以下步骤:
针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码,根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
基于预先训练完成的kenlm模型,利用kenlm模型对各个词打分,根据打分结果识别出网站所有子页面中包含的错别字词;
所述kenlm模型的训练方法包括:
将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并分配给各个厂商接口;
分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
2.如权利要求1所述的网站错别字识别方法,其特征在于,根据抓取的源代码获得正文文字的方法包括以下步骤:
分布式爬虫抓取网站源代码,将结果存入kafka;
利用logstash将kafka中的数据清洗后存入elasticsearch;
Beautifulsoup使用正则表达式取出页面源代码中的页面标签,提取出正文文字。
3.如权利要求1所述的网站错别字识别方法,其特征在于,所述kenlm模型的训练方法还包括按照设定时间对错词整合模型进行重新训练,具体重新训练的方法包括:
基于各个厂商的接口返回的对同一页面中语句的分析结果对训练文本进行纠错,将纠错后的文本结果加入训练语料库,基于纠错后的训练语料库对kenlm进行重新训练得到新的kenlm模型。
4.如权利要求1所述的网站错别字识别方法,其特征在于,识别出网站所有子页面中包含的错别字之后还包括对错别字进行纠错,具体包括以下步骤:
根据预先获取的中文常用字数据集、同音字数据集、同形字数据集和混淆字数据集,将识别出的错别字词的同音字,同形字,混淆字带入原句子,计算PPL,并将PPL最小的值替换原句子;计算PPL的方法如下:
两边取对数
其中S为句子,wi为第i个词,p(wi)为第i个词的概率,PPL(Perplexity)为用于评估语言模型的好坏。
5.如权利要求1所述的网站错别字识别方法,其特征在于,将各个厂商的接口返回的对同一页面中语句的分析结果中相同的错误类型,分别加入到同音字数据集、同形字数据集,获得更新后的同音字数据集、同形字数据集。
6.如权利要求1所述的网站错别字识别方法,其特征在于,使用正则将长句子切分为短句,判断是否包含混淆集的字词,如果有则加入疑似错误词典,类型混淆类型;切词后查看字词是否在常用词数据集内,不是则加入疑似错误词典。
7.网站错别字识别***,其特征在于,包括以下步骤:主域名输入模块、源代码爬取模块、分词模块以及错别字识别模块;
所述主域名输入模块,用于输入主域名;
所述源代码爬取模块,用于针对特定的主域名地址,利用分布式爬虫按照预先设定的爬取深度和爬取页面地址的规则进行爬取获得符合爬取深度要求的所有子页面的源代码;
所述分词模块,用于根据抓取的源代码获得正文文字并利用正则将正文文字中长句切分为短句,并将短句分词;
所述错别字识别模块,用于基于预先训练完成的kenlm模型,利用kenlm模型对短句打分,根据打分结果识别出网站所有子页面中包含的错别字词;
所述kenlm模型的训练方法包括:
将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并分配给各个厂商接口;
分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
8.根据权利要求7所述的网站错别字识别***,其特征在于,所述***还包括kenlm模型训练模块以及接口模块,所述kenlm模型训练模块用于训练kenlm模型,所述接口模块用于连接各个厂商输入接口;所述训练kenlm模型,具体用于调用分词模块将获得将训练文本的正文按照段落及标点切分,将页面切分为符合选定厂商接口长度要求的多个句子,并通过接口模块分配给各个厂商接口;
所述训练kenlm模型,通过接口模块分别获取各个厂商的接口返回的对同一页面中语句的分析结果,并分别将分析结果整合,得到整个页面的错别字;
对各个厂商确定的页面中的错别字格式清洗,得到训练语料库,通过训练预料库训练得到kenlm模型。
9.一种计算机可读存储介质,其特征在于,其存储有机器可读的指令,所述指令在由所述机器执行时使得所述机器执行上述权利要求1~权利要求6任意一项所述的网站错别字识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826076.5A CN111984845B (zh) | 2020-08-17 | 2020-08-17 | 网站错别字识别方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010826076.5A CN111984845B (zh) | 2020-08-17 | 2020-08-17 | 网站错别字识别方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984845A CN111984845A (zh) | 2020-11-24 |
CN111984845B true CN111984845B (zh) | 2023-10-31 |
Family
ID=73435293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010826076.5A Active CN111984845B (zh) | 2020-08-17 | 2020-08-17 | 网站错别字识别方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984845B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883717A (zh) * | 2021-04-27 | 2021-06-01 | 北京嘉和海森健康科技有限公司 | 一种错别字检测方法及装置 |
CN114387602B (zh) * | 2022-03-24 | 2022-07-08 | 北京智源人工智能研究院 | 医疗ocr数据优化模型训练方法、优化方法及设备 |
CN115146636A (zh) * | 2022-09-05 | 2022-10-04 | 华东交通大学 | 一种中文错别字纠错处理方法、***及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332028A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种面向网页的不良Web内容识别方法 |
CN107679036A (zh) * | 2017-10-12 | 2018-02-09 | 南京网数信息科技有限公司 | 一种错别字监测方法及*** |
CN109408331A (zh) * | 2018-10-15 | 2019-03-01 | 四川长虹电器股份有限公司 | 基于用户个性化特征的日志报警*** |
CN109992769A (zh) * | 2018-12-06 | 2019-07-09 | 平安科技(深圳)有限公司 | 基于语义解析的语句合理性判断方法、装置、计算机设备 |
CN110276077A (zh) * | 2019-06-25 | 2019-09-24 | 上海应用技术大学 | 中文纠错的方法、装置及设备 |
CN110717031A (zh) * | 2019-10-15 | 2020-01-21 | 南京摄星智能科技有限公司 | 一种智能会议纪要生成方法和*** |
CN110717327A (zh) * | 2019-09-29 | 2020-01-21 | 北京百度网讯科技有限公司 | 标题生成方法、装置、电子设备和存储介质 |
CN110852087A (zh) * | 2019-09-23 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 中文纠错方法和装置、存储介质及电子装置 |
CN110929098A (zh) * | 2019-11-14 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 视频数据的处理方法、装置、电子设备及存储介质 |
CN111026942A (zh) * | 2019-11-01 | 2020-04-17 | 平安科技(深圳)有限公司 | 基于网络爬虫的热点词汇提取方法、装置、终端及介质 |
CN111414749A (zh) * | 2020-03-18 | 2020-07-14 | 哈尔滨理工大学 | 基于深度神经网络的社交文本依存句法分析*** |
CN111414735A (zh) * | 2020-03-11 | 2020-07-14 | 北京明略软件***有限公司 | 文本数据的生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870355B2 (en) * | 2015-07-17 | 2018-01-16 | Ebay Inc. | Correction of user input |
-
2020
- 2020-08-17 CN CN202010826076.5A patent/CN111984845B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332028A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种面向网页的不良Web内容识别方法 |
CN107679036A (zh) * | 2017-10-12 | 2018-02-09 | 南京网数信息科技有限公司 | 一种错别字监测方法及*** |
CN109408331A (zh) * | 2018-10-15 | 2019-03-01 | 四川长虹电器股份有限公司 | 基于用户个性化特征的日志报警*** |
CN109992769A (zh) * | 2018-12-06 | 2019-07-09 | 平安科技(深圳)有限公司 | 基于语义解析的语句合理性判断方法、装置、计算机设备 |
CN110276077A (zh) * | 2019-06-25 | 2019-09-24 | 上海应用技术大学 | 中文纠错的方法、装置及设备 |
CN110852087A (zh) * | 2019-09-23 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 中文纠错方法和装置、存储介质及电子装置 |
CN110717327A (zh) * | 2019-09-29 | 2020-01-21 | 北京百度网讯科技有限公司 | 标题生成方法、装置、电子设备和存储介质 |
CN110717031A (zh) * | 2019-10-15 | 2020-01-21 | 南京摄星智能科技有限公司 | 一种智能会议纪要生成方法和*** |
CN111026942A (zh) * | 2019-11-01 | 2020-04-17 | 平安科技(深圳)有限公司 | 基于网络爬虫的热点词汇提取方法、装置、终端及介质 |
CN110929098A (zh) * | 2019-11-14 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 视频数据的处理方法、装置、电子设备及存储介质 |
CN111414735A (zh) * | 2020-03-11 | 2020-07-14 | 北京明略软件***有限公司 | 文本数据的生成方法和装置 |
CN111414749A (zh) * | 2020-03-18 | 2020-07-14 | 哈尔滨理工大学 | 基于深度神经网络的社交文本依存句法分析*** |
Non-Patent Citations (3)
Title |
---|
Stochastic optimization of program obfuscation;H. Liu 等;《2017 IEEE/ACM 39th International Conference on Software Engineering》;221-231 * |
基于多维语义关系的谐音双关语识别模型;徐琳宏 等;《中国科学:信息科学》;第48卷(第11期);1510-1520 * |
政府网站文本校对关键技术研究;袁志;《中国优秀硕士学位论文全文数据库信息科技辑》(第(2018)8期);I138-974 * |
Also Published As
Publication number | Publication date |
---|---|
CN111984845A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984845B (zh) | 网站错别字识别方法和*** | |
KR102316063B1 (ko) | 오디오 중의 키 프레이즈를 인식하기 위한 방법과 장치, 기기 및 매체 | |
CN111597351A (zh) | 可视化文档图谱构建方法 | |
CN110569335B (zh) | 基于人工智能的三元组校验方法、装置及存储介质 | |
CN107341143B (zh) | 一种句子连贯性判断方法及装置和电子设备 | |
WO2020233386A1 (zh) | 基于aiml的智能问答方法、装置、计算机设备及存储介质 | |
US10452785B2 (en) | Translation assistance system, translation assistance method and translation assistance program | |
CN113505209A (zh) | 一种面向汽车领域的智能问答*** | |
CN109213998B (zh) | 中文错字检测方法及*** | |
CN106547743B (zh) | 一种进行翻译的方法及其*** | |
CN110674378A (zh) | 基于余弦相似度和最小编辑距离的中文语义识别方法 | |
CN112231451B (zh) | 指代词恢复方法、装置、对话机器人及存储介质 | |
CN112101003B (zh) | 语句文本的切分方法、装置、设备和计算机可读存储介质 | |
CN101308512B (zh) | 一种基于网页的互译翻译对抽取方法及装置 | |
CN115017268B (zh) | 一种基于树结构的启发式日志抽取方法及*** | |
CN112131341A (zh) | 文本相似度计算方法、装置、电子设备和存储介质 | |
CN107797986B (zh) | 一种基于lstm-cnn的混合语料分词方法 | |
CN110929518B (zh) | 一种使用重叠拆分规则的文本序列标注算法 | |
CN110334362B (zh) | 一种基于医学神经机器翻译的解决产生未翻译单词的方法 | |
CN110413972B (zh) | 一种基于nlp技术的表名字段名智能补全方法 | |
CN111737424A (zh) | 一种问题的匹配方法、装置、设备及存储介质 | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
CN111680146A (zh) | 确定新词的方法、装置、电子设备及可读存储介质 | |
CN111368547A (zh) | 基于语义解析的实体识别方法、装置、设备和存储介质 | |
CN111414459B (zh) | 人物关系获取方法、装置、电子设备及存储介质 |
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 |