CN106385693B - 针对虚拟号段的电信诈骗判断方法 - Google Patents

针对虚拟号段的电信诈骗判断方法 Download PDF

Info

Publication number
CN106385693B
CN106385693B CN201610840634.7A CN201610840634A CN106385693B CN 106385693 B CN106385693 B CN 106385693B CN 201610840634 A CN201610840634 A CN 201610840634A CN 106385693 B CN106385693 B CN 106385693B
Authority
CN
China
Prior art keywords
model
fraud
samples
data
sample
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
CN201610840634.7A
Other languages
English (en)
Other versions
CN106385693A (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.)
Changsha Chuangke Software Co Ltd
Original Assignee
Changsha Chuangke Software Co Ltd
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 Changsha Chuangke Software Co Ltd filed Critical Changsha Chuangke Software Co Ltd
Priority to CN201610840634.7A priority Critical patent/CN106385693B/zh
Publication of CN106385693A publication Critical patent/CN106385693A/zh
Application granted granted Critical
Publication of CN106385693B publication Critical patent/CN106385693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Abstract

本发明公开了一种针对虚拟号段的电信诈骗判断方法,包括获取警方电信诈骗案情数据和运营商通信数据;进行数据匹配,得到初始训练集;采用随机过采样方法得到正负类均衡样本;训练正负类均衡样本得到预测模型;将用户的虚拟号段呼入号码通信特征带入预测模型并得到判断结果。本发明通过已有的通信数据和公安局案情数据产生基本训练样本,并以该基本训练样本为基础,采用Adaboost模型对样本进行训练,从而得到最终的电信诈骗判定模型,并依据该判定模型对电话进行判定,因此本发明方法能够针对虚拟号段,快速准确判别该号码是否是电信诈骗,判别准确度高,而且算法计算快速简便,适用性好。

Description

