Methods, systems, and computer-readable media for determining a game specification title

By identifying and standardizing game titles, the problem of inaccurate search results caused by user-defined title modifications was solved, resulting in more accurate game search results.

CN114270342BActive Publication Date: 2025-11-21ROBLOX CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980099594.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-26
Filing Date
2019-09-17
Publication Date
2025-11-21
Estimated Expiration
2039-09-17

AI Technical Summary

Technical Problem

User-defined titles on gaming platforms can cause search engines to fail to accurately identify related games, resulting in inaccurate search results.

Method used

By identifying and removing punctuation marks, special characters, and emoticons from game titles, standardized titles are determined and associated with a subset of titles whose similarity to the original title exceeds a threshold, generating records for search engine matching.

Benefits of technology

It improves the accuracy of search results, ensures that relevant games are displayed first, and reduces interference from irrelevant games.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114270342B_ABST
    Figure CN114270342B_ABST
Patent Text Reader

Abstract

The present application relates to a method for determining canonical titles for games. The method includes identifying an original title for an original game; removing at least one of punctuation, one or more special characters, and emojis from respective titles of a plurality of other games to determine corresponding canonical titles. The method further includes identifying a subset of canonical titles from the corresponding canonical titles that exceed a threshold similarity compared to the original title. The method further includes associating original records associated with the original game with the subset of canonical titles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to computer-based games, and more specifically to methods, systems, and computer-readable media for determining the specification content of computer games. Background Technology

[0002] The gaming platform provides building blocks (characters, clothing, accessories, environments, objects, physics engines, etc.) that allow users to create their own games. Different users build different types of games from these building blocks, such as puzzle games, racing games, garden maintenance games, etc. Other users can join the game, for example, by joining an ongoing multiplayer instance or playing in single-player mode.

[0003] Users provide their own titles for the game. One problem with user-generated titles is that they may modify the original title, leading to inaccuracies. Therefore, search engines may return incorrect search results due to inaccurate string matching.

[0004] The gaming platform offers a search feature that allows users to search for available games. It also provides game ranking lists, such as top-grossing games, popular games, and trending games. Importantly, the search engine can respond to user queries, returning relevant games and removing irrelevant ones. Changing game names can prevent the search engine from accurately identifying the most relevant matches. Summary of the Invention

[0005] This application generally relates to a method for determining canonical titles. The method includes: identifying the original title of an original game. The method further includes determining corresponding canonical titles by deleting at least one of punctuation marks, one or more special characters, and emoticons from corresponding titles of a plurality of other games. The method further includes identifying a subset of canonical titles from the corresponding canonical titles that have a similarity exceeding a threshold compared to the original title. The method further includes associating original records associated with the original game with the subset of canonical titles.

[0006] In some embodiments, the method further includes associating a new record with each of the remaining canonical titles that fail to exceed the similarity threshold compared to the original title. In some embodiments, the method further includes generating the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user playing the original game, the time the user played the original game, and a thumbnail of the original game. In some embodiments, the method further includes identifying and removing keywords from the corresponding title, wherein the keyword is a description of a holiday. In some embodiments, the method further includes identifying and removing keywords from the corresponding title, wherein the keyword matches at least one of beta, public beta, release, version, and update. In some embodiments, the method further includes receiving one or more search terms from a user; determining a score based on a comparison between (1) the original title and the one or more search terms and (2) the corresponding canonical title and the one or more search terms; and providing feedback to the user, wherein the feedback includes the original title and one or more of the corresponding canonical titles and a corresponding score, the corresponding score indicating the matching level between (1) the original title and the one or more search terms and (2) each of the corresponding canonical titles and the one or more search terms. In some embodiments, the score is determined based on ontology string comparison. In some embodiments, the original title is provided as a top result, and the one or more corresponding canonical titles are presented as other results. In some embodiments, processing the corresponding title further includes receiving keywords from the user, identifying keywords in the corresponding title, and removing the keywords from the corresponding title.

[0007] In some embodiments, a non-transitory computer-readable medium stores instructions that, when executed by one or more computers, cause the one or more computers to perform operations including: identifying original content of an original game; deleting at least one of punctuation marks, one or more special characters, and emoticons from corresponding content of a plurality of other games to determine corresponding canonical content; identifying a subset of canonical content from the corresponding canonical content that has a similarity exceeding a threshold compared to the original content; and associating an original record associated with the original game with the subset of canonical content.

