SYSTEM AND METHOD FOR OPTIMIZING SEARCH RESULTS - Patent application
Patent Information
- Application Number
- JP2024526950
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-11-08
- Filing Date
- 2022-11-08
- Publication Date
- 2025-02-26
Smart Images

Figure 2025505331000001_ABST
Abstract
Description
[Technical field]
[0001] Related Applications This application is related to U.S. Provisional Patent Application No. 63 / 277,141, filed November 8, 2021, entitled "Systems and Methods for Optimizing Search Results," which is incorporated by reference in its entirety.
[0002] Technical Field This application generally relates to specialized machines that manage data processing and refinements to such variations, as well as techniques that can generate optimized search results. [Background technology]
[0003] background As more and more people shop online, businesses need to develop systems that provide reliable search results to their users to improve the overall user experience. Businesses continually try to analyze user data to identify factors that can optimize a user's search results, but this analysis can be difficult. For example, a system for listing various items, such as listings for rental units, can track a large amount of user-related data, including actions that users may take on all listings. However, because of the large amount of user-related data and limitations on the types of data collected, it is difficult to track specific user-related actions on each listing so that the listings of search results can be objectively optimized to increase the conversion rate of the searched items. Understanding these specific actions and how to model them can lead to significant optimization of the ranking of search results. Therefore, there is a need to quantify specific user-related actions in order to optimize search results to increase the likelihood of conversion. Summary of the Invention [Means for solving the problem]
[0004] overview A disclosed implementation provides a method for optimizing search listings. The method includes receiving a search request for a set of listings from a client device, the search request including search parameters defining a first search query. The method further includes generating a set of listings based on the first search query and the search parameters, and extracting price-indicative features and non-price-indicative features for the set of listings. The method also includes calculating an estimate of a probability and quality of a booking by inputting the price-indicative features and non-price-indicative features of the set of listings into a trained machine learning model. The trained machine learning model separately predicts (i) an affordability index based on the price-indicative features and (ii) a quality index based on the non-price-indicative features, where (i) the affordability index and the quality index represent a probability of a booking, and (ii) the quality index represents an estimate of a quality. The method further includes ranking the set of listings based on the estimates of the probability and quality of a booking.
[0005] In some embodiments, the trained machine learning model includes a first trained deep neural network for predicting an affordability index and a second trained deep neural network for predicting a quality index, different from the first trained deep neural network.
[0006] In some embodiments, calculating the probability of a reservation includes (i) inputting price-indicative features to a first deep neural network trained to predict affordability, and (ii) inputting non-price-indicative features to a second deep neural network trained to predict quality.
[0007] In some embodiments, ranking the set of listings includes calculating a final ranking score that weights quality indicators higher than affordability indicators, and ranking the set of listings based on the final ranking score.
[0008] In some embodiments, ranking the set of listings includes calculating a final score that weights the quality indicator approximately twice as much as the affordability indicator, and ranking the set of listings based on the final ranking score.
[0009] In some embodiments, for each listing in the set of listings, the non-price indicating characteristics include at least one of a location of the respective listing, a neighborhood of the respective listing, a number of bookings in the neighborhood of the respective listing, a number of bookings for the respective listing, a characteristic of the respective listing, a characteristic of bookings in the neighborhood of the respective listing, and a number of clicks for the respective listing.
[0010] In some embodiments, a non-price indicative characteristic is a characteristic about each listing other than a monetary value associated with each listing.
[0011] In some embodiments, for each listing in the set of listings, the price indication feature includes at least one of a list price for the respective listing, a historical list price for the respective listing, a service fee for the respective listing, and a cleaning fee for the respective listing.
[0012] In some embodiments, a price indicating feature is a feature for each listing that is a monetary value associated with each listing.
[0013] In some embodiments, the trained machine learning model is trained to output a quality index based on price-indicative features of the listing in addition to non-price-indicative features at the time of training.
[0014] In some embodiments, calculating a probability of terminating a search for the set of listings by inputting the set of listings into a trained machine learning model that was trained by recording the final listings of search results viewed by one or more users, and ranking the set of listings further based on the probability of terminating.
[0015] BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the various described implementations, reference should be made to the following detailed description taken in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout. [Brief description of the drawings]
[0016] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary optimized search system implemented in a network environment, according to some embodiments. [Diagram 2] FIG. 2 is a block diagram illustrating the architecture of software used to implement the optimized search system, according to some embodiments. [Diagram 3] FIG. 1 illustrates a machine as an exemplary computer system having instructions that cause the machine to implement a machine-optimized search system, according to some embodiments. [Figure 4A] FIG. 11 illustrates an exemplary user interface showing search results ranked based on the probability of booking, according to some embodiments. [Figure 4B] 1 illustrates an exemplary user interface of search results ranked based on estimated probability and quality of booking, according to some embodiments. [Diagram 5] 1 is a flow diagram of a method for implementing flexible destination queries according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] Detailed Description Reference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various described implementations. However, it will be apparent to those skilled in the art that the various described implementations may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the implementations.
[0018] As will be apparent to those skilled in the art, many modifications and variations of the present disclosure can be made without departing from the spirit and scope of the disclosure. The specific implementations described herein are provided by way of example only, and the disclosure should be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled.
[0019] In ranking theory, there are two observations to be made about rankings: attention decays monotonically with rank, and ordering the list by booking probability maximizes booking conversion rates.
[0020] With regard to the first observation that attention decays monotonically with rank, it may be intuitively clear that items at the top of a listing will get more attention, more views, and more bookings than items at the bottom. However, it is not trivial to quantify how the number of views and bookings of a listing is affected by its position in the search results. This is because the ranking model actively seeks to order the listings by relevance. Even if guests paid equal attention to all positions in the search results, it may be expected that the listings toward the top positions will have more views and bookings simply because of higher relevance. One way to disentangle the effects of the position and relevance of a listing is to randomly shuffle adjacent positions to equalize their relevance overall, and then observe only the effect of position. By doing this, a position discounting curve can be constructed that plots how guest attention decays with position. When plotted, typical curves used for ranking show a monotonically decreasing curve where higher positions get more attention compared to lower positions because the decay of attention is monotonic.
[0021]
number
[0022]
number
[0023]
number
[0024]
number
[0025]
number
[0026]
number
[0027] To adapt the cascade model to web-based search, assume that a guest reviews the listings from top to bottom and performs one of the following three actions on each listing:
[0028]
number
[0029]
number
[0030]
number
[0031]
number
[0032]
number
[0033]
number
[0034]
number
[0035] Another assumption is that users implement a cascaded attention model in web searches. The cascaded attention model in web searches assumes that users review the list from the top down and click on the first result that satisfies the relevance. In the cascaded model, we assume that guests review the list from the top down and end up with the first result that has unsatisfying relevance. Furthermore, the concept of relevance is not the same as booking probability, which is a combination of relevance and affordability.
[0036]
number
[0037] To make progress, we assume that the probability that a guest quits after reviewing a list is inversely proportional to the intrinsic quality of the list.
[0038]
number
[0039] The higher the quality of the listing, the lower the probability that a guest will exit. Again, to emphasize, this may be different from the booking probability of a listing, which is a combination of quality and affordability. A listing can be of low quality, but highly competitively priced, and therefore have a high booking probability.
[0040]
number
[0041] Next, the conditions for maximizing reservations
[0042]
number
[0043] can be rewritten as follows:
[0044]
number
[0045]
number
[0046]
number
[0047]
number
[0048] To estimate listing quality, we can assume that a guest's booking decision is the result of trying to balance two factors: listing quality (benefit) and listing affordability (cost) to better model user actions that are not easily tracked in action.
[0049] In some embodiments of the invention described herein, an estimate of listing quality is determined to optimize search results for such listings without sacrificing value.
[0050] Figure 1 illustrates a block diagram of a network architecture 100 for an optimized search system, according to some embodiments. Figure 1 illustrates, for example, a web client 112 (e.g., a browser), a client application 114, and a programmatic client 116 executing on a client device 130. The client device 130 includes the web client 112, the client application 114, and the programmatic client 116, singly, together, or in any suitable combination. Although Figure 1 illustrates one client device 130, in some embodiments, the network architecture 100 comprises multiple client devices.
[0051] In some embodiments, client device 130 comprises a computing device including at least a display and communication capabilities that provide access to networked system 102 over network 104. Client device 130 includes, but is not limited to, a remote device, a workstation, a computer, a general purpose computer, an Internet appliance, a handheld device, a wireless device, a portable device, a wearable computer, a cellular or mobile phone, a personal digital assistant (PDA), a smartphone, a tablet, an ultrabook, a netbook, a laptop, a desktop, a multiprocessor system, a microprocessor-based or programmable consumer electronic device, a game console, a set-top box (STB), a networked personal computer (PC), a minicomputer, and the like. In some embodiments, client device 130 includes one or more of a touch screen, an accelerometer, a gyroscope, a biometric sensor, a camera, a microphone, a Global Positioning System (GPS) device, and the like.
[0052] Client devices 130 communicate with network 104 via wired or wireless connections. For example, one or more portions of network 104 may include an ad-hoc network, an intranet, an extranet, a Virtual Private Network (VPN), a Local Area Network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a Metropolitan Area Network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular network, a wireless network, a Wireless Fidelity (Wi-Fi®) network, a Worldwide Interoperability for Microwave Access (WiMax) network, another type of network, or any suitable combination thereof.
[0053] In some embodiments, the client device 130 includes one or more of the following applications (also referred to as "apps"), such as, but not limited to, a web browser, a book reader app (operable to read e-books), a media app (operable to present various media formats including audio and video), a health app, a biometric monitoring app, a messaging app, an electronic mail (email) app, an e-commerce site app (also referred to as a "marketplace app"), and a booking application for temporary stays at hotels, motels, or residences managed by other end users (e.g., posting end users who own homes and rent out entire homes or private rooms). In some embodiments, the client application 114 includes various components operable to present information to a user and communicate with the networked system 102. In some embodiments, when an e-commerce site application is included on the client device 130, the application is configured to provide a user interface and at least some functionality locally, with applications configured to communicate with the networked system 102 as needed for data or processing capabilities not available locally (e.g., access to a database of items available for sale, authentication of the user, verification of payment methods). Conversely, if an e-commerce site application is not included on the client device 130, the client device 130 can use its web browser to access an e-commerce site (or a variation thereof) hosted on the networked system 102.
[0054] Web clients 112 access the various services and functions provided by networked system 102 through a web interface supported by web server 122. Similarly, programmatic clients 116 and client applications 114 access the various services and functions provided by networked system 102 through a programmable interface provided by application program interface (API) server 120.
[0055] A user (e.g., user 106) includes a human, machine, or other means that interacts with client device 130. In some embodiments, user 106 is not part of network architecture 100 but interacts with network architecture 100 through client device 130 or another means. For example, user 106 provides input (e.g., touch screen input or alphanumeric input) to client device 130, which is communicated to networked system 102 over network 104. In this case, networked system 102, in response to receiving input from user 106, communicates information over network 104 to client device 130 for presentation to user 106. In this manner, user 106 can interact with networked system 102 using client device 130.
[0056] The API server 120 and the web server 122 are coupled to one or more application servers 140, providing programmatic and web interfaces, respectively. The application servers 140 are configured to provide optimized search results to the client devices 130 in response to search requests from the client devices 130. The application servers 140 include a quality module 142 (also referred to herein as a "quality estimation module") and a probability module 150 (also referred to herein as a "reservation probability module"), each configured to derive a specific metric that can be used to rank search results in an optimized manner compared to traditional ranking techniques. The quality module 142 and / or the probability module 150 may include one or more modules or applications, each of which may be embodied as hardware, software, firmware, or any combination thereof, to facilitate optimization of search results for the client devices 130. The application servers 140 are then shown coupled to one or more database servers 124, which facilitate access to one or more information storage repositories or databases 126. In some embodiments, the database 126 is a storage device that stores information (e.g., inventory, image data, catalog data) that is submitted to the quality module 142. The database 126 also stores digital product information according to some embodiments.
[0057] The quality module 142 generates an estimate of the quality of each listing based on or as a function of the quality features. Examples of quality features include the location of each listing, the neighborhood of each listing, the number of bookings in the neighborhood of each listing, the number of bookings in the neighborhood of each listing, characteristics of each listing, characteristics of bookings in the neighborhood of each listing, and the number of clicks in the respective listing. In some embodiments, the quality features are unbiased, fact-based, objective features that are not influenced by personal feelings, interpretations (e.g., star ratings), or preconceived ideas. In some embodiments, the quality features are non-price-indicative features. Non-price-indicative features may be features about each listing other than the monetary value associated with each listing.
[0058] The probability module 150 generates a probability of booking for each listing based on the probability feature or a function thereof. Examples of probability features include quality features (e.g., the quality features described above with reference to quality module 142) and affordability features. Examples of affordability features include the list price of each listing, the historical list price of each listing, the service fee of each listing, and the cleaning fee of each listing. In some embodiments, the affordability feature is a price-indicating feature. The price-indicating feature may be a feature related to each listing that is a monetary value associated with each listing.
[0059] 1 employs a client-server architecture, the present subject matter is of course not limited to such architectures and may equally be implemented in, for example, distributed or peer-to-peer architecture systems. Various components of application server 140 (e.g., quality module 142 and probability module 150) may also be implemented as stand-alone software programs that do not necessarily have networking capabilities.
[0060] While the quality module 142 and the probability module 150 are shown in FIG. 1 as components of the networked system 102, it will be appreciated that in alternative embodiments, each may be a component of a different web service separate from the networked system 102. Each of the quality module 142 and the probability module 150 may be hosted on a dedicated or shared server machine that is communicatively coupled to enable communication between the server machines. The components themselves are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources to enable information to be passed between applications or to enable applications to share and access common data. Additionally, the components access one or more databases 126 via a database server 124.
[0061] FIG. 2 is a block diagram 1200 illustrating an architecture of software 1202 that may be installed on any one or more of the devices described above. It will be appreciated that FIG. 2 is merely a non-limiting example of a software architecture and that many other architectures may be implemented to facilitate the functionality described herein. In various embodiments, the software 1202 is implemented by hardware such as a machine 1300 (further described in FIG. 3) including a processor 1310, a memory 1330, and input / output (I / O) components 1350. In this exemplary architecture, the software 1202 may be conceptualized as a stack of layers, where each layer may provide a particular function. For example, the software 1202 includes layers such as an operating system 1204, a library 1206, a framework 1208, and an application 1210. Operationally, the application 1210 invokes an API call 1212 through the software stack and receives a message 1214 in response to the API call 1212, consistent with some embodiments.
[0062] In various implementations, the operating system 1204 manages hardware resources and provides common services. The operating system 1204 includes, for example, a kernel 1220, services 1222, and drivers 1224. The kernel 1220 serves as an abstraction layer between the hardware layer and other software layers, consistent with some embodiments. For example, the kernel 1220 provides memory management, processor management (e.g., scheduling), component management, networking, and security configuration, among other functions. The services 1222 can provide other common services to other software layers. According to some embodiments, the drivers 1224 are responsible for controlling or interfacing with the underlying hardware. For example, the drivers 1224 can include a display driver, a camera driver, a BLUETOOTH® or BLUETOOTH® Low Energy driver, a flash memory driver, a serial communication driver (e.g., a Universal Serial Bus (USB) driver), a WI-FI® driver, an audio driver, a power management driver, and the like.
[0063] In some embodiments, libraries 1206 provide a low-level common infrastructure utilized by applications 1210. Libraries 1206 can include system libraries 1230 (e.g., C standard libraries), which can provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. Additionally, libraries 1206 may include API libraries 1232 such as a media library (e.g., a library supporting the presentation and manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG)), a graphics library (e.g., an OpenGL framework used for rendering in two-dimensional (2D) and three-dimensional (3D) graphical content on a display), a database library (e.g., SQLite for providing various relational database functions), a web library (e.g., WebKit for providing web browsing functions), and the like. The libraries 1206 may also include a wide variety of other libraries 1234 for providing many other APIs to the applications 1210 .
[0064] According to some embodiments, framework 1208 provides a high-level common infrastructure that can be utilized by applications 1210. For example, framework 1208 provides various graphic user interface (GUI) functionality, high-level resource management, high-level location services, etc. Framework 1208 can provide a wide range of other APIs that can be utilized by applications 1210, some of which may be specific to a particular operating system or platform.
[0065] In some embodiments, the applications 1210 include a home application 1250, a contacts application 1252, a browser application 1254, a book reader application 1256, a location application 1258, a media application 1260, a messaging application 1262, a games application 1264, and a wide range of other applications, such as third party applications 1266. According to some embodiments, the applications 1210 are programs that perform programmatically defined functions. Various programming languages, for example, object-oriented programming languages (e.g., Objective-C, Java, or C++) or procedural programming languages (e.g., C or assembly language), may be employed to create one or more of the applications 1210 structured in various ways. In a particular example, third party application 1266 (e.g., an application developed using an ANDROID® or IOS™ software development kit (SDK) by an entity other than a particular platform vendor) may be mobile software running on a mobile operating system, such as IOS™, ANDROID®, WINDOWS® Phone, or another mobile operating system. In this example, third party application 1266 can invoke API calls 1212 provided by operating system 1204 to facilitate the functionality described herein.
[0066] FIG. 3 shows a schematic diagram of a machine 1300 in the form of a computer system on which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies described herein, according to some embodiments. Specifically, FIG. 3 shows a schematic diagram of a machine 1300 in the form of an exemplary computer system on which instructions 1316 (e.g., software, programs, applications, applets, apps, or other executable code) may be executed to cause the machine 1300 to perform any one or more of the methodologies described herein. The instructions 1316 transform the general unprogrammed machine 1300 into a specific machine 1300 programmed to perform the functions described and illustrated in the described manner. In alternative embodiments, the machine 1300 may operate as a standalone device or may be coupled (e.g., networked) to other machines. In a networked arrangement, the machine 1300 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1300 may include, but is not limited to, a server computer, a client computer, a PC, a tablet computer, a laptop computer, a netbook, a STB, a PDA, an entertainment media system, a cell phone, a smartphone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing instructions 1316, sequentially or otherwise, that specify actions to be taken by the machine 1300. Additionally, although only a single machine 1300 is shown, the term "machine" should also be interpreted to include a collection of machines 1300 that individually or together execute instructions 1316 to perform any one or more of the methodologies described herein.
[0067] Machine 1300 may include processor 1310, memory 1330, and I / O components 1350, which may be configured to communicate with each other, such as via bus 1302. In some embodiments, processor 1310 (e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex Instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an ASIC, a Radio-Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processor 1312 and processor 1314, which may execute instructions 1316. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "cores") that may execute instructions simultaneously. Although FIG. 3 shows multiple processors 1310, machine 1300 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with single cores, multiple processors with multiple cores, or any combination thereof.
[0068] The memory 1330 may include a main memory 1332, a static memory 1334, and a storage unit 1336, all of which are accessible to the processor 1310, such as via a bus 1302. The main memory 1332, the static memory 1334, and the storage unit 1336 store instructions 1316 that embody any one or more of the methodologies or functions described herein. The instructions 1316 may also reside, completely or partially, within the main memory 1332, within the static memory 1334, within the storage unit 1336, within at least one of the processors 1310 (e.g., within a cache memory of the processor), or any suitable combination thereof, during its execution by the machine 1300.
[0069] The I / O components 1350 may include a wide variety of components for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurements, and the like. The particular I / O components 1350 included in a particular machine will depend on the type of machine. For example, a portable device such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 1350 may include many other components not shown in FIG. 13 . The I / O components 1350 are grouped according to function merely to simplify the following description, and the grouping is in no way limiting. In various embodiments, the I / O components 1350 may include output components 1352 and input components 1354. Output components 1352 may include visual components (e.g., a display such as a plasma display panel (PDP), light emitting diode (LED) display, liquid crystal display (LCD), projector, or cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., vibration motors, resistive mechanisms), other signal generators, etc. Input components 1354 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input component), a point-based input component (e.g., a mouse, touchpad, trackball, joystick, motion sensor, or another pointing device), a tactile input component (e.g., a physical button, a touch screen that provides the location and / or force of a touch or touch gesture, or other tactile input component), an audio input component (e.g., a microphone), etc.
[0070] In some embodiments, the I / O components 1350 may include a biometric component 1356, a motion component 1358, an environmental component 1360, or a position component 1362, among various other components. For example, the biometric components 1356 may include components for detecting facial expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice identification, retina identification, face identification, fingerprint identification, or brainwave-based identification), etc. The motion components 1358 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotational sensor component (e.g., a gyroscope), etc. The environmental components 1360 may include, for example, a light sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers to detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones to detect background noise), a proximity sensor component (e.g., an infrared sensor to detect nearby objects), a gas sensor (e.g., a gas detection sensor to detect concentrations of harmful gases for safety or to measure pollutants in the air), or other components that may provide indications, measurements, or signals corresponding to the surrounding physical environment. The position components 1362 may include a position sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer to detect air pressure from which altitude may be derived), an orientation sensor component (e.g., a magnetometer), etc.
[0071] Communication may be implemented using a wide variety of technologies. I / O component 1350 may include a communication component 1364 operable to couple machine 1300 to network 1380 or device 1370 via coupling 1382 and coupling 1372, respectively. For example, communication component 1364 may include a network interface component or another suitable device for interfacing with network 1380. In further examples, communication component 1364 may include a wired communication component, a wireless communication component, a cellular communication component, a Near Field Communication (NFC) component, a Bluetooth® component (e.g., Bluetooth® Low Energy), a Wi-Fi® component, and other communication components providing communication via other modalities. Device 1370 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via USB).
[0072] Additionally, the communication component 1364 may detect the identifier or may include a component operable to detect the identifier. For example, the communication component 1364 may include a Radio Frequency Identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor to detect one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Data Glyphs, MaxiCodes, PDF417, UltraCodes, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone to identify tagged audio signals). Additionally, various information may be derived via the communication component 1364, such as location via Internet Protocol (IP) geolocation, location via Wi-Fi signal triangulation, location via detection of NFC beacon signals that may indicate a particular location.
[0073] Various memories (i.e., 1330, 1332, 1334, and / or memory of processor 1310) and / or storage unit 1336 may store one or more sets of instructions and data structures (e.g., software) embodied or utilized by any one or more of the methodologies or functions described herein. These instructions (e.g., instructions 1316), when executed by processor 1310, cause various operations to be performed to implement the disclosed embodiments.
[0074] As used herein, the terms "machine storage medium", "device storage medium" and "computer storage medium" mean the same thing and may be used interchangeably in this disclosure. These terms refer to a single or multiple storage devices and / or media (e.g., centralized or distributed databases and / or associated caches and servers) that store executable instructions and / or data. Thus, these terms should be interpreted to include solid-state memory and optical and magnetic media, including, but not limited to, memory internal or external to a processor. Specific examples of machine storage media, computer storage media and / or device storage media include, by way of example, semiconductor memory devices, non-volatile memories including, for example, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA, and flash memory devices; magnetic disks such as internal hard disks, removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms "machine storage media," "computer storage media," and "device storage media" specifically exclude carrier waves, modulated data signals, and other such media, at least some of which are included in the term "signal media" described below.
[0075] In various embodiments, one or more portions of network 1380 may be an ad-hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a portion of the Internet, a portion of the PSTN, a plain old telephone service (POTS) network, a cellular network, a wireless network, a Wi-Fi network, another type of network, or a combination of two or more such networks. For example, network 1380 or portions of network 1380 may include a wireless or cellular network, and coupling 1382 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling.In this example, the coupling 1382 may implement any of various types of data transfer technologies, such as single carrier radio transmission technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP), including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standards, as defined by various other standards-setting bodies, other long-range protocols, or other data transfer technologies.
[0076] The instructions 1316 may be transmitted or received over the network 1380 using a transmission medium via a network interface device (e.g., a network interface component included in the communications component 1364) utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions 1316 may be transmitted or received to the device 1370 using a transmission medium via a coupling 1372 (e.g., a peer-to-peer coupling). The terms “transmission medium” and “signal medium” mean the same thing and may be used interchangeably in this disclosure. The terms “transmission medium” and “signal medium” should be interpreted to include any intangible medium capable of storing, encoding, or carrying the instructions 1316 for execution by the machine 1300, including digital or analog communication signals or other intangible media for facilitating communication of such software. Thus, the terms “transmission medium” and “signal medium” are intended to include any form of modulated data signal, carrier wave, or the like. The term “modulated data signal” means a signal having one or more of its characteristics set or changed in such a manner as to encode information within the signal.
[0077] The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure. These terms are defined to include both mechanical storage media and transmission media. Thus, these terms include both storage devices / media and carrier waves / modulated data signals.
[0078]
number
[0079] As shown, user interface 400a includes a date field 402, a filter menu element 404 (e.g., location type, facility), and a search field 406. In an exemplary scenario, a user enters a list query into search field 406, such as searching for temporary housing in a particular location (e.g., San Diego). The user can directly customize the query using the terms entered into search field 406 and add enumerated filters via selection of filter menu element 404. Additionally, the user may select dates using date drop-down element 402 to select a particular date range for the temporary stay. For example, the user may select date drop-down element 402 and a pop-up calendar (not shown in FIG. 4A) to specify that the stay in San Diego is specifically from December 16, 2021 to December 18, 2021. Upon submitting the query (e.g., via selection of search button 406 or automatically upon selection of date drop-down element 402), a listing is displayed in list results area 405. The user can then select a listing or navigate to additional pages via page navigation element 425a.
[0080] As described above, the generated list 405 is ranked based on maximizing the perceptual probability that the user will book the respective listing. In this way, results appearing higher in the list have a higher perceptual probability that the user will book the respective listing compared to results appearing lower in the list. The generated list 405 may rank list A 408 first and list B 410 second, even though list B actually has substantially better quality characteristics compared to list A and has a higher chance of booking conversion, based at least on the user search query and selected filters. This may be due to the perceptual probability that the user will book the respective listing based on a blend of affordability and quality features. That is, the affordability and quality features together determine the perceptual probability of booking the listing, which may not be optimized, without a clear delineation on the weighting. As explained above, the lack of a clear delineation in the weighting may make it essentially impossible to specifically identify individual characteristics that specifically track the quality of the listing, as they are conflated with the affordability characteristics. As previously mentioned, specifically tracking characteristics related to quality estimates and independently weighting them accordingly may provide optimized search results and reduce the likelihood that users will abandon those search results.
[0081]
number
[0082]
number
[0083] The machine learning model may predict the affordability index based on price-indicating features, examples of which include the list price of each listing, the historical list price of each listing, the service fee of each listing, and the cleaning fee of each listing.
[0084] The machine learning model may predict the quality index separately and independently from affordability based on non-price indicative features, examples of which include the location of each listing, the neighborhood of each listing, the number of bookings in the neighborhood of each listing, the number of bookings for each listing, characteristics of each listing, characteristics of bookings in the neighborhood of each listing, and the number of clicks for each listing.
[0085] The affordability index and the quality index together may represent the probability of a reservation. A quality index separate and apart from the affordability index may represent an estimate of quality.
[0086]
number
[0087] The set of listings may be ranked based on (i) the probability of booking and (ii) the quality estimates, or functions thereof, and displayed in a user interface (e.g., user interface 400b). Ranking the set of listings includes calculating a final ranking score. In some embodiments, the final ranking score weights the quality indicator more highly than the affordability indicator, and ranking the set of listings based on the final ranking score. In other embodiments, ranking the set of listings includes calculating a final score that weights the quality indicator approximately twice as highly as the affordability indicator, and ranking the set of listings based on the final ranking score.
[0088] In some embodiments, the optimized ranking formulation may be a function of:
[0089]
number
[0090]
number
[0091] The quality estimate is weighted twice as much as affordability, although in some embodiments other weightings may be used to optimize the search listings, so long as the quality estimate is weighted higher than affordability.
[0092]
number
[0093] · Reservations for top listed hosts increased by +1.3% (p-value 4E-7). · An increase in both review count (+1.4%, p-value 5E-6) and review rating (+0.96%, p-value 2E-8) for reserved listings.
[0094] · The number of listings on the first page that were within the boundaries of the user's preferred location (indicating higher result relevance) increased by +3.2% (p-value 1E-15).
[0095] · Bookings for listings where guests have the entire space to themselves increased by +0.84% (p-value 3E-6).
[0096] · Five-star reviews increased by +0.36% (p-value 0.01), while three-star reviews decreased by ~-2.4% (p-value 0.01).
[0097] FIG. 5 illustrates a flow diagram of a method (500) for optimizing a search listing (eg, listing 400b of FIG. 4B) according to some embodiments.
[0098] The method includes receiving (502) a search request for a set of listings from a client device (e.g., client device 130 of FIG. 1), where the search request includes search parameters (e.g., the search parameters of the search query set by filters 404). For example, the search request may be a location (e.g., San Francisco) and a number of guests (e.g., 2 adults), and the filters applied to the search request may be "max listing price," "free cancellation," and "private room."
[0099] The method further includes generating a set of listings based on the first search query and the search parameters (504). For example, the application server 140 of FIG. 1 may use the search query and the search parameters to retrieve a set of listings stored in the database 126 of FIG. 1 using the search parameters, such as location and number of guests, among others.
[0100] The method further includes extracting 506 and grouping price-indicating and non-price-indicating features for the set of listings. For example, location information for a listing may be extracted and grouped with the non-price-indicating feature, while a maximum listing price may be extracted and grouped with the price-indicating feature.
[0101] The method further includes calculating (508) estimates of the probability and quality of a booking separately (e.g., for each individual listing) by inputting the price-indicative and non-price-indicative features of the set of listings into a trained machine learning model (e.g., the affordability module 150 and the quality module 142 of FIG. 1 ), where the trained machine learning model separately predicts (i) an affordability index based on the price-indicative features and (ii) a quality index based on the non-price-indicative features, and (i) the affordability index and the quality index represent the probability of a booking, and (ii) the quality index represents an estimate of quality.
[0102] In some embodiments, the trained machine learning model includes a first trained deep neural network for predicting an affordability index (e.g., a deep neural network trained in the affordability module 150) and a second trained deep neural network for predicting a quality index (a deep neural network trained in the quality module 142) that is different from the first trained deep neural network.
[0103] In some embodiments, (ii) price-indicative features are input to a first deep neural network trained to predict affordability, and (iii) non-price-indicative features are input to a second deep neural network trained to predict quality.
[0104] In some embodiments, for each listing in the set of listings, the non-price indicating characteristics include at least one of a location of the respective listing, a neighborhood of the respective listing, a number of bookings in the neighborhood of the respective listing, a number of bookings for the respective listing, a characteristic of the respective listing, a characteristic of bookings in the neighborhood of the respective listing, and a number of clicks for the respective listing.
[0105] In some embodiments, a non-price indicative characteristic is a characteristic regarding a respective listing (eg, listing A 408) other than a monetary value associated with the respective listing (eg, listing A 408).
[0106] In some embodiments, the instruction features include at least one of a list price for each listing, a historical list price for each listing, a service fee for each listing, and a cleaning fee for each listing.
[0107] In some embodiments, a price indicating feature is a feature for each listing that is a monetary value associated with each listing.
[0108] In some embodiments, the trained machine learning model is trained to output a quality index based on price-indicative features of the listing in addition to non-price-indicative features at the time of training.
[0109] The method 500 further includes ranking (510) the set of listings based on the estimates of the probability and quality of the booking (e.g., ranking 414 in FIG. 4b). For example, the listing UI 400b may include a ranking of the set of listings based on the estimates of the probability and quality of the booking (e.g., P 予約 + quality) based on the set of 414 ranked listings.
[0110] In some embodiments, the method 600 further includes calculating a probability of terminating a search for the set of lists by inputting the set of lists into a trained machine learning model trained by recording the last list of search results viewed by one or more users, and ranking the set of lists further based on the probability of terminating. For example, in FIG. 4A, a user may terminate viewing list UI 400a after viewing list B 410. Thus, calculating the probability of terminating list 400a is calculated by inputting list A 408 into the trained machine learning model.
[0111] In some embodiments, ranking the set of listings (e.g., listing 400b, FIG. 4B) includes calculating a final ranking score that weights the quality index higher than the affordability index, and ranking the set of listings based on the final ranking score. For example, in listing B 410 of FIG. 4B, the quality index is weighted higher than the affordability index. Thus, the quality index of listing B 410 is weighted higher than the quality index of listing A 408.
[0112] In some embodiments, ranking the set of listings includes calculating a final ranking score that weights the quality indicator approximately twice as much as the affordability indicator, and ranking the set of listings based on the final ranking score.
[0113] Terms such as first, second, etc. are sometimes used herein to describe various elements, but it will be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first widget may be referred to as a second widget, and similarly, a second widget may be referred to as a first widget, without departing from the scope of various described implementations. Although a first widget and a second widget are both widgets, they are not in the same condition unless explicitly stated as such.
[0114] The terms used in the description of the various implementations described herein are intended only to describe the particular implementations and are not intended to be limiting. As used in the description of the various described implementations and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0115] The foregoing description has been described with reference to specific implementations for illustrative purposes. However, the above exemplary description is not intended to be exhaustive or to limit the claims to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The implementations have been selected to best explain the principles underlying the claims and their practical application, thereby enabling others skilled in the art to best use the implementations with various modifications suited to the particular application contemplated.
Claims
1. receiving a search request for a set of listings from a client device, the search request including search parameters defining a first search query; generating a set of listings based on the first search query and the search parameters; extracting price indicative and non-price indicative features for the set of lists; Calculating an estimate of a probability and quality of a booking by inputting the price-indicative and non-price-indicative features of the set of listings into a plurality of trained machine learning models, the plurality of trained machine learning models separately predicting (i) an affordability index based on the price-indicative features and (ii) a quality index based on the non-price-indicative features, and (i) the affordability index and the quality index represent the probability of the booking, and (ii) the quality index represents an estimate of the quality; ranking the set of listings based on the reservation probability and the quality estimates; How to optimize your search listings, including:
2. 2. The method of claim 1 , wherein the plurality of trained machine learning models includes a first trained deep neural network for predicting the affordability index and a second trained deep neural network for predicting the quality index, the second trained deep neural network being different from the first trained deep neural network.
3. 3. The method of claim 1, wherein calculating the probability of booking comprises: (i) inputting the price indicative features into a first deep neural network trained to predict affordability; and (ii) inputting the non-price indicative features into a second deep neural network trained to predict quality.
4. 3. The method of claim 1, wherein ranking the set of listings comprises: calculating a final ranking score that weights the quality indicator higher than the affordability indicator; and ranking the set of listings based on the final ranking score.
5. 3. The method of claim 1, wherein ranking the set of listings comprises: calculating a final ranking score that weights the quality indicator approximately twice as much as the affordability indicator; and ranking the set of listings based on the final ranking score.
6. For each listing in the set of listings, the non-price indicating feature comprises: the position of each of said lists; a neighborhood of each of said lists, the number of reservations in said vicinity of said respective list; the number of reservations for each of said lists; The characteristics of each of said lists, a characteristic of the reservations in said vicinity of said respective lists; and Number of clicks on each of the above lists The method according to any one of claims 1 to 2, comprising at least one of the following steps.
7. The method of any of claims 1-2, wherein a non-price indicative characteristic is a characteristic relating to each listing other than a monetary value associated with said each listing.
8. For each listing in the set of listings, the price indicating feature comprises: the listed price for each of said listings; the historical listed prices for each of said listings; the service fees for each of the foregoing listings; and Cleaning fees for each of the above listings The method according to any one of claims 1 to 2, comprising at least one of the following steps.
9. The method of any of claims 1-2, wherein a price-indicating feature is a feature relating to each listing that is a monetary value associated with said listing.
10. 3. The method of claim 1, wherein at least one trained machine learning model of the plurality of trained machine learning models is trained to output the quality index based on price-indicative features of a listing in addition to non-price-indicative features.
11. calculating a probability of completing a search of the set of listings by inputting the set of listings into a trained machine learning model, the model being trained by recording the final listings of search results viewed by one or more users; ranking the set of lists further based on the probability of termination; The method of any one of claims 1 to 2, further comprising:
12. 1. A system comprising a server including one or more processors and a memory storing one or more programs executed by the one or more processors, the one or more programs comprising: instructions for receiving a search request for a set of listings from a client device, the search request including search parameters defining a first search query; instructions for generating a set of listings based on the first search query and the search parameters; instructions for extracting price indicating features and non-price indicating features for the set of lists; instructions for calculating an estimate of a probability and quality of a booking by inputting the price indicative features and non-price indicative features of the set of listings into a plurality of trained machine learning models, the plurality of trained machine learning models separately predicting (i) an affordability index based on the price indicative features and (ii) a quality index based on the non-price indicative features, and (i) the affordability index and the quality index represent the probability of the booking, and (ii) the quality index represents an estimate of the quality; instructions for ranking the set of lists based on the reservation probability and the quality estimates; Including, the system.
13. 13. The system of claim 12, wherein the plurality of trained machine learning models includes a first trained deep neural network for predicting the affordability index and a second trained deep neural network for predicting the quality index that is different from the first trained deep neural network.
14. 14. The system of claim 12, wherein calculating the probability of booking comprises: (i) inputting the price indicative features into a first deep neural network trained to predict affordability; and (ii) inputting the non-price indicative features into a second deep neural network trained to predict quality.
15. The system of any of claims 12 to 13, wherein ranking the set of listings comprises: calculating a final ranking score that weights the quality indicator higher than the affordability indicator; and ranking the set of listings based on the final ranking score.
16. The system of any one of claims 12 to 13, wherein ranking the set of listings comprises: calculating a final ranking score that weights the quality indicator approximately twice as much as the affordability indicator; and ranking the set of listings based on the final ranking score.
17. For each listing in the set of listings, the non-price indicating feature comprises: the position of each of said lists; a neighborhood of each of said lists, the number of reservations in said vicinity of said respective list; the number of reservations for each of said lists; The characteristics of each of said lists, a characteristic of the reservations in said vicinity of said respective lists; and Number of clicks on each of the above lists The system according to any one of claims 12 to 13, comprising at least one of the following:
18. The system of any of claims 12-13, wherein a non-price indicative characteristic is a characteristic relating to each listing other than a monetary value associated with said each listing.
19. receiving a search request for a set of listings from a client device, the search request including search parameters defining a first search query; generating a set of listings based on the first search query and the search parameters; extracting price indicative and non-price indicative features for the set of lists; Calculating an estimate of a probability and quality of a booking by inputting the price-indicative and non-price-indicative features of the set of listings into a plurality of trained machine learning models, the plurality of trained machine learning models separately predicting (i) an affordability index based on the price-indicative features and (ii) a quality index based on the non-price-indicative features, and (i) the affordability index and the quality index represent the probability of the booking, and (ii) the quality index represents an estimate of the quality, the plurality of trained machine learning models including a first trained deep neural network for predicting the affordability index and a second trained deep neural network for predicting the quality index, the second trained deep neural network being different from the first trained deep neural network; ranking the set of listings based on the reservation probability and the quality estimates, comprising calculating a final ranking score that weights the quality indicator higher than the affordability indicator, and ranking the set of listings based on the final ranking score; How to optimize your search listings, including:
20. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by a computer system having a display, one or more processors, and a memory, the one or more programs comprising: instructions for receiving a search request for a set of listings from a client device, the search request including search parameters defining a first search query; instructions for generating a set of listings based on the first search query and the search parameters; instructions for extracting price indicating features and non-price indicating features for the set of lists; instructions for calculating an estimate of a probability and quality of a booking by inputting the price indicative features and non-price indicative features of the set of listings into a plurality of trained machine learning models, the plurality of trained machine learning models separately predicting (i) an affordability index based on the price indicative features and (ii) a quality index based on the non-price indicative features, and (i) the affordability index and the quality index represent the probability of the booking, and (ii) the quality index represents an estimate of the quality; instructions for ranking the set of lists based on the reservation probability and the quality estimates; A non-transitory computer readable storage medium comprising:
Citation Information
Patent Citations
Automatic determination of validity of bookings for user-sourced accommodations
JP2016512645A
System, method and program for presenting selection object
JP2018041317A
Calculation device, calculation method, and calculation program
JP2018081606A
Graphical user interface for hotel search systems
US20160078374A1
Hierarchical generation of booking probability
US20200184580A1