WO2017107569A1 - 一种基于应用内容的安卓应用组装方法 - Google Patents

一种基于应用内容的安卓应用组装方法 Download PDF

Info

Publication number
WO2017107569A1
WO2017107569A1 PCT/CN2016/098291 CN2016098291W WO2017107569A1 WO 2017107569 A1 WO2017107569 A1 WO 2017107569A1 CN 2016098291 W CN2016098291 W CN 2016098291W WO 2017107569 A1 WO2017107569 A1 WO 2017107569A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
page
android
keyword
information
Prior art date
Application number
PCT/CN2016/098291
Other languages
English (en)
French (fr)
Inventor
黄罡
刘譞哲
柳熠
马郓
余美华
徐梦炜
Original Assignee
北京大学
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 北京大学 filed Critical 北京大学
Priority to US15/745,167 priority Critical patent/US10496418B2/en
Publication of WO2017107569A1 publication Critical patent/WO2017107569A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the invention is a method for capturing and assembling application content of an Android application, and belongs to the technical field of software.
  • an object of the present invention is to provide an assembly method of an Android application based on application content, to break the isolation of information between Android applications and to provide a more natural assembly service between Android applications.
  • the core idea is that the server side captures the content of the Android application and indexes it through well-known technologies such as Google App Index, pea pod in-app search, and monitoring network request data.
  • the client user automatically submits the key content in the selected page to the server.
  • the server will return a list of applications sorted according to relevance. When the user selects and clicks the corresponding application entry, the application will be launched directly and jump directly to the page related to the search keyword.
  • the server obtains the application list (including the application name, application icon, and message summary of the related page) from the database through the stages of word segmentation, retrieval, filtering, and sorting. And the corresponding metadata (starting the application and jumping to the relevant page's jump logic, including constructing the relevant parameters of the Intent object), and returning to the client.
  • the application list including the application name, application icon, and message summary of the related page
  • the corresponding metadata starting the application and jumping to the relevant page's jump logic, including constructing the relevant parameters of the Intent object
  • the client will display the returned application list to the user according to the priority order (displayed on the notification bar of Android).
  • the target application is started by the inter-application communication mechanism such as Intent in Android, and automatically jumps to the activity page corresponding to the target application and the keyword-related activity, and finally Shown to the user (note, we can use the well-known techniques such as Google App Index, pea pod in-app search and decompile Android application to get the parameters of the Intent that constructs the target application and jump to the target page of the target application).
  • the inter-application communication mechanism such as Intent in Android
  • the specific method of the step 1) is to store the content of the page by using a well-known technology such as Google App Index and pea pod in-app search, or to monitor the content of the webpage on the server side, and store it in the database of the server.
  • a well-known technology such as Google App Index and pea pod in-app search
  • server side processes the information of the Android application through a word segmentation stage, and builds an index to prepare for subsequent retrieval.
  • the server obtains the search keyword selected and submitted by the client, after performing preliminary processing such as word segmentation, the TF-IDF model is used to retrieve all candidate Android application lists and related information (the jump logic of the specified page) Other descriptive information). In particular, we can filter, score, and sort the returned list of apps based on other information.
  • the client may display the information to the user through a notification bar, a floating window, or the like.
  • the client starts the target application and jumps to the application according to the jump logic (intent structure of the Intent) in the returned application information.
  • the corresponding page of the target application is displayed to the user.
  • the invention is divided into two parts: a client and a server.
  • the client is mainly an entry for interaction with the user, and when the user selects the target application, the target application is launched and jumps to the specified page.
  • the server side mainly services the crawling and storage of Android application information, and then utilizes the service that provides the search engine.
  • the client is composed of an App Execution Engine (AEE) component, an App Discovery (AD) component, a User Interface (UI) component, and a Security Enhancer (SE) component.
  • AEE App Execution Engine
  • AD App Discovery
  • UI User Interface
  • SE Security Enhancer
  • AEE has two parts: a listener and an actuator.
  • the listener listens for the published information of the application on the Android device.
  • the executor is responsible for initializing Android's interprocess communication mechanism (mainly the parameters that initialize the Intent's intent), and specifies the corresponding data (you may need to specify some parameters to jump to the specified page). After execution, the target application will be launched and jumped to The corresponding page of the target app.
  • the function of the AD component is to find an application that may be assembled on the Android device.
  • the AD component sends the monitored keyword information to the server to obtain a sorted application list. For example, when a user wants to search for a movie keyword, the AD component finds that the mobile phone has both a watercress and a cat's eye movie application. It can be inferred that the user wants to view the movie review and hopes to complete the online booking service, so that the server can be passed through the background server. Retrieve, return the recommended Douban application and cat's eye movie application, and other related information (you can directly display some summary information such as some movie reviews), and then after viewing the movie review information, click on the entrance (icon or button, etc.) of the cat's eye movie. Jump to the cat eye movie ticketing page to conduct online booking business.
  • UI widgets are the gateway for client and user interaction. After the AD component obtains the candidate application list, the UI component displays the application list to the user (notification bar or floating window), and the user can launch the target application by clicking on a certain item.
  • the server side mainly has two functions. One is to capture a large amount of Android application information to build information index and store it in the database through well-known technologies such as Google App Index, pea pod application search and monitoring application network request. Second, the client and the AD Component interaction, obtaining keyword information submitted by the client AD component, performing keyword query, filtering, sorting and the like, and returning the final application list and related information to the client AD component.
  • An Android application is a collection of resources.
  • the jump of the Android application page is the jump of these displays. Transfer.
  • This application is a collection of store resources.
  • When we click on the Quanjude store we will jump to the display page of the Quanjude store, including the address and contact number of Quanjude.
  • an Android application may have different kinds of resources, for example, there are common store resources and group purchase resources in the public comment, all the stores are a kind of resources, which can be regarded as a resource set (ResourceSet).
  • Each specified category of resources has a common structure.
  • movies, stores, and e-books are all different resources and have corresponding structures.
  • Each structure has a lot of properties.
  • the structure of a movie consists of features such as movie title, director, and starring.
  • T i,j is the value of all the characteristics of the resource Res i,j (for example, for a movie detail page, including movie name, movie review, etc.)
  • n k,i,j is the word t k appears in T i,j
  • is the number of all resources in the index database,
  • C r and C i,j represent the characteristic set of the structure corresponding to the two resources
  • the numerator represents the intersection of the two sets
  • the denominator represents the union of the two sets.
  • Score(d,R i,j ) w1*S(d,R i,j )+w2*J(r,R i,j )+w3*I(app)
  • Figure 1 is a block diagram of the system of the present invention.
  • This section gives an example of an Android application assembly based on application content. This example simulates a real need for the user in real life.
  • the background server obtains the information of the five applications for half a month, stores it in the server database, and implements keyword query, filtering, sorting and other functions through the open source search engine Apache Lucene.
  • Apache Lucene We used Tomcat to implement a simple server that exposes the search service interface to the client.
  • the client will display the cat's eye movie, NetEase news and know three apps in the Android notification bar.
  • the user wants to see the release information of the movie and the ticket purchase service, so the user clicks on the icon of the cat's eye movie application.
  • the client will listen to the application that the user selected the cat's eye movie.
  • the client will initialize an Intent, fill in the corresponding data, and start the Intent, thus
  • the application of the cat's eye movie installed on the mobile phone will be launched, and the page of the movie "Museum of the Museum" will be displayed, and the user can browse the information and purchase the ticket.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于应用内容的安卓应用组装方法。本方法为:1)服务器端抓取安卓应用的页面信息并建立索引,然后将页面的元数据、索引信息保存到数据库中;其中,元数据中包括安卓应用的页面跳转逻辑;2)客户端将用户输入的关键词发送给服务器端;3)服务器端从数据库中获取符合该关键词的应用列表,并将该应用列表对应的元数据返回给该客户端;4)用户根据返回信息从该应用列表中选择一目标安卓应用后,该客户端启动该目标安卓应用并根据该目标安卓应用的页面跳转逻辑自动跳转到与该关键词对应的页面。本方法打破了安卓应用之间信息的孤立以及提供了安卓应用间更自然的组装服务。