[0008] In some embodiments, the operation further includes associating the new record with each remaining canonical content that fails to exceed the similarity threshold compared to the original content. In some embodiments, the operation further includes generating the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user playing the original game, the time the user played the original game, and a thumbnail of the original game. In some embodiments, the operation further includes identifying and removing keywords from the corresponding content, wherein the keyword is a description of a holiday. In some embodiments, the operation further includes identifying and removing keywords from the corresponding content, wherein the keyword matches at least one of beta, public beta, release, version, and update. In some embodiments, the original content is the original title, the corresponding content is the corresponding title, and the canonical content is the canonical title.

[0009] In some embodiments, a system includes one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: identifying an original title of an original game; removing at least one of punctuation marks, one or more special characters, and emoticons from corresponding titles of a plurality of other games to determine a corresponding canonical title; identifying a subset of canonical titles from the corresponding canonical titles that have a similarity exceeding a threshold compared to the original title; and associating an original record associated with the original game with the subset of canonical titles.

[0010] In some embodiments, the operation further includes associating the new record with each of the remaining canonical titles that fail to exceed the similarity threshold compared to the original title. In some embodiments, the operation further includes generating the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user playing the original game, the time the user played the original game, and a thumbnail of the original game. In some embodiments, the operation further includes identifying a keyword from the corresponding title and removing the keyword from the corresponding title, wherein the keyword is a description of a holiday. In some embodiments, the operation further includes identifying a keyword from the corresponding title and removing the keyword from the corresponding title, wherein the keyword matches at least one of beta, public beta, release, version, and update.

[0011] The various embodiments described below advantageously identify the canonical title of a game by removing at least one of punctuation marks, one or more special characters, and emojis from the corresponding title. The canonical title is used to determine that another game is sufficiently similar to the original game to be associated with the same record. The canonical title also helps return better search results when a user searches for the game. Furthermore, although the specification is written with games as the primary embodiment, those skilled in the art will recognize that this can be applied to any application to determine the canonical title of any type of application. Attached Figure Description

[0012] This disclosure is illustrative by way of example and should not be limited to the images in the accompanying drawings. These drawings use similar reference numerals to refer to similar elements.

[0013] Figure 1 A block diagram of an example system for determining specification content provided in an embodiment of this application is shown.

[0014] Figure 2 A block diagram of an example computing device for determining specification content provided in an embodiment of this application is shown.

[0015] Figure 3 An example user interface for search results organized based on defined specification content, as provided in an embodiment of this application, is shown.

[0016] Figure 4 A flowchart illustrating the method for determining specification content provided in an embodiment of this application is shown. Detailed Implementation

[0017] Online gaming platforms (also known as "user-generated content platforms" or "user-generated content systems") offer users a variety of ways to interact. For example, users on an online gaming platform can work together towards a common goal, share various virtual game projects, and send each other electronic messages. Users on an online gaming platform can join games as virtual characters, playing specific roles within the game. For instance, a virtual character can be part of a team or multiplayer game environment, where each character is assigned a role and has associated parameters such as clothing, armor, weapons, and skills. In another example, a virtual character can be a computer-generated character that joins the game, for example, when a single player is part of the game.

[0018] Online gaming platforms can also allow users to create and animate new characters and avatars. For example, users of online gaming platforms can create, design, and customize new characters.

[0019] In some embodiments, animation may include a character moving one or more body parts to simulate movements such as walking, running, jumping, dancing, fighting, or wielding a weapon like a sword. In some embodiments, the character may generate facial expressions, and a part or all of the character's body may move. Animation may correspond to various movements, such as graceful, samurai-style, ballet, etc., and may mimic the movements of popular real and fictional characters.

[0020] Example System

[0021] Figure 1 A block diagram of an example system 104 for determining specification content, as provided in an embodiment of this application, is shown. The illustrated system 100 includes an application server 101, user devices 115a and 115n, a second server 120, and a network 105. Although system 100 is shown as having one application server 101, multiple user devices 115, one second server 120, and one network 105, in some embodiments, system 100 has one or more application servers 101, one or more user devices 115, one or more second servers 120, and one or more networks 105. In some embodiments, system 100 may include other... Figure 1 Servers or devices not shown in the diagram. Figure 1 In other accompanying figures, letters following a reference numeral, such as "115a," indicate an element having that specific reference numeral. Reference numerals without following letters in the text, such as "115," generally refer to embodiments of the element having that reference numeral.

[0022] Application server 101 may include servers with one or more computing devices (e.g., cloud computing systems, rack servers, server computers, physical server clusters, etc.). In some embodiments, application server 101 may be a standalone system, may include multiple servers, or may be part of another system or server.