针对虚拟号段的电信诈骗判断方法
技术领域
本发明具体涉及一种针对虚拟号段的电信诈骗判断方法。
背景技术
随着国家经济的发展和人们生活水平的提高,我国的电信事业发展十分迅速。截至到2015年底,我国电话用户数已经达到15.37亿户,而其中移动电话用户已达13.06亿户,4G用户达到3.86225亿户,中国已成为全球用户最多的通讯大国。
但是,在电信产业迅猛发展的同时,利用现代通讯技术和结算方式的便利进行的各种犯罪活动也日益猖獗起来。目前,电话的诈骗手段越来越多,很多让人防不胜防;此外,由于目前通信技术的成熟和各类电信软件的应用,我国已经出现了大量利用虚拟号段进行电信诈骗的案件。据统计,在居民通话中普通通话和诈骗通话的比例约为6000000:1,而虚拟号段的不均衡度约为50000:1。因此,在虚拟号段发生电信诈骗的可能性远远大于普通通话中发生电信诈骗的概率。
目前针对电话诈骗目前主要是通过媒体、社会宣传对诈骗活动进行披露,使人们提高警惕来达到防范作用,这种方式过度依赖人们的主观判断,因此,目前的电信诈骗,特别是虚拟号段的电信诈骗,其并不是特别容易进行分辨,这种诈骗方式仍有可能危害到人们的生活和工作。
发明内容
本发明的目的在于提供一种针对虚拟号段、能够快速准确判别该号码是否是电信诈骗的针对虚拟号段的电信诈骗判断方法。
本发明提供的这种针对虚拟号段的电信诈骗判断方法,包括如下步骤:
S1.获取警方电信诈骗案情数据和运营商通信数据;
S2.对步骤S1获取的数据进行匹配,得到初始训练集;
S3.对步骤S2得到的初始训练集,采用随机过采样方法得到正负类均衡样本;
S4.采用Adaboost模型对步骤S3得到的正负类均衡样本进行训练,得到预测模型;
S5.对用户的实时通话进行监测:若用户的呼入号码为虚拟号段,则将该呼入号码的通信特征带入步骤S4得到的预测模型,模型的输出结果即为该呼入号码为诈骗通话的判断结果。
步骤S1所述的警方电信诈骗案情数据包括报案时间和诈骗号码;所述的运营商通信数据为居民日常通信的标准信息,包括主叫号码、被叫号码、通话时间和通话时长。
步骤S2所述的对数据进行匹配,具体为采用如下步骤进行数据匹配:
A.调取过去若干天内运营商通信数据中的主叫号码和被叫号码;
B.将步骤A调取的号码与诈骗号码进行比对,标记出诈骗通话,并将剩余的通话标记为普通通话,从而得到初始训练集。
步骤S3所述的采用随机过采样方法得到正负类均衡样本,具体包括如下步骤:
对于训练集TN={X,Y},X∈Rq,Y∈{0,1},N为训练集样本个数,q为模型输入的自变量个数,q为模型输入的自变量个数;
a.从训练集中随机抽取等量的普通类样本和诈骗类样本:
根据二项分布b(n,p),随机生成N个取值为{0,1}的二元向量{x1,...,xn},其中
Figure BDA0001118527950000031
p为自定义的0~1之间的值;同时定义
Figure BDA0001118527950000032
Figure BDA0001118527950000033
N0+N1=1;其中N0即为所有xi=0的个数,N1为所有xi=1的个数;
从TN中分别随机抽取N0个普通类样本
Figure BDA0001118527950000034
和N1个诈骗类样本并记
Figure BDA0001118527950000036
得到随机抽取的均衡样本Ts={Xs,Ys};
b.根据核函数KH(·,x)生成最终的均衡样本Xb
取核函数KH为均值为xi的正态分布;已知q为模型输入的自变量个数,N为样本数,sdi(i=1,…,q)为Xs中每一列的标准差;定义限制参数
Figure BDA0001118527950000037
则尺度矩阵为:
则均衡样本Xb
Xb=Xs+MU·H
式中MU为随机矩阵,其中每个元素的产生服从均值为0、方差为1的正态分布N(0,1);同时令Yb=Ys,则得到模型输入的最终均衡样本Tb={Xb,Yb}。
步骤S4所述的采用Adaboost模型对得到的正负类均衡样本进行训练,得到预测模型,具体包括如下步骤:
1)对于均衡样本Tb={Xb,Yb},样本数量为N,自变量个数为q,初始化数据集的权值分布:
Figure BDA0001118527950000041
其中w1,i为第m此迭代中第i个样本的权重,则向量Dm即为第m次迭代之初所有样本的权值;
2)以决策树模型为基本分类器,进行M次迭代,M为自然数,具体包括:
ⅰ.使用具有权值分布Dm的训练数据集,训练决策树模型,得到基本分类器Gm(x):
Gm(x):X→{0,1}
即对每一个
ⅱ.计算Gm(x)在训练数据集上的分类误差率:
Figure BDA0001118527950000043
ⅲ.计算Gm(x)的系数:
ⅳ.更新训练数据集的权值分布:
Dm+1=(wm+1,1,...,wm+1,N)
式中Zm是规范化因子,其目的在于将样本权重的大小控制在(0,1)之间:
Figure BDA0001118527950000046
3)构建基本分类器的线性组合:
Figure BDA0001118527950000047
4)得到最终的分类器G(x):
Figure BDA0001118527950000051
式中sign()为符号函数,即若f(x)为正,则sign()函数取值为1;若f(x)为负,则sign()函数取值为0。
所述的M的取值为3000~10000。
步骤S5所述的模型的输出结果即为该呼入号码为诈骗通话的判断结果,具体为若模型的输出结果为1,则判定该呼入号码为诈骗通话;若模型的输出结果为0,则判定为呼入号码为非诈骗电话。
本发明提供的这种针对虚拟号段的电信诈骗判断方法,通过已有的通信数据和公安局案情数据产生基本训练样本,并以该基本训练样本为基础,采用Adaboost模型对样本进行训练,从而得到最终的电信诈骗判定模型,并依据该判定模型对电话进行判定,因此本发明方法能够针对虚拟号段,快速准确判别该号码是否是电信诈骗,判别准确度高,而且算法计算快速简便,适用性好。
附图说明
图1为本发明的方法流程图。
具体实施方式
如图1所示为本发明的方法流程图;以下结合一个实施例对本发明方法进行进一步说明:
S1.获取警方电信诈骗案情数据和运营商通信数据;
所述的警方电信诈骗案情数据包括报案时间和诈骗号码;所述的运营商通信数据为居民日常通信的标准信息,包括主叫号码、被叫号码、通话时间和通话时长;
选择2016年某月十天作为训练样本时间段,提取运营商通话数据和警方电信诈骗案请数据。S2.对步骤S1获取的数据进行匹配,得到初始训练集;主要包括如下步骤:
A.调取过去若干天内运营商通信数据中的主叫号码和被叫号码;
B.将步骤A调取的号码与诈骗号码进行比对,标记出诈骗通话,并将剩余的通话标记为普通通话,从而得到初始训练集;
对运营商通信数据中的主叫号码、被叫号码与诈骗案情号码进行匹配,标记出诈骗通话,其余则标记为普通通话,得到模型的初始训练集。此次试验中虚拟号段通话量为约240w,其中诈骗通话约为80个,不均衡度为30000:1;自变量个数q=12,因变量Y={0,1},“0”表示普通通话,“1”表示诈骗通话;
S3.对步骤S2得到的初始训练集,采用随机过采样方法得到正负类均衡样本;具体包括如下步骤:
对于训练集TN={X,Y},X∈Rq,Y∈{0,1},N为训练集样本个数,q为模型输入的自变量个数,q为模型输入的自变量个数;
a.从训练集中随机抽取等量的普通类样本和诈骗类样本:
根据二项分布b(n,p),随机生成240万个取值为{0,1}的二元向量{x1,...,xn},其中
Figure BDA0001118527950000061
p为自定义的0~1之间的值;同时定义
Figure BDA0001118527950000062
Figure BDA0001118527950000063
N0+N1=1;其中N0即为所有xi=0的个数,N1为所有xi=1的个数;
从TN中分别随机抽取N0个普通类样本
Figure BDA0001118527950000064
和N1个诈骗类样本
Figure BDA0001118527950000065
并记
Figure BDA0001118527950000066
得到随机抽取的均衡样本Ts={Xs,Ys};
b.根据核函数KH(·,x)生成最终的均衡样本Xb
取核函数KH为均值为xi的正态分布;已知q为模型输入的自变量个数12,N为样本数240万,sdi(i=1,…,12)为Xs中每一列的标准差;定义限制参数
Figure BDA0001118527950000071
则尺度矩阵为:
则均衡样本Xb
Xb=Xs+MU·H
式中MU为随机矩阵,其中每个元素的产生服从均值为0、方差为1的正态分布N(0,1);同时令Yb=Ys,则得到模型输入的最终均衡样本Tb={Xb,Yb}
S4.采用Adaboost模型对步骤S3得到的正负类均衡样本进行训练,得到预测模型;具体包括如下步骤:
1)对于均衡样本Tb={Xb,Yb},样本数量为N,自变量个数为q,初始化数据集的权值分布:
Figure BDA0001118527950000073
其中w1,i为第m此迭代中第i个样本的权重,则向量Dm即为第m次迭代之初所有样本的权值;
2)以决策树模型为基本分类器,进行M次迭代,M为自然数,根据经验及公开的论文研究,M取值为3000~10000之间模型即可收敛;具体包括:
ⅰ.使用具有权值分布Dm的训练数据集,训练决策树模型,得到基本分类器Gm(x):
Gm(x):X→{0,1}
即对每一个
Figure BDA0001118527950000081
ⅱ.计算Gm(x)在训练数据集上的分类误差率:
ⅲ.计算Gm(x)的系数:
Figure BDA0001118527950000083
ⅳ.更新训练数据集的权值分布:
Dm+1=(wm+1,1,...,wm+1,N)
Figure BDA0001118527950000084
式中Zm是规范化因子,其目的在于将样本权重的大小控制在(0,1)之间:
Figure BDA0001118527950000085
3)构建基本分类器的线性组合:
Figure BDA0001118527950000086
4)得到最终的分类器G(x):
Figure BDA0001118527950000087
式中sign()为符号函数,即若f(x)为正,则sign()函数取值为1;若f(x)为负,则sign()函数取值为0;
S5.对用户的实时通话进行监测:若用户的呼入号码为虚拟号段,则将该呼入号码的通信特征带入步骤S4得到的预测模型,模型的输出结果即为该呼入号码为诈骗通话的判断结果,具体为若模型的输出结果为1,则判定该呼入号码为诈骗通话;若模型的输出结果为0,则判定为呼入号码为非诈骗电话。

