CN107871008A - 一种生成用于用户代理信息的数据库的方法 - Google Patents
一种生成用于用户代理信息的数据库的方法 Download PDFInfo
- Publication number
- CN107871008A CN107871008A CN201711142442.XA CN201711142442A CN107871008A CN 107871008 A CN107871008 A CN 107871008A CN 201711142442 A CN201711142442 A CN 201711142442A CN 107871008 A CN107871008 A CN 107871008A
- Authority
- CN
- China
- Prior art keywords
- app
- keyword
- useragent
- fields
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000011218 segmentation Effects 0.000 claims description 12
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种生成用于用户代理信息的数据库的方法。本发明提供一种生成APP字典库的方法,所述方法包括:A1)从收集的DPI数据中获取UserAgent字段;A2)对所述UserAgent字段进行分词,获得一个或多个关键词;A3)在互联网上检索所述关键词,计算所述关键词为APP名称的概率。并且,本发明还提供了一种在线地对用户所使用的APP进行识别的方法以供软件、应用的开发者使用。
Description
技术领域
本发明涉及信息处理,尤其涉及对互联网的用户的信息进行处理。
背景技术
随着互联网大数据分析朝着更加精细、更加人性化的方向发展,越来越多的互联网产品以用户为中心,通过描绘对用户进行“画像”,从而有针对性地提供相应的服务。这里的用户画像最早是由“交互设计之父”Alan Cooper最早提出的概念,即建立在一系列真实数据的基础之上的目标用户模型,属于真实用户的虚拟代表。通过用户画像可以使得互联网产品的设计者在进行产品设计时能够抛开个人喜好,将焦点关注在目标用户的动机和行为上进行产品设计。
在本发明中所考虑的真实数据为用户安装在终端上的APP。根据用户所使用的APP的种类,来判断用户诸如身份、年龄、喜好等特征。例如,若用户使用了“妈妈帮”等APP则说明该名用户很可能是个妈妈,若用户安装了较多的游戏APP则说明该名用户很可能年纪相当年轻、为爱好游戏的青少年。以互联网投放销售产品的广告为例,可以根据用户在终端上所安装的APP,有针对性地为用户推荐产品,例如为妈妈推荐一些婴儿用品,为有爱好者推送一些游戏广告或与游戏相关的产品。
一种最常用的获取终端上所安装APP的方式为通过用户代理(UserAgent,UA)获取涉及APP信息的相关内容,从而判断所实际安装的APP。基于HTTP协议,在用户的终端作为客户端期望获得互联网服务时,需要向服务端提交请求,服务端根据所接收到的请求对客户端做出相应的应答。这里客户端所提交的请求中应当包括UserAgent在内的一系列信息,所述UserAgent为一个只读的字符串,其声明了浏览器用于HTTP请求的用户代理头的值。通过获取客户端向服务端的请求信息,可以获得UserAgent。图1示出了一个标准的UserAgent格式,其中在UserAgent中Rendering engine/[version]指的是各大浏览器的内核,即渲染引擎相关信息以及版本,[system and browser information]指的是浏览器正在使用的系统详细信息,platform指的是浏览器平台的详细信息,extensions指的是第三方使用的特定增强功能,在这个字段中一般会涉及与APP的相关信息。UserAgent经常被用于识别产生请求的客户端的相关信息,使得服务器能够识别客户使用主机的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件以及APP名称等。利用识别出来的信息,可以分析用户的手机品牌,APP使用习惯等,从而有效地构建用户画像。
大部分品牌的手机和平板等通讯和娱乐设备所安装的APP访问所产生的UserAgent格式都符合此规范,但还有小部分厂商生产的通讯和娱乐设备所安装的APP访问产生UserAgent并不符合此规范。图2示出了一个满足图1所示出格式的标准UserAgent的示例,并且图3示出了一个不满足图1所示出格式的UserAgent。可以看到,在图2所示出的标准UserAgent中可以清楚地区分出Mozilla/5.0,其表述与Mozilla引擎的兼容性,Windows NT6.1;WOW64为浏览器正在运行的系统的详细信息,AppleWebKit/537.1为浏览器使用的平台,KHTML,like Gecko为浏览器平台的详细信息,Chrome/22.0.1207.1Safari/537.1是第三方中使用的特定增强功能,在本条UserAgent中指的是Chrome浏览器。相对地,图3中的%E5%A4%A9%E6%B0%94%E9%80%9A/5.159.335372指的是天气通,在本条UserAgent中指的是app的名称以及版本,CFNetwork/808.0.2是浏览器使用的系统,Darwin/16.0.0是浏览器平台,而这些信息并不能仅通过将该UserAgent与标准UserAgent的格式进行简单的比较而获得。
目前尚不存在能够自动挖掘终端所安装APP、终端型号、以及操作系统的技术,这为采用涉及APP信息来实现对用户进行画像带来了阻碍。在现有技术中,存在采用数据库维护UserAgent与APP信息的技术,例如需要对用户进行画像的互联网产品的开发者可以通过诸如查询网(http://www.ip138.com/useragent)及UA分析(http://tool.lu/useragent)等在线分析工具来判断终端所安装APP。这些识别工具基于诸如正则匹配的方式对UA进行识别,即通过后台维护APP信息以及操作系统等方面的数据库,利用人工维护的数据库中的信息与被识别的UA进行匹配,以返回相应结果。可以理解,这些工具采用人工挖掘所有app并维护数据库的方式需要耗费大量的人力,因而通常情况下所述数据库的维护者与需要查询UA的互联网产品的开发者往往是不同的,致使存在数据库更新不及时而致使互联网产品的开发者难以获取最新的准确的信息。
此外,绝大多数的现有UA分析工具均是直接采用正则匹配的方式来识别APP和终端型号,其限制了分析APP数据的拓展性,当有新的APP产生的时候直接采用正则匹配的方式来识别则会导致识别错误。例如,对于一条由QQ这款APP产生的UserAgent,“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/49.0.2623.75Safari/537.36QQ”,直接采用分析工具(https://tool.lu/useragent)则会将该UA的APP识别为Chrome,其结果如图4所示。类似地,参照图5和图6所示出的结果,在采用查询网以及Atool也存在将该UserAgent的APP错误地识别为Chrome的情况。
由此可以看出,现有技术采用UA分析工具,其受限于数据库的人工更新速度,不能自动地更新或拓展数据库中的APP信息。并且,上述UA分析工具的识别准确率也难以令人满意。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种生成APP字典库的方法,包括:
A1)从收集的DPI数据中获取UserAgent字段;
A2)对所述UserAgent字段进行分词,获得一个或多个关键词;
A3)在互联网上检索所述关键词,计算所述关键词为APP名称的概率。
优选地,根据所述方法,其中步骤A3)包括:
在互联网中查找所述关键词,抓取前N个检索结果,统计包含用于显示其为针对所述关键词执行APP下载的检索结果的数量M,计算M/N以作为所述关键词为APP名称的概率。
优选地,根据所述方法,其中步骤A2)包括:
A2-1)采用正则表达式类对UserAgent字段进行分词。
4.根据权利要求3所述的方法,其中步骤A2)还包括:
A2-2)对分词结果执行TF-IDF计算,若一个分词结果的TF-IDF值小于设定的阈值,则将所述分词结果排除出关键词的集合。
优选地,根据所述方法,其中步骤A1)还包括:
从收集的DPI数据中获取Reference字段;并且
还包括步骤A4)获得所述Reference字段所包含的主页地址对应主页的title。
以及,一种识别用户所安装APP的方法,包括:
B1)获得所述用户的DPI数据,并从中获取UserAgent字段;
B2)对所述UserAgent字段进行分词,获得一个或多个关键词;
B3)在互联网上检索所述关键词,计算所述关键词为APP名称的概率。
优选地,根据所述方法,其中步骤B3)包括:
在互联网中查找所述关键词,抓取前N个检索结果,统计包含用于显示其为针对所述关键词执行APP下载的检索结果的数量M,计算M/N以作为所述关键词为APP名称的概率。
优选地,根据所述方法,其中步骤B2)包括:
B2-1)采用正则表达式类对UserAgent字段进行分词。
优选地,根据所述方法,其中步骤B2)还包括:
B2-3)对分词结果执行TF-IDF计算,若一个分词结果的TF-IDF值小于设定的阈值,则将所述分词结果排除出关键词的集合。
优选地,根据所述方法,其中步骤B1)还包括:
从所述用户的DPI数据获取取Reference字段;并且,还包括:
B4)获得所述Reference字段所包含的主页地址对应主页的title,以作为第二APP名称;
B5)将所述概率最高的关键词作为第一APP名称,比较所述第一APP名称与所述第二APP名称,选择两者之一作为所述用户所安装APP。
与现有技术相比,本发明的优点在于提供了一种自动生成APP字典库的方法,其根据大量的用户流量数据获得关键词,通过在互联网中检索关键词的方式计算关键词属于APP名称的概率,实现了自动更新APP字典库。在APP字典库中采用UserAgent与Reference相结合的方式存储它们与APP名称之间的对应关系,进一步地提高了对APP字典库中所存储APP名称的准确、完整程度。并且,本发明还提供了一种在线地对用户所使用的APP进行识别的方法以供软件、应用的开发者使用。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是一个标准的UserAgent格式的示意图;
图2是一个遵循图1所示出的UserAgent格式的UserAgent的示例;
图3是一个不遵循图1所示出的UserAgent格式的UserAgent的示例;
图4、图5、图6为分别采用分析工具https://tool.lu/useragent、查询网http:// www.ip138.com/useragent/、和Atool http://www.atool.org/useragent.php对一条由QQ这款APP产生的UserAgent,“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/49.0.2623.75Safari/537.36QQ”进行识别的结果;
图7是根据本发明的一个实施例生成APP字典库的方法流程图;
图8是根据本发明的一个实施例在线地识别用户所安装APP的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
为了克服现有技术的上述缺点,本发明提供了一种能够自动地生成APP字典库的方法,使得在对用户进行画像时能够根据用户的流量中的UserAgent和/或Reference字段在所述APP字典库中查找对应的APP名称。并且,本发明还提供了一种在线地识别用户所安装APP的方法,可以针对用户的流量判断其所安装的APP名称。
根据本发明的一个实施例,生成APP字典库的方法大致上包括:收集用户的流量,获取所述流量中的UserAgent和/或Reference字段;对所述UserAgent字段进行分词以获得关键词,在互联网上检索所述关键词,计算所述关键词为APP名称的概率;和/或对所述Reference字段识别其中包含的主页地址,获取所述主页的title。通过在APP字典库中存储UserAgent字段与APP名称之间的对应关系,和/或存储Reference字段与APP名称之间的对应关系,使得需要对用户进行画像的一方可以根据其所持有的用户的UserAgent和/或Reference来判断该名用户所安装的APP。
下面将参考图7,对上述生成APP字典库的方法进行详细的介绍,所述方法包括:
步骤A1.收集DPI(Deep Packet Inspection)数据,获取所述DPI数据中包含的UserAgent字段以及Reference字段。
可以理解,为了生成APP字典库,这里不必局限于某一名或多名特定用户的DPI数据,可以收集大量用户的DPI数据,从而全面地获取可能包含APP名称的内容。例如,可以通过通信供应商对大量用户的流量进行获取,从而全面地收集用户的DPI数据。这里的DPI数据可以通过诸如fiddler等工具获取。
在此步骤中针对DPI数据进行收集的原因在于,DPI数据中包含涉及APP名称的内容的概率非常高。在DPI数据中既包含UserAgent字段(即ua字段)还包含Reference字段(即ref字段)。发明人通过对一百万条DPI数据进行统计,发现在DPI数据的ua中包含APP名称的概率约为90.1%,在ref中包含APP名称的概率约为73.4%,DPI数据本身包含APP名称的概率约为94.3%。
换句话说,收集DPI数据非常有利于获得APP名称,在APP字典库中存储ua与APP名称之间的对应关系、和/或存储ref与APP名称之间的对应关系,非常有利于获得用户所实际使用的APP。考虑到ua中包含APP名称的概率更大,在APP字典库的存储容量有限的情况下,可以仅存储ua与APP名称之间的对应关系。
下表示出了DPI数据的基本格式,可以看到其中包含既包含UserAgent字段还包含Reference字段。
表1DPI数据的基本格式
srcip | 源IP |
ad | 账号 |
ts | 时间戳 |
url | url |
ref | ref |
ua | ua |
dstip | 目标IP |
cookie | cookie |
srcport | 源端口 |
dstport | 目标端口 |
步骤A2.对所述UserAgent字段进行分词,以获得一个或多个关键词。
如背景技术中所介绍地,对于UserAgent而言,存在标准格式的UserAgent字段,还存在非标准格式的UserAgent字段。在进行分词时,需要首先将非标准格式的UserAgent(例如utf-8编码、gbk编码)转换为Unicode编码,然后采用统一的正则表达式进行分词。
例如,可以采用Visual Studio.NET中的正则表达式类“RegEx”来实现对UserAgent字段进行分词。采用代码“regex="(?<=\\().*(?=\\))"”。
对于以下UserAgent字段,
“Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/61.0.3163.100Safari/537.36”,
在经过了上述代码处理之后被分为,
Mozilla/5.0
Windows NT 10.0;WOW64
AppleWebKit/537.36
KHTML,like Gecko
Chrome/61.0.3163.100
Safari/537.36
这里将分词获得的所述6个结果作为获得的关键词,可以看到其中包含APP名称“Safari”。
步骤A3.对通过步骤A2所获得的关键词进行过滤,筛选出重要的关键词。可以理解,通过简单地分词所获得的结果中往往包含许多非必要的信息,例如mozilla等涉及内核信息的噪音词,因此还可以对上述分词获得的关键词进行过滤。
在本实施例中,可以采用TF-IDF进行计算。所述TF-IDF(term frequency–inversedocument frequency)是一种用于资讯检索与资讯探勘的常用加权算法,其通过统计来评估一字或词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
一个关键词的TF-IDF的值等于词频TF(Term Frequency)与逆向文件频率IDF(Inverse Document Frequency)之积。其中,一个关键词的TF为所述关键词的频率,例如在全部UserAgent数据分词获得的结果中出现的次数或占比;一个关键词的IDF为全部UserAgent数据的总数除以包含所述关键词的UserAgent数据的数量,再将得到的商取对数。
在获得了各个关键词的TF-IDF值之后,可以根据所述关键词的TF-IDF值的大小判断是否保留该关键词。例如,若一个关键词的TF-IDF值小于该条UserAgent字段的平均TF-IDF值,则可以将该关键词从关键词的集合中剔除,以保留区分度较高的一个或多个关键词。在对诸如mozilla的噪音词执行TF-IDF计算之后,其TF-IDF值非常低,可以容易地过滤到这样的词汇。
可以理解,若是不介意随后步骤中通过互联网对关键词进行检索所带来的复杂度,也可以跳过此步骤A3而继续执行随后的步骤A4。
步骤A4.在互联网上检索所获得的关键词,计算所述关键词为APP名称的概率。
通常情况下,新开发的APP会在互联网中提供相应的下载,例如提供安卓版本或IOS版本的下载链接。因此,可以通过在互联网中检索所述关键词,判断是否存在针对该关键词执行APP下载的检索结果。
例如,通过搜索引擎查找所述关键词,利用爬虫算法抓取前10个检索结果,统计在全部10个检索结果的语料中出现“下载”、“PC版本”、“苹果版本”、“IOS版本”、“安卓版本”、“Android版本”、“Windows版本”等词组的次数,并且计算出现上述各个词组的次数的总和,若所述总和大于设定的阈值(例如8),则认为该关键词有极大的可能性为APP名称。或者,统计包含上述词组与所述关键词的检索结果的个数,计算其占全部10个检索结果的比例,以作为关键词为APP名称的概率。
在针对每个关键词获得了其属于APP名称的概率后,选择概率最大的关键词作为与所述UserAgent字段对应的APP名称。
步骤A5.针对所获得的Reference字段,获取其中包含的主页地址,将所述主页的title作为与该Reference字段对应的APP名称存入APP字典库中。
如前文中所述,ref字段可以在一定程度上弥补在ua中未包含APP名称的情况。这是由于,可以根据ref字段访问与该APP对应的主页,所述主页的title往往以APP名称命名。因此,可以将所述主页的title作为与该Reference字段对应的APP名称。
步骤A6.根据在步骤A4和步骤A5中获得的结果,在APP字典库中存储UserAgent字段与APP名称之间的对应关系,以及存储Reference字段与APP名称之间的对应关系。
通过上述实施例生成的APP字典库可以被反复地使用,例如可以在线地提供所述APP字典库,以供软件、应用的开发者使用,当开发者对一名用户进行画像时,可以从该名用户的流量中提取出UserAgent字段、和Reference字段,将所提取出的字段与APP字典库中的内容进行比较,从而判断出该名用户所使用的APP。
基于上述发明思路,本发明还提供了一种在线地识别用户所安装APP的方法,根据本发明的一个实施例,在开发者执行对一名用户进行画像时,根据来自该名用户的流量中的UserAgent字段、和/或Reference字段,在线地判断与所述UserAgent字段、和/或Reference字段对应的APP名称。该实施例与上述生成APP字典库的方案类似,不同的是其针对的是待检测用户的流量数据中的UserAgent字段、和/或Reference字段。
下面将参考图8,对上述在线地识别用户所安装APP的方法进行详细的介绍,所述方法包括:
步骤B1.获得所述用户的DPI数据,提取所述DPI数据中包含的UserAgent字段以及Reference字段。
步骤B2.对所述UserAgent字段进行分词,以获得一个或多个关键词。
步骤B3.对通过步骤B2所获得的关键词计算TF-IDF值,根据所获得的TF-IDF值的大小筛选出重要的关键词。
步骤B4.在互联网上检索所获得的关键词,计算所述关键词为APP名称的概率,将其中概率最高的关键词作为第一APP名称。
步骤B5.针对所获得的Reference字段,获取其中包含的主页地址,将所述主页的title作为第二APP名称。
步骤B6.若所述第一APP名称与所述第二APP名称一致,则将其判断为是所述用户使用的APP,若所述第一APP名称与所述第二APP名称不一致,则从中选择一个作为所述用户使用的APP。例如,可以在第一APP名称与所述第二APP名称不一致时,直接选择第一APP名称作为所述用户使用的APP。
通过上述实施例所提供的方法,软件、应用的开发者可以直接面向用户,在线地根据用户的流量来判断用户在终端上安装的APP。
根据本发明的一个实施例,在上述实施例中,还可以通过调整在步骤A3和步骤B3中针对各个关键词的TF-IDF值而设置的筛选阈值a(TF-IDF值小于a的关键词将被排除出关键词的集合),以及可以通过调整在步骤A4和步骤B4中针对关键词为APP名称的概率设置筛选阈值b(通过在互联网上检索计算获得一个关键词为APP名称的概率小于b则将该关键词排除出APP字典库或者排除出第一APP名称的集合),达到改变和控制对APP识别的准确率和召回率的效果。可以理解,当a增大时,召回率降低、准确率增加;当a减小时,召回率增加、准确率降低;当b增大时,召回率降低、准确率增加;当b减小时,召回率增加、准确率降低。
发明人发现,可以将a设为8,将b设置为85%,此时可以获得相对平衡的召回率和准确率,既可以保证一定的准确率也可以保证足够的召回率。
发明人在提供上述方案时,还采用以下由某电信公司所提供的数据集进行了测试。测试所使用的数据格式如下表所示。
表2某电信公司提供的DIP源数据格式
如表3所示,测试使用了该电信公司所提供的1000000条数据,将数据中涉及的版本号去掉并对数据进行去重后得到12669条数据,从其中随机抽取了1000条数据进行测试。为了验证本发明所提供方法能否准确地根据UserAgent以及Reference的内容判断出用户所安装的APP,发明人采用将人工打标签的结果与测试结果进行了比较,统计计算了根据本发明的方案的正确率和召回率。
表3源数据数据统计
其中,正确率和召回率计算公式如下:
正确率(precision):A/(A+B)
召回率(recall):A/(A+C)
A:人工打标签与模型预测APP名称相同的条数
B:人工打标签与模型预测APP名称不同的条数
C:人工打标签,但模型未打标签的条数
计算得到正确率和召回率分别是91.3%和99.2%。
综上可以看出,本发明能够提供一种自动生成APP字典库的方法,其根据大量的用户流量数据获得关键词,通过在互联网中检索关键词的方式计算关键词属于APP名称的概率,实现了自动更新APP字典库。在APP字典库中采用UserAgent与Reference相结合的方式存储它们与APP名称之间的对应关系,进一步地提高了对APP字典库中所存储APP名称的准确、完整程度。并且,本发明还提供了一种在线地对用户所使用的APP进行识别的方法以供软件、应用的开发者使用。
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种生成APP字典库的方法,包括:
A1)从收集的DPI数据中获取UserAgent字段;
A2)对所述UserAgent字段进行分词,获得一个或多个关键词;
A3)在互联网上检索所述关键词,计算所述关键词为APP名称的概率。
2.根据权利要求1所述的方法,其中步骤A3)包括:
在互联网中查找所述关键词,抓取前N个检索结果,统计包含用于显示其为针对所述关键词执行APP下载的检索结果的数量M,计算M/N以作为所述关键词为APP名称的概率。
3.根据权利要求1所述的方法,其中步骤A2)包括:
A2-1)采用正则表达式类对UserAgent字段进行分词。
4.根据权利要求3所述的方法,其中步骤A2)还包括:
A2-2)对分词结果执行TF-IDF计算,若一个分词结果的TF-IDF值小于设定的阈值,则将所述分词结果排除出关键词的集合。
5.根据权利要求1-4中任意一项所述的方法,其中步骤A1)还包括:
从收集的DPI数据中获取Reference字段;并且
还包括步骤A4)获得所述Reference字段所包含的主页地址对应主页的title。
6.一种识别用户所安装APP的方法,包括:
B1)获得所述用户的DPI数据,并从中获取UserAgent字段;
B2)对所述UserAgent字段进行分词,获得一个或多个关键词;
B3)在互联网上检索所述关键词,计算所述关键词为APP名称的概率。
7.根据权利要求6所述的方法,其中步骤B3)包括:
在互联网中查找所述关键词,抓取前N个检索结果,统计包含用于显示其为针对所述关键词执行APP下载的检索结果的数量M,计算M/N以作为所述关键词为APP名称的概率。
8.根据权利要求6所述的方法,其中步骤B2)包括:
B2-1)采用正则表达式类对UserAgent字段进行分词。
9.根据权利要求8所述的方法,其中步骤B2)还包括:
B2-3)对分词结果执行TF-IDF计算,若一个分词结果的TF-IDF值小于设定的阈值,则将所述分词结果排除出关键词的集合。
10.根据权利要求1-9中任意一项所述的方法,其中步骤B1)还包括:
从所述用户的DPI数据获取取Reference字段;并且,还包括:
B4)获得所述Reference字段所包含的主页地址对应主页的title,以作为第二APP名称;
B5)将所述概率最高的关键词作为第一APP名称,比较所述第一APP名称与所述第二APP名称,选择两者之一作为所述用户所安装APP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142442.XA CN107871008A (zh) | 2017-11-17 | 2017-11-17 | 一种生成用于用户代理信息的数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142442.XA CN107871008A (zh) | 2017-11-17 | 2017-11-17 | 一种生成用于用户代理信息的数据库的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107871008A true CN107871008A (zh) | 2018-04-03 |
Family
ID=61754298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711142442.XA Pending CN107871008A (zh) | 2017-11-17 | 2017-11-17 | 一种生成用于用户代理信息的数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107871008A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100549A (zh) * | 2020-11-23 | 2020-12-18 | 杭州兑吧网络科技有限公司 | 一种用户行为轨迹获取方法、app矩阵以及广告投放方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572957A (zh) * | 2014-12-29 | 2015-04-29 | 北京奇虎科技有限公司 | 一种基于聚类的poi名称确定系统及方法 |
CN104572955A (zh) * | 2014-12-29 | 2015-04-29 | 北京奇虎科技有限公司 | 一种基于聚类确定poi名称的系统及方法 |
US20160191549A1 (en) * | 2014-10-09 | 2016-06-30 | Glimmerglass Networks, Inc. | Rich metadata-based network security monitoring and analysis |
CN106547748A (zh) * | 2015-09-16 | 2017-03-29 | 中国移动通信集团公司 | 一种app索引库的创建方法及装置、搜索app的方法及装置 |
CN107222369A (zh) * | 2017-07-07 | 2017-09-29 | 北京小米移动软件有限公司 | 应用程序的识别方法、装置、交换装置和存储介质 |
-
2017
- 2017-11-17 CN CN201711142442.XA patent/CN107871008A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191549A1 (en) * | 2014-10-09 | 2016-06-30 | Glimmerglass Networks, Inc. | Rich metadata-based network security monitoring and analysis |
CN104572957A (zh) * | 2014-12-29 | 2015-04-29 | 北京奇虎科技有限公司 | 一种基于聚类的poi名称确定系统及方法 |
CN104572955A (zh) * | 2014-12-29 | 2015-04-29 | 北京奇虎科技有限公司 | 一种基于聚类确定poi名称的系统及方法 |
CN106547748A (zh) * | 2015-09-16 | 2017-03-29 | 中国移动通信集团公司 | 一种app索引库的创建方法及装置、搜索app的方法及装置 |
CN107222369A (zh) * | 2017-07-07 | 2017-09-29 | 北京小米移动软件有限公司 | 应用程序的识别方法、装置、交换装置和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100549A (zh) * | 2020-11-23 | 2020-12-18 | 杭州兑吧网络科技有限公司 | 一种用户行为轨迹获取方法、app矩阵以及广告投放方法 |
CN112100549B (zh) * | 2020-11-23 | 2021-03-05 | 杭州兑吧网络科技有限公司 | 一种用户行为轨迹获取方法、app矩阵以及广告投放方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781317B (zh) | 事件图谱的构建方法、装置及电子设备 | |
Phong et al. | Mining user opinions in mobile app reviews: A keyword-based approach (t) | |
CN107862022B (zh) | 文化资源推荐系统 | |
CN110020422B (zh) | 特征词的确定方法、装置和服务器 | |
US10032081B2 (en) | Content-based video representation | |
CN103914478B (zh) | 网页训练方法及系统、网页预测方法及系统 | |
JP5721818B2 (ja) | 検索におけるモデル情報群の使用 | |
CN106844640B (zh) | 一种网页数据分析处理方法 | |
CN108241667A (zh) | 用于推送信息的方法和装置 | |
JP2018511116A (ja) | 端末にプッシュされるデータコンテンツを選択するための方法およびデバイス | |
WO2015074503A1 (zh) | 网页访问数据统计方法及装置 | |
CN104281622A (zh) | 一种社交媒体中的信息推荐方法和装置 | |
CN110263248A (zh) | 一种信息推送方法、装置、存储介质和服务器 | |
CN109104421B (zh) | 一种网站内容篡改检测方法、装置、设备及可读存储介质 | |
CN103336766A (zh) | 短文本垃圾识别以及建模方法和装置 | |
CN110134845A (zh) | 项目舆情监控方法、装置、计算机设备及存储介质 | |
CN107229731B (zh) | 用于分类数据的方法和装置 | |
US20200257695A1 (en) | Keyword Reporting for Mobile Applications | |
JP2014502753A (ja) | ウェブページ情報の検出方法及びシステム | |
CN103853722A (zh) | 一种基于检索串的关键词扩展方法、装置和系统 | |
CN105389331B (zh) | 一种基于市场需求的开源软件分析与比较方法 | |
CN104537080B (zh) | 资讯推荐方法和系统 | |
CN103324641B (zh) | 信息记录推荐方法和装置 | |
CN107871008A (zh) | 一种生成用于用户代理信息的数据库的方法 | |
CN116226494B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180403 |