[0023] In some embodiments, application server 101 may include one or more computing devices (e.g., rack server, router computer, server computer, personal computer, mainframe computer, laptop computer, tablet computer, desktop computer, etc.), data storage (e.g., hard disk, memory, database), network, software components, and / or hardware components that can be used to perform operations on application server 101 and provide users with access to application server 101. Application server 101 may also include websites (e.g., web pages) or application backend software that can be used to provide users with access to content provided by application server 101. For example, a user can access application server 101 through search application 107 on user device 115.

[0024] Application server 101 may be a virtual game server that stores games and provides a platform for serving games to users. In some embodiments, the game (also referred to herein as a "video game," "online game," or "virtual game") may be a two-dimensional (2D) game, a three-dimensional (3D) game (e.g., a 3D user-generated game), a virtual reality (VR) game, or an augmented reality (AR) game. In some embodiments, users can participate in the game with other users. In some embodiments, the game can be played in real time with other users in the game.

[0025] Application server 101 includes a processor, memory, and network communication capabilities. In some embodiments, application server 101 is a hardware server. Application server 101 is communicatively coupled to network 105 via signal line 102. Signal line 102 can be a wired connection, such as Ethernet, coaxial cable, fiber optic cable, etc., or a wireless connection, such as Wi-Fi, Bluetooth, or other wireless technologies. In some embodiments, application server 101 sends and receives data to or from one or more of user equipment 115a, 115n and second server 120 via network 105. Application server 101 may include provider application 103 and database 199.

[0026] Application server 101 includes provider application 103, which stores games, receives search terms from users, and provides matching games to users. Provider application 103 may be code and routines operable to determine specification content. In some embodiments, provider application 103 may be implemented using hardware including field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). In some embodiments, provider application 103 may be implemented using a combination of hardware and software.

[0027] Database 199 may be a non-transitory computer-readable storage device (e.g., random access memory), cache, drive (such as a hard disk drive), flash drive, database system, or other type of component or device capable of storing data. Database 199 may also include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers).

[0028] Database 199 can store games, records, and specification content, such as titles. Records may include game descriptions, game creation dates, number of times the game has been played, the identity of the user playing the game, the time the user played the game, and game thumbnails, etc. Database 199 can also store social network data associated with user 125, such as user profiles, games the user has downloaded and / or played, connections between users 125, user preferences, etc.

[0029] User equipment 115 may be a computing device including memory, a hardware processor, and a search application 107. For example, user equipment 115 may include a desktop computer, laptop computer, mobile device, tablet computer, mobile phone, wearable device, head-mounted display, mobile email device, portable game console, portable music player, e-reader device, or other electronic device capable of accessing network 105. Users 125a and 125n may be associated with corresponding user equipment 115a and 115n.

[0030] In the illustrated embodiment, user equipment 115a is coupled to network 105 via signal line 108, and user equipment 115n is coupled to network 105 via signal line 110. Signal lines 108 and 110 can be wired connections, such as Ethernet, coaxial cable, fiber optic cable, etc., or wireless connections, such as Wi-Fi, Bluetooth, or other wireless technologies. User equipment 115a and 115n are accessed by users 125a and 125n, respectively. As an example, Figure 1 User equipment 115a and 115n are shown. Although Figure 1 Two user equipments 115a and 115n are shown, but this disclosure applies to system architectures having one or more user equipments 115.

[0031] In some embodiments, search application 107 receives information from provider application 103. In some embodiments, search application 107 is a component of provider application 103. For example, search application 107 may receive search terms from user 125, and provider application 103 may provide those search terms to search application 107 to display search results. In some embodiments, search application 107 is a browser that communicates with provider application 103.

[0032] The second server 120 may include a processor, memory, and network communication capabilities. The second server 120 can access the network 105 via signal line 109. The second server 120 may include an application that generates games and submits them to application server 101.

[0033] In the illustrated embodiment, the entities of system 100 are communicatively coupled via network 105. Network 105 can be of conventional type, wired or wireless, and can have many different configurations, including star configuration, token ring configuration, or other configurations. Furthermore, network 105 can include public networks (e.g., the Internet), private networks (e.g., local area networks (LANs) or wide area networks (WANs)), wired networks (e.g., Ethernet), wireless networks (e.g., 802.11 networks, Wi-Fi networks, or wireless LANs (WLANs)), cellular networks (e.g., 5G networks, Long Term Evolution (LTE) networks, etc.), routers, hubs, switches, server computers, or combinations thereof. Although Figure 1 A network 105 is shown coupled to user equipment 115 and application server 101, but in reality, one or more networks 105 may be coupled to these entities.