Claims (6)

1.一种针对虚拟号段的电信诈骗判断方法,包括如下步骤:
S1.获取警方电信诈骗案情数据和运营商通信数据;
S2.对步骤S1获取的数据进行匹配,得到初始训练集;
S3.对步骤S2得到的初始训练集,采用随机过采样方法得到正负类均衡样本;具体包括如下步骤:
对于训练集TN={X,Y},X∈Rq,Y∈{0,1},N为训练集样本个数,q为模型输入的自变量个数;
a.从训练集中随机抽取等量的普通类样本和诈骗类样本:
根据二项分布b(n,p),随机生成N个取值为{0,1}的二元向量{x1,...,xn},其中
Figure FDA0002264028330000011
p为自定义的0~1之间的值;同时定义
Figure FDA0002264028330000012
Figure FDA0002264028330000013
N0+N1=N;其中N0即为所有xi=0的个数,N1为所有xi=1的个数;
从TN中分别随机抽取N0个普通类样本
Figure FDA0002264028330000014
和N1个诈骗类样本
Figure FDA0002264028330000015
并记得到随机抽取的均衡样本Ts={Xs,Ys};
b.根据核函数KH(·,x)生成最终的均衡样本Xb
取核函数KH为均值为xi的正态分布;已知q为模型输入的自变量个数,N为样本数,sdi为Xs中每一列的标准差,i=1,…,q;定义限制参数则尺度矩阵为:
Figure FDA0002264028330000018
则均衡样本Xb
Xb=Xs+MU·H
式中MU为随机矩阵,其中每个元素的产生服从均值为0、方差为1的正态分布N(0,1);同时令Yb=Ys,则得到模型输入的最终均衡样本Tb={Xb,Yb};
S4.采用Adaboost模型对步骤S3得到的正负类均衡样本进行训练,得到预测模型;
S5.对用户的实时通话进行监测:若用户的呼入号码为虚拟号段,则将该呼入号码的通信特征带入步骤S4得到的预测模型,模型的输出结果即为该呼入号码为诈骗通话的判断结果。
2.根据权利要求1所述的针对虚拟号段的电信诈骗判断方法,其特征在于步骤S1所述的警方电信诈骗案情数据包括报案时间和诈骗号码;所述的运营商通信数据为居民日常通信的标准信息,包括主叫号码、被叫号码、通话时间和通话时长。
3.根据权利要求1所述的针对虚拟号段的电信诈骗判断方法,其特征在于步骤S2所述的对数据进行匹配,具体为采用如下步骤进行数据匹配:
A.调取过去若干天内运营商通信数据中的主叫号码和被叫号码;
B.将步骤A调取的号码与诈骗号码进行比对,标记出诈骗通话,并将剩余的通话标记为普通通话,从而得到初始训练集。
4.根据权利要求1~3之一所述的针对虚拟号段的电信诈骗判断方法,其特征在于步骤S4所述的采用Adaboost模型对得到的正负类均衡样本进行训练,得到预测模型,具体包括如下步骤:
1)对于均衡样本Tb={Xb,Yb},样本数量为N,自变量个数为q,初始化数据集的权值分布:
Figure FDA0002264028330000031
其中w1,i为第m此迭代中第i个样本的权重,则向量Dm即为第m次迭代之初所有样本的权值;
2)以决策树模型为基本分类器,进行M次迭代,M为自然数,具体包括:
ⅰ.使用具有权值分布Dm的训练数据集,训练决策树模型,得到基本分类器Gm(x):
Gm(x):X→{0,1}
即对每一个xi∈Xb,
Figure FDA0002264028330000032
ⅱ.计算Gm(x)在训练数据集上的分类误差率:
Figure FDA0002264028330000033
ⅲ.计算Gm(x)的系数:
Figure FDA0002264028330000034
ⅳ.更新训练数据集的权值分布:
Dm+1=(wm+1,1,...,wm+1,N)
Figure FDA0002264028330000035
式中Zm是规范化因子,其目的在于将样本权重的大小控制在(0,1)之间:
Figure FDA0002264028330000036
3)构建基本分类器的线性组合:
Figure FDA0002264028330000037
4)得到最终的分类器G(x):
Figure FDA0002264028330000041
式中sign()为符号函数,即若f(x)为正,则sign()函数取值为1;若f(x)为负,则sign()函数取值为0。
5.根据权利要求4所述的针对虚拟号段的电信诈骗判断方法,其特征在于所述的M的取值为3000~10000。
6.根据权利要求1~3之一所述的针对虚拟号段的电信诈骗判断方法,其特征在于步骤S5所述的模型的输出结果即为该呼入号码为诈骗通话的判断结果,具体为若模型的输出结果为1,则判定该呼入号码为诈骗通话;若模型的输出结果为0,则判定为呼入号码为非诈骗电话。
CN201610840634.7A 2016-09-22 2016-09-22 针对虚拟号段的电信诈骗判断方法 Active CN106385693B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610840634.7A CN106385693B (zh) 2016-09-22 2016-09-22 针对虚拟号段的电信诈骗判断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610840634.7A CN106385693B (zh) 2016-09-22 2016-09-22 针对虚拟号段的电信诈骗判断方法