Description

一种基于应用内容的安卓应用组装方法 技术领域
本发明是一种对安卓应用进行应用内容抓取并进行组装的方法,属于软件技术领域。
背景技术
《第36次中国互联网发展状况统计报告》显示,截止2015年6月,中国网民规模达6.68亿,而手机网民规模达5.94亿,占比达88.9%,手机作为主要上网终端的趋势进一步明显。同时,《2014年中国网民搜索行为研究报告》显示,截至2014年6月,我国搜索引擎用户规模达50749万人,网民使用率为80.3%;手机搜索引擎用户规模达到40583万人,手机网民使用率达到77.0%。用户通过智能手机下载大量的应用,充分在日常的生活、学习、工作和娱乐中发挥作用。据统计,平均每台智能移动终端安装的应用数量高达60甚至更多,谷歌和苹果各自的应用分发平台上的应用数量都已到达百万级别,应用下载量已达几百亿次。
可以看到越来越多的用户通过移动设备上安装的应用访问网络,并且很大程度上通过搜索引擎检索资源。但是,我们注意到,虽然现有的搜素引擎有很多的形式,但是主要的内容来源是网站。由于现有的应用都希望尽可能的留住用户,都将自己的内容和服务限制在自己的应用中,以提供独有的服务来吸引客户。虽然有很少部分的应用提供了对应的网页版应用,可以被搜素引擎收录和检索到,但是现在智能设备用户严重依赖的大部分应用事实上成为了“孤岛”。我们可以举一个很简单的例子,用户在浏览新闻的时候,看到某电影资源,用户不得不打开一个视频应用,然后在该应用内搜索该电影资源并观看;或者是打开一个在线购买电影票的应用,然后查看电影的播放时间和场次等信息,并进行购票业务。如果用户有更复杂的业务需求,可能就不得不打开很多个应用,通过繁琐冗余的人工操作和筛选来达成自己的目的。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于应用内容的安卓应用的组装方法,打破安卓应用之间信息的孤立以及提供安卓应用间更自然的组装服务。其核心思想是服务器端通过Google App Index、豌豆荚应用内搜索以及监听网络请求数据等公知技术抓取安卓应用的内容并建立索引,客户端用户通过选中页面中的关键内容会自动提交给服务器, 服务器端会返回根据相关度排序的应用列表,当用户选择并点击相应的应用条目的时候,会直接启动该应用,并直接跳转到和检索关键字相关的页面。
本发明的技术方案为:
一种基于应用内容的安卓应用组装方法,其步骤为:
1)通过Google App Index、豌豆荚应用内搜索或监听应用的网络信息等公知技术抓取应用的页面信息,并建立索引,保存相应的信息在后台数据库中。
2)用户在客户端上选中关键词,并提交给服务器端。
3)服务器端根据客户端提交的关键词,服务器端通过分词、检索、过滤、排序等阶段,从数据库中获取符合检索关键词的应用列表(包括应用名称、应用图标、相关页面的消息摘要)和相应的元数据(启动应用并跳转到相关页面的跳转逻辑,包括构造Intent对象的相关参数),并返回给客户端。
4)客户端将返会的应用列表根据优先级排序显示给用户(在安卓的通知栏上显示)。
5)当用户选择上述应用列表中的某一项安卓应用的时候,通过安卓中的Intent等应用间通信机制启动目标应用,并自动跳转到目标应用对应的和关键词相关的Activity页面,最终展示给用户(注,我们利用Google App Index、豌豆荚应用内搜索以及反编译安卓应用等公知技术可以获取构造启动目标应用的Intent的参数,跳转到目标应用的目标页面)。
进一步的,所述步骤1)的具体方法是通过Google App Index以及豌豆荚应用内搜索等公知技术,或者在服务器端监控网络请求抓取页面的内容,存储到服务器的数据库中。
进一步的,服务器端通过分词等阶段将安卓应用的信息进行处理,建立索引,为后续的检索做准备。
进一步的,当服务器端获取到客户端选中并提交的搜索关键词后,进行分词等初步处理以后,利用TF-IDF模型检索到所有候选的安卓应用列表和相关信息(指定页面的跳转逻辑和其他描述性信息)。特别地,我们可以根据其他信息,对返回的应用列表进行过滤、评分并排序。
进一步的,当客户端获取到服务器端返回的应用列表和相应的描述信息之后,可以通过通知栏、悬浮窗等方式显示给用户。当用户点击某一应用表项的时候,客户端根据返回的应用信息中的跳转逻辑(Intent的构造参数),利用安卓中的进程间通信机制(Intent,意图)启动目标应用并跳转到目标应用的相应页面,并显示给用户。
本发明分为客户端和服务器端两部分。客户端主要是和用户进行交互的入口,并在用户选择目标应用的时候,启动目标应用并跳转到指定页面。服务器端主要服务安卓应用信息的抓取和存储,然后利用提供搜索引擎的服务。
如图所示,上述几个部分的具体技术方案如下:
1)客户端框架。客户端由应用运行引擎(App Execution Engine,AEE)构件、应用发现(App Discovery,AD)构件、界面(User Interface,UI)构件和安全(Security Enhancer,SE)构件组成。
AEE有监听器和执行器两部分组成。监听器是监听安卓设备上的应用的发布的信息的,当被监听应用启动指定的IPC发布信息后,监听器就会被触发。执行器是负责初始化安卓的进程间通信机制(主要就是初始化Intent意图的参数),并指定相应的数据(跳转到指定页面可能需要指定一些参数),执行之后就会启动目标应用并跳转到目标应用的相应页面。
AD构件的作用是发现安卓设备上可能可以组装的应用,当AEE的监听器被触发后,AD构件就会向服务器端发送监听到的关键词信息,获取到一个排序后的应用列表。例如当用户想搜索电影关键词的时候,AD构件发现手机上既有豆瓣又有猫眼电影的应用,可以推测用户既想查看影评,也希望可以完成在线订票的业务,因此就可以通过后台服务器的检索,返回推荐的豆瓣应用和猫眼电影应用,以及其他相关信息(可以直接显示部分影评信息等摘要信息),然后用户查看完影评信息后,通过点击猫眼电影的入口(图标或者按钮等),跳转到猫眼电影购票的页面进行在线订票的业务。
UI构件是客户端和用户交互的入口。当AD构件获取到候选的应用列表之后,UI构件会将应用列表显示给用户(通知栏或者悬浮窗),用户可以通过点击某一表项启动目标应用。
2)服务器端框架。服务器端主要有两部分功能,一是通过Google App Index、豌豆荚应用内搜索以及监听应用网络请求等公知技术抓取大量的安卓应用信息建立信息索引并存储在数据库中;二是和客户端的AD构件交互,获取客户端AD构件提交的关键词信息,执行关键词查询、过滤、排序等处理过程,并将最终的应用列表和相关信息返回给客户端AD构件。
首先我们先定义一些术语,一个安卓应用(App)是一组资源(Resource)的集合,我们访问安卓应用,就是访问资源的展示(Representation),安卓应用页面的跳转就是这些展示的跳转和转移。事实上,在安卓中,我们可以认为一个展示对应一个Activity。例如,大众点评 这个应用就是店铺资源的集合,当我们点击全聚德店铺的时候,就跳转到全聚德店铺的展示页面,包括了全聚德的地址、联系电话等信息。由于一个安卓应用可能会有不同种类的资源,例如大众点评中既有普通的店铺资源也有团购资源,所有的店铺是一类资源,可以看作是一个资源集(ResourceSet)。每一指定类别的资源都有共同的结构(Structure),例如电影、店铺、电子书都是不同的资源,有对应的结构。每种结构有很多的特性组成(Property),例如电影这个结构就由电影名称、导演、主演等特性组成。
在进行关键词查询的时候,我们利用TF-IDF模型逐一计算关键词d和用户手机上安装了的应用的资源(Resource,安卓应用指定页面上的文字内容)的相似度。通过分词,我们将关键词d进行分词得到{tk|k=1.....n}。
我们定义
Figure PCTCN2016098291-appb-000001
其中Ti,j是资源Resi,j所有特性的值(比如对于一个电影详情页,包括了电影名称、影评等信息),nk,i,j是词tk在Ti,j中出现的次数,ni,j是Ti,j中所有词组的数目,|Resi,j|是索引数据库中所有资源的数目,|{i,j|tk∈Ti,j}|是所有包含tk关键词的资源的数目。这样我们就可以计算关键词d和资源Resi,j(后面我们用Rij表示资源Resi,j)之间的相似度:
Figure PCTCN2016098291-appb-000002
我们只需要定义一个相似度的阈值hcs,只要相似度大于阈值hcs的,我们就可以认为该安卓应用App的该资源(对应安卓应用的一个页面)和关键词匹配。
为了减少上述返回的应用列表中相关应用的数目,我们可以考虑资源的结构信息来过滤掉不相关的资源。我们认为用户更希望获取有着类似结构的资源。这里我们利用Jaccard相似度来评比两个资源之间的相似度。
Figure PCTCN2016098291-appb-000003
其中Cr和Ci,j表示两个资源对应的结构的特性集合,分子表示两个集合的交集,分母表示两个集合的并集,通过上述的Jaccard相似度计算,就可以估计两个资源结构的相似性。同样的,我们给定一个阈值hss,当两个资源的结构的Jaccard相似度大于阈值hss,我们就可以认为这两个资源有着相似的结构,我们会更优先推送这种资源。
最后,我们通过对上述过滤后的应用列表进行排序,排在前面表示相关度更高的应用(或者根据用户的选择历史),这样就可以提供给用户更好的体验。我们认为有着相似语义和结构信息的、更流行的、评分更高的应用应该有更高的优先级。这里我们给候选的所有应用一个指示I(Indicator)来表示上述信息(综合应用的排名、评分等信息给予应用一个评分),I值在0到1之间。最后,我们可以给所有候选应用进行评分,具体计算公式如下:
Score(d,Ri,j)=w1*S(d,Ri,j)+w2*J(r,Ri,j)+w3*I(app)
其中S(d,Ri,j)≥hcs,J(r,Ri,j)≥hss,且w1+w2+w3=1,分别为上述三个因素的比重。根据上述过程,我们可以给数据库中的所有资源进行评分,最后我们只要返回评分较高的部分应用返回给客户端AD构件,最后通过UI构件展示给用户。
与现有技术相比,本发明的积极效果为:
现有的搜索引擎等技术不能够搜索以及索引安卓应用中的信息,导致安卓应用的信息成为孤岛,且不能被跨应用组合,实现更多的功能。本发明基于安卓应用中的内容,可以快速的同时检索不同应用中的关键信息,并进行组合,优化移动用户的使用效率和体验。
附图说明
图1为本发明的系统结构图。
具体实施方式
本节给出了一个基于应用内容的安卓应用组装的实例。该实例模拟了用户在实际生活中的一个实际需求。
首先我们选择了5个应用,分别是腾讯视频、猫眼电影、知乎、穷游和网易新闻。后台服务器获取了这五个应用半个月内的信息,存储在服务器数据库中,通过开源搜索引擎Apache Lucene实现关键词查询、过滤、排序等功能。我们利用Tomcat实现了一个简单的服务器,将搜索服务接口暴露给客户端使用。
我们开发了一个安卓客户端,实现了上述描述的客户端框架,类似于搜索引擎,该客户端会监听用户是否选中关键词。当监听到用户选中关键词后,会把关键词提交给上述的服务器,服务器会将搜索引擎返回的数据进行初步处理并返回给该安卓客户端。当用户想知道《博物馆奇妙夜》的电影信息的时候,用户就在我们的客户端中输入“博物馆奇妙夜”这个关键字,并点击“搜索”。这个时候服务器端通过搜索引擎会返回一个排序后的应用列表和相应信 息,例如猫眼电影上有《博物馆奇妙夜》这部电影的信息、网易新闻上有这部电影的上映信息、知乎上有这部电影的影评等。客户端会在安卓通知栏中分别显示猫眼电影、网易新闻和知乎三个应用。实际上,用户是想看这部电影的上映信息以及进行购票服务,因此用户会点击猫眼电影这个应用的图标。这个时候,客户端会监听到用户选择了猫眼电影这个应用,根据服务器上返回的跳转的逻辑和其他信息,客户端会初始化一个Intent,并填入相应的数据,并启动该Intent,这样就会启动手机上安装的猫眼电影这个应用,并跳转到《博物馆奇妙夜》这部电影的页面上,用户就可以进行信息浏览并进行购票服务了。