[0034] Example computing device

[0035] Figure 2 A block diagram of an example application server 101 for determining specification content according to an embodiment of this application is shown. Application server 101 may include a processor 235, memory 237, communication unit 239, and database 199. Depending on the type of application server 101, additional components may be present, or some previous components may be omitted. For example, application server 101 may include a battery. Provider application 103 may be stored in memory 237. In some embodiments, some or all components of provider application 103 are stored on user equipment 115 as part of search application 107. Components 101 of the application server may be communicatively coupled via bus 220.

[0036] Processor 235 includes an arithmetic logic unit, a microprocessor, a general-purpose controller, or some other processor array to perform calculations and provide instructions to a display device. Processor 235 processes data and may include various computing architectures, including Complex Instruction Set Computer (CISC) architecture, Reduced Instruction Set Computer (RISC) architecture, or architectures that implement instruction set combination. Although Figure 2 A single processor 235 is shown, but multiple processors 235 may be included. Other processors, operating systems, sensors, displays, and physical configurations may be part of application server 101. Processor 235 is coupled to bus 220 via signal line 222 to communicate with other components.

[0037] Memory 237 stores instructions and / or data that can be executed by processor 235. Instructions may include code for performing the techniques mentioned in this disclosure. Memory 237 may be a dynamic random access memory (DRAM) device, static RAM, or some other memory device. In some embodiments, memory 237 also includes non-volatile memory, such as a static random access memory (SRAM) device or flash memory, or similar permanent storage devices and media, including hard disk drives, optical disc read-only memory (CD-ROM) devices, DVD-ROM devices, DVD-RAM devices, DVD-RW devices, flash memory devices, or some other high-capacity storage devices for more permanent storage of information. Memory 237 includes code and routines operable to execute provider application 103, which will be described in more detail below. Memory 237 is coupled to bus 220 via signal line 224 for communication with other components.

[0038] Communication unit 239 transmits and receives data to and sends data to at least one of user equipment 115 and second server 120. In some embodiments, communication unit 239 includes a port for direct physical connection to network 105 or to another communication channel. For example, communication unit 239 includes a Universal Serial Bus (USB), Secure Digital (SD), Category 5 cable (CAT-5), or a similar port for wired communication with application server 101. In some embodiments, communication unit 239 includes a wireless transceiver for exchanging data with user equipment 115, second server 120, or other communication channels using one or more wireless communication methods, including IEEE 802.11, IEEE 802.16, Bluetooth, or another suitable wireless communication method. Communication unit 239 is coupled to bus 220 via signal line 226 for communication with other components.

[0039] In some embodiments, communication unit 239 includes a cellular transceiver for sending and receiving data over a cellular communication network, including via Short Message Service (SMS), Multimedia Messaging Service (MMS), Hypertext Transfer Protocol (HTTP), direct data connection, email, or other suitable types of electronic communication. In some embodiments, communication unit 239 includes a wired port and a wireless transceiver. Communication unit 239 also provides other conventional connections to network 105 for distributing files and / or media objects using standard network protocols, including but not limited to User Datagram Protocol (UDP), TCP / IP, HTTP, HTTP Secure (HTTPS), Simple Mail Transfer Protocol (SMTP), etc.

[0040] Database 199 may be a non-transitory computer-readable storage medium that stores data providing the functionality described in this disclosure. Database 199 may be a DRAM device, SRAM device, flash memory, or some other storage device. In some embodiments, database 199 may also include non-volatile memory or similar permanent storage devices and media, including hard disk drives, CD-ROM devices, DVD-ROM devices, DVD-RAM devices, DVD-RW devices, flash memory devices, or some other high-capacity storage devices for permanent storage of information. Database 199 is coupled to bus 220 via signal line 228 for communication with other components.

[0041] The provider application 103 may include an application processor 202, a content analyzer 204, a search engine 206, and a user interface module 208.

[0042] Application processor 202 receives and processes an application. In some embodiments, application processor 202 includes a set of instructions executable by processor 235 to process the application. In some embodiments, application processor 202 is stored in memory 237 of application server 101 and is accessible and executable by processor 235.