Publications (2)

Publication Number Publication Date
CN106385693A CN106385693A (zh) 2017-02-08
CN106385693B true CN106385693B (zh) 2020-02-07

Family

ID=57936026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610840634.7A Active CN106385693B (zh) 2016-09-22 2016-09-22 针对虚拟号段的电信诈骗判断方法

Country Status (1)

Country Link
CN (1) CN106385693B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851633B (zh) * 2017-02-15 2020-05-01 上海交通大学 基于用户隐私保护的电信欺诈检测系统及方法
CN107133265B (zh) * 2017-03-31 2021-07-09 咪咕动漫有限公司 一种识别行为异常用户的方法及装置
CN109600520B (zh) * 2017-09-30 2021-03-16 上海触乐信息科技有限公司 骚扰电话号码识别方法、装置及设备
CN109996237A (zh) * 2018-01-02 2019-07-09 中兴通讯股份有限公司 一种VoLTE网络中发现骚扰电话的方法及装置
CN113114859A (zh) * 2018-05-29 2021-07-13 维沃移动通信有限公司 一种号码拦截方法及服务器
CN109815984A (zh) * 2018-12-21 2019-05-28 中国电信集团工会上海市委员会 一种基于卷积神经网络的用户行为鉴别系统及方法
CN109688275A (zh) * 2018-12-27 2019-04-26 中国联合网络通信集团有限公司 骚扰电话识别方法、装置及存储介质
CN110072017A (zh) * 2019-04-28 2019-07-30 济南大学 基于特征选择与集成学习的异常电话识别方法及系统
CN113630495B (zh) * 2020-05-07 2022-08-02 中国电信股份有限公司 涉诈订单预测模型训练方法和装置,订单预测方法和装置
CN114302398B (zh) * 2020-09-23 2023-11-21 中国移动通信集团重庆有限公司 基于大数据的预留诈骗号码识别方法、装置及计算设备
CN115174745B (zh) * 2022-07-04 2023-08-15 联通(山东)产业互联网有限公司 一种基于图网络和机器学习的电话号码诈骗模式识别的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945280A (zh) * 2012-11-15 2013-02-27 翟云 一种基于非平衡数据分布的多异质基分类器融合分类方法
CN104602240A (zh) * 2014-12-19 2015-05-06 百度在线网络技术(北京)有限公司 一种防电话诈骗的方法及装置
CN105184574A (zh) * 2015-06-30 2015-12-23 电子科技大学 一种套用商户类别码欺诈行为的检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289089A1 (en) * 2004-06-28 2005-12-29 Naoki Abe Methods for multi-class cost-sensitive learning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945280A (zh) * 2012-11-15 2013-02-27 翟云 一种基于非平衡数据分布的多异质基分类器融合分类方法
CN104602240A (zh) * 2014-12-19 2015-05-06 百度在线网络技术(北京)有限公司 一种防电话诈骗的方法及装置
CN105184574A (zh) * 2015-06-30 2015-12-23 电子科技大学 一种套用商户类别码欺诈行为的检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于Boosting的集成学习算法在不均衡数据中的分类;李诒靖;《系统工程理论与实践》;20160131;第36卷(第01期);第190-191页 *
非平衡数据集分类方法研究及其在电信行业中的应用;王春玉;《中国优秀硕士学位论文全文数据库(电子期刊)》;20120715(第07期);第8、11-12、15-20页 *

