Abstract:
Systems and processes for natural language processing using vocabularies with compressed serialized tries are described in the present disclosure. In one example process, natural language input is received. The natural language input is parsed, using a vocabulary, to determine a corresponding user intent. The parsing includes using a data structure of the vocabulary to map a first word of the natural language input to first semantic information and a second word of the natural language input to second semantic information. The data structure includes pointers that map to a same semantic data object of the vocabulary. The first semantic information and the second semantic information are determined using the same semantic data object. The user intent is determined based on the first semantic information and the second semantic information. Performance of a task corresponding to the determined user intent is initiated.
Abstract:
Systems and processes for operating a virtual assistant programmed to refer to shared domain concepts using concept nodes are provided. In an example process, user speech input is received. A textual representation of the user speech input is generated. The textual representation is parsed to determine a primary domain representing a user intent for the textual representation. A first substring from the textual representation that corresponds to a first attribute of the primary domain is identified. The identified first substring is parsed to determine a secondary domain representing a user intent for the first substring. A task flow comprising one or more tasks is performed based on the primary domain and the secondary domain.
Abstract:
Systems and processes for operating a virtual assistant programmed to refer to shared domain concepts using concept nodes are provided. In some examples, to process a textual representation of user speech using an active ontology having these concept nodes, a primary user intent can be determined from the textual representation of user speech. Concepts referred to by the primary user intent can be identified, and substrings of the textual representation of user speech corresponding to the concepts can be identified. Secondary user intents for the substrings can be determined and a task flow based on the primary user intent and the secondary user intents can be generated and performed.
Abstract:
Systems and processes for operating a virtual assistant programmed to refer to shared domain concepts using concept nodes are provided. In an example process, user speech input is received. A textual representation of the user speech input is generated. The textual representation is parsed to determine a primary domain representing a user intent for the textual representation. A first substring from the textual representation that corresponds to a first attribute of the primary domain is identified. The identified first substring is parsed to determine a secondary domain representing a user intent for the first substring. A task flow comprising one or more tasks is performed based on the primary domain and the secondary domain.
Abstract:
Systems and processes for identifying relevant domains for user inputs that include one or more ambiguous words are disclosed. The ambiguous words include words that may or may not refer to a named entity, such as a song, movie, book, etc. In one example, a textual representation of user speech can be received and processed to identify a candidate named entity. The possible parts of speech of the candidate named entity can be determined and compared to a predetermined set of parts of speech. In response to determining that the possible parts of speech of the candidate named entity do not include one or more of the predetermined set of parts of speech, a saliency score associated with the candidate named entity can be lowered. A domain for processing the textual representation of user speech can then be identified using the saliency score associated with the candidate named entity.