[0043] In some embodiments, application processor 202 processes the application by identifying the content of the original application. The content may include a title or any content that changes over time, such as a description. The application can be any type of streaming or downloadable electronic application, such as a game, social networking application, business application, word processing application, etc. Application processor 202 can identify the original title of the original game by receiving the game, for example, from a second server 120, determining whether it is the first instance of that type of game, and determining the original title based on the fact that the game is the original game. For example, in the case of a game called "Sun City," application processor 202 can determine whether there is another game named "Sun City," and if not, identify "Sun City" as the original title.

[0044] In some embodiments, application processor 202 may also determine whether the application is the original application by instructing content analyzer 204 to determine the game's canonical title and whether there are other games with canonical titles similar to those submitted earlier. For example, application processor 202 may determine that the game's canonical title is "Sun City Update" and that an earlier version of the game with the title "Sun City" exists. In this example, application processor 202 determines that "Sun City Update" is not the original title of the game because an earlier version of the game exists.

[0045] Application processor 202 can generate a record of the original title. This record may include the game's description, creation date, number of times the game was played, the identity of the user playing the game, and the time the user played the game. Application processor 202 can update the record each time a parameter changes. For example, application processor 202 can update the record every time a user plays the game.

[0046] Content analyzer 204 identifies canonical content and subsets of content from multiple other games that exceed a threshold similarity compared to the original content. In some embodiments, content analyzer 204 includes a set of instructions executable by processor 235 to determine canonical content and compare the similarity between the content. In some embodiments, content analyzer 204 is stored in memory 237 of application server 101 and is accessible and executable by processor 235.

[0047] Content analyzer 204 can receive applications with similar content. For example, a user can append or modify the original title to include a new version, an updated game, an Easter bonus, etc. Content analyzer 204 can process the corresponding titles for multiple other applications and determine the canonical title by removing punctuation, one or more special characters, and emojis from the corresponding titles. For example, content analyzer 204 can process "robot army smiley face emoji" and remove the emoji, process "r_o_b_o_t a_r_m_y" and remove the underscore, and process "robot's army" and remove the apostrophe and "s," so that all three processed examples have the canonical title "robot army." Content analyzer 204 also processes "robot army 2&*(" and determines the canonical title to be "robot army 2." The above examples are all about titles, and this processing can be similarly applied to descriptions.

[0048] In some embodiments, the content analyzer 204 processes relevant content by identifying and removing keywords from the content set. For example, the content analyzer 204 may identify a keyword from the set of titles and remove that title. Keywords may include holidays such as Easter, Christmas, Thanksgiving, New Year's Day, St. Patrick's Day, Valentine's Day, Father's Day, Mother's Day, Labor Day, Diwali, Hanukkah, Lunar New Year, Independence Day, Republic Day, etc. Keywords may also include seasons such as "Spring Special"; character types or names such as "Underwater Treasure," "Nemo," "Underwater Treasure - Dory"; vehicle types such as "Derby Racing - Truck Edition," "Derby Racing - Bike Edition," "Derby Racing - SUV Edition." Keywords may also include abbreviations of holiday terms, such as the abbreviation Xmas for Christmas, or extended phrases such as the extension of "New Year's" to "New Year's Day."

[0049] Keywords may include words that match at least one of the following: beta, public beta, release, version, and update. For example, content analyzer 204 may process the title “Robot Army Update” to have the canonical title “Robot Army”. In another example, content analyzer 204 may process “Dancing Marathon Christmas Special” to remove “Christmas Special”. In some embodiments, users may provide additional keywords through a user interface generated by user interface module 208, which is described in detail below.

[0050] In some embodiments, the content analyzer 204 identifies keywords in different languages. For example, the content analyzer 204 may identify that "Christmas" in English is the same as "Weihnachten" in German, and will exclude one of those words from the canonical title.

[0051] After processing, the content analyzer 204 can identify from the canonical title whether a subset of titles exceeds a threshold similarity compared to the original title. In some embodiments, the content analyzer 204 can determine the threshold similarity to be 70% based on a character-to-character comparison. Continuing the example above, the content analyzer 204 determines that "robot army smiley face emoji", "r_o_b_o_t a_r_m_y", "robot's army", "robot army 2&*", and "robot armyupdate" are all within the threshold similarity. The content analyzer 204 can determine that "robot army doomsday" is not within the threshold similarity because the canonical title "robot army doomsday" has only 50% similarity to the original title "robot army".

[0052] If content analyzer 204 determines that the title subset has a similarity exceeding a threshold compared to the original title, then content analyzer 204 may associate the record associated with the original game with the title subset. Thus, if a user plays one of the games from the title subset, the record will be updated to reflect that the user played that game. If content analyzer 204 determines that the title subset fails to exceed the similarity threshold compared to the original title, then content analyzer 204 associates the new record with each of the remaining canonical titles.