Claims (7)

  1. 一种基于应用内容的安卓应用组装方法,其步骤为:
    1)服务器端抓取安卓应用的页面信息并建立索引,然后将页面的元数据、索引信息以及保存到数据库中;其中,元数据中包括安卓应用的页面跳转逻辑;
    2)客户端将用户输入的关键词发送给服务器端;
    3)服务器端从数据库中获取符合该关键词的应用列表,并将该应用列表对应的元数据返回给该客户端;
    4)用户根据返回信息从该应用列表中选择一目标安卓应用后,该客户端启动该目标安卓应用并根据该目标安卓应用的页面跳转逻辑自动跳转到与该关键词对应页面。
  2. 如权利要求1所述的方法,其特征在于,服务器端从数据库中获取包含该关键词的页面的应用作为该应用列表中的应用,得到该应用列表,其中确定包含该关键词的页面的方法为:首先对该关键词进行分词得到一分词集合{tk|k=1.....n},n为分词总数;然后利用TF-IDF模型计算关键词与该客户端中已安装的每一页面的相似度
    Figure PCTCN2016098291-appb-100001
    其中,d为关键词,tk是关键词d分词后的第k个词,
    Figure PCTCN2016098291-appb-100002
    Ri,j是安卓应用中的页面,Ti,j是页面Ri,j的特性值,nk,i,j是词tk在Ti,j中出现的次数,ni,j是Ti,j中所有词组的数目,|Ri,j|是页面Ri,j总数,
    Figure PCTCN2016098291-appb-100003
    是所有包含tk的页面数目;最后将相似度值大于设定阈值hcs的页面作为包含该关键词的页面。
  3. 如权利要求1或2所述的方法,其特征在于,利用Jaccard相似度来评比所述应用列表中两安卓应用的页面之间的相似度:
    Figure PCTCN2016098291-appb-100004
    其中,Cr为页面r对应的结构的特性集合,Ci,j表示页面Ri,j对应的结构的特性集合;如果相似度J(r,Ri,j)大于设定阈值hss,则判定这两个页面具有相似的结构,增加包含该关键词的页面的安卓应用优先级。
  4. 如权利要求3所述的方法,其特征在于,对所述应用列表进行排序,其方法为:根据公式Score(d,Ri,j)=w1*S(d,Ri,j)+w2*J(r,Ri,j)+w3*I(app)对该应用 列表中每一安卓应用进行评分,然后根据安卓应用的分值对该应用列表中的安卓应用进行排序;其中,w1+w2+w3=1,分别为上述三个因素的比重,I(app)为安卓应用的优先级值。
  5. 如权利要求3所述的方法,其特征在于,所述应用列表包括应用名称、应用图标、相关页面的消息摘要。
  6. 如权利要求1或2所述的方法,其特征在于,服务器端抓取安卓应用页面信息的方法为:利用Google App Index、豌豆荚应用内搜索或监听应用网络请求数据抓取安卓应用的页面信息。
  7. 如权利要求1或2所述的方法,其特征在于,客户端根据目标安卓应用的页面跳转逻辑,利用安卓中的进程间通信机制启动该目标安卓应用并跳转到该目标安卓应用的相应页面。