Also Published As

Publication number Publication date
CN106385693A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN106385693B (zh) 针对虚拟号段的电信诈骗判断方法
CN108108902B (zh) 一种风险事件告警方法和装置
CN108053318B (zh) 一种对异常交易进行识别的方法及装置
CN107038449B (zh) 一种欺诈用户的识别方法及装置
CN110362999B (zh) 用于检测账户使用异常的方法及装置
CN112185395B (zh) 一种基于差分隐私的联邦声纹识别方法
WO2020073519A1 (zh) 声纹验证的方法、装置、计算机设备以及存储介质
CN110798330A (zh) 一种电信诈骗库更新处理方法及装置
CN112651619A (zh) 面向业务的风控方法及装置
CN110619535B (zh) 一种数据处理方法及其装置
CN107944557B (zh) 一种骚扰电话的识别方法
Huang et al. A novel hybrid artificial immune inspired approach for online break-in fraud detection
CN111428217A (zh) 欺诈团伙识别方法、装置、电子设备及计算机可读存储介质
CN109600520A (zh) 骚扰电话号码识别方法、装置及设备
CN113191787A (zh) 电信数据的处理方法、装置电子设备及存储介质
Yusoff et al. Fraud detection in telecommunication industry using Gaussian mixed model
CN106897880A (zh) 一种账号风险评估方法和设备
CN113592517A (zh) 欺诈客群识别方法、装置、终端设备及计算机存储介质
CN110675263B (zh) 交易数据的风险识别方法以及装置
CN112866486A (zh) 一种基于多源特征的诈骗电话识别方法、系统及设备
CN110555007B (zh) 盗号行为判别方法、装置、计算设备及存储介质
CN109711984B (zh) 一种基于催收的贷前风险监控方法及装置
CN110677269B (zh) 通信用户关系的确定方法、装置和计算机可读存储介质
CN111401906A (zh) 转账风险检测方法及系统
CN113163057B (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