[0053] In some embodiments, once the canonical content of the application is determined, provider application 103 makes the application available to the user. For example, content analyzer 204 may instruct user interface module 208 to update the user interface to provide options for accessing the application, such as by streaming or downloading the application.

[0054] Search engine 206 receives search terms from users and identifies matching content from the original content and canonical content. In some embodiments, search engine 206 includes a set of instructions executable by processor 235 to identify matching content. In some embodiments, search engine 206 is stored in memory 237 of application server 101 and is accessible and executable by processor 235.

[0055] In some embodiments, search engine 206 receives one or more search terms from a user. For example, search engine 206 receives the search term "robot armies". Search engine 206 determines a score based on a comparison between (1) the original title and the one or more search terms and (2) the corresponding canonical title and the one or more search terms. Continuing this example, search engine 206 determines a score for "robot armies" compared to the original title "robot army" and the canonical titles "robot army", "robot army", "robot army 2", and "robot army". Search engine 206 may determine the score based on ontology string comparisons.

[0056] Search engine 206 provides the original title and the canonical title, along with corresponding scores, which indicate (1) the matching level between the original title and the one or more search terms, and (2) the matching level between each of the corresponding canonical titles and the one or more search terms. In some embodiments, the original title is provided as a top result, and the canonical title is presented as a lower match.

[0057] User interface module 208 generates graphical data for displaying the user interface. In some embodiments, user interface module 208 includes a set of instructions executable by processor 235 to generate graphical data. In some embodiments, user interface module 208 is stored in memory 237 of application server 101 and is accessible and executable by processor 235.

[0058] In some embodiments, the user interface module 208 generates graphical data for displaying the user interface so that the user can search for and access applications. The user interface module 208 may instruct the communication unit 239 to send the graphical data to the search application 107 on the user device 115 for display. After the user provides search terms to the search engine 206, the user interface module 208 may generate graphical data for displaying the user interface with updated search results.

[0059] Figure 3An example user interface 300 of search results organized based on a defined canonical title, as provided in an embodiment of this application, is illustrated. In this example, a user searches for "Sun City" and the user interface module 208 generates graphical data to present search results for the application identified by the search engine 206. In some embodiments, selecting one of the application results will cause the application server 101 to provide the user with a streaming game or make the game available for download. The search results include a top result 305, which is an example of the original game being identified and presented as a top result. The search results also include more Sun City results 310. In particular, the additional results include "[Big Update] Sun City" identified by the content analyzer 204 as having the canonical title "[] Sun City", "[100k] Sun City.exe" identified by the content analyzer 204 as having the canonical title "[100k] Sun City.exe", and "Smiling Face Crying Face!!! Sun City" identified by the title analyzer as having the canonical title "Sun City".

[0060] In some embodiments, the user interface module 208 may generate graphical data for displaying a user interface with options for configuring the provider application 103 to a user of the provider application 103. For example, the user interface module 208 may generate a user interface for adding a list of keywords to be removed from the specification header.

[0061] Example Method

[0062] Figure 4 A flowchart illustrating a method 400 for determining specification content according to an embodiment of this application is shown. Method 400 is executed by a provider application 103 stored on an application server 101.

[0063] In block 402, the original title of the original game is identified. For example, the earliest title used is determined to be the original title. Block 402 may be followed by block 404.

[0064] In block 404, for the corresponding titles of multiple other games, at least one of punctuation marks, one or more special characters, and emoticons is removed to determine the corresponding canonical title. For example, the provider application may remove "." and "smiley face" emoticons from the corresponding title. Block 404 may be followed by block 406.

[0065] In block 406, a subset of titles from the canonical titles that have a similarity exceeding a threshold compared to the original title is identified. For example, the subset of titles may have at least 70% similarity compared to the original title. Block 406 may be followed by block 408.

[0066] In block 408, the original record associated with the original game is associated with the subset of canonical titles. Block 408 may be followed by block 410.

[0067] In block 410, the new record is associated with each of the remaining canonical headers that failed to exceed the similarity threshold compared to the original header.

[0068] One or more blocks can be executed in parallel or can be combined with other blocks. For example, blocks 408 and 410 can be executed in parallel or can be combined.

[0069] In the foregoing description, numerous specific details have been set forth for illustrative purposes in order to provide a thorough understanding of this disclosure. However, it will be apparent to those skilled in the art that this disclosure may be practiced without these specific details. In some cases, structures and devices are shown in block diagram form to avoid obscuring the description. For example, the above embodiments may be described primarily with reference to user interfaces and specific hardware. However, the embodiments can be applied to any type of computing device capable of receiving data and commands, as well as any peripheral devices providing services.

