US20200036762A1 - Facilitating conversations with automated location mapping - Google Patents
Facilitating conversations with automated location mapping Download PDFInfo
- Publication number
- US20200036762A1 US20200036762A1 US16/532,238 US201916532238A US2020036762A1 US 20200036762 A1 US20200036762 A1 US 20200036762A1 US 201916532238 A US201916532238 A US 201916532238A US 2020036762 A1 US2020036762 A1 US 2020036762A1
- Authority
- US
- United States
- Prior art keywords
- topic
- electronic communication
- conversation
- individual
- participant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000013507 mapping Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 79
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 48
- 230000009471 action Effects 0.000 claims description 26
- 230000008901 benefit Effects 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 230000001755 vocal effect Effects 0.000 description 7
- 238000012552 review Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000002195 synergetic effect Effects 0.000 description 4
- 235000020805 dietary restrictions Nutrition 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000020785 dietary preference Nutrition 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 235000020803 food preference Nutrition 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3086—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves the use of self describing data formats, i.e. metadata, markup languages, human readable formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
- G06F16/444—Spatial browsing, e.g. 2D maps, 3D or virtual spaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Definitions
- Devices may provide a variety of tools that may facilitate such conversations, such as applications for identifying or recommending topics based on a set of search criteria, such as an events guide application or a restaurant recommendations application; applications for viewing details about a topic, such as viewing restaurant menus and availability for reservations; applications for initiating transactions with a location-based topic, such as making a reservation at a restaurant or purchasing tickets to a theater or music concert; applications for identifying discounts on such and applications for logging the presence of the user at the location of a topic, such as a “check-in” application enabling a user to inform social contacts of their presence at a particular event or location; applications for finding discounts on topics, such as discounted theater tickets and restaurant coupons; and applications for presenting maps and identifying routes to reach the locations of the respective topics.
- a set of search criteria such as an events guide application or a restaurant recommendations application
- applications for viewing details about a topic such as viewing restaurant menus and availability for reservations
- applications for initiating transactions with a location-based topic such as making a reservation at
- Many devices may provide a variety of tools that may facilitate users in conversations involving location-based topics.
- a user may have to direct his or her attention, alternatively, to the other individuals involved in the conversation and to directing commands at the device to invoke such tools.
- a set of users may agree to have dinner together; request a device to provide a list of nearby restaurants; discuss the options with each other; request the device to provide more information about a restaurant, such as a menu or a location; discuss and agree on a selected restaurant; and then request the device to plot a route from a current location to the location of the selected restaurant.
- the users may utilize their devices to facilitate the conversation of location-based topics.
- While the tools provided by such devices may significantly facilitate the conversation, it may be appreciated that the alternatively directed attention of the users may also impair the conversation. For example, a user who is interacting with a device to retrieve such information may miss part of the conversation. Additionally, sharing such information among users may be difficult; e.g., a first user may use a recommendations application to search for location-based topics of interest, but may have to relate the identified options to a second individual through the conversation, rather than enabling the second individual to view the same options as presented to the user of the device.
- a device may be configured to monitor a conversation among at least two individuals to detect topics referenced by an individual. Upon detecting a topic referenced by a first individual to a second individual of the conversation, where the topic is associated with a location and is not referenced as a command to the device, the device may identify the location of the topic, and present on the display a map indicating the location of the topic.
- the map may be presented alongside the conversation, such as adjacent to a text-based conversation (e.g., a textual conversation, a verbal conversation that is automatically translated into text, or a video conversation where speech and/or nonverbal communication are automatically translated into text), a map may be presented that automatically displays the locations of topics referenced within the conversation by the individuals.
- a text-based conversation e.g., a textual conversation, a verbal conversation that is automatically translated into text, or a video conversation where speech and/or nonverbal communication are automatically translated into text
- a map may be presented that automatically displays the locations of topics referenced within the conversation by the individuals.
- a device may maintain a list of the topics referenced in the conversation; may automatically suggest topics for the conversation (e.g., presenting a set of recommendations for restaurants that are compatible with the dietary preferences specified in the social profiles of the individuals, and that are near the current locations of the individuals); may allow individuals to alter the list; and may synchronize the presentation of the list with a second device of a second individual, thereby enabling the individuals to review the options together.
- FIG. 1 is an illustration of an exemplary scenario featuring a conversation among two individuals about a set of location-based topics.
- FIG. 2 is an illustration of an exemplary scenario featuring the facilitation of a conversation among two individuals about a set of location-based topics in accordance with the techniques presented herein.
- FIG. 3 is an illustration of an exemplary method of facilitating a conversation among at least two users about a topic associated with a location in accordance with the techniques presented herein.
- FIG. 4 is a component block diagram illustrating an exemplary system for facilitating a conversation among at least two users about a topic associated with a location in accordance with the techniques presented herein.
- FIG. 5 is an illustration of an exemplary computer-readable medium including processor-executable instructions configured to embody one or more of the provisions set forth herein.
- FIG. 6 is an illustration of an exemplary scenario featuring a grouping of topic groups referenced within a conversation among two individuals in accordance with the techniques presented herein.
- FIG. 7 is an illustration of an exemplary scenario featuring a viewing of information about a location-based topic referenced in a conversation among at least two individuals in accordance with the techniques presented herein.
- FIG. 8 is an illustration of an exemplary scenario featuring a presentation of recommendations of location-based topics to a user in accordance with the techniques presented herein.
- FIG. 9 is an illustration of an exemplary scenario featuring a recommendation of location-based topics for a conversation among at least two individuals in accordance with the techniques presented herein.
- FIG. 10 is an illustration of an exemplary computing environment wherein a portion of the present techniques may be implemented and/or utilized.
- FIG. 1 is an illustration of an exemplary scenario 100 featuring a conversation among a set of individuals 102 using a pair of devices 104 to engage in a conversation 106 that includes references to topics that are associated with a location.
- a first individual 102 uses a first device 104 to express a first message 108 , indicating an invitation to a second individual 102 to join the first individual 102 for dinner.
- the first device 104 transmits 110 the first message 108 to a second device 104 operated by the second individual 102 , who receives the first message 108 and begins to consider the options for dinner.
- the second individual 102 momentarily withdraws from the conversation 106 in order to direct a command 112 to the second device 104 , e.g., a request to present a list of restaurants in the area of the second individual 102 .
- the second device 104 presents a set of search results 114 , and the second individual 102 provisionally selects a restaurant to suggest to the first individual 102 .
- the second individual 102 returns to the conversation 106 and expresses a second message 108 , indicating a suggestion of a restaurant.
- the second device 104 transmits 110 the second message 108 to the first device 104 , which presents the second message 108 to the first individual 102 .
- the first individual 102 momentarily withdraws from the conversation 106 to investigate the restaurant referenced in the second message 108 from the second individual 102 .
- the first individual 102 directs a command 112 to the first device 104 to show a location map including a location 120 associated with the topic 116 of the second message 108 (e.g., the street address of the restaurant).
- the first device 104 therefore presents to the first individual 102 a mapping application 114 , including a map 118 that depicts the location 120 of the topic 116 in relation to the first individual 102 .
- the first individual 102 determines that the restaurant suggested by the second individual 102 is acceptable, and returns to the conversation 106 to create a third message 108 directed to the second individual 102 .
- the first device 104 of the first individual 102 transmits 110 the third message 108 to the second individual 102 to complete the conversation 106 .
- the devices 104 of the individuals 102 facilitate the conversation 106 by presenting information about the topics 116 and the locations 120 associated therewith.
- the exemplary scenario 100 of FIG. 1 provides examples of the manner in which devices 104 may facilitate a conversation 106 among at least two individuals 102 involving topics 116 that are associated with locations 120 (e.g., restaurants for which a street address or geopositioning coordinate may be identified).
- locations 120 e.g., restaurants for which a street address or geopositioning coordinate may be identified.
- several aspects of this interaction may be disadvantageous to one or both individuals 102 .
- each individual 102 utilizes a device 104 to retrieve information about the topics 116 referenced in the conversation 106 by directing a command 112 to the device 104 . However, doing so diverts the attention of the individual 102 from the conversation 106 to the device 104 in order to initiate the command 112 and to view the provided information. During this period of diversion, the individual 102 may miss parts of the conversation; e.g., at the fourth time point 128 , while the first individual 102 is examining the map 118 of the location 102 of the restaurant, the second individual 102 may not be aware that the first individual 102 has momentarily withdrawn form the conversation 106 .
- the second individual 102 may therefore continue speaking, and the first individual 102 may not hear the second individual 102 , resulting in miscommunication.
- the first individual 102 may instruct the second individual 102 to wait while the first individual 102 examines the map 118 , causing a disruptive delay in the conversation 106 that may frustrate the second individual 102 .
- the other individual 102 is unable to view the same information. Rather, each individual 102 individually views the information, and then creates a message 108 relaying the information to the other individual 102 .
- This exchange of information may be inefficient and/or time-consuming.
- the first individual 102 executes a query, views some information, and then creates a message 108 conveying some details the second individual 102 .
- the second individual 102 then re-inputs the same query in order to review the same information.
- each device 104 assists one of the individuals 102
- the devices 104 do not interoperate to share the information with the other individual 102 ; rather, the individuals 102 convey such information through the exchange of manually created messages 108 .
- the exchange of information through messages 108 may result in a variety of communication errors.
- the first device 104 of the first user 102 may fulfill the command 112 to view a map to “Joe's Pizza” by searching for and finding a restaurant matching the specified name.
- this restaurant may differ from the restaurant being displayed on the second device 104 of the second user 102 .
- the individuals 102 may exchange messages 108 agreeing to meet at a particular location 120 , but may inadvertently be referring to different locations presented by the devices 104 .
- a device 104 may monitor the conversation 106 to detect a reference from a first individual 102 to a second individual 102 within the conversation 106 that involves a topic 116 associated with a location 120 .
- the device 104 may detect this reference as part of the conversation 106 among the individuals 102 , e.g., in a message 108 written by the first individual 102 and directed to the second individual 102 , rather than as a command 112 directed by the individual 102 to the device 104 .
- the device 104 may identify the location 120 of the topic 116 (e.g., performing a search of a location database to identify a street address or geolocation coordinate identifying the location 120 of the topic 116 ).
- the device 104 may then present to the individual 102 a map 118 indicating the location 120 of the topic.
- this map 118 may be presented concurrently with the conversation 106 ; e.g., a textual conversation interface (such as an exchange of written messages 108 , and/or a speech-to-text transcript of a verbal communication) may be presented adjacent to the map 118 indicating the locations 120 of the topics 116 of the conversation 106 .
- a textual conversation interface such as an exchange of written messages 108 , and/or a speech-to-text transcript of a verbal communication
- FIG. 2 presents an illustration of an exemplary scenario 200 featuring a pair of devices 104 respectively configured to facilitate a conversation 106 among two individuals 102 in accordance with the techniques presented herein.
- the first individual 102 creates a message 108 to the second individual 102 within the conversation 106 , where the first message 108 references a topic 116 that is associated with a location 120 (e.g., a restaurant having a street address).
- the first individual 102 creates the message 108 by speaking to the first device 104 .
- the first device 104 of the first individual 102 transmits 110 the first message 108 to the second device 104 .
- the first message 108 may be translated by the first device 104 into text, which is transmitted to the second device 104 ; or, the first device 104 may transmit the first message 108 in verbal form to the second device 104 for presentation to the second individual 102 in verbal form; or, the second device 104 may, upon receiving the verbal first message 108 from the first device 104 , translate the verbal message into a text message for presentation to the second user 102 .
- a variety of such techniques may also be utilized, e.g., to present the first message 108 of the first user 102 in both verbal and text form.
- the first device 104 and the second device 104 also monitors the conversation 106 , and thus detects the reference in the first message 108 to the topic 116 associated with a location 120 .
- the first device 104 and/or the second device 104 may evaluate the first message 108 of the first individual 102 , and may detect the mention of the location 120 (“Joe's Pizza”).
- Such detection may be achieved, e.g., through comparison of the content of the first message 108 with a general set of keywords or key phrases (such as a directory of known locations), and/or a specific set of identifiers (such as locations 120 included in an address book of either individual 102 ), and/or according to the context of the first message 108 (such as applying lexical analysis to determine that a phrase such as “let's have dinner at . . . ” is frequently followed by the name of a restaurant).
- a general set of keywords or key phrases such as a directory of known locations
- a specific set of identifiers such as locations 120 included in an address book of either individual 102
- the first device 104 and/or the second device 104 may also utilize various forms of natural language parsing, such as machine learning techniques that are trained to understand spoken language; dialogue management techniques to determine a particular domain (e.g., a list of places to go); the referenced entities (e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants); the action and/or intent of the participants, such as a consensus for making a reservation; and related attributes, such as ratings, menus, reviews, and hours of operation.
- natural language parsing such as machine learning techniques that are trained to understand spoken language
- dialogue management techniques to determine a particular domain (e.g., a list of places to go)
- the referenced entities e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants
- the action and/or intent of the participants such as a consensus for making a reservation
- related attributes such as ratings, menus, reviews, and hours of operation.
- the first device 104 presents a conversation interface 204 on a display 202 for the first individual 102 (e.g., a text messaging interface, a transcript of a voice chat such as a telephone call, or a videoconference) that includes the first message 108 of the first individual 102 .
- the second device 104 also presents the conversation interface 204 on a display 202 for the second individual 102 that includes the first message 108 from the first individual 102 .
- each device 104 presents on the display 202 , adjacent to the conversation interface 204 , a map interface 206 including a map 118 that depicts the location 120 of the topic 116 referenced in the first message 108 .
- the map interface 206 is presented by each device 104 in the absence of a command 112 from either individual 102 to present a map 118 or otherwise provide information about the topic 116 . Rather, one or both devices 104 has detected the location-based reference in the first message 108 , and has automatically inserted the map interface 206 alongside the conversation interface 204 .
- both devices 104 automatically present the same location 120 for the topic 116 (e.g., because each device 104 has individually identified the reference to the topic 116 in the first message 108 and the location 120 of the topic 116 , and/or because one device 104 has automatically synchronized with the other device 104 to share the information and to coordinate the presentation of the map 118 of the location 120 of the topic 116 to both individuals 102 ).
- the second individual 102 presents a second message 108 within the conversation 106 that references a second topic 116 .
- the second device 104 transmits 110 the second message 108 to the first device 104 for presentation to the first individual 102 . Again, because one or both devices 104 monitors the conversation 106 , and thus detects that the second message 108 references a second topic 116 that is associated with a location 120 .
- the conversation interface 204 presented to each individual 102 is updated with the second message 108 . Additionally, on one or both devices 104 , the location 120 of the second topic 116 is identified, and the map 118 presented on the display 202 alongside the conversation interface 204 is updated to present the location 120 of the second topic 116 as well as the location 120 of the first topic 116 .
- the map interface 206 is updated in the absence of a command 112 from either individual 102 to show the location 120 of the second topic 116 ; and, again, both devices 104 may update the map 118 either by individually detecting the reference to the second topic 116 and inserting the location 120 of the second topic 116 into the map 118 , and/or by synchronizing the presentation to the individuals 102 with the other device 104 .
- the first individual 102 and the second individual 102 may conclude the conversation 106 when the first individual 102 sends a third message 108 accepting the suggestion of the second individual 102 .
- One or both devices 104 may detect that the conversation 106 has ended and that the individuals 102 have agreed on a particular topic 116 (e.g., to have dinner together at the restaurant suggested by the second individual 102 ). Additionally, one or both devices 104 may present on the display 202 a map 118 of the location 120 of the selected topic 116 , and well as a route 208 from the current location of each individual 102 to the location 120 .
- the manner in which the devices 104 facilitate the conversation 106 among the individuals 102 may provide some advantages.
- one or both devices 104 provides maps 118 and/or related information (such as routing) about the topics 116 discussed in the conversation 106 automatically by monitoring the conversation 106 and detecting references to such topics 116 , rather than in response to a command 112 from an individual 102 .
- both individuals 102 may remain present in and focused upon the conversation 106 , rather than upon interacting with the devices 104 to request a retrieval of such information.
- the devices 104 may interoperate to present the same information (e.g., the same location of the same restaurant) at the same time on each device 104 to each individual 102 , and without either individual 102 having to convey this information to the other individual 102 (e.g., neither individual 102 has to convey the information presented on one device 104 to the other individual 102 , and neither individual 102 has to re-enter information into a device 104 that the other individual 102 already provided to the other device 104 ).
- the configuration of the devices 202 may facilitate the convenience, efficiency, and/or accuracy of the conversation 106 in accordance with the techniques presented herein.
- FIG. 3 presents an illustration of an exemplary first embodiment of the techniques presented herein, illustrated as an exemplary method 300 of facilitating a conversation 106 among at least two individuals 102 .
- the exemplary first method 300 may be implemented, e.g., as a set of instructions stored in a memory component (e.g., a memory circuit, a platter of a hard disk drive, a solid-state storage device, or a magnetic or optical disc) of a device 104 having a processor and a display 202 , where the instructions, when executed on the processor, cause the device 104 to operate according to the techniques presented herein.
- the exemplary first method 300 begins at 302 and involves executing 304 the instructions on the processor of the device 104 .
- the execution of the instructions on the processor causes the device 104 to monitor 306 the conversation 106 to detect topics 116 referenced by an individual 102 .
- the execution of the instructions also causes the device 104 to, upon detecting 308 a topic 116 referenced by a first individual 102 to a second individual 102 of the conversation 106 , where the topic 116 is associated with a location 102 , and where the topic 116 is not referenced as a command 112 to the device 104 , identify 310 the location 120 of the topic 116 , and present 312 , on the display 202 of the device 104 , a map 118 indicating the location 120 of the topic 116 .
- the exemplary method 300 enables the device to facilitate the conversation 106 among the individuals 102 in accordance with the techniques presented herein, and so ends at 314 .
- FIG. 4 presents an illustration of an exemplary second embodiment of the techniques presented herein, illustrated as an exemplary system 408 for enabling a device 104 to facilitate a conversation 106 among at least two individuals 102 .
- One or more components of the exemplary system 408 may be implemented, e.g., as instructions stored in a memory 406 of the device 402 that, when executed on a processor 404 of the device 402 , cause the device 402 to perform at least a portion of the techniques presented herein.
- one or more components of the exemplary system 408 may be implemented, e.g., as a volatile or nonvolatile logical circuit, such as a particularly designed semiconductor-on-a-chip (SoC) or a configuration of a field-programmable gate array (FPGA), that performs at least a portion of the techniques presented herein, such that the interoperation of the components completes the performance of a variant of the techniques presented herein.
- the exemplary system 408 includes a conversation monitor 410 that monitors the conversation 106 to detect topics 116 referenced by an individual 102 .
- the exemplary system 408 also includes a topic presenter 412 that, upon the conversation monitor 410 detecting a topic 116 that is referenced by a first individual 102 to a second individual 102 of the conversation 106 , where the topic is associated with a location 102 and is not referenced as a command 112 to the device 402 , identify a location 120 of the topic 116 , and present, on the display 202 , a map 118 indicating the location 120 of the topic 116 .
- the interoperation of the components of the exemplary system 406 facilitates the conversation 106 among the at least two individuals 102 in accordance with the techniques presented herein.
- Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to apply the techniques presented herein.
- Such computer-readable media may include, e.g., computer-readable storage devices involving a tangible device, such as a memory semiconductor (e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies), a platter of a hard disk drive, a flash memory device, or a magnetic or optical disc (such as a CD-R, DVD-R, or floppy disc), encoding a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.
- a memory semiconductor e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies
- SSDRAM synchronous dynamic random access memory
- Such computer-readable media may also include (as a class of technologies that are distinct from computer-readable storage devices) various types of communications media, such as a signal that may be propagated through various physical phenomena (e.g., an electromagnetic signal, a sound wave signal, or an optical signal) and in various wired scenarios (e.g., via an Ethernet or fiber optic cable) and/or wireless scenarios (e.g., a wireless local area network (WLAN) such as WiFi, a personal area network (PAN) such as Bluetooth, or a cellular or radio network), and which encodes a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.
- WLAN wireless local area network
- PAN personal area network
- Bluetooth a cellular or radio network
- FIG. 5 An exemplary computer-readable medium that may be devised in these ways is illustrated in FIG. 5 , wherein the implementation 600 comprises a computer-readable memory device 502 (e.g., a CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable data 504 .
- This computer-readable data 504 in turn comprises a set of computer instructions 506 configured to operate according to the principles set forth herein.
- the processor-executable instructions 506 may be configured to cause a computing device to perform a method of facilitating a conversation 106 among at least two individuals 102 , such as the exemplary method 300 of FIG. 3 .
- the processor-executable instructions 506 may be configured to implement one or more components of a system of facilitating a conversation 106 among at least two individuals 102 , such as the exemplary system 408 of FIG. 4 .
- Some embodiments of this computer-readable medium may comprise a computer-readable storage device (e.g., a hard disk drive, an optical disc, or a flash memory device) that is configured to store processor-executable instructions configured in this manner.
- a computer-readable storage device e.g., a hard disk drive, an optical disc, or a flash memory device
- Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
- the techniques discussed herein may be devised with variations in many aspects, and some variations may present additional advantages and/or reduce disadvantages with respect to other variations of these and other techniques. Moreover, some variations may be implemented in combination, and some combinations may feature additional advantages and/or reduced disadvantages through synergistic cooperation. The variations may be incorporated in various embodiments (e.g., the exemplary method 300 of FIG. 3 ; the exemplary system 408 of FIG. 4 ; and the exemplary computer-readable memory device 502 of FIG. 5 ) to confer individual and/or synergistic advantages upon such embodiments.
- a first aspect that may vary among embodiments of these techniques relates to the scenarios wherein such techniques may be utilized.
- the techniques presented herein may be utilized with many types of devices 104 , including workstations; servers; game consoles; laptop and palmtop form factor computers; and mobile devices, such as phones, tablets, texting devices, cameras, portable media players, portable game players, and global positioning system (GPS) receivers.
- Such techniques may also be provided by as a first device as a service for a second device (e.g., a server and/or client), and/or by an interoperating set of devices (e.g., devices of respective individuals that synchronize and coordinate the presentation of information to the individuals 102 ).
- one or more devices 104 may be utilized by one of the individuals 102 of the conversation 106 , or a device 104 may be utilized by two or more individuals 102 (e.g., passengers in an automobile, or a group of individuals 102 together consulting an information kiosk).
- Such conversations may include a variety of modalities, such as an exchange of text messages (e.g., email messages, Simple Message Service (SMS) messages, and/or chat sessions, such as instant messaging scenarios); an exchange of voice communication (e.g., a phone call or voice-over-internet-protocol (VoIP) session); an exchange of images (e.g., a photo exchange service); an exchange of video streams (e.g., a videoconference); and/or an exchange of personal information (e.g., a mutual location sharing application).
- text messages e.g., email messages, Simple Message Service (SMS) messages, and/or chat sessions, such as instant messaging scenarios
- voice communication e.g., a phone call or voice-over-internet-protocol (VoIP) session
- images e.g., a photo exchange service
- video streams e.g., a videoconference
- personal information e.g., a mutual location sharing application
- a device 104 of an individual 102 may therefore provide an asymmetric, mixed-modality communication session, and/or may translate from a first modality to a second modality (e.g., translating an incoming voice stream into a textual transcript, such as by using a speech-to-text interpreter).
- a particular individual 102 in the conversation may only send or only receive messages (e.g., a passive listener of the conversation 106 ).
- each device 104 may be utilized by one individual 102 , or by a group of two or more individuals 102 participating collectively in the conversation 106 .
- a conversation server that interoperates with one or several devices 104 to facilitate the conversation between the individuals 102 may perform all or some of the monitoring, detecting, identifying, and/or presenting involved in the techniques presented herein.
- the techniques presented herein may be utilized to facilitate many types of conversations 106 .
- translation may be performed (e.g., translating a first language of a first individual 102 to a second language of a second individual 102 , or translating from a native language of a first individual 102 to an accessibility language understood by a second individual 102 , such as Braille).
- such conversations 106 may include references to many types of topics 116 associated with a location 120 , such as a residence of an individual 102 (including an individual 102 participating in the conversation 106 ); a business (e.g., a restaurant, a theater, or an office); an event (e.g., a concert or site of a news story); and/or an individual (e.g., the current location of an individual 102 of the conversation 106 ).
- the conversation between the individuals 102 may be asynchronous, such as an exchange of text or email messages, and the evaluation of such messages to identify referenced locations 120 may be performed in a non-realtime manner.
- the conversation between the individuals 102 may be fluid and realtime, such as a telephone call or videoconference, and respective devices 104 may perform the evaluation of messages 108 in a realtime or near-realtime manner concurrently with the conversation, which may enable a rapidly responsive updating of a map to reflect the topics and locations 120 currently being discussed by the individuals 102 .
- the techniques presented herein may be advantageously utilized.
- a second aspect that may vary among embodiments of the techniques presented herein relates to the manner of identifying topics 116 referenced within the conversation 106 , and of tracking such topics 116 through the conversation.
- a device 104 may monitor the conversation 106 to detect references to topics 116 in various ways.
- the device 104 may comprise a set of recognizable keywords or phrases, such as the names of restaurants in the area of one or more individuals 102 of the conversation 106 , and may detect instances of these keywords for phrases in the messages 108 of the conversation 106 .
- keywords or phrases may include, e.g., the names of locations 120 where one or more of the individuals 102 has recently and/or frequently visited, and/or the names of locations 120 that are associated with a calendar event for one or more of the individuals 102 .
- Such keywords and/or phrases key may also be drawn from data sources that are particular to the individuals 102 , such as those associated with locations 120 that are near the current location of one or more individuals 102 , and/or an address book or travel history of one or more individuals 102 .
- such keywords may comprise the names of locations 120 that are of high and/or trending popularity in the vicinity of one or more of the individuals 102 , and/or among contacts of one or more of the individuals 102 within a social network or an institution.
- such concepts may be selected from two or more individual profiles of the individuals 102 of the conversation, such as including a second individual profile of a second individual 102 of the conversation.
- the device 104 may utilize a natural-language parsing technique to detect the references, such as linguistic structure and conversational patterns (e.g., phrases such as “meet me at [name of location]” and “let's visit [name of location]” indicating the name of a referenced location).
- the device 104 may utilize metadata, such as a hashtag or hyperlink inserted by a user 102 into a message 108 that identifies a topic 116 having a location 120 .
- the device 104 may analyze the conversation 106 with a machine learning evaluation technique, such as an artificial neural network that has been trained to recognize topics 116 arising within conversations 106 .
- Such machine-learning evaluation techniques may involve, e.g., identifying the domain of the conversation, including the topics 116 and/or locations 120 that are associated with such domains (e.g., conversations about meals, which frequently involve references to restaurant locations 120 , vs. conversations about social plans, which frequently involve references to locations 120 such as movie theaters and concert halls).
- the first device 104 and/or the second device 104 may also utilize various forms of natural language parsing, such as machine learning techniques that are trained to understand spoken language; dialogue management techniques to determine a particular domain (e.g., a list of places to go); the referenced entities (e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants); the action and/or intent of the participants, such as a consensus for making a reservation; and related attributes, such as ratings, menus, reviews, and hours of operation.
- natural language parsing such as machine learning techniques that are trained to understand spoken language
- dialogue management techniques to determine a particular domain (e.g., a list of places to go)
- the referenced entities e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants
- the action and/or intent of the participants such as a consensus for making a reservation
- related attributes such as ratings, menus, reviews, and hours of operation.
- a device 104 may track a set of one or more topic groups arising within the conversation 106 that are respectively associated with at least one topic 116 .
- the individuals 102 may discuss a set of evening plans, including (as a first topic group) restaurants where the individuals 102 may meet for dinner, and (as a second topic group) locations to view a film following dinner.
- a device 104 may group the list of topics 116 into topic groups, thereby facilitating an organized summary of the conversation 106 .
- a topic presenter may, upon detecting a topic 116 referenced by a first individual 102 to a second individual 102 of the conversation 106 , identify a selected topic group of the conversation 106 that is associated with the topic 116 , and store the topic 116 in the conversation topic set, where the storage associated the topic 116 with the selected topic group.
- the device 104 may also present, on the display 202 , a list comprising at least two topic groups, and the topics 116 of the conversation 106 that are associated with the respective topic groups.
- a device 104 monitoring the conversation 106 may track a set of topics 116 referenced by the individuals 102 during the conversation 106 . For example, upon detecting a topic 116 referenced by a first individual 102 of the conversation 106 , a device 104 may store the topic 116 in a conversation topic set. The device 104 may then present, on the display 202 , a list comprising the conversation topic set, and upon receiving from an individual 102 a selection of a selected topic 116 in the list, present on the map 118 the location 120 of the selected topic 116 (e.g., a list of the restaurants discussed by the individuals 102 during a conversation 106 about where to meet for dinner).
- a device 104 monitoring the conversation 106 may track a set of topics 116 referenced by the individuals 102 during the conversation 106 . For example, upon detecting a topic 116 referenced by a first individual 102 of the conversation 106 , a device 104 may store the topic 116 in a conversation topic set. The device
- the device 104 may also detect the selection by an individual 102 of a topic 116 in the list, and may present on the map 118 the location 120 of the selected topic 16 . Additionally, the device 104 may persistently store the conversation topic list for later review by the individuals 102 . In an embodiment, upon detecting a conversation end, the device 104 stores the conversation topic set; and upon receiving a request from an individual 102 to present the conversation topic set after the conversation end, the device 104 may present, on the display 202 , a list comprising the conversation topic set.
- this third variation of this second aspect involve altering the list comprising the conversation topic set to reflect the substance of the conversation 106 among the individuals 102 .
- the device 104 upon receiving a request from an individual 102 to alter the conversation topic set, alter the conversation topic set according to the request of the individual 102 .
- requests may include, e.g., a request from an individual 102 for a removal of a selected topic 116 from the conversation topic set, such as an expression of disapproval of a topic 116 suggested by another individual 102 of the conversation 106 .
- the device 104 may subsequently refrain from presenting the selected topic 116 in the conversation topic set.
- one or more individuals 102 within a conversation 106 may be designated as a conversation leader of the conversation 106 (e.g., a moderator of a large group discussion).
- a device 104 may alter the conversation topic set only in accordance with requests received from a conversation leader, and may refrain from altering the conversation in response to request from individuals 102 who are not a conversation leader of the conversation 106 . That is, while many individuals 102 in the discussion may propose the addition and/or removal of topics 116 , the device 104 may alter the conversation topic set only when such proposals are accepted by a conversation leader of the conversation 106 .
- FIG. 6 presents an illustration of an exemplary scenario 600 featuring several of the variations of the second aspect presented herein.
- a first individual 102 in a conversation 106 provides a message 108 referencing two topics 116 : the name of a restaurant, and the name of a theater.
- a device 104 may identify a different topic group 602 for each topic 116 (e.g., a “dinner” topic group 602 for topics 116 comprising restaurants, and a “movie” topic group 602 for topics 116 comprising theaters); and upon presenting the conversation interface 204 , the device 104 may group the list of topics 116 according to the topic groups 602 of the topics 116 .
- a second individual 102 of the conversation 106 may provide a second message 108 declining consideration of a selected topic 116 of the conversation 106 , and the device 104 may alter the conversation topic set by removing the selected topic 116 from the list.
- the second message 108 may also specify an alternative topic 116 for each of the first topic group 602 (e.g., a different place to have dinner) and the second topic group 602 (e.g., a different theater where the individuals 102 may view a film).
- the device 104 may identify the topic group 602 associated with each topic 116 of the second message 108 (e.g., by referring to a location database to identify the type of location 120 referenced by the topic 116 , and/or by evaluating the context of the conversation 106 in which the topic 116 was referenced), and may present the list on the display 202 with the added topics 116 respectively grouped according to the topic group 602 associated with the topic 116 .
- Embodiments may utilize many such variations while identifying and tracking the topics 116 referenced within a conversation 106 in accordance with the techniques presented herein.
- a third aspect that may vary among embodiments of the techniques presented herein involves the manner of presenting to an individual 102 the location(s) 120 of the topic(s) 116 of the conversation 106 on a map 118 .
- maps 118 may be presented, including an area map, a road map, an aerial map (e.g., a bird's-eye view captured by a satellite of an area including a location 120 ), a topographical map, and a population or traffic map.
- the map 118 may also present only one location 120 , or the respective locations 120 of two or more topics 116 , and/or may also indicate a current or projects location 120 of one or more individuals 102 of the conversation 106 .
- the map interface 206 may be presented on the display 202 to an individual 102 in various ways.
- the device 104 may initially refrain from presenting the map 118 in a map interface 206 of the conversation interface 204 before detecting in the conversation 106 at least one reference to a topic 116 that is associated with a location 120 .
- the device 104 may insert the map interface 206 into the conversation interface 204 , including the map 118 indicating the location 120 of the topic 116 .
- the device 104 may remove the map interface 206 from the conversation interface 204 .
- the device 104 may occasionally substitute the presentation of the map 118 of a location 120 with other information about the topic 116 of the location 120 .
- the device 104 may replace the map 118 on the display 202 with an information interface describing the topic 106 (e.g., a picture of the location 120 of the topic 116 , a menu of a restaurant, or a listing of movies playing at a theater); and upon receiving from an individual 102 a request to return to the map 118 , the device 104 may replace the information interface on the display 202 with the map 118 .
- Such information may be retrieved from a variety of sources (e.g., from a web page associated with the topic 106 ; from a location database or a reviews database; or from an advertiser, such as an advertisement associated with a topic 116 including a discount for the individuals 102 , where the advertisement is retrieved and presented with the topic 116 in the map interface 206 ).
- sources e.g., from a web page associated with the topic 106 ; from a location database or a reviews database; or from an advertiser, such as an advertisement associated with a topic 116 including a discount for the individuals 102 , where the advertisement is retrieved and presented with the topic 116 in the map interface 206 ).
- the device 104 may present a set of action options for actions that are associated with a topic 116 and/or location 120 .
- the device 104 may therefore identify at least one action that is associated with the topic 106 ,
- the device 104 may therefore present on the display 202 , associated with the topic 116 , an action option to invoke the respective actions; and, upon receiving from an individual 102 a selection of a selected action option for a selected topic 116 , invoke the selected action option for the selected topic 116 .
- FIG. 7 presents an illustration of an exemplary scenario 700 featuring several variations in the presentation, on the display 202 of a device 104 , of locations 120 for a selected topic 116 of a conversation 106 .
- the device 104 may include in the presentation of the conversation interface 204 (not shown) a map interface 206 that, in addition to indicating the location 120 of the topic 116 , presents action options 702 for respective actions that may be invoked in relation to the topic 116 .
- the selected topic 116 comprises a restaurant
- the device 104 identifies and presents action options 702 for actions including plotting a route between a current location of the individual 102 and the location 120 ; initiating a reservation of a table at the restaurant; and initiating a communication session between the restaurant and the individual 102 . If the individual 102 selects 704 an action option 702 offering to show a menu for the restaurant, then at a second time point 710 , the display 202 of the device 104 hides the map interface 206 and presents an information interface 706 providing information about the topic 116 , i.e., the menu of the restaurant.
- a user selection 704 of an action option to return to the map causes a removal of the information interface 706 and a second presentation of the map interface 206 .
- the presentation of the topic 116 and location 120 may be responsive to user interaction initiated by an individual 102 , and may respond accordingly by adjusting the contents of the display 202 of the device 104 , in accordance with several variations of this third aspect of the techniques presented herein.
- a fourth aspect that may vary among embodiments of the techniques presented herein involves suggested topics 106 for a topic group 602 of the conversation 106 .
- a device 104 may identify at least one suggested topic 116 for the topic group 602 , and present the least one suggested topic 116 to the individual 102 .
- suggested topics 116 may be inserted into a conversation 106 in response to various events.
- suggested topics 116 may be inserted upon detecting a new topic group 602 (e.g., a suggestion from a first individual 102 to a second individual 102 to have dinner somewhere).
- a device 104 may identify an alternative topic 116 for the selected topic group 602 , and suggest the alternative topic in lieu of the removed topic 116 .
- alternative topics may be identified and suggested if a topic group 602 remains unfilled for at least a threshold duration (e.g., if the individuals 102 are unable to agree on a restaurant after a minute of conversation 106 ).
- the device 104 may present to an individual 102 an option to identify and present suggested topics 116 for a topic group 602 , and may do so upon receiving an activation of the option by the individual 102 (e.g., upon the individual 102 selecting a “suggestions” button).
- suggested topics 116 may be automatically presented by the device 104 to the individual 102 .
- the device 104 may automatically present location-based suggestions on a map 118 without awaiting a request from the individual 102 to do so.
- the suggested topics 116 may be presented in response to input from the individual 102 .
- the individuals 102 in a conversation 106 may exchange messages 108 involving a topic 116 , and a device 104 may identify one or more suggested topics 116 respectively associated with a location 120 .
- the device 104 may present a suggestions pane 802 adjacent to the conversation 110 with a list of suggested topics 116 .
- the device 104 may detect user input from the individual 102 comprising a selection 804 of a suggested topic 116 , and in response and at a fourth time point 810 , the device 104 may present a map interface 206 adjacent to the conversation 110 with a map 118 indicating the location 120 of the suggested topic 116 selected by the individual 102 . In this manner, the device 104 may utilize manual user input in the presentation of the suggested topics 116 to the individual 102 .
- suggested topics 116 may be integrated with at least one topic 116 referenced by an individual 102 of the conversation 106 in various ways.
- the suggested topics 116 may be presented in a different area of the map interface 206 than the topics 116 referenced by the individuals 102 (e.g., a “referenced restaurants” list and a “suggested restaurants” list).
- the suggested topics 116 may be presented together with the topics 116 referenced by the individuals 102 , e.g., as a mixed list, optionally with the suggested topics 116 presented in a different visual manner than the topics 116 referenced by the individuals 102 of the conversation 106 .
- suggested topics 116 may be identified in a variety of ways.
- at least one individual 102 may identify at least one topic group constraint for a topic group 602 (e.g., for the topic group of restaurants, an individual 102 may specify a preference for a particular type of food), and the device 104 may identify only suggested topics that satisfy the topic group constraints of the topic group 602 .
- a device 104 may refer to an individual profile of at least one individual 102 in the conversation 106 , and may identify suggested topics that are consistent with the individual profile (e.g., restaurants that are consistent with dietary restrictions of the individual 102 specified in the individual profile, or restaurants where the individual profile indicates that the individual 102 has previously visited and enjoyed). If a plurality of suggested topics 116 are available for presentation, a device 104 may calculate, for each suggested topic, a suggested topic score associating the suggested topic 16 with the topic group constraints of the topic group 602 , and may present the suggested topics 602 sorted according to the suggested topic scores. In some scenarios, the identification of suggested topics 116 may be difficult, e.g., if individuals 102 in the conversation 106 have conflicting preferences or restrictions, and the device 104 may have to select suggested topics as a consensus among the individuals 102 .
- suggested topics that are consistent with the individual profile (e.g., restaurants that are consistent with dietary restrictions of the individual 102 specified in the individual profile, or restaurants where the individual profile indicates that
- FIG. 9 presents an illustration of an exemplary scenario featuring a presentation of suggested topics to individuals 102 in view of several of the variations of this fourth aspect.
- a set of individuals 102 are having a conversation 106 about where to meet for dinner.
- a device 104 of an individual 102 may have access to an individual profile 902 for each individual 102 , where the individual profile 902 specifies a location 120 of the individual 102 (e.g., a current location of the individual 102 , or a projected location 102 of the individual 102 prior to a selected meeting time); a set of specified dietary preferences and dietary restrictions; and a price range preference.
- the details of the individual profiles 902 may be regarded by the device 104 as topic group constraints 904 for a “dinner restaurants” topic group 602 .
- the device 104 may also have access to a topic database 906 , such as a restaurant database providing various details about the restaurants.
- the device 104 may endeavor to select, for presentation to the individuals 120 as suggested topics 116 , a subset of topics 116 that are consistent with the details of the individual profiles 902 . Additionally, in this scenario, none of the topics 116 is consistent with all of the topic group constraints 904 (e.g., because the individuals 102 are located in different areas of a region, no location 120 is within a short distance of all of the individuals 102 ).
- the device 104 may calculate, for each topic 116 , a suggested topic score 908 indicating a conformity of the topic 116 with the topic group constraints 904 .
- various topic group constraints 904 may be attributed different weights (e.g., a dietary restriction of a single individual 102 , such as availability of gluten-free food options, may be a rigid constraint, while food preferences may be resolved by consensus).
- a consensus about locations 102 may be selected to minimize the collective travel time of all of the individuals 102 , and/or to achieve an earliest meeting time, taking into account the different travel options available to each individual 102 .
- the device 104 may then present the suggested topics 116 for the meeting to the individuals 102 as a topic group 602 with a map 118 presenting the location 120 of each topic 116 , and optionally including a rating 910 for each topic 116 in the topic group 602 indicating an anticipated degree of consensus among the individuals 102 , and/or sorting the topics 116 according to the respective ratings 910 .
- a device may provide a topic group 602 with a map 118 indicating the locations 120 of suggested topics 116 in accordance with the techniques presented herein.
- FIG. 10 and the following discussion provide a brief, general description of a suitable computing environment to implement embodiments of one or more of the provisions set forth herein.
- the operating environment of FIG. 10 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment.
- Example computing devices include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices (such as mobile phones, Personal Digital Assistants (PDAs), media players, and the like), multiprocessor systems, consumer electronics, mini computers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- Computer readable instructions may be distributed via computer readable media (discussed below).
- Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types.
- APIs Application Programming Interfaces
- the functionality of the computer readable instructions may be combined or distributed as desired in various environments.
- FIG. 10 illustrates an example of a system 1000 comprising a computing device 1002 configured to implement one or more embodiments provided herein.
- computing device 1002 includes at least one processing unit 1006 and memory 1008 .
- memory 1008 may be volatile (such as RAM, for example), non-volatile (such as ROM, flash memory, etc., for example) or some combination of the two. This configuration is illustrated in FIG. 10 by dashed line 1004 .
- device 1002 may include additional features and/or functionality.
- device 1002 may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like.
- additional storage e.g., removable and/or non-removable
- FIG. 10 Such additional storage is illustrated in FIG. 10 by storage 1010 .
- computer readable instructions to implement one or more embodiments provided herein may be in storage 1010 .
- Storage 1010 may also store other computer readable instructions to implement an operating system, an application program, and the like. Computer readable instructions may be loaded in memory 1008 for execution by processing unit 1006 , for example.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data.
- Memory 1008 and storage 1010 are examples of computer storage media.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 1002 . Any such computer storage media may be part of device 1002 .
- Device 1002 may also include communication connection(s) 1016 that allows device 1002 to communicate with other devices.
- Communication connection(s) 1016 may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connecting computing device 1002 to other computing devices.
- Communication connection(s) 1016 may include a wired connection or a wireless connection.
- Communication connection(s) 1016 may transmit and/or receive communication media.
- Computer readable media may include communication media.
- Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal may include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- Device 1002 may include input device(s) 1014 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device.
- Output device(s) 1012 such as one or more displays, speakers, printers, and/or any other output device may also be included in device 1002 .
- Input device(s) 1014 and output device(s) 1012 may be connected to device 1002 via a wired connection, wireless connection, or any combination thereof.
- an input device or an output device from another computing device may be used as input device(s) 1014 or output device(s) 1012 for computing device 1002 .
- Components of computing device 1002 may be connected by various interconnects, such as a bus.
- Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), Firewire (IEEE 1394), an optical bus structure, and the like.
- PCI Peripheral Component Interconnect
- USB Universal Serial Bus
- Firewire IEEE 1394
- optical bus structure an optical bus structure, and the like.
- components of computing device 1002 may be interconnected by a network.
- memory 1008 may be comprised of multiple physical memory units located in different physical locations interconnected by a network.
- a computing device 1020 accessible via network 1018 may store computer readable instructions to implement one or more embodiments provided herein.
- Computing device 1002 may access computing device 1020 and download a part or all of the computer readable instructions for execution.
- computing device 1002 may download pieces of the computer readable instructions, as needed, or some instructions may be executed at computing device 1002 and some at computing device 1020 .
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a controller and the controller can be a component.
- One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter.
- article of manufacture as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
- one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described.
- the order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
- the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
- the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances.
- the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 14/307,439, entitled “FACILITATING CONVERSATIONS WITH AUTOMATED LOCATION MAPPING,” filed on Jun. 17, 2014, which is hereby incorporated by reference herein in its entirety.
- Within the field of computing, many scenarios involve a conversation among two or more individuals about one or more topics that are associated with a location, such as plans to meet at a restaurant for dinner or to attend a film at a theater. In such scenarios, an individual who is also using a device may alternate between conversing with one another and with interacting with a device to identify, explore, and select the location-based topics. Devices may provide a variety of tools that may facilitate such conversations, such as applications for identifying or recommending topics based on a set of search criteria, such as an events guide application or a restaurant recommendations application; applications for viewing details about a topic, such as viewing restaurant menus and availability for reservations; applications for initiating transactions with a location-based topic, such as making a reservation at a restaurant or purchasing tickets to a theater or music concert; applications for identifying discounts on such and applications for logging the presence of the user at the location of a topic, such as a “check-in” application enabling a user to inform social contacts of their presence at a particular event or location; applications for finding discounts on topics, such as discounted theater tickets and restaurant coupons; and applications for presenting maps and identifying routes to reach the locations of the respective topics.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- Many devices may provide a variety of tools that may facilitate users in conversations involving location-based topics. However, in order to use these tools, a user may have to direct his or her attention, alternatively, to the other individuals involved in the conversation and to directing commands at the device to invoke such tools. For example, a set of users may agree to have dinner together; request a device to provide a list of nearby restaurants; discuss the options with each other; request the device to provide more information about a restaurant, such as a menu or a location; discuss and agree on a selected restaurant; and then request the device to plot a route from a current location to the location of the selected restaurant. In this manner, the users may utilize their devices to facilitate the conversation of location-based topics.
- While the tools provided by such devices may significantly facilitate the conversation, it may be appreciated that the alternatively directed attention of the users may also impair the conversation. For example, a user who is interacting with a device to retrieve such information may miss part of the conversation. Additionally, sharing such information among users may be difficult; e.g., a first user may use a recommendations application to search for location-based topics of interest, but may have to relate the identified options to a second individual through the conversation, rather than enabling the second individual to view the same options as presented to the user of the device.
- Presented herein are techniques for configuring devices to facilitate conversations about location-based topics. In an embodiment of these techniques, a device may be configured to monitor a conversation among at least two individuals to detect topics referenced by an individual. Upon detecting a topic referenced by a first individual to a second individual of the conversation, where the topic is associated with a location and is not referenced as a command to the device, the device may identify the location of the topic, and present on the display a map indicating the location of the topic. In particular, the map may be presented alongside the conversation, such as adjacent to a text-based conversation (e.g., a textual conversation, a verbal conversation that is automatically translated into text, or a video conversation where speech and/or nonverbal communication are automatically translated into text), a map may be presented that automatically displays the locations of topics referenced within the conversation by the individuals. In further embodiments, a device may maintain a list of the topics referenced in the conversation; may automatically suggest topics for the conversation (e.g., presenting a set of recommendations for restaurants that are compatible with the dietary preferences specified in the social profiles of the individuals, and that are near the current locations of the individuals); may allow individuals to alter the list; and may synchronize the presentation of the list with a second device of a second individual, thereby enabling the individuals to review the options together. These and other variations in the presentation of location-based topics in furtherance of a conversation among the individuals may be achievable in accordance with the techniques presented herein.
- To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
-
FIG. 1 is an illustration of an exemplary scenario featuring a conversation among two individuals about a set of location-based topics. -
FIG. 2 is an illustration of an exemplary scenario featuring the facilitation of a conversation among two individuals about a set of location-based topics in accordance with the techniques presented herein. -
FIG. 3 is an illustration of an exemplary method of facilitating a conversation among at least two users about a topic associated with a location in accordance with the techniques presented herein. -
FIG. 4 is a component block diagram illustrating an exemplary system for facilitating a conversation among at least two users about a topic associated with a location in accordance with the techniques presented herein. -
FIG. 5 is an illustration of an exemplary computer-readable medium including processor-executable instructions configured to embody one or more of the provisions set forth herein. -
FIG. 6 is an illustration of an exemplary scenario featuring a grouping of topic groups referenced within a conversation among two individuals in accordance with the techniques presented herein. -
FIG. 7 is an illustration of an exemplary scenario featuring a viewing of information about a location-based topic referenced in a conversation among at least two individuals in accordance with the techniques presented herein. -
FIG. 8 is an illustration of an exemplary scenario featuring a presentation of recommendations of location-based topics to a user in accordance with the techniques presented herein. -
FIG. 9 is an illustration of an exemplary scenario featuring a recommendation of location-based topics for a conversation among at least two individuals in accordance with the techniques presented herein. -
FIG. 10 is an illustration of an exemplary computing environment wherein a portion of the present techniques may be implemented and/or utilized. - The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate describing the claimed subject matter.
-
FIG. 1 is an illustration of anexemplary scenario 100 featuring a conversation among a set ofindividuals 102 using a pair ofdevices 104 to engage in aconversation 106 that includes references to topics that are associated with a location. - In this
exemplary scenario 100, at afirst time point 122, afirst individual 102 uses afirst device 104 to express afirst message 108, indicating an invitation to asecond individual 102 to join thefirst individual 102 for dinner. Thefirst device 104 transmits 110 thefirst message 108 to asecond device 104 operated by thesecond individual 102, who receives thefirst message 108 and begins to consider the options for dinner. - At a
second time point 124, thesecond individual 102 momentarily withdraws from theconversation 106 in order to direct acommand 112 to thesecond device 104, e.g., a request to present a list of restaurants in the area of thesecond individual 102. Thesecond device 104 presents a set ofsearch results 114, and thesecond individual 102 provisionally selects a restaurant to suggest to the first individual 102. - At a
third time 126, thesecond individual 102 returns to theconversation 106 and expresses asecond message 108, indicating a suggestion of a restaurant. Thesecond device 104 transmits 110 thesecond message 108 to thefirst device 104, which presents thesecond message 108 to thefirst individual 102. - At a
fourth time 128, thefirst individual 102 momentarily withdraws from theconversation 106 to investigate the restaurant referenced in thesecond message 108 from thesecond individual 102. The first individual 102 directs acommand 112 to thefirst device 104 to show a location map including alocation 120 associated with thetopic 116 of the second message 108 (e.g., the street address of the restaurant). Thefirst device 104 therefore presents to the first individual 102 amapping application 114, including amap 118 that depicts thelocation 120 of thetopic 116 in relation to thefirst individual 102. - At a
fifth time point 130, the first individual 102 determines that the restaurant suggested by thesecond individual 102 is acceptable, and returns to theconversation 106 to create athird message 108 directed to thesecond individual 102. Thefirst device 104 of thefirst individual 102 transmits 110 thethird message 108 to thesecond individual 102 to complete theconversation 106. In this manner, thedevices 104 of theindividuals 102 facilitate theconversation 106 by presenting information about thetopics 116 and thelocations 120 associated therewith. - The
exemplary scenario 100 ofFIG. 1 provides examples of the manner in whichdevices 104 may facilitate aconversation 106 among at least twoindividuals 102 involvingtopics 116 that are associated with locations 120 (e.g., restaurants for which a street address or geopositioning coordinate may be identified). However, in theexemplary scenario 100 ofFIG. 1 , several aspects of this interaction may be disadvantageous to one or bothindividuals 102. - As a first example, each
individual 102 utilizes adevice 104 to retrieve information about thetopics 116 referenced in theconversation 106 by directing acommand 112 to thedevice 104. However, doing so diverts the attention of the individual 102 from theconversation 106 to thedevice 104 in order to initiate thecommand 112 and to view the provided information. During this period of diversion, the individual 102 may miss parts of the conversation; e.g., at thefourth time point 128, while thefirst individual 102 is examining themap 118 of thelocation 102 of the restaurant, thesecond individual 102 may not be aware that thefirst individual 102 has momentarily withdrawn form theconversation 106. Thesecond individual 102 may therefore continue speaking, and thefirst individual 102 may not hear thesecond individual 102, resulting in miscommunication. Alternatively, thefirst individual 102 may instruct thesecond individual 102 to wait while thefirst individual 102 examines themap 118, causing a disruptive delay in theconversation 106 that may frustrate thesecond individual 102. - As a second example, while one individual 102 is using a
device 104 to view information that is pertinent to theconversation 106, the other individual 102 is unable to view the same information. Rather, each individual 102 individually views the information, and then creates amessage 108 relaying the information to theother individual 102. This exchange of information may be inefficient and/or time-consuming. For example, thefirst individual 102 executes a query, views some information, and then creates amessage 108 conveying some details thesecond individual 102. Thesecond individual 102 then re-inputs the same query in order to review the same information. Thus, while eachdevice 104 assists one of theindividuals 102, thedevices 104 do not interoperate to share the information with theother individual 102; rather, theindividuals 102 convey such information through the exchange of manually createdmessages 108. - As a third example, the exchange of information through
messages 108 may result in a variety of communication errors. For example, thefirst device 104 of thefirst user 102 may fulfill thecommand 112 to view a map to “Joe's Pizza” by searching for and finding a restaurant matching the specified name. However, this restaurant may differ from the restaurant being displayed on thesecond device 104 of thesecond user 102. Thus, theindividuals 102 may exchangemessages 108 agreeing to meet at aparticular location 120, but may inadvertently be referring to different locations presented by thedevices 104. These and other disadvantages may arise from the manner in which theindividuals 102 anddevices 104 interact in theexemplary scenario 100 ofFIG. 1 . - Presented herein are techniques for alternatively configuring a
device 104 to facilitate aconversation 106 among at least twoindividuals 102 involving atopic 116 that is associated with alocation 120. In accordance with these techniques, rather than waiting for acommand 112 from an individual 102 to present information about atopic 116 while the individual 102 engages in theconversation 106, adevice 104 may monitor theconversation 106 to detect a reference from afirst individual 102 to asecond individual 102 within theconversation 106 that involves atopic 116 associated with alocation 120. Notably, thedevice 104 may detect this reference as part of theconversation 106 among theindividuals 102, e.g., in amessage 108 written by thefirst individual 102 and directed to thesecond individual 102, rather than as acommand 112 directed by the individual 102 to thedevice 104. Upon detecting such a reference, thedevice 104 may identify thelocation 120 of the topic 116 (e.g., performing a search of a location database to identify a street address or geolocation coordinate identifying thelocation 120 of the topic 116). Thedevice 104 may then present to the individual 102 amap 118 indicating thelocation 120 of the topic. Notably, thismap 118 may be presented concurrently with theconversation 106; e.g., a textual conversation interface (such as an exchange of writtenmessages 108, and/or a speech-to-text transcript of a verbal communication) may be presented adjacent to themap 118 indicating thelocations 120 of thetopics 116 of theconversation 106. -
FIG. 2 presents an illustration of anexemplary scenario 200 featuring a pair ofdevices 104 respectively configured to facilitate aconversation 106 among twoindividuals 102 in accordance with the techniques presented herein. In thisexemplary scenario 200, at afirst time point 210, thefirst individual 102 creates amessage 108 to thesecond individual 102 within theconversation 106, where thefirst message 108 references atopic 116 that is associated with a location 120 (e.g., a restaurant having a street address). In thisexemplary scenario 200, thefirst individual 102 creates themessage 108 by speaking to thefirst device 104. Thefirst device 104 of thefirst individual 102 transmits 110 thefirst message 108 to thesecond device 104. For example, thefirst message 108 may be translated by thefirst device 104 into text, which is transmitted to thesecond device 104; or, thefirst device 104 may transmit thefirst message 108 in verbal form to thesecond device 104 for presentation to thesecond individual 102 in verbal form; or, thesecond device 104 may, upon receiving the verbalfirst message 108 from thefirst device 104, translate the verbal message into a text message for presentation to thesecond user 102. A variety of such techniques may also be utilized, e.g., to present thefirst message 108 of thefirst user 102 in both verbal and text form. - As further illustrated in the
exemplary scenario 200 ofFIG. 2 , one or both of thefirst device 104 and thesecond device 104 also monitors theconversation 106, and thus detects the reference in thefirst message 108 to thetopic 116 associated with alocation 120. For example, thefirst device 104 and/or thesecond device 104 may evaluate thefirst message 108 of thefirst individual 102, and may detect the mention of the location 120 (“Joe's Pizza”). Such detection may be achieved, e.g., through comparison of the content of thefirst message 108 with a general set of keywords or key phrases (such as a directory of known locations), and/or a specific set of identifiers (such aslocations 120 included in an address book of either individual 102), and/or according to the context of the first message 108 (such as applying lexical analysis to determine that a phrase such as “let's have dinner at . . . ” is frequently followed by the name of a restaurant). Thefirst device 104 and/or thesecond device 104 may also utilize various forms of natural language parsing, such as machine learning techniques that are trained to understand spoken language; dialogue management techniques to determine a particular domain (e.g., a list of places to go); the referenced entities (e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants); the action and/or intent of the participants, such as a consensus for making a reservation; and related attributes, such as ratings, menus, reviews, and hours of operation. - At a
second time point 212, thefirst device 104 presents aconversation interface 204 on adisplay 202 for the first individual 102 (e.g., a text messaging interface, a transcript of a voice chat such as a telephone call, or a videoconference) that includes thefirst message 108 of thefirst individual 102. Thesecond device 104 also presents theconversation interface 204 on adisplay 202 for thesecond individual 102 that includes thefirst message 108 from thefirst individual 102. In addition, eachdevice 104 presents on thedisplay 202, adjacent to theconversation interface 204, amap interface 206 including amap 118 that depicts thelocation 120 of thetopic 116 referenced in thefirst message 108. Notably, themap interface 206 is presented by eachdevice 104 in the absence of acommand 112 from either individual 102 to present amap 118 or otherwise provide information about thetopic 116. Rather, one or bothdevices 104 has detected the location-based reference in thefirst message 108, and has automatically inserted themap interface 206 alongside theconversation interface 204. Additionally, bothdevices 104 automatically present thesame location 120 for the topic 116 (e.g., because eachdevice 104 has individually identified the reference to thetopic 116 in thefirst message 108 and thelocation 120 of thetopic 116, and/or because onedevice 104 has automatically synchronized with theother device 104 to share the information and to coordinate the presentation of themap 118 of thelocation 120 of thetopic 116 to both individuals 102). - At a
third time point 214, thesecond individual 102 presents asecond message 108 within theconversation 106 that references asecond topic 116. Thesecond device 104 transmits 110 thesecond message 108 to thefirst device 104 for presentation to thefirst individual 102. Again, because one or bothdevices 104 monitors theconversation 106, and thus detects that thesecond message 108 references asecond topic 116 that is associated with alocation 120. - At a
fourth time point 216, theconversation interface 204 presented to each individual 102 is updated with thesecond message 108. Additionally, on one or bothdevices 104, thelocation 120 of thesecond topic 116 is identified, and themap 118 presented on thedisplay 202 alongside theconversation interface 204 is updated to present thelocation 120 of thesecond topic 116 as well as thelocation 120 of thefirst topic 116. Again, themap interface 206 is updated in the absence of acommand 112 from either individual 102 to show thelocation 120 of thesecond topic 116; and, again, bothdevices 104 may update themap 118 either by individually detecting the reference to thesecond topic 116 and inserting thelocation 120 of thesecond topic 116 into themap 118, and/or by synchronizing the presentation to theindividuals 102 with theother device 104. - At a
fifth time point 218, thefirst individual 102 and thesecond individual 102 may conclude theconversation 106 when thefirst individual 102 sends athird message 108 accepting the suggestion of thesecond individual 102. One or bothdevices 104 may detect that theconversation 106 has ended and that theindividuals 102 have agreed on a particular topic 116 (e.g., to have dinner together at the restaurant suggested by the second individual 102). Additionally, one or bothdevices 104 may present on the display 202 amap 118 of thelocation 120 of the selectedtopic 116, and well as aroute 208 from the current location of each individual 102 to thelocation 120. - In comparison with the
exemplary scenario 100 ofFIG. 1 , the manner in which thedevices 104 facilitate theconversation 106 among theindividuals 102, in theexemplary scenario 200 ofFIG. 2 may provide some advantages. As a first example, one or bothdevices 104 providesmaps 118 and/or related information (such as routing) about thetopics 116 discussed in theconversation 106 automatically by monitoring theconversation 106 and detecting references tosuch topics 116, rather than in response to acommand 112 from an individual 102. Accordingly, bothindividuals 102 may remain present in and focused upon theconversation 106, rather than upon interacting with thedevices 104 to request a retrieval of such information. As a second example, thedevices 104 may interoperate to present the same information (e.g., the same location of the same restaurant) at the same time on eachdevice 104 to each individual 102, and without either individual 102 having to convey this information to the other individual 102 (e.g., neither individual 102 has to convey the information presented on onedevice 104 to theother individual 102, and neither individual 102 has to re-enter information into adevice 104 that theother individual 102 already provided to the other device 104). In this manner, the configuration of thedevices 202 may facilitate the convenience, efficiency, and/or accuracy of theconversation 106 in accordance with the techniques presented herein. -
FIG. 3 presents an illustration of an exemplary first embodiment of the techniques presented herein, illustrated as anexemplary method 300 of facilitating aconversation 106 among at least twoindividuals 102. The exemplaryfirst method 300 may be implemented, e.g., as a set of instructions stored in a memory component (e.g., a memory circuit, a platter of a hard disk drive, a solid-state storage device, or a magnetic or optical disc) of adevice 104 having a processor and adisplay 202, where the instructions, when executed on the processor, cause thedevice 104 to operate according to the techniques presented herein. The exemplaryfirst method 300 begins at 302 and involves executing 304 the instructions on the processor of thedevice 104. In particular, the execution of the instructions on the processor causes thedevice 104 to monitor 306 theconversation 106 to detecttopics 116 referenced by an individual 102. The execution of the instructions also causes thedevice 104 to, upon detecting 308 atopic 116 referenced by afirst individual 102 to asecond individual 102 of theconversation 106, where thetopic 116 is associated with alocation 102, and where thetopic 116 is not referenced as acommand 112 to thedevice 104, identify 310 thelocation 120 of thetopic 116, and present 312, on thedisplay 202 of thedevice 104, amap 118 indicating thelocation 120 of thetopic 116. In this manner, theexemplary method 300 enables the device to facilitate theconversation 106 among theindividuals 102 in accordance with the techniques presented herein, and so ends at 314. -
FIG. 4 presents an illustration of an exemplary second embodiment of the techniques presented herein, illustrated as anexemplary system 408 for enabling adevice 104 to facilitate aconversation 106 among at least twoindividuals 102. One or more components of theexemplary system 408 may be implemented, e.g., as instructions stored in amemory 406 of thedevice 402 that, when executed on aprocessor 404 of thedevice 402, cause thedevice 402 to perform at least a portion of the techniques presented herein. Alternatively (though not shown), one or more components of theexemplary system 408 may be implemented, e.g., as a volatile or nonvolatile logical circuit, such as a particularly designed semiconductor-on-a-chip (SoC) or a configuration of a field-programmable gate array (FPGA), that performs at least a portion of the techniques presented herein, such that the interoperation of the components completes the performance of a variant of the techniques presented herein. Theexemplary system 408 includes a conversation monitor 410 that monitors theconversation 106 to detecttopics 116 referenced by an individual 102. Theexemplary system 408 also includes atopic presenter 412 that, upon the conversation monitor 410 detecting atopic 116 that is referenced by afirst individual 102 to asecond individual 102 of theconversation 106, where the topic is associated with alocation 102 and is not referenced as acommand 112 to thedevice 402, identify alocation 120 of thetopic 116, and present, on thedisplay 202, amap 118 indicating thelocation 120 of thetopic 116. In this manner, the interoperation of the components of theexemplary system 406 facilitates theconversation 106 among the at least twoindividuals 102 in accordance with the techniques presented herein. - Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to apply the techniques presented herein. Such computer-readable media may include, e.g., computer-readable storage devices involving a tangible device, such as a memory semiconductor (e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies), a platter of a hard disk drive, a flash memory device, or a magnetic or optical disc (such as a CD-R, DVD-R, or floppy disc), encoding a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein. Such computer-readable media may also include (as a class of technologies that are distinct from computer-readable storage devices) various types of communications media, such as a signal that may be propagated through various physical phenomena (e.g., an electromagnetic signal, a sound wave signal, or an optical signal) and in various wired scenarios (e.g., via an Ethernet or fiber optic cable) and/or wireless scenarios (e.g., a wireless local area network (WLAN) such as WiFi, a personal area network (PAN) such as Bluetooth, or a cellular or radio network), and which encodes a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.
- An exemplary computer-readable medium that may be devised in these ways is illustrated in
FIG. 5 , wherein theimplementation 600 comprises a computer-readable memory device 502 (e.g., a CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable data 504. This computer-readable data 504 in turn comprises a set ofcomputer instructions 506 configured to operate according to the principles set forth herein. In a first such embodiment, the processor-executable instructions 506 may be configured to cause a computing device to perform a method of facilitating aconversation 106 among at least twoindividuals 102, such as theexemplary method 300 ofFIG. 3 . In a second such embodiment, the processor-executable instructions 506 may be configured to implement one or more components of a system of facilitating aconversation 106 among at least twoindividuals 102, such as theexemplary system 408 ofFIG. 4 . Some embodiments of this computer-readable medium may comprise a computer-readable storage device (e.g., a hard disk drive, an optical disc, or a flash memory device) that is configured to store processor-executable instructions configured in this manner. Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein. - The techniques discussed herein may be devised with variations in many aspects, and some variations may present additional advantages and/or reduce disadvantages with respect to other variations of these and other techniques. Moreover, some variations may be implemented in combination, and some combinations may feature additional advantages and/or reduced disadvantages through synergistic cooperation. The variations may be incorporated in various embodiments (e.g., the
exemplary method 300 ofFIG. 3 ; theexemplary system 408 ofFIG. 4 ; and the exemplary computer-readable memory device 502 ofFIG. 5 ) to confer individual and/or synergistic advantages upon such embodiments. - D1. Scenarios
- A first aspect that may vary among embodiments of these techniques relates to the scenarios wherein such techniques may be utilized.
- As a first variation of this first aspect, the techniques presented herein may be utilized with many types of
devices 104, including workstations; servers; game consoles; laptop and palmtop form factor computers; and mobile devices, such as phones, tablets, texting devices, cameras, portable media players, portable game players, and global positioning system (GPS) receivers. Such techniques may also be provided by as a first device as a service for a second device (e.g., a server and/or client), and/or by an interoperating set of devices (e.g., devices of respective individuals that synchronize and coordinate the presentation of information to the individuals 102). Additionally, one ormore devices 104 may be utilized by one of theindividuals 102 of theconversation 106, or adevice 104 may be utilized by two or more individuals 102 (e.g., passengers in an automobile, or a group ofindividuals 102 together consulting an information kiosk). - As a second variation of this first aspect, the techniques presented herein may be utilized to facilitate many types of
conversations 106. Such conversations may include a variety of modalities, such as an exchange of text messages (e.g., email messages, Simple Message Service (SMS) messages, and/or chat sessions, such as instant messaging scenarios); an exchange of voice communication (e.g., a phone call or voice-over-internet-protocol (VoIP) session); an exchange of images (e.g., a photo exchange service); an exchange of video streams (e.g., a videoconference); and/or an exchange of personal information (e.g., a mutual location sharing application). In some such scenarios, different individuals may participate in different modalities (e.g., afirst individual 102 may generate text messages, while asecond individual 102 may generate a voice stream). Adevice 104 of an individual 102 may therefore provide an asymmetric, mixed-modality communication session, and/or may translate from a first modality to a second modality (e.g., translating an incoming voice stream into a textual transcript, such as by using a speech-to-text interpreter). Alternatively or additionally, aparticular individual 102 in the conversation may only send or only receive messages (e.g., a passive listener of the conversation 106). Alternatively or additionally, eachdevice 104 may be utilized by oneindividual 102, or by a group of two ormore individuals 102 participating collectively in theconversation 106. As a further variation, a conversation server that interoperates with one orseveral devices 104 to facilitate the conversation between theindividuals 102 may perform all or some of the monitoring, detecting, identifying, and/or presenting involved in the techniques presented herein. - As a third variation of this first aspect, the techniques presented herein may be utilized to facilitate many types of
conversations 106. In some such scenarios, translation may be performed (e.g., translating a first language of afirst individual 102 to a second language of asecond individual 102, or translating from a native language of afirst individual 102 to an accessibility language understood by asecond individual 102, such as Braille). Alternatively or additionally,such conversations 106 may include references to many types oftopics 116 associated with alocation 120, such as a residence of an individual 102 (including an individual 102 participating in the conversation 106); a business (e.g., a restaurant, a theater, or an office); an event (e.g., a concert or site of a news story); and/or an individual (e.g., the current location of an individual 102 of the conversation 106). In some variations, the conversation between theindividuals 102 may be asynchronous, such as an exchange of text or email messages, and the evaluation of such messages to identify referencedlocations 120 may be performed in a non-realtime manner. In other scenarios, the conversation between theindividuals 102 may be fluid and realtime, such as a telephone call or videoconference, andrespective devices 104 may perform the evaluation ofmessages 108 in a realtime or near-realtime manner concurrently with the conversation, which may enable a rapidly responsive updating of a map to reflect the topics andlocations 120 currently being discussed by theindividuals 102. Many such scenarios may be devised where the techniques presented herein may be advantageously utilized. - D2. Detecting and Tracking Referenced Topics
- A second aspect that may vary among embodiments of the techniques presented herein relates to the manner of identifying
topics 116 referenced within theconversation 106, and of trackingsuch topics 116 through the conversation. - As a first variation of this second aspect, a
device 104 may monitor theconversation 106 to detect references totopics 116 in various ways. As a first such example, thedevice 104 may comprise a set of recognizable keywords or phrases, such as the names of restaurants in the area of one ormore individuals 102 of theconversation 106, and may detect instances of these keywords for phrases in themessages 108 of theconversation 106. Such keywords or phrases may include, e.g., the names oflocations 120 where one or more of theindividuals 102 has recently and/or frequently visited, and/or the names oflocations 120 that are associated with a calendar event for one or more of theindividuals 102. Such keywords and/or phrases key may also be drawn from data sources that are particular to theindividuals 102, such as those associated withlocations 120 that are near the current location of one ormore individuals 102, and/or an address book or travel history of one ormore individuals 102. As another example, such keywords may comprise the names oflocations 120 that are of high and/or trending popularity in the vicinity of one or more of theindividuals 102, and/or among contacts of one or more of theindividuals 102 within a social network or an institution. As a further variation, such concepts may be selected from two or more individual profiles of theindividuals 102 of the conversation, such as including a second individual profile of asecond individual 102 of the conversation. - As a second such example of this first variation of this second aspect, the
device 104 may utilize a natural-language parsing technique to detect the references, such as linguistic structure and conversational patterns (e.g., phrases such as “meet me at [name of location]” and “let's visit [name of location]” indicating the name of a referenced location). As a third such example, thedevice 104 may utilize metadata, such as a hashtag or hyperlink inserted by auser 102 into amessage 108 that identifies atopic 116 having alocation 120. As a fourth such example, thedevice 104 may analyze theconversation 106 with a machine learning evaluation technique, such as an artificial neural network that has been trained to recognizetopics 116 arising withinconversations 106. Such machine-learning evaluation techniques may involve, e.g., identifying the domain of the conversation, including thetopics 116 and/orlocations 120 that are associated with such domains (e.g., conversations about meals, which frequently involve references torestaurant locations 120, vs. conversations about social plans, which frequently involve references tolocations 120 such as movie theaters and concert halls). Thefirst device 104 and/or thesecond device 104 may also utilize various forms of natural language parsing, such as machine learning techniques that are trained to understand spoken language; dialogue management techniques to determine a particular domain (e.g., a list of places to go); the referenced entities (e.g., relative references to the entities of the conversation, such as “the other one” when discussing two restaurants); the action and/or intent of the participants, such as a consensus for making a reservation; and related attributes, such as ratings, menus, reviews, and hours of operation. - As a second variation of this second aspect, in addition to identifying the
topics 116 of theconversation 106, adevice 104 may track a set of one or more topic groups arising within theconversation 106 that are respectively associated with at least onetopic 116. For example, theindividuals 102 may discuss a set of evening plans, including (as a first topic group) restaurants where theindividuals 102 may meet for dinner, and (as a second topic group) locations to view a film following dinner. As theindividuals 102 reference and discuss thetopics 116, in addition to identifying thetopics 116 and presenting amap 118 indicating thelocations 120 of thetopics 116, adevice 104 may group the list oftopics 116 into topic groups, thereby facilitating an organized summary of theconversation 106. For example, a topic presenter may, upon detecting atopic 116 referenced by afirst individual 102 to asecond individual 102 of theconversation 106, identify a selected topic group of theconversation 106 that is associated with thetopic 116, and store thetopic 116 in the conversation topic set, where the storage associated thetopic 116 with the selected topic group. Thedevice 104 may also present, on thedisplay 202, a list comprising at least two topic groups, and thetopics 116 of theconversation 106 that are associated with the respective topic groups. - As a third variation of this second aspect, a
device 104 monitoring theconversation 106 may track a set oftopics 116 referenced by theindividuals 102 during theconversation 106. For example, upon detecting atopic 116 referenced by afirst individual 102 of theconversation 106, adevice 104 may store thetopic 116 in a conversation topic set. Thedevice 104 may then present, on thedisplay 202, a list comprising the conversation topic set, and upon receiving from an individual 102 a selection of a selectedtopic 116 in the list, present on themap 118 thelocation 120 of the selected topic 116 (e.g., a list of the restaurants discussed by theindividuals 102 during aconversation 106 about where to meet for dinner). Thedevice 104 may also detect the selection by an individual 102 of atopic 116 in the list, and may present on themap 118 thelocation 120 of the selected topic 16. Additionally, thedevice 104 may persistently store the conversation topic list for later review by theindividuals 102. In an embodiment, upon detecting a conversation end, thedevice 104 stores the conversation topic set; and upon receiving a request from an individual 102 to present the conversation topic set after the conversation end, thedevice 104 may present, on thedisplay 202, a list comprising the conversation topic set. - In addition to collecting, storing, and presenting the
topics 116 of theconversation 106, further variations of this third variation of this second aspect involve altering the list comprising the conversation topic set to reflect the substance of theconversation 106 among theindividuals 102. For example, upon receiving a request from an individual 102 to alter the conversation topic set, thedevice 104 alter the conversation topic set according to the request of the individual 102. Such requests may include, e.g., a request from an individual 102 for a removal of a selectedtopic 116 from the conversation topic set, such as an expression of disapproval of atopic 116 suggested by another individual 102 of theconversation 106. In addition to removing thetopic 116 from theconversation 106, thedevice 104 may subsequently refrain from presenting the selectedtopic 116 in the conversation topic set. As a still further variation, one ormore individuals 102 within aconversation 106 may be designated as a conversation leader of the conversation 106 (e.g., a moderator of a large group discussion). Adevice 104 may alter the conversation topic set only in accordance with requests received from a conversation leader, and may refrain from altering the conversation in response to request fromindividuals 102 who are not a conversation leader of theconversation 106. That is, whilemany individuals 102 in the discussion may propose the addition and/or removal oftopics 116, thedevice 104 may alter the conversation topic set only when such proposals are accepted by a conversation leader of theconversation 106. -
FIG. 6 presents an illustration of anexemplary scenario 600 featuring several of the variations of the second aspect presented herein. In thisexemplary scenario 600, at afirst time point 604, afirst individual 102 in aconversation 106 provides amessage 108 referencing two topics 116: the name of a restaurant, and the name of a theater. In view of thismessage 108, adevice 104 may identify adifferent topic group 602 for each topic 116 (e.g., a “dinner”topic group 602 fortopics 116 comprising restaurants, and a “movie”topic group 602 fortopics 116 comprising theaters); and upon presenting theconversation interface 204, thedevice 104 may group the list oftopics 116 according to thetopic groups 602 of thetopics 116. At asecond time point 606, asecond individual 102 of theconversation 106 may provide asecond message 108 declining consideration of a selectedtopic 116 of theconversation 106, and thedevice 104 may alter the conversation topic set by removing the selectedtopic 116 from the list. Thesecond message 108 may also specify analternative topic 116 for each of the first topic group 602 (e.g., a different place to have dinner) and the second topic group 602 (e.g., a different theater where theindividuals 102 may view a film). Thedevice 104 may identify thetopic group 602 associated with eachtopic 116 of the second message 108 (e.g., by referring to a location database to identify the type oflocation 120 referenced by thetopic 116, and/or by evaluating the context of theconversation 106 in which thetopic 116 was referenced), and may present the list on thedisplay 202 with the addedtopics 116 respectively grouped according to thetopic group 602 associated with thetopic 116. Embodiments may utilize many such variations while identifying and tracking thetopics 116 referenced within aconversation 106 in accordance with the techniques presented herein. - D3. Presenting Locations of Conversation Topics
- A third aspect that may vary among embodiments of the techniques presented herein involves the manner of presenting to an individual 102 the location(s) 120 of the topic(s) 116 of the
conversation 106 on amap 118. - As a first variation of this third aspect, many types of
maps 118 may be presented, including an area map, a road map, an aerial map (e.g., a bird's-eye view captured by a satellite of an area including a location 120), a topographical map, and a population or traffic map. Themap 118 may also present only onelocation 120, or therespective locations 120 of two ormore topics 116, and/or may also indicate a current orprojects location 120 of one ormore individuals 102 of theconversation 106. - As a second variation of this third aspect, the
map interface 206 may be presented on thedisplay 202 to an individual 102 in various ways. For example, thedevice 104 may initially refrain from presenting themap 118 in amap interface 206 of theconversation interface 204 before detecting in theconversation 106 at least one reference to atopic 116 that is associated with alocation 120. Upon detecting such a reference, thedevice 104 may insert themap interface 206 into theconversation interface 204, including themap 118 indicating thelocation 120 of thetopic 116. Alternatively or additionally, upon detecting a shift in theconversation 106 away from references totopics 116 associated withlocations 120, thedevice 104 may remove themap interface 206 from theconversation interface 204. - As a third variation of this third aspect, the
device 104 may occasionally substitute the presentation of themap 118 of alocation 120 with other information about thetopic 116 of thelocation 120. For example, upon receiving from an individual 120 a selection of a selectedtopic 116 of theconversation 106, thedevice 104 may replace themap 118 on thedisplay 202 with an information interface describing the topic 106 (e.g., a picture of thelocation 120 of thetopic 116, a menu of a restaurant, or a listing of movies playing at a theater); and upon receiving from an individual 102 a request to return to themap 118, thedevice 104 may replace the information interface on thedisplay 202 with themap 118. Such information may be retrieved from a variety of sources (e.g., from a web page associated with thetopic 106; from a location database or a reviews database; or from an advertiser, such as an advertisement associated with atopic 116 including a discount for theindividuals 102, where the advertisement is retrieved and presented with thetopic 116 in the map interface 206). - As a fourth variation of this third aspect, the
device 104 may present a set of action options for actions that are associated with atopic 116 and/orlocation 120. Thedevice 104 may therefore identify at least one action that is associated with thetopic 106, Thedevice 104 may therefore present on thedisplay 202, associated with thetopic 116, an action option to invoke the respective actions; and, upon receiving from an individual 102 a selection of a selected action option for a selectedtopic 116, invoke the selected action option for the selectedtopic 116. -
FIG. 7 presents an illustration of anexemplary scenario 700 featuring several variations in the presentation, on thedisplay 202 of adevice 104, oflocations 120 for a selectedtopic 116 of aconversation 106. In thisexemplary scenario 700, at afirst time point 708, thedevice 104 may include in the presentation of the conversation interface 204 (not shown) amap interface 206 that, in addition to indicating thelocation 120 of thetopic 116, presentsaction options 702 for respective actions that may be invoked in relation to thetopic 116. In thisexemplary scenario 700, the selectedtopic 116 comprises a restaurant, and thedevice 104 identifies and presentsaction options 702 for actions including plotting a route between a current location of the individual 102 and thelocation 120; initiating a reservation of a table at the restaurant; and initiating a communication session between the restaurant and the individual 102. If the individual 102 selects 704 anaction option 702 offering to show a menu for the restaurant, then at asecond time point 710, thedisplay 202 of thedevice 104 hides themap interface 206 and presents aninformation interface 706 providing information about thetopic 116, i.e., the menu of the restaurant. Auser selection 704 of an action option to return to the map causes a removal of theinformation interface 706 and a second presentation of themap interface 206. In this manner, the presentation of thetopic 116 andlocation 120 may be responsive to user interaction initiated by an individual 102, and may respond accordingly by adjusting the contents of thedisplay 202 of thedevice 104, in accordance with several variations of this third aspect of the techniques presented herein. - D4. Topic Suggestions
- A fourth aspect that may vary among embodiments of the techniques presented herein involves suggested
topics 106 for atopic group 602 of theconversation 106. For example, if theconversation 106 of theindividuals 102 focuses on where to have dinner, adevice 104 may identify at least one suggestedtopic 116 for thetopic group 602, and present the least one suggestedtopic 116 to the individual 102. - As a first variation of this fourth aspect, suggested
topics 116 may be inserted into aconversation 106 in response to various events. As a first such example, suggestedtopics 116 may be inserted upon detecting a new topic group 602 (e.g., a suggestion from afirst individual 102 to asecond individual 102 to have dinner somewhere). As a second such example, upon receiving a request for removal of atopic 116 from atopic group 602, adevice 104 may identify analternative topic 116 for the selectedtopic group 602, and suggest the alternative topic in lieu of the removedtopic 116. As a third such example, alternative topics may be identified and suggested if atopic group 602 remains unfilled for at least a threshold duration (e.g., if theindividuals 102 are unable to agree on a restaurant after a minute of conversation 106). As a fourth such example, thedevice 104 may present to an individual 102 an option to identify and present suggestedtopics 116 for atopic group 602, and may do so upon receiving an activation of the option by the individual 102 (e.g., upon the individual 102 selecting a “suggestions” button). - As a second variation of this fourth aspect, suggested
topics 116 may be automatically presented by thedevice 104 to the individual 102. For example, upon detecting a reference to atopic 116, thedevice 104 may automatically present location-based suggestions on amap 118 without awaiting a request from the individual 102 to do so. Alternatively, and as illustrated in theexemplary scenario 800 ofFIG. 8 , the suggestedtopics 116 may be presented in response to input from the individual 102. At afirst time point 806, theindividuals 102 in aconversation 106 may exchangemessages 108 involving atopic 116, and adevice 104 may identify one or more suggestedtopics 116 respectively associated with alocation 120. At asecond time point 808, thedevice 104 may present asuggestions pane 802 adjacent to theconversation 110 with a list of suggestedtopics 116. At athird time point 810, thedevice 104 may detect user input from the individual 102 comprising aselection 804 of a suggestedtopic 116, and in response and at afourth time point 810, thedevice 104 may present amap interface 206 adjacent to theconversation 110 with amap 118 indicating thelocation 120 of the suggestedtopic 116 selected by the individual 102. In this manner, thedevice 104 may utilize manual user input in the presentation of the suggestedtopics 116 to the individual 102. - As a third variation of this fourth aspect, suggested
topics 116 may be integrated with at least onetopic 116 referenced by an individual 102 of theconversation 106 in various ways. For example, the suggestedtopics 116 may be presented in a different area of themap interface 206 than thetopics 116 referenced by the individuals 102 (e.g., a “referenced restaurants” list and a “suggested restaurants” list). Alternatively, the suggestedtopics 116 may be presented together with thetopics 116 referenced by theindividuals 102, e.g., as a mixed list, optionally with the suggestedtopics 116 presented in a different visual manner than thetopics 116 referenced by theindividuals 102 of theconversation 106. - As a fourth variation of this fourth aspect, suggested
topics 116 may be identified in a variety of ways. As a first such example, at least one individual 102 may identify at least one topic group constraint for a topic group 602 (e.g., for the topic group of restaurants, an individual 102 may specify a preference for a particular type of food), and thedevice 104 may identify only suggested topics that satisfy the topic group constraints of thetopic group 602. As a second such example, adevice 104 may refer to an individual profile of at least one individual 102 in theconversation 106, and may identify suggested topics that are consistent with the individual profile (e.g., restaurants that are consistent with dietary restrictions of the individual 102 specified in the individual profile, or restaurants where the individual profile indicates that the individual 102 has previously visited and enjoyed). If a plurality of suggestedtopics 116 are available for presentation, adevice 104 may calculate, for each suggested topic, a suggested topic score associating the suggested topic 16 with the topic group constraints of thetopic group 602, and may present the suggestedtopics 602 sorted according to the suggested topic scores. In some scenarios, the identification of suggestedtopics 116 may be difficult, e.g., ifindividuals 102 in theconversation 106 have conflicting preferences or restrictions, and thedevice 104 may have to select suggested topics as a consensus among theindividuals 102. -
FIG. 9 presents an illustration of an exemplary scenario featuring a presentation of suggested topics toindividuals 102 in view of several of the variations of this fourth aspect. In thisexemplary scenario 900, a set ofindividuals 102 are having aconversation 106 about where to meet for dinner. Adevice 104 of an individual 102 may have access to anindividual profile 902 for each individual 102, where theindividual profile 902 specifies alocation 120 of the individual 102 (e.g., a current location of the individual 102, or a projectedlocation 102 of the individual 102 prior to a selected meeting time); a set of specified dietary preferences and dietary restrictions; and a price range preference. The details of theindividual profiles 902 may be regarded by thedevice 104 astopic group constraints 904 for a “dinner restaurants”topic group 602. Thedevice 104 may also have access to atopic database 906, such as a restaurant database providing various details about the restaurants. Thedevice 104 may endeavor to select, for presentation to theindividuals 120 as suggestedtopics 116, a subset oftopics 116 that are consistent with the details of theindividual profiles 902. Additionally, in this scenario, none of thetopics 116 is consistent with all of the topic group constraints 904 (e.g., because theindividuals 102 are located in different areas of a region, nolocation 120 is within a short distance of all of the individuals 102). Therefore, thedevice 104 may calculate, for eachtopic 116, a suggested topic score 908 indicating a conformity of thetopic 116 with thetopic group constraints 904. Additionally, varioustopic group constraints 904 may be attributed different weights (e.g., a dietary restriction of asingle individual 102, such as availability of gluten-free food options, may be a rigid constraint, while food preferences may be resolved by consensus). As another example, a consensus aboutlocations 102 may be selected to minimize the collective travel time of all of theindividuals 102, and/or to achieve an earliest meeting time, taking into account the different travel options available to each individual 102. Thedevice 104 may then present the suggestedtopics 116 for the meeting to theindividuals 102 as atopic group 602 with amap 118 presenting thelocation 120 of eachtopic 116, and optionally including arating 910 for eachtopic 116 in thetopic group 602 indicating an anticipated degree of consensus among theindividuals 102, and/or sorting thetopics 116 according to therespective ratings 910. In this manner, a device may provide atopic group 602 with amap 118 indicating thelocations 120 of suggestedtopics 116 in accordance with the techniques presented herein. - The techniques discussed herein may be devised with variations in many aspects, and some variations may present additional advantages and/or reduce disadvantages with respect to other variations of these and other techniques. Moreover, some variations may be implemented in combination, and some combinations may feature additional advantages and/or reduced disadvantages through synergistic cooperation. The variations may be incorporated in various embodiments to confer individual and/or synergistic advantages upon such embodiments.
-
FIG. 10 and the following discussion provide a brief, general description of a suitable computing environment to implement embodiments of one or more of the provisions set forth herein. The operating environment ofFIG. 10 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment. Example computing devices include, but are not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices (such as mobile phones, Personal Digital Assistants (PDAs), media players, and the like), multiprocessor systems, consumer electronics, mini computers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like. - Although not required, embodiments are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions may be distributed via computer readable media (discussed below). Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer readable instructions may be combined or distributed as desired in various environments.
-
FIG. 10 illustrates an example of asystem 1000 comprising acomputing device 1002 configured to implement one or more embodiments provided herein. In one configuration,computing device 1002 includes at least oneprocessing unit 1006 andmemory 1008. Depending on the exact configuration and type of computing device,memory 1008 may be volatile (such as RAM, for example), non-volatile (such as ROM, flash memory, etc., for example) or some combination of the two. This configuration is illustrated inFIG. 10 by dashedline 1004. - In other embodiments,
device 1002 may include additional features and/or functionality. For example,device 1002 may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated inFIG. 10 bystorage 1010. In one embodiment, computer readable instructions to implement one or more embodiments provided herein may be instorage 1010.Storage 1010 may also store other computer readable instructions to implement an operating system, an application program, and the like. Computer readable instructions may be loaded inmemory 1008 for execution byprocessing unit 1006, for example. - The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data.
Memory 1008 andstorage 1010 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed bydevice 1002. Any such computer storage media may be part ofdevice 1002. -
Device 1002 may also include communication connection(s) 1016 that allowsdevice 1002 to communicate with other devices. Communication connection(s) 1016 may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connectingcomputing device 1002 to other computing devices. Communication connection(s) 1016 may include a wired connection or a wireless connection. Communication connection(s) 1016 may transmit and/or receive communication media. - The term “computer readable media” may include communication media. Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” may include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
-
Device 1002 may include input device(s) 1014 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device. Output device(s) 1012 such as one or more displays, speakers, printers, and/or any other output device may also be included indevice 1002. Input device(s) 1014 and output device(s) 1012 may be connected todevice 1002 via a wired connection, wireless connection, or any combination thereof. In one embodiment, an input device or an output device from another computing device may be used as input device(s) 1014 or output device(s) 1012 forcomputing device 1002. - Components of
computing device 1002 may be connected by various interconnects, such as a bus. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), Firewire (IEEE 1394), an optical bus structure, and the like. In another embodiment, components ofcomputing device 1002 may be interconnected by a network. For example,memory 1008 may be comprised of multiple physical memory units located in different physical locations interconnected by a network. - Those skilled in the art will realize that storage devices utilized to store computer readable instructions may be distributed across a network. For example, a
computing device 1020 accessible vianetwork 1018 may store computer readable instructions to implement one or more embodiments provided herein.Computing device 1002 may accesscomputing device 1020 and download a part or all of the computer readable instructions for execution. Alternatively,computing device 1002 may download pieces of the computer readable instructions, as needed, or some instructions may be executed atcomputing device 1002 and some atcomputing device 1020. - Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
- As used in this application, the terms “component,” “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
- Various operations of embodiments are provided herein. In one embodiment, one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
- Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
- Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the disclosure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/532,238 US20200036762A1 (en) | 2014-06-17 | 2019-08-05 | Facilitating conversations with automated location mapping |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/307,439 US10375129B2 (en) | 2014-06-17 | 2014-06-17 | Facilitating conversations with automated location mapping |
US16/532,238 US20200036762A1 (en) | 2014-06-17 | 2019-08-05 | Facilitating conversations with automated location mapping |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/307,439 Continuation US10375129B2 (en) | 2014-06-17 | 2014-06-17 | Facilitating conversations with automated location mapping |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200036762A1 true US20200036762A1 (en) | 2020-01-30 |
Family
ID=53524947
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/307,439 Active US10375129B2 (en) | 2014-06-17 | 2014-06-17 | Facilitating conversations with automated location mapping |
US16/532,238 Abandoned US20200036762A1 (en) | 2014-06-17 | 2019-08-05 | Facilitating conversations with automated location mapping |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/307,439 Active US10375129B2 (en) | 2014-06-17 | 2014-06-17 | Facilitating conversations with automated location mapping |
Country Status (5)
Country | Link |
---|---|
US (2) | US10375129B2 (en) |
EP (1) | EP3158523A1 (en) |
CN (1) | CN106462879B (en) |
TW (1) | TW201601093A (en) |
WO (1) | WO2015195688A1 (en) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10505875B1 (en) | 2014-09-15 | 2019-12-10 | Amazon Technologies, Inc. | Determining contextually relevant application templates associated with electronic message content |
JP5940135B2 (en) * | 2014-12-02 | 2016-06-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Topic presentation method, apparatus, and computer program. |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US20160269349A1 (en) * | 2015-03-12 | 2016-09-15 | General Electric Company | System and method for orchestrating and correlating multiple software-controlled collaborative sessions through a unified conversational interface |
US10200824B2 (en) * | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
EP3309738A4 (en) * | 2015-06-12 | 2018-11-07 | Sony Corporation | Information processing device, information processing method, and program |
US20170193074A1 (en) * | 2015-12-30 | 2017-07-06 | Yahoo! Inc. | Finding Related Articles for a Content Stream Using Iterative Merge-Split Clusters |
US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
US11509764B1 (en) * | 2016-06-23 | 2022-11-22 | 8X8, Inc. | Region-based connecting of calls using client-specific control and provisioned numbers |
US10873554B2 (en) * | 2016-09-08 | 2020-12-22 | Microsoft Technology Licensing, Llc | Determining consensus among message participants based on message content |
US10019887B1 (en) * | 2017-03-21 | 2018-07-10 | Satellite Tracking Of People Llc | System and method for tracking interaction between monitored population and unmonitored population |
US10541952B2 (en) | 2017-04-26 | 2020-01-21 | International Business Machines Corporation | Recommendation generator responsive to messaging content |
US10488212B2 (en) * | 2017-10-18 | 2019-11-26 | Taipei Anjet Corporation | Method for tracking and navigating a group |
US11437045B1 (en) * | 2017-11-09 | 2022-09-06 | United Services Automobile Association (Usaa) | Virtual assistant technology |
CN110365726B (en) * | 2018-04-09 | 2022-07-19 | 阿里巴巴集团控股有限公司 | Communication processing method, device, terminal and server |
US10602317B2 (en) | 2018-05-01 | 2020-03-24 | Satellite Tracking Of People Llc | System and method of alternative tracking upon disabling of monitoring device |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
JP7363157B2 (en) * | 2019-07-24 | 2023-10-18 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
US20220335698A1 (en) * | 2019-12-17 | 2022-10-20 | Ashley SinHee Kim | System and method for transforming mapping information to an illustrated map |
TWI737083B (en) * | 2019-12-17 | 2021-08-21 | 中興保全科技股份有限公司 | Map punching method and architecture for mobile device |
US11399002B2 (en) * | 2020-05-15 | 2022-07-26 | Meta Platforms, Inc. | Social network collections |
US12062367B1 (en) * | 2021-06-28 | 2024-08-13 | Amazon Technologies, Inc. | Machine learning techniques for processing video streams using metadata graph traversal |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7461058B1 (en) * | 1999-09-24 | 2008-12-02 | Thalveg Data Flow Llc | Optimized rule based constraints for collaborative filtering systems |
JP4274760B2 (en) | 2002-08-20 | 2009-06-10 | 株式会社ピートゥピーエー | Map output device, map output method and program |
US7363295B2 (en) | 2004-04-19 | 2008-04-22 | Yahoo! Inc. | Techniques for inline searching in an instant messenger environment |
WO2005100769A2 (en) * | 2004-04-19 | 2005-10-27 | Volvo Technology Corporation | Method and system for controlling a free-piston energy converter |
US20060129455A1 (en) | 2004-12-15 | 2006-06-15 | Kashan Shah | Method of advertising to users of text messaging |
US20130226453A1 (en) | 2005-02-08 | 2013-08-29 | Bryan Gardner Trussel | Systems and methods for mobile communication integration |
US8417569B2 (en) * | 2005-11-30 | 2013-04-09 | John Nicholas and Kristin Gross Trust | System and method of evaluating content based advertising |
US7925716B2 (en) | 2005-12-05 | 2011-04-12 | Yahoo! Inc. | Facilitating retrieval of information within a messaging environment |
US8571580B2 (en) | 2006-06-01 | 2013-10-29 | Loopt Llc. | Displaying the location of individuals on an interactive map display on a mobile communication device |
US20070288164A1 (en) | 2006-06-08 | 2007-12-13 | Microsoft Corporation | Interactive map application |
US20080201434A1 (en) | 2007-02-16 | 2008-08-21 | Microsoft Corporation | Context-Sensitive Searches and Functionality for Instant Messaging Applications |
US8131556B2 (en) * | 2007-04-03 | 2012-03-06 | Microsoft Corporation | Communications using different modalities |
US7917465B2 (en) | 2007-08-27 | 2011-03-29 | Yahoo! Inc. | System and method for providing vector terms related to instant messaging conversations |
GB2452625A (en) | 2007-09-05 | 2009-03-11 | Cvon Innovations Ltd | Advertising system |
KR20090073666A (en) | 2007-12-31 | 2009-07-03 | 팅크웨어(주) | Navigation system and method for exchanging location information by messenger |
CN101251853A (en) | 2008-02-20 | 2008-08-27 | 魔极科技(北京)有限公司 | System and method for digging user attribute based on user interactive records |
US8312380B2 (en) | 2008-04-04 | 2012-11-13 | Yahoo! Inc. | Local map chat |
US8375308B2 (en) * | 2008-06-24 | 2013-02-12 | International Business Machines Corporation | Multi-user conversation topic change |
US8707258B2 (en) * | 2008-10-21 | 2014-04-22 | At&T Intellectual Property I, L.P. | Multi-modal/multi-channel application tool architecture |
US10642934B2 (en) | 2011-03-31 | 2020-05-05 | Microsoft Technology Licensing, Llc | Augmented conversational understanding architecture |
US9760566B2 (en) | 2011-03-31 | 2017-09-12 | Microsoft Technology Licensing, Llc | Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof |
US9009142B2 (en) | 2011-07-27 | 2015-04-14 | Google Inc. | Index entries configured to support both conversation and message based searching |
US8886655B1 (en) * | 2012-02-10 | 2014-11-11 | Google Inc. | Visual display of topics and content in a map-like interface |
US20130227017A1 (en) | 2012-02-24 | 2013-08-29 | Steven Antony Gahlings | Location associated virtual interaction, virtual networking and virtual data management |
US9685160B2 (en) | 2012-04-16 | 2017-06-20 | Htc Corporation | Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium |
US9367959B2 (en) * | 2012-06-05 | 2016-06-14 | Apple Inc. | Mapping application with 3D presentation |
WO2014009963A1 (en) * | 2012-07-10 | 2014-01-16 | Indian Institute Of Technology, Bombay | Method and apparatus for optimizing and scaling control plane traffic in carrier ethernet transport networks |
US8554873B1 (en) * | 2012-10-05 | 2013-10-08 | Google Inc. | Custom event and attraction suggestions |
CN103891245B (en) * | 2012-10-19 | 2018-04-27 | 微软技术许可有限责任公司 | The content detection of location-aware |
US9148394B2 (en) * | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
US9374327B2 (en) * | 2013-01-08 | 2016-06-21 | Vmware, Inc. | Intelligent chat system |
-
2014
- 2014-06-17 US US14/307,439 patent/US10375129B2/en active Active
-
2015
- 2015-04-29 TW TW104113724A patent/TW201601093A/en unknown
- 2015-06-16 EP EP15734755.0A patent/EP3158523A1/en not_active Ceased
- 2015-06-16 WO PCT/US2015/036066 patent/WO2015195688A1/en active Application Filing
- 2015-06-16 CN CN201580032645.6A patent/CN106462879B/en active Active
-
2019
- 2019-08-05 US US16/532,238 patent/US20200036762A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP3158523A1 (en) | 2017-04-26 |
CN106462879A (en) | 2017-02-22 |
CN106462879B (en) | 2021-10-22 |
US20150365448A1 (en) | 2015-12-17 |
US10375129B2 (en) | 2019-08-06 |
TW201601093A (en) | 2016-01-01 |
WO2015195688A1 (en) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200036762A1 (en) | Facilitating conversations with automated location mapping | |
JP7419485B2 (en) | Proactively incorporating unsolicited content into human-to-computer dialogs | |
US11972095B2 (en) | Voice assistant-enabled client application with user view context and multi-modal input support | |
US10853582B2 (en) | Conversational agent | |
US12230272B2 (en) | Proactive incorporation of unsolicited content into human-to-computer dialogs | |
US11669752B2 (en) | Automatic actions based on contextual replies | |
US9276802B2 (en) | Systems and methods for sharing information between virtual agents | |
US9148394B2 (en) | Systems and methods for user interface presentation of virtual agent | |
US9560089B2 (en) | Systems and methods for providing input to virtual agent | |
US9659298B2 (en) | Systems and methods for informing virtual agent recommendation | |
US9679300B2 (en) | Systems and methods for virtual agent recommendation for multiple persons | |
US9262175B2 (en) | Systems and methods for storing record of virtual agent interaction | |
US20140164953A1 (en) | Systems and methods for invoking virtual agent | |
US20140164532A1 (en) | Systems and methods for virtual agent participation in multiparty conversation | |
US20140280053A1 (en) | Contextual socially aware local search | |
US20240241624A1 (en) | Voice assistant-enabled client application with user view context and multi-modal input support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STIFELMAN, LISA;CHINTHAKUNTA, MADHUSUDAN;ODELL, JULIAN JAMES;AND OTHERS;SIGNING DATES FROM 20150331 TO 20150602;REEL/FRAME:049962/0676 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM MICROSOFT TECHNOLOGY LICENSING, LLC TO MICROSOFT CORPORATION PREVIOUSLY RECORDED ON REEL 049962 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:STIFELMAN, LISA;CHINTHAKUNTA, MADHUSUDAN;ODELL, JULIAN JAMES;AND OTHERS;SIGNING DATES FROM 20150331 TO 20150602;REEL/FRAME:050809/0286 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |