CN111159686B - 一种基于自然语言处理的人机验证方法和*** - Google Patents

一种基于自然语言处理的人机验证方法和*** Download PDF

Info

Publication number
CN111159686B
CN111159686B CN201911233815.3A CN201911233815A CN111159686B CN 111159686 B CN111159686 B CN 111159686B CN 201911233815 A CN201911233815 A CN 201911233815A CN 111159686 B CN111159686 B CN 111159686B
Authority
CN
China
Prior art keywords
verification
corpus
man
natural language
language processing
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
Application number
CN201911233815.3A
Other languages
English (en)
Other versions
CN111159686A (zh
Inventor
潘玉彪
杨祉
吴晨皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaqiao University
Original Assignee
Huaqiao University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huaqiao University filed Critical Huaqiao University
Priority to CN201911233815.3A priority Critical patent/CN111159686B/zh
Publication of CN111159686A publication Critical patent/CN111159686A/zh
Application granted granted Critical
Publication of CN111159686B publication Critical patent/CN111159686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提出一种基于自然语言处理的人机验证方法和***,通过若干方法获取用于进行人机验证的中文/英文语料;利用现有的语料库单词转换为多维词向量来分析单词与单词之间的关系,挖掘语料库中单词的联系;利用现有的一部分语料库凭借词向量构建人机验证模型;将用户输入的验证答案输入模型进行判断;将人类输入结果作为标签、训练集进行交叉验证,进行训练合并至原有验证集。基于自然语言处理的人机验证***及方法对用户进行人机验证,降低互联网受到恶意攻击的风险,可用于登陆、注册等网络场景下对用户进行人机验证并生成自然语言训练语料集。

Description

一种基于自然语言处理的人机验证方法和***
技术领域
本发明涉及安全防护和自然语言处理技术领域,特别是指一种基于自然语 言处理的人机验证方法和***。
背景技术
即使现在互联网已经渗透到我们生活的方方面面,但它依然只是现实的物 理世界在虚拟的网络空间上按比特信息编码后的投射。
这就意味着自动化程序同样可以模仿人的行为,同时,因为机器速度更快 且不知疲倦,它会被用于批量在论坛、网站、App中发布营销信息。而且,在 监管不足的情况下,利润更高的行业往往底线更低。一些自动化程序还会尝试 以「撞库」的方式窃取用户帐号、密码,给网站带来巨大的安全隐患。
验证码正是为了解决这样的问题而生的。它也是个自动化程序,不过存在 目的是区分用户到底是机器人还是真实的人。这些验证码有一个共同的原则: 人类很容易识别,但对计算机来说非常困难。
其次,验证码本身就被被称为一种「图灵测试」,所以它在设计之初就有促 进人工智能发展的初衷。目前的人机验证机制大多通过图像识别等方式来提供 验证,而对于图像的人工智能技术已经日趋完善。然而,市面上仍然存在打码 机器人众多、人机验证识别度低和自然语言处理类型人机识别验证缺失等问题。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于自然语 言处理的人机验证方法和***。
本发明采用如下技术方案:
一种基于自然语言处理的人机验证方法,其特征在于,包括如下步骤:
S1:构建验证集的语料库;
S2:根据语料库构建词向量模型;
S3:根据语料库和词向量模型构建人机验证模型;
S4:对验证集采用模板法随机生成验证码;
S5:将采集到的验证答案输入人机验证模型,判断是否满足要求,若否,则 重复该步骤,若是,则验证通过。
优选的,步骤S1具体包括如下:
S11:使用Scrapy框架爬取网络上的资讯、小说、百科和论文获得文本语 料;
S12:下载基于***、百度百科和搜狗提供的文本语料;
S13:对所有文本语料进行文本清洗;
S14:使用Jieba对清洗后的文本语料进行分词操作;
S15:通过现有语料标注或人工标注构建所述语料库。
优选的,步骤S2中,采用Word2Vec构建词向量模型。
优选的,步骤S3中,具体包括:
S31:采用所述词向量模型计算验证集中语料的文本向量距离,其包含杰卡 德系数、TF-IDF词袋模型和编辑距离;
S32:获取验证集中文本词性和句子成分。
优选的,步骤S31具体包括:
S311:计算杰卡德系数,比较验证集的文本语料之间的相似性与差异性;
S312:计算步骤S2获得的TF矩阵中两个向量的相似度;
S313:计算TF-IDF系数,在词频TF的基础上再加入IDF逆文档频率的 信息;
S314:计算验证集中不同文本语料之间的编辑距离。
优选的,步骤S32具体包括:
S321:通过语料库的文本语料得到文本语料中各分词的词性及句子成分;
S322:通过语料统计,得到语料库中未曾记录的词语的起始概率、发射概 率和转移概率;
S323:使用Viterbi算法,将对输入的句子进行分词转化得到语料库中词 性标注种类和个数。
优选的,步骤S4具体包括:
S41:随机从验证集中抽取一个句子;
S42:对抽取到的句子自动进行句子结构的划分,形式为<Ei,R,Ej>,Ei、 Ej为实体,R为关系;
S43:依据句子结构划分借助已有的问题模板进行问题生成。
优选的,步骤S5具体包括:
S51:判断用户输入的验证答案是否符合自然语法;
S52:判断用户输入验证答案和抽取的句子相似度是否达到80%;
S53:若达到相似的要求,则验证通过;否则,返回步骤S4。
优选的,还包括步骤S6,利用PCR回归建模,通过交叉验证对验证集进行 优化、合并,具体包括如下:
S61:服务器存储收集来的各种通过人机验证的语料;
S62:选取通过次数较多的语料,输入到PCR回归模型中进行交叉验证结果 正确性;
S63:将通过交叉验证的语料输入训练好的TF-IDF词袋模型进行训练;
S64:将通过交叉验证的语料合并至已有验证集。
一种基于自然语言处理的人机验证***,其特征在于,应用上述的一种基 于自然语言处理的人机验证方法,包括:
验证集模块,设有验证集,其包括语料库和词向量模型;
验证码生成模块,对验证集采用模板法随机生成验证码;
人机界面模块,提供操作界面以供显示验证码和输入验证答案;
人机验证模型模块,用于根据输入的验证答案,判断是否满足要求。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
1、降低互联网受到恶意攻击的风险,可用于登陆、注册等网络场景下对用 户进行人机验证,有效防止了机器人爬虫。
2、生成并公开自然语言训练语料集用于自然语言处理领域促进当代人工智 能产业发展。
附图说明
图1为本发明流程图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
本发明的一种基于自然语言处理的人机验证***及方法,包括以下步骤:(1) 验证集语料库的构建;(2)验证集语料的词向量模型的构建;(3)人机验证自 然语言处理模型的构建;(4)利用模板法随机生成验证码;(5)将采集到的验 证答案进行人机识别分析;(6)利用PCR回归建模,通过交叉验证对验证集进 行优化、合并。
参见图1,一种基于自然语言处理的人机验证方法,包括如下步骤:
S1:构建验证集的语料库。其具体包括如下:
S11:使用Scrapy框架爬取网络上的资讯、小说、百科和论文获得文本语料;
S12:下载基于***、百度百科和搜狗提供的文本语料;
S13:对所有文本语料进行文本清洗。文本清洗包括文本标准化、符后标准 化、停词去除、词性分析、命名实体、变形标准化等。
S14:使用Jieba对清洗后的文本语料进行分词操作。
S15:通过现有语料标注或人工标注构建所述语料库。
S2:根据语料库构建词向量模型,具体的,本发明采用Word2Vec构建词向 量模型。
S3:根据语料库和词向量模型构建人机验证模型。其具体包括:
S31:采用词向量模型计算验证集中语料的文本向量距离,其包含杰卡德系 数、TF-IDF词袋模型和编辑距离。TF-IDF词袋模型中包含TF-IDF系数及余弦 相似度。本步骤具体包括:
S311:计算杰卡德系数,比较验证集的文本语料之间的相似性与差异性;
S312:计算步骤S2获得的TF矩阵中两个向量的相似度,即采用Word2Vec 构建的两个单词的词向量;
S313:计算TF-IDF系数,在词频TF的基础上再加入IDF逆文档频率的 信息;
S314:计算验证集中不同文本语料之间的编辑距离。
S32:获取验证集中文本词性(863词性标注集)和句子成分(分词标注集)。
步骤S32具体包括:
S321:通过步骤S15中已有语料库的文本语料统计得到文本语料中各分词 的词性及句子成分;
S322:通过前文的语料统计,得到语料库中未曾记录的词语的起始概率、 发射概率和转移概率。未曾记录的词语即步骤S15中现有语料标注或人工标注 构建的语料库中未曾记录的词语。起始概率是指某一个词性出现的次数/语料库 总词性标记数,发射概率是指该词语不同词性出现的次数/该词语总共出现的总 次数,转移概率是指词性出现时的前一个词性的次数/该词性出现的总次数。
S323:使用Viterbi算法,将对输入的句子(即观测序列)进行分词转化得 到语料库中词性标注种类和个数(隐藏序列)。
S4:对验证集采用模板法随机生成验证码。具体包括:
S41:随机从验证集中抽取一个句子;
S42:对抽取到的句子自动进行句子结构的划分,形式为<Ei,R,Ej>,Ei、 Ej为实体,R为关系;
S43:依据句子结构划分借助已有的问题模板进行问题生成。
S5:将采集到的验证答案输入人机验证模型,判断是否满足要求,若否,则 重复该步骤,若是,则验证通过。
步骤S5具体包括:
S51:判断用户输入的验证答案是否符合自然语法;
S52:判断用户输入验证答案和抽取的句子相似度是否达到80%;
S53:若达到相似的要求,则验证通过;否则,返回步骤S4。
进一步的,本发明还包括步骤S6,利用PCR回归建模,通过交叉验证对验 证集进行优化、合并,具体包括如下:
S61:服务器存储收集来的各种通过人机验证的语料,即用户在网页上进行 人机验证的答案;
S62:选取通过次数较多的语料,输入到PCR回归模型中进行交叉验证结 果正确性;
S63:将通过交叉验证的语料输入训练好的TF-IDF词袋模型进行训练;
S64:将通过交叉验证的语料合并至已有验证集。
本发明还提出一种基于自然语言处理的人机验证***,应用上述的基于自 然语言处理的人机验证方法,包括:
验证集模块,设有验证集,其包括语料库和词向量模型;
验证码生成模块,对验证集采用模板法随机生成验证码;
人机界面模块,提供操作界面以供显示验证码和输入验证答案;
人机验证模型模块,用于根据输入的验证答案,判断是否满足要求。
本发明提出的基于自然语言处理的人机验证***及方法充分挖掘了自然语 言的内在潜力,降低了用户验证难度,增加了人机验证的趣味性和破解难度, 提升了人机验证的效率、准确度和安全性。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡 利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行 为。

Claims (7)

1.一种基于自然语言处理的人机验证方法,其特征在于,包括如下步骤:
S1:构建验证集的语料库;
S2:根据语料库构建词向量模型;
S3:根据语料库和词向量模型构建人机验证模型,具体包括:
S31:采用所述词向量模型计算验证集中语料的文本向量距离,其包含杰卡德系数、TF-IDF词袋模型和编辑距离;具体包括:
S311:计算杰卡德系数,比较验证集的文本语料之间的相似性与差异性;
S312:计算步骤S2获得的TF矩阵中两个向量的相似度;
S313:计算TF-IDF系数,在词频TF的基础上再加入IDF逆文档频率的信息;
S314:计算验证集中不同文本语料之间的编辑距离;
S32:获取验证集中文本词性和句子成分,具体包括:
S321:通过语料库的文本语料得到文本语料中各分词的词性及句子成分;
S322:通过语料统计,得到语料库中未曾记录的词语的起始概率、发射概率和转移概率,起始概率是指某一个词性出现的次数/语料库总词性标记数,发射概率是指该词语不同词性出现的次数/该词语总共出现的总次数,转移概率是指词性出现时的前一个词性的次数/该词性出现的总次数;
S323:使用Viterbi算法,将对输入的句子进行分词转化得到语料库中词性标注种类和个数;
S4:对验证集采用模板法随机生成验证码;
S5:将采集到的验证答案输入人机验证模型,判断是否满足要求,若否,则重复该步骤,若是,则验证通过。
2.如权利要求1所述的一种基于自然语言处理的人机验证方法,其特征在于,步骤S1具体包括如下:
S11:使用Scrapy框架爬取网络上的资讯、小说、百科和论文获得文本语料;
S12:下载基于***、百度百科和搜狗提供的文本语料;
S13:对所有文本语料进行文本清洗;
S14:使用Jieba对清洗后的文本语料进行分词操作;
S15:通过现有语料标注或人工标注构建所述语料库。
3.如权利要求1所述的一种基于自然语言处理的人机验证方法,其特征在于,步骤S2中,采用Word2Vec构建词向量模型。
4.如权利要求1所述的一种基于自然语言处理的人机验证方法,其特征在于,步骤S4具体包括:
S41:随机从验证集中抽取一个句子;
S42:对抽取到的句子自动进行句子结构的划分,形式为<Ei,R,Ej>,Ei、Ej为实体,R为关系;
S43:依据句子结构划分借助已有的问题模板进行问题生成。
5.如权利要求4所述的一种基于自然语言处理的人机验证方法,其特征在于,步骤S5具体包括:
S51:判断用户输入的验证答案是否符合自然语法;
S52:判断用户输入验证答案和抽取的句子相似度是否达到80%;
S53:若达到相似的要求,则验证通过;否则,返回步骤S4。
6.如权利要求1所述的一种基于自然语言处理的人机验证方法,其特征在于,还包括步骤S6,利用PCR回归建模,通过交叉验证对验证集进行优化、合并,具体包括如下:
S61:服务器存储收集来的各种通过人机验证的语料;
S62:选取验证通过次数较多的语料,输入到PCR回归模型中进行交叉验证结果正确性;
S63:将通过交叉验证的语料输入训练好的TF-IDF词袋模型进行训练;
S64:将通过交叉验证的语料合并至已有验证集。
7.一种基于自然语言处理的人机验证***,其特征在于,应用权利要求1至6中任一项所述的一种基于自然语言处理的人机验证方法,包括:
验证集模块,设有验证集,其包括语料库和词向量模型;
验证码生成模块,对验证集采用模板法随机生成验证码;
人机界面模块,提供操作界面以供显示验证码和输入验证答案;
人机验证模型模块,用于根据输入的验证答案,判断是否满足要求。
CN201911233815.3A 2019-12-05 2019-12-05 一种基于自然语言处理的人机验证方法和*** Active CN111159686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911233815.3A CN111159686B (zh) 2019-12-05 2019-12-05 一种基于自然语言处理的人机验证方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911233815.3A CN111159686B (zh) 2019-12-05 2019-12-05 一种基于自然语言处理的人机验证方法和***

Publications (2)

Publication Number Publication Date
CN111159686A CN111159686A (zh) 2020-05-15
CN111159686B true CN111159686B (zh) 2022-06-07

Family

ID=70556430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911233815.3A Active CN111159686B (zh) 2019-12-05 2019-12-05 一种基于自然语言处理的人机验证方法和***

Country Status (1)

Country Link
CN (1) CN111159686B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980128A (zh) * 2005-12-01 2007-06-13 王继华 互联网用户验证的方法和***
CN106372107A (zh) * 2016-08-19 2017-02-01 中兴通讯股份有限公司 自然语言文句库的生成方法及装置
CN109902159A (zh) * 2019-01-29 2019-06-18 华融融通(北京)科技有限公司 一种基于自然语言处理的智能运维语句相似度匹配方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980128A (zh) * 2005-12-01 2007-06-13 王继华 互联网用户验证的方法和***
CN106372107A (zh) * 2016-08-19 2017-02-01 中兴通讯股份有限公司 自然语言文句库的生成方法及装置
WO2018033030A1 (zh) * 2016-08-19 2018-02-22 中兴通讯股份有限公司 自然语言文句库的生成方法及装置
CN109902159A (zh) * 2019-01-29 2019-06-18 华融融通(北京)科技有限公司 一种基于自然语言处理的智能运维语句相似度匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"深度文本匹配综述";庞亮,兰艳艳,徐君 等;《计算机学报》;20170430;第40卷(第4期);全文 *

Also Published As

Publication number Publication date
CN111159686A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
US20220245365A1 (en) Translation method and apparatus based on multimodal machine learning, device, and storage medium
US11010673B2 (en) Method and system for entity relationship model generation
CN108563620A (zh) 文本自动写作方法和***
CN109697239B (zh) 用于生成图文信息的方法
CN111694937A (zh) 基于人工智能的面试方法、装置、计算机设备及存储介质
Yang et al. Constrained lstm and residual attention for image captioning
US11170169B2 (en) System and method for language-independent contextual embedding
CN113987169A (zh) 基于语义块的文本摘要生成方法、装置、设备及存储介质
CN113836866B (zh) 文本编码方法、装置、计算机可读介质及电子设备
CN115310551A (zh) 文本分析模型训练方法、装置、电子设备和存储介质
CN113704393A (zh) 关键词提取方法、装置、设备及介质
CN112528654A (zh) 自然语言处理方法、装置及电子设备
CN111221942B (zh) 智能化文本对话生成方法、装置及计算机可读存储介质
Dhoolia et al. A cognitive system for business and technical support: A case study
CN111597816A (zh) 一种自注意力命名实体识别方法、装置、设备及存储介质
CN112989829B (zh) 一种命名实体识别方法、装置、设备及存储介质
CN102662929A (zh) 一种基于本体的问题智能分析处理的方法和装置
An et al. Resource mention extraction for MOOC discussion forums
CN113705207A (zh) 语法错误识别方法及装置
Gupta et al. A TENGRAM method based part-of-speech tagging of multi-category words in Hindi language
CN115860002B (zh) 一种基于事件抽取的作战任务生成方法及***
CN117034230A (zh) 一种数据校验方法、装置、设备及其存储介质
CN110442858B (zh) 一种问句实体识别方法、装置、计算机设备及存储介质
CN111159686B (zh) 一种基于自然语言处理的人机验证方法和***
Tannert et al. FlowchartQA: the first large-scale benchmark for reasoning over flowcharts

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