[0070] References to “some embodiments” or “some examples” in this disclosure mean that a particular feature, structure, or characteristic described in connection with an embodiment or example may include at least one embodiment of this disclosure. The phrase “some embodiments” appearing throughout this disclosure does not necessarily refer to the same embodiment.

[0071] Some parts of the detailed description above are presented based on algorithms and symbolic representations of operations on data bits within computer memory. These algorithmic descriptions and representations are the means by which those skilled in the art of data processing most effectively communicate their work to others skilled in the art. Algorithms here, and generally are, considered as a self-consistent sequence of steps leading to a desired result. These steps are those requiring physical operations on physical quantities. Typically, although not always necessary, these quantities take the form of electrical or magnetic data capable of being stored, transmitted, combined, compared, and otherwise manipulated. Sometimes, primarily for common reasons, referring to these data as bits, values, elements, symbols, characters, terms, numbers, etc., has proven convenient.

[0072] However, it should be understood that all these and similar terms will be associated with appropriate physical quantities and are merely convenient labels applied to those quantities. Unless the context clearly indicates otherwise, it should be understood that throughout this disclosure, discussions using terms including “processing” or “computing” or “operation” or “determining” or “displaying” refer to the actions and processing of computer systems or similar electronic computing devices that operate on and convert data, transforming data represented as physical (electronic) quantities in the registers and memory of the computer system into other data similarly represented as physical quantities in the computer system's memory or registers or other such information storage, transmission, or display devices.

[0073] Embodiments of this disclosure may also relate to a processor for performing one or more steps of the methods described above. The processor may be a dedicated processor that is selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a non-transitory computer-readable storage medium, including but not limited to any type of disk, including optical discs, ROMs, CD-ROMs, magnetic disks, RAM, EPROMs, EEPROMs, magnetic or optical cards, flash memory including USB keys with non-volatile memory, or any type of medium suitable for storing electronic instructions, each of which is coupled to a computer system bus.

[0074] This disclosure may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments that include both hardware and software elements. In some embodiments, this disclosure is implemented in software, including but not limited to firmware, resident software, microcode, etc.

[0075] Furthermore, the description may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any means capable of containing, storing, communicating, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.

[0076] A data processing system suitable for storing or executing program code will include at least one processor that is directly or indirectly coupled to memory elements via a system bus. Memory elements may include local memory used during the actual execution of the program code, mass storage, and cache memory that provides temporary storage for at least some of the program code to reduce the number of times code must be retrieved from mass storage during execution.

[0077] In cases where the aforementioned systems collect or use personal information, the systems provide users with the opportunity to control whether programs or functions collect user information (such as information about the user's social networks, social behaviors or activities, occupation, user preferences, or the user's current location), or to control whether and / or how content that may be more relevant to the user is received from the server. Furthermore, certain data may be processed in one or more ways before being stored or used, thereby erasing personally identifiable information. For example, user identity may be processed so that the user's personally identifiable information cannot be determined, or the user's geographic location may be broadened (e.g., city, zip code, or state level) when location information is obtained, making it impossible to determine the user's specific location. Therefore, users have control over how information about themselves is collected and used by the server.

Claims

1. A method for determining a game's standard title, characterized in that, include: Identify the original title of the original game; To determine the corresponding canonical title, remove at least one of the following from the corresponding titles of several other games: punctuation marks, one or more special characters, and emojis. Identify a subset of standard headings from the corresponding standard headings that have a similarity exceeding a threshold compared to the original headings; The original record associated with the original game is associated with the canonical title subset, such that the original record is updated when the user plays one or more games in the canonical title subset; Receive one or more search terms from the user device; A first score is determined by comparing the original title with the one or more search terms, and a second score is determined by comparing the corresponding canonical title with the one or more search terms. and Feedback is provided to the user, wherein the feedback includes the original title and one or more corresponding canonical titles, as well as a corresponding first score and a corresponding second score, wherein the corresponding first score indicates the matching level between the original title and the one or more search terms, and the corresponding second score indicates the matching level between each of the corresponding canonical titles and the one or more search terms, and wherein the original title is provided as the top result, and the one or more corresponding canonical titles are presented as other results.

2. The method according to claim 1, further comprising: The new record is associated with each of the remaining canonical headers that fails to exceed the similarity threshold compared to the original header.