PCT/CN2016/098291 2015-12-21 2016-09-07 一种基于应用内容的安卓应用组装方法 WO2017107569A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/745,167 US10496418B2 (en) 2015-12-21 2016-09-07 Method for assembling Android application based on application content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510965139.4 2015-12-21
CN201510965139.4A CN105630907B (zh) 2015-12-21 2015-12-21 一种基于应用内容的安卓应用组装方法

Publications (1)

Publication Number Publication Date
WO2017107569A1 true WO2017107569A1 (zh) 2017-06-29

Family

ID=56045840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/098291 WO2017107569A1 (zh) 2015-12-21 2016-09-07 一种基于应用内容的安卓应用组装方法

Country Status (3)

Country Link
US (1) US10496418B2 (zh)
CN (1) CN105630907B (zh)
WO (1) WO2017107569A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912850A (zh) * 2018-09-18 2021-06-04 奇异世界有限公司 使用基于查询的兴趣的模拟系统和方法
US11816402B2 (en) 2016-08-24 2023-11-14 Improbable Worlds Limited Simulation systems and methods
US11936734B2 (en) 2016-08-24 2024-03-19 Improbable Worlds Ltd Simulation systems and methods using query-based interest

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630907B (zh) * 2015-12-21 2019-05-07 北京大学 一种基于应用内容的安卓应用组装方法
CN105955618B (zh) 2016-04-29 2019-07-05 北京小米移动软件有限公司 信息显示方法及装置
CN107277072A (zh) * 2017-08-15 2017-10-20 合肥爱吾宠科技有限公司 互联网服务资源推广的系统和方法
CN108153848B (zh) * 2017-12-20 2021-10-22 阿里巴巴(中国)有限公司 轻应用数据的搜索方法、设备及电子设备
CN109240700B (zh) * 2018-07-06 2021-04-23 北京大学 关键代码定位方法与系统
CN109408696B (zh) * 2018-09-30 2021-05-18 上海掌门科技有限公司 一种用于搜索寄宿程序的方法与设备
CN110457043A (zh) * 2019-07-23 2019-11-15 上海易点时空网络有限公司 基于React的页面处理方法以及装置
CN110928621B (zh) * 2019-11-01 2021-05-25 北京达佳互联信息技术有限公司 信息查找方法、装置、电子设备及存储介质
CN113536177B (zh) * 2020-04-15 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 一种页面跳转方法、装置、服务器和存储介质
CN111966939A (zh) * 2020-09-18 2020-11-20 北京百度网讯科技有限公司 页面跳转方法及装置
CN112416364A (zh) * 2020-12-11 2021-02-26 成都商通数治科技有限公司 一种Android跳转界面并且接收返回值的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488785A (zh) * 2013-09-30 2014-01-01 北京奇虎科技有限公司 提供搜索服务的方法、系统及服务器
CN103500211A (zh) * 2013-09-30 2014-01-08 北京奇虎科技有限公司 提供搜索服务的方法、系统及客户端
CN105095407A (zh) * 2015-07-09 2015-11-25 中山大学 一种应用程序内容实时搜索方法及系统
CN105630907A (zh) * 2015-12-21 2016-06-01 北京大学 一种基于应用内容的安卓应用组装方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566984B (zh) * 2008-07-11 2011-02-09 博采林电子科技(深圳)有限公司 一种应用在个人手持设备中的搜索引擎和资源搜索方法
US8620930B2 (en) * 2010-03-11 2013-12-31 Yahoo! Inc. Method and system for determining similarity score
CN102968469B (zh) * 2012-11-09 2016-05-18 小米科技有限责任公司 一种应用索引建立方法和系统、应用检索方法和系统
US9146972B2 (en) * 2013-03-15 2015-09-29 Google Inc. Ranking of presentation modes for particular content
US9213730B2 (en) * 2013-08-13 2015-12-15 Xerox Corporation Method and apparatus for extracting portions of text from long social media documents
CN103886099B (zh) * 2014-04-09 2017-02-15 中国人民大学 一种模糊概念的语义检索系统及方法
CN104168330A (zh) * 2014-08-28 2014-11-26 哈尔滨工程大学 一种基于关系图的解决Web服务组合异常问题的最优补偿方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488785A (zh) * 2013-09-30 2014-01-01 北京奇虎科技有限公司 提供搜索服务的方法、系统及服务器
CN103500211A (zh) * 2013-09-30 2014-01-08 北京奇虎科技有限公司 提供搜索服务的方法、系统及客户端
CN105095407A (zh) * 2015-07-09 2015-11-25 中山大学 一种应用程序内容实时搜索方法及系统
CN105630907A (zh) * 2015-12-21 2016-06-01 北京大学 一种基于应用内容的安卓应用组装方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816402B2 (en) 2016-08-24 2023-11-14 Improbable Worlds Limited Simulation systems and methods
US11936734B2 (en) 2016-08-24 2024-03-19 Improbable Worlds Ltd Simulation systems and methods using query-based interest
CN112912850A (zh) * 2018-09-18 2021-06-04 奇异世界有限公司 使用基于查询的兴趣的模拟系统和方法

