Software application store listing customizations based on search terms
By clustering user search terms to inform customized application store listings, the system enhances user engagement and installation rates by aligning listings with user search behavior.
Patent Information
- Application Number
- PCT/US2025/027183
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-13
- Filing Date
- 2025-04-30
- Publication Date
- 2025-11-20
AI Technical Summary
Existing software application stores lack the ability to effectively customize application listings based on user search terms, leading to suboptimal user engagement and installation rates.
A remote computing system collects and clusters search terms from user devices to generate targeted search term groups, enabling application developers to create customized store listings that align with user search behavior, thereby enhancing user engagement and installation rates.
The system provides developers with insights and tools to tailor application store listings, increasing user traffic and installation rates by making listings more relevant to user search queries.
Smart Images

Figure US2025027183_20112025_PF_FP_ABST
Abstract
Description
SOFTWARE APPLICATION STORE LISTING CUSTOMIZATIONS BASED ON SEARCH TERMS
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 646,188, filed May 13, 2024, the entire content of which is hereby incorporated by reference.BACKGROUND
[0002] A software application store may include listings of software applications referencing software applications that user devices may install. The software application store may allow developers to publish, via a software application store service, software applications with assets such as text, images, and / or videos.SUMMARY
[0003] In general, techniques of the present disclosure are directed to customizing software application store listings based on search terms. A remote computing system may host, via a software application store service, a software application store for a plurality of user devices. The user devices may display application store listings included in the software application store for a user to purchase, install, or otherwise interact with software applications developed by developers operating an application developer system. The remote computing system may publish content items (e.g., descriptions, images, audio, video, etc.) as part of an application store listing for a software application developed using the application developer system. The remote computing system may collect search term metrics specifying user traffic associated with a user device navigating to or otherwise requesting the application store listing for the software application via a query that includes search terms. The remote computing system may generate search term groups by clustering the search terms based at least on the search term metrics. The remote computing system may output the search term groups to the application developer system. The remote computing system may provide, via the software application store service, the application developer system a platform in which developers may create customized store listings for a software application that is output to a software application store accessed by a user device responsive to the user device inputting targeted search terms (e.g., a search term associated with the search term group corresponding to the customized store listing).
[0004] In some instances, the remote computing system may output, to the applicationdeveloper system, content items generated based at least on a search term group (e.g., a targeted keyword) selected using the application developer system. The remote computing system may include the generated content item in the customized store listing created by the application developer system. The remote computing system may publish the customized store listing, including the generated content item, to software application stores. When a user searches for an application and selects an application listing to view, the software application store may use the search terms entered by the user to select which customized store listing for the application to show the user.
[0005] In some aspects, the techniques described herein relate to a method that includes obtaining, by a remote computing system, a plurality of search terms input by a plurality of user devices accessing a software application store; generating, by the remote computing system, a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receiving, by the remote computing system, a selection of a search term group of the plurality of search term groups; generating, by the remote computing system, a content item based at least on the selected search term group; and publishing, by the remote computing system, the content item in a customized store listing output via the software application store.
[0006] In some aspects, the techniques described herein relate to a computing system that includes a memory; and one or more processors operably coupled to the memory, wherein the one or more processors execute instructions stored at the memory to: obtain a plurality of search terms input by a plurality of user devices accessing a software application store; generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receive a selection of a search term group of the plurality of search term groups; generate a content item based at least on the selected search term group; and publish the content item in a customized store listing output via the software application store.
[0007] In some aspects, the techniques described herein relate to a computer program product for customizing software application listings in software application stores, the computer program product includes obtain a plurality of search terms input by a plurality of user devices accessing a software application store; generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receive a selection of a search term group of the plurality of search term groups; generate a content item based at least on the selected search term group; and publish the content item in a customized store listing output via the software application store.
[0008] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF DRAWINGS
[0009] FIG. l is a block diagram illustrating an example computing environment for customizing content items for application store listings based on search terms, in accordance with one or more aspects of the present disclosure.
[0010] FIG. 2 is a block diagram illustrating an example application developer system for creating customized store listings, in accordance with one or more aspects of the present disclosure.
[0011] FIG. 3 is a block diagram illustrating an example remote computing system for managing customized store listings, in accordance with one or more aspects of the present disclosure.
[0012] FIG. 4 is a flowchart illustrating an example operation for creating and implementing custom store listings, in accordance with one or more aspects of the present disclosure.
[0013] FIG. 5 is a conceptual diagram illustrating an example graphical user interface for creating custom store listings, in accordance with one or more aspects of the present disclosure.
[0014] FIG. 6 is a flowchart illustrating an example operation for publishing content items based on search terms, in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION
[0015] FIG. 1 is a block diagram illustrating example computing environment 100 for customizing content items for application store listings based on search terms, in accordance with one or more aspects of the present disclosure. Computing environment 100 of FIG. 1 includes computing device 110, application developer system 120, and remote computing system 130 communicatively coupled via network 140.
[0016] Network 140 represents any public or private communications network, for instance, cellular, Wi-Fi, and / or other types of networks for transmitting data between computing systems, servers, and computing devices. For example, computing device 110 may exchange data, via network 140, with remote computing system 130 to provide tokens and / or context identifiers. Network 140 may include one or more network hubs, network switches, network routers, or any other network equipment that are operatively inter-coupled thereby providingfor the exchange of information between computing device 110 and remote computing system 130. Computing device 110 and remote computing system 130 may transmit and receive data across network 140 using any suitable communication techniques. Computing device 110 and remote computing system 130 may each be operatively coupled to network 140 using respective network links. The links coupling computing device 110 and remote computing system 130 to network 140 may be Ethernet or other types of network connections and such connections may be wireless and / or wired connections.
[0017] Computing device 110 represents a mobile or non-mobile computing device. Examples of computing device 110 include user computing devices (e.g., laptops, desktops, and mobile computing devices such as tablets, smartphones, wearable computing devices, artificial intelligence glasses, etc.); embedded computing devices (e.g., devices embedded within a vehicle, camera, image sensor, industrial machine, satellite, gaming console or controller, or home appliance such as a refrigerator, thermostat, energy meter, home energy manager, smart home assistant, etc.); server computing devices (e.g., database servers, parameter servers, file servers, mail servers, print servers, web servers, game servers, application servers, etc.); dedicated, specialized model processing or training devices; virtual computing devices; other computing devices or computing infrastructure; or combinations thereof configured to send and receive information via a network, such as network 140.
[0018] Computing device 110 includes one or more applications 112 and software application store client 114 . Computing device 110 may execute applications 112 and software application store client 114 with one or more processors. A user of computing device 110 may provide user input to execute applications 112. The user input may include a touch input, a voice input, a keyboard input, a mouse, trackpad, or other pointing device input, etc. The user input may be a selection of an application icon, a link, or other graphical or textual object that is associated with particular functionality of application 112 (e.g., a default or “home” screen of the application, navigation instruction functionality, mapping functionality, restaurant listing functionality, nearby store functionality, telephony functionality, social network functionality, gaming functionality, or any other functionality provided by the application).
[0019] Applications 112 may include software applications developed by application developer system 120. Application developer system 120 is associated with a developer of one or more software applications of applications 112. In other words, application developer system 120 may be operated by software developers developing software applications, such as any of applications 112. Application developer system 120 represents any suitable remotecomputing systems, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, etc. capable of sending information to and receiving information from remote computing system 130 via a network, such as network 140. Application developer system 120 hosts (or at least provides access to) information associated with one or more applications executable by computing device 110. In some examples, application developer system 120 represents a cloud computing system that provides the applications via the cloud.
[0020] Application developer system 120 represents a mobile or non-mobile computing device. Examples of application developer system 120 include user computing devices (e.g., laptops, desktops, and mobile computing devices such as tablets, smartphones, wearable computing devices, etc.); embedded computing devices (e.g., devices embedded within a vehicle, camera, image sensor, industrial machine, satellite, gaming console or controller, or home appliance such as a refrigerator, thermostat, energy meter, home energy manager, smart home assistant, etc.); server computing devices (e.g., database servers, parameter servers, file servers, mail servers, print servers, web servers, game servers, application servers, etc.); dedicated, specialized model processing or training devices; virtual computing devices; other computing devices or computing infrastructure; or combinations thereof configured to send and receive information via a network, such as network 140.
[0021] Application developer system 120, in the example of FIG. 1, includes custom store listings (CSL) module 122 and content items 124. CSL module 122 may include a software development kit or a software application client that provides an environment for developers operating application developer system 120 to create, edit, or otherwise modify custom store listings. Content items 124 may include a storage device that stores assets or content items such as descriptions, images, videos, audio media, or the like.
[0022] Computing device 110 may include software application store client 114 as a software application provided by remote computing system 130. For example, software application store client 114 may generate data to output a graphical user interface displaying a listing of software applications (e.g., developed by application developer system 120) that computing device 110 may install as one of applications 112. Software application store client 114 may receive an indication of an input provided by a user operating computing device 110 that includes a query with search terms. Software application store client 114 may send the query to software application store service 138 of remote computing system 130, via network 140. Software application store service 138 may publish or otherwise output, based at least on the query, application store listings (e.g., application store listings created using applicationdeveloper system 120) to software application store client 114 of computing device 110, via network 140. Software application store client 114 may generate data to output a graphical user interface displaying content items (e.g., descriptions of listed software applications, screenshots from the listed software applications, promotional content associated with the listed software applications, etc.) included in the application store listings.
[0023] Remote computing system 130 represents any suitable remote computing systems, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, etc. capable of sending information to and receiving information from computing device 110 via a network, such as network 140. Remote computing system 130 hosts (or at least provides access to) information associated with one or more applications executable by computing device 110, such as user account information. In some examples, remote computing system 130 represents a cloud computing system that provides the application services via the cloud.
[0024] In accordance with techniques of the present disclosure, remote computing system 130 may manage content items in customized store listings published to software application stores. Search term recommendation module 132 of remote computing system 130 may monitor search terms input by computing devices (e.g., indications of inputs received by software application store client 114) requesting application store listings for software applications. Search term recommendation module 132 may collect search term metrics for software applications developed using application developer system 120. Search term recommendation module 132 may collect search term metrics for a software application associated with a number of user devices requesting visiting, or navigating to the software application listing page for the software application with keywords or search terms input using the user devices. For example, search term recommendation module 132 may collect search term metric data corresponding to the number of user devices visiting or navigating to an application store listing for a software application developed using application developer system 120 after inputting a search term (e.g., swimming or other variations thereof) over the last thirty days.
[0025] In situations in which the techniques herein discuss collecting personal information about users, or may make use of personal information, the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user’s social network, social actions or activities, profession, a user’s preferences, or a user’s current location), or to control whether and / or how to receive content from the content server that may be more relevant to the user. In addition, certain data may betreated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user’s identity may be treated so that no personally identifiable information can be determined for the user, or a user’s geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by a content server.
[0026] Search term recommendation module 132 may generate customization recommendations based at least on the collected search term metrics. For example, search term recommendation module 132 may generate customization recommendations indicating search terms and / or groups of search terms (e.g., search term groups) that may have the most impact in terms of user traffic (e.g., user traffic associated with computing device 110) associated with navigating to and / or installing an application developed using application developer system 120 (e.g., via software application store client 114). Search term recommendation module 132 may output customization recommendations to application developer system 120 via network 140. In this way, search term recommendation module 132 may recommend, to developers operating application developer system 120, customization store listings (e.g., customizations for terms or themes in content items published in an application store listing for a software application) that may maximize conversions to install a software application developed using application developer system 120.
[0027] In some instances, search term clustering module 134 may intelligently cluster search terms monitored by search term recommendation module 132. Search term clustering module 134 may implement clustering algorithms to cluster or group similar search terms for a single customization store listing. Search term clustering module 134 may group similar search terms based on one or more themes. For example, search term clustering module 134 may cluster similar search terms based on themes including translations, miss-spellings, and / or semantic meaning. Search term clustering module 134 may cluster similar search terms based on a translation theme associated with same or similar words in various languages and / or locale (e.g., set of language or regional based preferences for user interfaces). Search term clustering module 134 may cluster similar search terms based on a miss-spelling theme associated with miss-spellings of intended words (e.g., a search term of “runing” is a miss-spelling of an intended word of “running”). Search term clustering module 134 may cluster similar search terms based on a semantic meaning theme associated with similar words with similar semantic or contextual meanings.
[0028] Search term clustering module 134 may cluster search terms into search term groups. Search term clustering module 134 may cluster search terms based on clustering algorithms implementing any combination of themes. For example, search term clustering module 134 may generate a search term group as a cluster based on a language theme and a miss-spelling theme. Search term clustering module 134 may obtain search terms - collected by search term recommendation module 132 - associated with user traffic resulting in visiting, navigating to, and / or installing a software application (e.g., any of applications 112 of computing device 110). Search term clustering module 134 may identify a source language for each collected search term (e.g., search terms used during queries input by users interacting with a software application store) resulting in user traffic associated with navigating to a software application listing for the software application and / or installing the software application. Search term clustering module 134 may filter the collected search terms written in a language that is not in a selected language set (e.g., languages a user wants a customized store listing configured for). For each collected search term, search term clustering module 134 may select a cluster center the search term is associated with. Search term clustering module 134 may check the spelling of the cluster center and adjust the cluster center to be the correct spelling of a search term representing a cluster associated with a search term group. Search term clustering module 134 may translate the cluster center to a language that a developer operating application developer system 120 has selected. Search term clustering module 134 may normalize each cluster to generate search term groups. For example, search term clustering module 134 may normalize clusters to generate search term groups as embeddings or vectors representing similar search terms in a high dimensional space. Search term clustering module 134 may send search term groups to custom store listings module 122 of application developer system 120 via network 140.
[0029] Content item generation module 136 may generate content items for customized store listings published to software application stores (e.g., software application store client 114) responsive to receiving an indication of a query including a search term associated with a search term group generated using search term clustering module 134. Content item generation module 136 may receive a selection of a search term group from custom store listings module 122 of application developer system 120. Custom store listings module 122 may display search term groups obtained from remote computing system 130 via a display device outputting a graphical user interface. Custom store listings module 122 may receive an indication of a selection by a developer operating application developer system 120 of a search term group. Custom store listings module 122 may send an indication of the selectedsearch term group to content item generation module 136 of remote computing system 130. Content item generation module 136 may generate content items (e.g., descriptions, images, video, screenshots of a software application, audio media, etc.) for the selected search term group using a machine learning model (e.g., a large language model, neural networks, etc.). For example, if a selected search term group is associated with search terms similar to “Halloween” for a racing game software application, content item generation module 136 may generate content items of descriptions about a spooky racing game which developers of application developer system 120 may review and apply along with the application store listing associated with the racing game software application (e.g., the application store listing output to a display device of computing device 110 via software application store client 114).
[0030] In some instances, application developer system 120 may provide content items of content items 124 to content item generation module 136 to tune the machine learning model based on originally created non-customized content items for a software application developed using application developer system 120. Content item generation module 136 may additionally, or alternatively, tune the machine learning model to generate customized content items based on which of the generated content items a developer operating application developer system 120 may have selected. Content item generation module 136 may additionally, or alternatively, tune the machine learning model to generate customized content items based on search terms associated with a search term group. In this way, content item generation module 136 may generate content items for a search term group that accurately reflects content associated with a software application, as well as incorporate contextual meaning associated with targeted search terms associated with a search term group.
[0031] The techniques may provide one or more technical advantages that realize a practical application. For example, remote computing system 130 may provide a platform for application developers associated with application developer system 120 to customize software application store listings for software applications based on search terms. By remote computing system 130 processing search term metrics associated with search terms resulting in user traffic corresponding to navigating to a software application listing for a software application and / or installations of a software application, remote computing system 130 may provide developers operating application developer system 120 with an impact analysis specifying search terms or search term groups resulting in user traffic associated with a software application developed using application developer system 120. Remote computing system 130 may generate customization recommendations indicating a searchterm group to generate a customized store listing based at least on the impact analysis. Application developer system 120 may display the impact analysis and customization recommendations to a developer operating application developer system 120. In this way, remote computing system 130 informs developers of relevant search terms or search term groups that result in users navigating to a store listing page for a software application and / or users installing a software application responsive to using particular search terms in queries input via a software application store.
[0032] Remote computing system 130 may enable application developer system 120 to submit a customized store listing to be published on an application store listing for a software application responsive to a user device inputting particular search terms associated with a search term group. In some examples, remote computing system 130 may generate content items that application developer system 120 may select to include in a customized store listing. By enabling application developer system 120 to generate customized store listings for search term groups, remote computing system 130 may support a platform for application developer system 120 to entice users to install and / or otherwise acquire a software application - developed using application developer system 120 - at a higher rate due to the customized store listings including content items that are more relevant to user devices inputting a search term associated with a search term group.
[0033] FIG. 2 is a block diagram illustrating an example application developer system for creating customized store listings, in accordance with one or more aspects of the present disclosure.
[0034] Application developer system 220, custom store listings module 222, and content items 224 of FIG. 2 may be example or alternative implementations of application developer system 120, custom store listings module 122, and content items 124 of FIG. 1, respectively. As shown in the example of FIG. 2, application developer system 220 may include one or more processors 201, one or more communication units 202, one or more output components 203, one or more input components 204, memory 205, and storage components 208. Storage components 208 may include software application store console 221 and content items 224. Communication channels 206 may interconnect each of components 201, 202, 203, 204, and / or 208 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 206 may include a system bus, a network connection, one or more inter-process communication data structures, or any other components for communicating data between hardware and / or software.
[0035] Application developer system 220 may communicate with a remote computing system (e.g., remote computing system 130 of FIG. 1) with one or more communication units 202. One or more communication units 202 of application developer system 220 may communicate with external devices by transmitting and / or receiving data. For example, application developer system 220 may use communication units 202 to transmit and / or receive radio signals and radio networks such as a cellular radio network. In some examples, communication units 202 may transmit and / or receive satellite signals on a satellite network such as a Global Positioning System (GPS) network. Examples of communication units 202 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and / or receive information. Other examples of communication units 202 include Bluetooth®, GPS, 3G, 4G, and Wi-Fi® radios found in mobile devices as well as Universal Serial Bus (USB) controllers and the like.
[0036] One or more input components 204 of application developer system 220 may receive input from software developers. Examples of input or tactile, audio, kinetic, and optical input, to name only a few examples. Input components 204 of application developer system 220, in one example, include a mouse, keyboard, voice responsive system, video camera, buttons, control pad, microphone or any other type of device for detecting input from a human or machine.
[0037] In some examples, one or more output components 203 of application developer system 220 may generate output. Examples of output are tactile, audio, and video output. Output components 203 of application developer system 220, in some examples, include a presence-sensitive screen, sound card, video graphics adapter card, speaker, cathode ray tube (CRT) monitor, liquid crystal display (LCD), or any other type of device for generating output to a human or machine. Output components may include display components such as liquid crystal display (LCD), Light-Emitting Diode (LED) or any other type of device for generating tactile, audio, and / or visual output. Output components 203 may be remote components such as separate displays.
[0038] One or more processors 201 may implement functionality and / or execute instructions with application developer system 220. For example, processors 201 on application developer system 220 may receive and execute instructions stored by storage components 208 that provide the functionality of software application store console 221, for example. These instructions executed by processors 201 may cause application developer system 220 to store and / or modify information, within storage components 208 during program execution.
[0039] One or more storage components 208 within application developer system 220 may store information for processing during operation of application developer system 220. In some examples, storage components 208 are a temporary memory, meaning that a primary purpose of storage components 208 is not long-term storage. Storage components 208 of application developer system 220 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if deactivated. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0040] Storage components 208, in some examples, also include one or more computer- readable storage media. Storage components 208 may be configured to store larger amounts of information than volatile memory. Storage components 208 may further be configured for long-term storage of information as non-volatile memory space and retain information after activate / off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage components 208 may store program instructions and / or data associated with software application store console 221.
[0041] Software application store console 221 may include a software based platform for developers operating application developer system 220 to create, edit, or otherwise modify software application store listings for software applications developed using application developer system 220. Application developer system 220 may obtain computer readable instructions for executing software application store console 221 from a remote computing system (e.g., remote computing system 130 of FIG. 1) hosting software application stores. For example, application store console 221 may include a software development platform that may send and receive information (e.g., information relating to content items included in application store listings) to and from a software application store service of the remote computing system (e.g., software application store service 138 of remote computing system 130). Software application store console 221 may include custom store listings module 222. Custom store listings module 222 may generate data for a graphical user interface displaying impact reports, customization recommendations, search term groups, generated content items, or other customized store listing options that a developer operating application developer system 220 may select for a customized store listing to be output via a software application store responsive to a query that includes particular search terms. Custom store listings module222 may output data for the graphical user interface to an output component of one or more output components 203.
[0042] Custom store listings module 222, in the example of FIG. 2, may include customized store listings (CSL) creation module 226, keyword targeting module 227, and CSL content item module 228. CSL creation module 226 may generate data for a graphical user interface that may prompt a developer operating application developer system 220 to create a customized store listing. CSL creation module 226 may generate data for a graphical user interface that guides developers to create customized store listings, using search term groups, with simplified and / or automated settings associated with keywords. For example, CSL creation module 226 may generate data for a graphical user interface that allows a developer to input listing details (e.g., name, target audience, listing rollout, duration, etc.) for one or more customized store listings for a software application.
[0043] Keyword targeting module 227 may generate data for a graphical user interface to prompt a developer operating application developer system 220 to select a search term or search term group for a customized store listing. Keyword targeting module 227 may obtain search terms or search term groups from a remote computing system (e.g., remote computing system 130 of FIG. 1) that processes search term metrics associated with a software application developed using application developer system 220. Keyword targeting module 227 may generate data for a graphical user interface that lists information associated with search terms or search term groups according to an impact (e.g., volume of user traffic associated with navigating to an application store listing via a search term) determined by the remote computing system. For example, keyword targeting module 227 may generate data for a graphical user interface that lists search terms or search term groups with corresponding information associated with a number of search term variations, a number of store listing visitors, a percentage of store listing visitors that navigated to the store listing via the search term or search term group, a store listing conversion rate, or the like. In some instances, keyword targeting module 227 may generate data for a graphical user interface that includes an impact analysis and / or customization recommendations associated with a software application. Keyword targeting module 227 may receive indications of inputs, via input components 204, provided by a developer associated with application developer system 220, of selections of search terms or search term groups that a developer wants to make a customized store listing for.
[0044] CSL content item module 228 may generate data for a graphical user interface to prompt a developer operating application developer system 220 to select one or more contentitems to include in a customized store listing associated with selected search terms or search term groups received using keyword targeting module 227. For example, CSL content item module 228 may generate data for a graphical user interface for a developer to upload content items of content items 224 as part of a customized store listing associated with the selected search terms or search term groups. In some instances, CSL content item module 228 may obtain content items generated by a remote computing system (e.g., remote computing system 130 of FIG. 1). CSL content item module 228 may generate data for a graphical user interface to allow a developer operating application developer system 220 to select a generated content item. CSL content item module 228 may store the selected content item at content items 224. CSL content items module 228 may add uploaded and / or selected content items in a customized store listing associated with a selected search term or search term group. In this way, application developer system 220 may include a platform for developers to tailor content for most of their categorical search visitors.
[0045] FIG. 3 is a block diagram illustrating an example remote computing system for managing customized store listings, in accordance with one or more aspects of the present disclosure.
[0046] Remote computing system 330, search term recommendation module 332, search term clustering module 334, and content item generation module 336 of FIG. 3 may be examples of remote computing system 130, search term recommendation module 132, search term clustering module 134, and content item generation module 136 of FIG. 1, respectively. In the example of FIG. 3, remote computing system 330 may include one or more processors 351, communication units 352, output components 353, input components 354, and one or more storage components 358. Storage components 358 may include software application store service 338, search term recommendation module 332, search term clustering module 334, and content item generation module 336. Communication channels 356 may interconnect each of components 351, 352, 353, 354, and / or 358 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 356 may include a system bus, a network connection, one or more inter-process communication data structures, or any other components for communicating data between hardware and / or software.
[0047] Remote computing system 330 may communicate with an application developer system (e.g., application developer system 120 of FIG. 1) and / or user devices (e.g., computing device 110 of FIG. 1) with one or more communication units 352. One or more communication units 352 of remote computing system 330 may communicate with externaldevices by transmitting and / or receiving data. For example, remote computing system 330 may use communication units 352 to transmit and / or receive radio signals and radio networks such as a cellular radio network. In some examples, communication units 352 may transmit and / or receive satellite signals on a satellite network such as a Global Positioning System (GPS) network. Examples of communication units 352 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and / or receive information. Other examples of communication units 352 include Bluetooth®, GPS, 3G, 4G, and Wi-Fi® radios found in mobile devices as well as Universal Serial Bus (USB) controllers and the like.
[0048] One or more input components 354 of remote computing system 330 may receive input from administrators of remote computing system 330. Examples of input or tactile, audio, kinetic, and optical input, to name only a few examples. Input components 354 of remote computing system 330, in one example, include a mouse, keyboard, voice responsive system, video camera, buttons, control pad, microphone or any other type of device for detecting input from a human or machine.
[0049] In some examples, one or more output components 353 of remote computing system 330 may generate output. Examples of output are tactile, audio, and video output. Output components 353 of remote computing system 330, in some examples, include a presencesensitive screen, sound card, video graphics adapter card, speaker, cathode ray tube (CRT) monitor, liquid crystal display (LCD), or any other type of device for generating output to a human or machine. Output components may include display components such as liquid crystal display (LCD), Light-Emitting Diode (LED) or any other type of device for generating tactile, audio, and / or visual output. Output components 353 may be remote components such as separate displays.
[0050] One or more processors 351 may implement functionality and / or execute instructions with remote computing system 330. For example, processors 351 on remote computing system 330 may receive and execute instructions stored by storage components 358 that provide the functionality of software application store service 338, search term recommendation module 332, search term clustering module 334, and / or content item generation module 336. These instructions executed by processors 351 may cause remote computing system 330 to store and / or modify information, within storage components 358 during program execution.
[0051] One or more storage components 358 within remote computing system 330 may store information for processing during operation of remote computing system 330. In someexamples, storage components 358 are a temporary memory, meaning that a primary purpose of storage components 358 is not long-term storage. Storage components 358 of remote computing system 330 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if deactivated. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0052] Storage components 358, in some examples, also include one or more computer- readable storage media. Storage components 358 may be configured to store larger amounts of information than volatile memory. Storage components 358 may further be configured for long-term storage of information as non-volatile memory space and retain information after activate / off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage components 358 may store program instructions and / or data associated with software application store service 338, search term recommendation module 332, search term clustering module 334, and content item generation module 336.
[0053] Software application store service 338 may manage software application stores accessed by user devices (e.g., via software application store client 114 of FIG. 1). Software application store service 338 may publish software applications developed by application developer systems (e.g., application developer system 120 of FIG. 1) in a way that allows the user device to install software applications. Software application store service 338 may publish content items for the software applications that may advertise, promote, sell, or otherwise entice users to install and / or acquire content associated with the software applications. Software application store service 338, according to techniques described herein, may publish content items to software application stores based on search terms included in a query received during execution of a software application store client configured to generate data for a graphical user interface displaying application store listings. For example, software application store service 338 may determine that a user device accessing the software application store input a search term in a query field included in the software application store user interface, and publish one or more content items to the software application store user interface based on a customized store listing associated with the input search term.
[0054] Search term recommendation module 332, in the example of FIG. 3, may include search term monitor 374 and search term impact analysis module 376. Search term monitor 374 may monitor and collect data associated with how many users navigate to a software application store listing for a software application via various search terms. Search term monitor 374 may collect the data as search term metrics that represent user traffic associated with a number of users that navigate to the application store listing based on search terms included in queries. Search term impact analysis module 376 may generate customization recommendations that may recommend to developers on which groups of search terms may have the most impact using customized store listings based on the search term metrics collected by search term monitor 374.
[0055] Search term clustering module 334 may apply clustering techniques to group or cluster search terms based on one or more themes. Search term clustering module 334 may cluster search terms to reduce redundancy as user traffic to an application store listing is generally concentrated on a few search queries and misspellings. Search term clustering module 334, in the example of FIG. 3, may include locale filter module 378 and cluster generation module 382. Locale filter module 378 may introduce a language theme to produce an international experience. For example, locale filter module 378 may identify a source language for each query collected using search term monitor 374. Locale filter module 378 may filter the queries written in a language not in a language selected by a developer associated with the software application being analyzed. Locale filter module 378 may, for each term included in the collected queries, select a cluster center as a representative search term for a cluster or search term group. Locale filter module 378 may check the spelling of the cluster center and make spelling corrections accordingly. Locale filter module 378 may translate the cluster center to the language selected by the developer associated with the software application being analyzed. For example, locale filter module 378 may obtain a selection from an application developer system (e.g., application developer system 120 of FIG. 1) of a language, country, region, or other locale a developer associated with the application developer system wants to target. In some examples, locale filter module 378 may limit the number of languages or locales selected.
[0056] Locale filter module 378 may cluster locale translations and misspellings together. Locale filter module 378 may obtain locale translation suggestions based on one or more selected locales by a developer associated with a customized store listing. Locale filter module 378 may use an indication of the selected locale language to check what language queries collected by search term monitor 374 are in. Locale filter module 378 may use atranslation application (e.g., a translation application programming interface) with a query autocorrection for all of the selected locale languages. Locale filter module 378 may group the search term queries with the same translations and correct (e.g., not misspelled) versions of the search terms. Locale filter module 378 may keep the search terms unnormalized in their original languages and without spell corrections applied.
[0057] Cluster generation module 382 may normalize clusters created by locale filter module 334 to generate search term groups. Cluster generation module 382 may normalize clusters because two or more clusters should have the same cluster center if they correspond to the same or similar search terms. Cluster generation module 382 may normalize clusters for language identification requests, for spell check requests, for cluster center generation, for search terms associated with a cluster center, or the like. Cluster generation module 382 may additionally, or alternatively, normalize clusters based on semantic similarities such as case (e.g., capital or lowercase) normalization, punctuation removal, stop word removal (e.g., removing the word “the”), stemming, removing numbers and symbols, removing non-text, replacing synonyms and abbreviations to their full-form, or the like. Cluster generation module 382 may generate search term groups based on the normalized clusters. For example, cluster generation module 382 may generate a search term group as an embedding representing a normalized cluster associated with a search term of “run.”
[0058] Cluster generation module 382 may generate clusters that group search terms with similar meanings. For example, cluster generation module 382 may generate a cluster that groups search terms of “surf,” “surfer,” “surfboard,” “sea,” or the like based on a determination, using a machine learning model (e.g., a language model), that the search terms have similar meanings. In some instances, cluster generation module 382 may generate suggestion clusters according to one or more themes. For example, cluster generation module 382 may generate a suggestion cluster that contains three themes of semantic, misspelling, and translation. For example, a “running” suggestion cluster may include words with similar meaning to “running,” as well as corresponding translations and misspellings.
[0059] Cluster generation module 382 may generate search term groups as embeddings or vectors representing search terms in high dimensional space. For example, cluster generation module 382 may apply agglomerative clustering to group search queries that have a cosine similarity greater than a threshold amount and that have a similar semantic meanings. In another example, cluster generation module 382 may apply k-means clustering to generate clusters based on similarities of the meaning of search terms. Cluster generation module 382 may determine a cluster center automatically and group the search terms based on howsimilar they are to a cluster center. In yet another example, cluster generation module 382 may generate clusters by filtering based on user input. Cluster generation module 382 may cluster search terms into search term groups based on user inputs and a filtering of queries based on similarities of search term meanings.
[0060] In some instances, cluster generation module 382 may generate suggestion clusters as a ranking for customization recommendations. Cluster generation module 382 may assign a weight to suggestion clusters associated with a rank or impact a search term group or cluster has with respect to user traffic associated with navigating to an application store listing. For example, cluster generation module 382 may determine a Euclidean distance between a cluster’s mean embedding and a developer’s input embedding and multiplying an assigned weight by the Euclidean distance to get priority or importance given to a certain suggestion cluster in a graphical user interface output to an application developer system.
[0061] Cluster generation module 382 may rank clusters for customization recommendations based at least on user traffic associated with search terms used to navigate to an application store listing and / or a search term relationship with respect to terms selected by a developer. Cluster generation module 382 may normalize search term metrics specifying user traffic to avoid having a single query with a high traffic volume dominate the ranking. Cluster generation module 382 may calculate, using a machine learning model (e.g., language models, neural networks, etc.), a semantic similarity with selected terms using text embeddings and cosine similarity. Text embeddings may include representations of strings as vectors. Cluster generation module 382 may apply a cosine similarity to compute how close the text embeddings vectors are to each other (e.g., if two words are similar, corresponding vectors will be closer). Responsive to cluster generation module 382 determining the semantic similarity score satisfies a threshold (e.g., greater than 0.75), cluster generation module 382 may keep the normalized user traffic score as is. Responsive to cluster generation module 382 determining the semantic similarity score does not satisfy a threshold (e.g., less than 0.75), cluster generation module 382 may half the normalized user traffic score to avoid having high traffic but unrelated meaning queries higher in the ranking, while still preserving the user traffic ranking between the two queries.
[0062] In some instances, cluster generation module 382 may rank clusters in a lexicographical order. Cluster generation module 382 may sort search term groups or clusters by a first metric, and if there is a tie, sort the search term groups or clusters by a second metric. For example, cluster generation module 382 may sort clusters based on user traffic and semantic similarity to selected targeted keywords. In some examples, cluster generationmodule 382 may group clusters into search term groups based on their similarity (e.g., using agglomerative clustering). Cluster generation module 382 may compute a pairwise similarity between cluster centers. Cluster generation module 382 may store pairs by similarity (e.g., in descending order), and purge pairs that do not satisfy a semantic similarity threshold (e.g., less than 0.9). Cluster generation module 382 may merge pairs. For example, cluster generation module 382 may merge pairs of clusters with semantic similarity scores that satisfy the semantic similarity threshold (e.g., greater than 0.9). Responsive to one or both of the clusters in a pair already being merged, cluster generation module 382 may ensure all pairwise similarities satisfy the semantic similarity threshold. Responsive to merging clusters, cluster generation module 382 may remove the pairs from a mapping of clusters if elements in the merged cluster satisfy the semantic similarity threshold with elements outside the merged cluster.
[0063] Content item generation module 336, in the example of FIG. 3, may include machine learning model 384 and fine tuning module 386. Machine learning model 384 may include a machine learning model trained to generate content items for application store listings. Machine learning model 384 may include a language model, deep neural networks, or other machine learning algorithm configured to generate content items for application store listings based at least on search terms being targeted (e.g., a search term a developer has selected). Fine tuning module 386 may fine tune machine learning model 384 based on data provided by developers wanting to create a customized store listing for a software application based on a selected keyword or search term. Fine tuning module 386 may obtain content items from an application developer system (e.g., application developer system 120 of FIG. 1) that correspond to a software application a customized store listing is being created for. For example, fine tuning module 386 may obtain content items as screenshots or original descriptions of a software application that may be included in a software application store listing. Fine tuning module 386 may fine tune machine learning model 384 based on content items received from developers, as well as generic imagery or text that may be obtained from external sources (e.g., the Internet). In some instances, fine tuning module 386 may determine whether there are enough training content items for effectively tuning machine learning model 384. Fine tuning module 386 may output to the application developer system an indication of whether additional volume of training content items may be required for effectively generating content items for a customized store listing using machine learning model 384. Fine tuning module 386 may output a score, to application developer systems, indicating whether enough information is provided to tune machine learning model 384. Insome examples, fine tuning module 386 may tune machine learning model 384 based on selections received from application developer systems associated with a selection of a content item for a customized store listing generated using machine learning model 384.
[0064] FIG. 4 is a flowchart illustrating an example operation for creating and implementing custom store listings, in accordance with one or more aspects of the present disclosure. FIG. 4 may be discussed with respect to FIG. 1 for example purposes only.
[0065] Remote computing system 130 may obtain search term metrics for a software application published to a software application store (402). For example, remote computing system 130 may obtain search term metrics specifying queries with search terms (e.g., input via software application store client 114) and corresponding user traffic associated with user navigating to an application store listing for a software application developed using application developer system 120. Remote computing system 130 cluster search terms (404). For example, remote computing system 130 may cluster search terms according to one or more themes (e.g., locale theme, misspelling theme, semantic theme, etc.). Remote computing system 130 may cluster search terms to generate search term groups of similar search terms.
[0066] Remote computing system 130 may generate a search term impact report (406). For example, remote computing system 130 may generate a search term impact report identifying statistics or information specifying a volume of user traffic associated with navigating to an application store listing via a search term input into a query of a software application store. Remote computing system 130 may generate customization recommendations (408). Remote computing system 130 may generate customization recommendations based at least on the search term impact report. Remote computing system 130 may generate customization recommendations indicating a search term or search term group a developer operating application developer system 120 should create a customized store listing for. Remote computing system 130 may output the search term impact report and / or customization recommendations to application developer system 120. Application developer system 120 may display the obtained search term impact report and customization recommendations (410). For example, application developer system 120 may display the search term impact report and customization recommendations via a graphical user interface output by a display device.
[0067] Application developer system 120 may select a search term group (412). Application developer system 120 may select a search term group to create a customized store listing for a software application when a user inputs a search term associated with the search term group.Application developer system 120 may select the search term group based on the search term impact report and customization recommendations provided by remote computing system 130. Application developer system 120 may send the selected search term group to remote computing system 130.
[0068] Remote computing system 130 may generate content items (414). For example, remote computing system 130 may apply a machine learning model to generate content items for customized store listing for a software application based on the selected search term group. Remote computing system 130 may generate multiple content items to provide a developer of application developer system 120 with options of which content items of the generated content items to include in the customized store listing. Remote computing system 130 may output the generated content items to application developer system 120 (416). Application developer system 120 may display the generated content items as selectable options (e.g., via a graphical user interface output by a display device). Application developer system 120 may select one or more generated content items (418). For example, application developer system 120 may select a first content item associated with a generated description for a customized store listing and a second content item associated with a generated image for a customized store listing. Application developer system 120 may send the selected one or more content items to remote computing system 130 (420). Remote computing system 130 may publish the selected one or more content items to a software application store accessed by computing devices (e.g., via software application store client 114 ). Remote computing system 130, or more specifically software application store service 138, may publish the selected one or more content items to a software application store responsive to receiving a query associated with the selected search term group (422). For example, software application store service 138 may receive an indication of a query (e.g., obtained by software application store client 114 and sent to remote computing system 130 via network 140) from software application store client 114 executing at computing device 110. Remote computing system 130 may receive a query that includes a search term associated with the selected search term group. Remote computing system 130 may publish a customized store listing including the selected one or more content items to a software application store user interface generated by the software application store client. The software application store client executing at the computing devices may generate data for a graphical user interface to output the customized store listing with the selected one or more content items via display devices of the computing devices.
[0069] FIG. 5 is a conceptual diagram illustrating example graphical user interface 590 for creating custom store listings, in accordance with one or more aspects of the present disclosure. FIG. 5 may be discussed with respect to FIG. 1 for example purposes only.
[0070] Application developer system 120, or more specifically custom store listings module 122, may generate data for outputting graphical user interface 590 via one or more display devices of application developer system 120. Graphical user interface 590, in the example of FIG. 5, may include listing details 592, select search term group options 594, and select generated content item options 596. Graphical user interface 590 may allow a developer operating application developer system 120 to input listing details in the field corresponding to listing details 592. For example, listing details 592 may include options for a developer to input information such as a name of a customized store listing, a target audience for the customized store listing, a customized store listing rollout, a duration of the customized store listing, or the like.
[0071] Select search term group options 594 may allow a developer operating application developer system 120 to select a search term or search term group for a customized store listing. For example, select search term group options 594 may include a ranked list of search term groups (e.g., search term group A to search term group N) that a developer may create a customized store listing based on. Select search term group options 594 may include search term groups obtained from remote computing system 130, as previously discussed.
[0072] Select generated content item options 596 may include options for content items generated by remote computing system 130. For example, select generated content item options 596 may include a first set of options for generated content items associated with a description for a customized store listing and a second set of options for generated content items associated with one or more images for a customized store listing. Select generated content item options 596 may display options for generated content items once remote computing system 130 has received and processed a selection of search term groups associated with select search term group options 594. Application developer system 120 may send any selected content items to remote computing system 130 to output as part of a customized store listing for a software application responsive to a user device submitting a query that includes a search term associated with the selected search term group.
[0073] FIG. 6 is a flowchart illustrating an example operation for publishing content items based on search terms, in accordance with one or more aspects of the present disclosure. FIG. 6 may be discussed with respect to FIG. 1 for example purposes only.
[0074] Remote computing system 130 may obtain a plurality of search terms input by a plurality of user devices accessing a software application store (602). For example, remote computing system 130 may obtain search term metrics associated with computing devices (e.g., computing device 110) inputting search terms in queries via a software application store (e.g., software application store client 114). Remote computing system 130 may generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes (604). For example, remote computing system 130 may generate search term groups by clustering queries of search terms according to a locale theme, a misspellings theme, and / or a semantic meaning theme. Remote computing system 130 may send the generated search term groups, along with any impact analysis reports and / or customization recommendations, to application developer system 120. Application developer system 120 may display the generated search term groups to a developer operating application developer system 120 via a graphical user interface output by a display device. Application developer system 120 may select a search term group of the plurality of search term groups to create a customized store listing for a software application based at least on the selected search term. Application developer system 120 may send the selected search term to remote computing system 130.
[0075] Remote computing system 130 may receive a selection of search term groups (606). For example remote computing system 130 may receive the selection of search term groups made by a developer operating application developer system 120. Remote computing system 130 may generate a content item based at least on the selected search term group (608). For example, remote computing system 130 may apply a machine learning model to generate content items for a customized store listing for a software application based on the selected search term group. Remote computing system 130 may publish the content item in a customized store listing output via the software application store (610). Software application store service 138 of remote computing system 130 may, for example, publish or otherwise output the content item in a customized store listing by sending data to software application store client 114 that includes instructions for generating a user interface that includes the customized store listing. Software application store service 138 may publish the customized store listing with the content item responsive to computing device 110 inputting a query that includes a search term associated with the customized store listing generated based on the selected search term.
[0076] Example 1 : A method includes obtaining, by a remote computing system, a plurality of search terms input by a plurality of user devices accessing a software application store;generating, by the remote computing system, a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receiving, by the remote computing system, a selection of a search term group of the plurality of search term groups; generating, by the remote computing system, a content item based at least on the selected search term group; and publishing, by the remote computing system, the content item in a customized store listing output via the software application store.
[0077] Example 2: The method of example 1, wherein obtaining the plurality of search terms comprises: collecting search term metrics specifying user traffic associated with navigating, via one or more search terms of the plurality of search term, to a software application listing for a software application published to the software application store.
[0078] Example 3: The method of any of examples 1 and 2, wherein generating the plurality of search term groups includes selecting a search term of the plurality of search terms as a cluster center for a cluster; correcting misspellings associated with the cluster center; translating the cluster center; filtering the cluster based on a selected locale; and generating the search term group of the plurality of search term groups based on a normalization of the cluster.
[0079] Example 4: The method of any of examples 1 through 3, wherein generating the content item comprises: applying a machine learning model to generate the content item, wherein the machine learning model is trained based at least on training content items provided by an application developer system.
[0080] Example 5: The method of any of examples 1 through 4, wherein publishing the content item in the customized store listing comprises: publishing the content item in the customized store listing responsive to receiving an indication of an input including a search term associated with the search term group.
[0081] Example 6: The method of any of examples 1 through 5, further includes ranking the plurality of search term groups; generating one or more customization recommendations based on the ranking of the plurality of search term groups, wherein a customization recommendation of the one or more customization recommendations specifies user traffic to a software application listing associated with at least one search term group of the plurality of search term groups; and outputting the one or more customization recommendations to an application developer system.
[0082] Example 7: The method of any of examples 1 through 6, wherein the one or more themes includes at least one of: a locale theme, a misspelling theme, or a semantic meaning theme.
[0083] Example 8: The method of any of examples 1 through 7, wherein the content item includes at least one of: a description of a software application associated with the plurality of search terms, an image of the software application, audio media associated with the software application, or video associated with the software application.
[0084] Example 9: A computing system includes memory; and one or more processors operably coupled to the memory, wherein the one or more processors execute instructions stored at the memory to: obtain a plurality of search terms input by a plurality of user devices accessing a software application store; generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receive a selection of a search term group of the plurality of search term groups; generate a content item based at least on the selected search term group; and publish the content item in a customized store listing output via the software application store.
[0085] Example 10: The computing system of example 9, wherein to obtain the plurality of search terms, the one or more processors execute instructions stored at the memory to: collect search term metrics specifying user traffic associated with navigating, via one or more search terms of the plurality of search term, to a software application listing for a software application published to the software application store.
[0086] Example 11 : The computing system of any of examples 9 and 10, wherein to generate the plurality of search term groups, the one or more processors execute instructions stored at the memory to: select a search term of the plurality of search terms as a cluster center for a cluster; correct misspellings associated with the cluster center; translate the cluster center; filter the cluster based on a selected locale; and generate the search term group of the plurality of search term groups based on a normalization of the cluster.
[0087] Example 12: The computing system of any of examples 9 through 11, wherein to generate the content item, the one or more processors execute instructions stored at the memory to: apply a machine learning model to generate the content item, wherein the machine learning model is trained based at least on training content items provided by an application developer system.
[0088] Example 13: The computing system of any of examples 9 through 12, wherein to publish the content item in the customized store listing, the one or more processors execute instructions stored at the memory to: publish the content item in the customized store listing responsive to receiving an indication of an input including a search term associated with the search term group.
[0089] Example 14: The computing system of any of examples 9 through 13, wherein the one or more processors further execute instructions stored at the memory to: rank the plurality of search term groups; generate one or more customization recommendations based on the ranking of the plurality of search term groups, wherein a customization recommendation of the one or more customization recommendations specifies user traffic to a software application listing associated with at least one search term group of the plurality of search term groups; and output the one or more customization recommendations to an application developer system.
[0090] Example 15: The computing system of any of examples 9 through 14, wherein the one or more themes includes at least one of: a locale theme, a misspelling theme, or a semantic meaning theme.
[0091] Example 16: The computing system of any of examples 9 through 15, wherein the content item includes at least one of: a description of a software application associated with the plurality of search terms, an image of the software application, audio media associated with the software application, or video associated with the software application.
[0092] Example 17: A computer program product for customizing software application listings in software application stores, the computer program product includes obtain a plurality of search terms input by a plurality of user devices accessing a software application store; generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receive a selection of a search term group of the plurality of search term groups; generate a content item based at least on the selected search term group; and publish the content item in a customized store listing output via the software application store.
[0093] Example 18: The computer program product of example 17, wherein to obtain the plurality of search terms, the one or more instructions cause the at least one processor to: collect search term metrics specifying user traffic associated with navigating, via one or more search terms of the plurality of search term, to a software application listing for a software application published to the software application store.
[0094] Example 19: The computer program product of any of examples 17 and 18, wherein to generate the plurality of search term groups, the one or more instructions cause the at least one processor to: select a search term of the plurality of search terms as a cluster center for a cluster; correct misspellings associated with the cluster center; translate the cluster center; filter the cluster based on a selected locale; and generate the search term group of the plurality of search term groups based on a normalization of the cluster.
[0095] Example 20: The computer program product of any of examples 17 through 19, wherein to generate the content item, the one or more instructions cause the at least one processor to: apply a machine learning model to generate the content item, wherein the machine learning model is trained based at least on training content items provided by an application developer system.
[0096] Example 21 : The computer program product of any of examples 17 through 20, wherein to publish the content item in the customized store listing, the one or more instructions cause the at least one processor to: publish the content item in the customized store listing responsive to receiving an indication of an input including a search term associated with the search term group.
[0097] Example 22: The computer program product of any of examples 17 through 21, wherein the one or more instructions further cause the at least one processor to: rank the plurality of search term groups; generate one or more customization recommendations based on the ranking of the plurality of search term groups, wherein a customization recommendation of the one or more customization recommendations specifies user traffic to a software application listing associated with at least one search term group of the plurality of search term groups; and output the one or more customization recommendations to an application developer system.
[0098] Example 23: The computer program product of any of examples 17 through 22, wherein the one or more themes includes at least one of: a locale theme, a misspelling theme, or a semantic meaning theme.
[0099] Example 24: The computer program product of any of examples 17 through 23, wherein the content item includes at least one of: a description of a software application associated with the plurality of search terms, an image of the software application, audio media associated with the software application, or video associated with the software application.
[0100] Example 25: A computing device comprising means for performing any of the methods of examples 1-8.
[0101] Example 26: Computer-readable storage medium encoded with instructions that cause one or more processors of a computing system to perform any of the methods of examples 1- 8.
[0102] Example 27: Computer-readable storage medium encoded with instructions that cause one or more processors of a computing device to perform any of the methods of examples 1- 8.
[0103] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer- readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage mediums and media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to nontransient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable medium.
[0104] The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry. A control unit including hardware may also perform one or more of the techniques of this disclosure.
[0105] Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware, firmware, or software components. Rather, functionality associated with one or more modules or unitsmay be performed by separate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.
[0106] Various examples have been described. These and other examples are within the scope of the following claims.
Claims
WHAT IS CLAIMED IS:
1. A method comprising: obtaining, by a remote computing system, a plurality of search terms input by a plurality of user devices accessing a software application store; generating, by the remote computing system, a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receiving, by the remote computing system, a selection of a search term group of the plurality of search term groups; generating, by the remote computing system, a content item based at least on the selected search term group; and publishing, by the remote computing system, the content item in a customized store listing output via the software application store.
2. The method of claim 1, wherein obtaining the plurality of search terms comprises: collecting search term metrics specifying user traffic associated with navigating, via one or more search terms of the plurality of search term, to a software application listing for a software application published to the software application store.
3. The method of any of claims 1 and 2, wherein generating the plurality of search term groups comprising: selecting a search term of the plurality of search terms as a cluster center for a cluster; correcting misspellings associated with the cluster center; translating the cluster center; filtering the cluster based on a selected locale; and generating the search term group of the plurality of search term groups based on a normalization of the cluster.
4. The method of any of claims 1 through 3, wherein generating the content item comprises: applying a machine learning model to generate the content item, wherein the machine learning model is trained based at least on training content items provided by an application developer system.
5. The method of any of claims 1 through 4, wherein publishing the content item in the customized store listing comprises: publishing the content item in the customized store listing responsive to receiving an indication of an input including a search term associated with the search term group.
6. The method of any of claims 1 through 5, further comprising: ranking the plurality of search term groups; generating one or more customization recommendations based on the ranking of the plurality of search term groups, wherein a customization recommendation of the one or more customization recommendations specifies user traffic to a software application listing associated with at least one search term group of the plurality of search term groups; and outputting the one or more customization recommendations to an application developer system.
7. The method of any of claims 1 through 6, wherein the one or more themes includes at least one of: a locale theme, a misspelling theme, or a semantic meaning theme.
8. The method of any of claims 1 through 7, wherein the content item includes at least one of: a description of a software application associated with the plurality of search terms, an image of the software application, audio media associated with the software application, or video associated with the software application.
9. A computing system comprising: memory; and one or more processors operably coupled to the memory, wherein the one or more processors execute instructions stored at the memory to: obtain a plurality of search terms input by a plurality of user devices accessing a software application store; generate a plurality of search term groups based on a clustering of the plurality of search terms according to one or more themes; receive a selection of a search term group of the plurality of search term groups; generate a content item based at least on the selected search term group; and publish the content item in a customized store listing output via the software application store.
10. The computing system of claim 9, further comprising means for performing any of the methods of claims 2-8.
11. A computer program product that includes instructions that, when executed by one or more processors, cause the one or more processors to perform the method of any of claims 1- 8.
12. Computer-readable storage medium encoded with instructions that cause one or more processors of a computing system to perform any of the methods of claims 1-8.
Citation Information
Patent Citations
Method and system for providing local search terms based on location
KR102405896B1
Apps store with integrated test support
US9645914B1
US202463646188P