3. The method according to claim 1, further comprising: Generate the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user who played the original game, the time the user played the original game, and a thumbnail of the original game.

4. The method according to claim 1, further comprising: Identify and remove keywords from the corresponding titles, where the keyword is a description of a holiday.

5. The method according to claim 1, further comprising: Identify keywords from the corresponding titles and remove the keywords from the corresponding titles, wherein the keywords match at least one of the following: beta version, public beta version, release version, version, and update version.

6. The method according to claim 1, characterized in that, The score is determined based on ontology string comparison.

7. The method according to claim 1, characterized in that, Processing the corresponding title also includes receiving keywords from the user, identifying keywords in the corresponding title, and removing the keywords from the corresponding title.

8. A non-transitory computer-readable medium storing instructions that, when executed by one or more computers, cause the one or more computers to perform an operation, the operation comprising: Identify the original title of the original game; To determine the corresponding canonical title, remove at least one of the following from the corresponding titles of several other games: punctuation marks, one or more special characters, and emojis. Identify a subset of standard headings from the corresponding standard headings that have a similarity exceeding a threshold compared to the original headings; The original record associated with the original game is associated with the canonical title subset, such that the original record is updated when the user plays one or more games in the canonical title subset; Receive one or more search terms from the user device; A first score is determined by comparing the original title with the one or more search terms, and a second score is determined by comparing the corresponding canonical title with the one or more search terms. and Feedback is provided to the user, wherein the feedback includes the original title and one or more corresponding canonical titles, as well as a corresponding first score and a corresponding second score, wherein the corresponding first score indicates the matching level between the original title and the one or more search terms, and the corresponding second score indicates the matching level between each of the corresponding canonical titles and the one or more search terms, and wherein the original title is provided as the top result, and the one or more corresponding canonical titles are presented as other results.

9. The non-transitory computer-readable medium according to claim 8, characterized in that, The operation also includes: The new record is associated with each of the remaining canonical headers that fails to exceed the similarity threshold compared to the original header.

10. The non-transitory computer-readable medium according to claim 8, characterized in that, The operation also includes: Generate the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user who played the original game, the time the user played the original game, and a thumbnail of the original game.

11. The non-transitory computer-readable medium according to claim 8, characterized in that, The operation also includes: Identify and remove keywords from the corresponding titles, where the keyword is a description of a holiday.

12. The non-transitory computer-readable medium according to claim 8, characterized in that, The operation also includes: Identify keywords from the corresponding titles and remove the keywords from the corresponding titles, wherein the keywords match at least one of the following: beta version, public beta version, release version, version, and update version.

13. A system for determining the standard title of a game, characterized in that, include: One or more processors; and The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: Identify the original title of the original game; To determine the corresponding canonical title, remove at least one of the following from the corresponding titles of several other games: punctuation marks, one or more special characters, and emojis. Identify a subset of standardized titles from the corresponding standardized titles that have a similarity exceeding a threshold compared to the original title; associate the original record associated with the original game with the subset of standardized titles, such that the original record is updated when a user plays one or more games in the subset of standardized titles; Receive one or more search terms from the user device; A first score is determined by comparing the original title with the one or more search terms, and a second score is determined by comparing the corresponding canonical title with the one or more search terms; and Feedback is provided to the user, wherein the feedback includes the original title and one or more corresponding canonical titles, as well as a corresponding first score and a corresponding second score, wherein the corresponding first score indicates the matching level between the original title and the one or more search terms, and the corresponding second score indicates the matching level between each of the corresponding canonical titles and the one or more search terms, and wherein the original title is provided as the top result, and the one or more corresponding canonical titles are presented as other results.

14. The system according to claim 13, characterized in that, The operation also includes: The new record is associated with each of the remaining canonical headers that fails to exceed the similarity threshold compared to the original header.

15. The system according to claim 13, characterized in that, The operation also includes: Generate the original record of the original game, wherein the original record includes at least one of the following: a description of the original game, the creation date of the original game, the number of times the original game has been played, the identity of the user who played the original game, the time the user played the original game, and a thumbnail of the original game.

16. The system according to claim 13, characterized in that, The operation also includes: Identify and remove keywords from the corresponding titles, where the keyword is a description of a holiday.

17. The system according to claim 13, characterized in that, The operation also includes: Identify keywords from the corresponding titles and remove the keywords from the corresponding titles, wherein the keywords match at least one of the following: beta version, public beta version, release version, version, and update version.

Citation Information

Patent Citations

  • Updating a search index used to facilitate application searches

    US20130290344A1