Also Published As

Publication number Publication date
CN105630907B (zh) 2019-05-07
US20180285131A1 (en) 2018-10-04
CN105630907A (zh) 2016-06-01
US10496418B2 (en) 2019-12-03

Similar Documents

Publication Publication Date Title
WO2017107569A1 (zh) 一种基于应用内容的安卓应用组装方法
JP6506401B2 (ja) オンライン・ソーシャル・ネットワーク上でニュース関連のコンテンツを検索するための提案キーワード
US10083205B2 (en) Query cards
US8996629B1 (en) Generating a stream of content for a channel
US11042590B2 (en) Methods, systems and techniques for personalized search query suggestions
US20180359209A1 (en) Method and system for classifying a question
WO2016150083A1 (zh) 一种信息输入方法和装置
CN107193987B (zh) 获取与页面相关的搜索词的方法、装置和系统
US11080287B2 (en) Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources
US9852448B2 (en) Identifying gaps in search results
TW201437832A (zh) 訊息推薦方法及其裝置與訊息資源推薦系統
CN107463592B (zh) 用于将内容项目与图像匹配的方法、设备和数据处理系统
US11232522B2 (en) Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source
US9946794B2 (en) Accessing special purpose search systems
US10789287B2 (en) Method and system for multi-dimensional image matching with content in response to a search query
US20170098012A1 (en) Methods, systems and techniques for ranking personalized and generic search query suggestions
US20230179554A1 (en) Method and system for dynamically generating a card
US10339191B2 (en) Method of and a system for processing a search query
US11836169B2 (en) Methods, systems and techniques for providing search query suggestions based on non-personal data and user personal data according to availability of user personal data
US10901992B2 (en) System and method for efficiently handling queries
US20160299951A1 (en) Processing a search query and retrieving targeted records from a networked database system
US11216735B2 (en) Method and system for providing synthetic answers to a personal question
WO2015167999A1 (en) Application spam detector
WO2018014543A1 (zh) 信息查询方法、信息查询装置、存储介质及终端
CN113094604B (zh) 搜索结果排序方法、搜索方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16877380

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15745167

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16877380

Country of ref document: EP

Kind code of ref document: A1