CN110869706B - 数字助理应用和导航应用之间的接合 - Google Patents
数字助理应用和导航应用之间的接合 Download PDFInfo
- Publication number
- CN110869706B CN110869706B CN201880028321.9A CN201880028321A CN110869706B CN 110869706 B CN110869706 B CN 110869706B CN 201880028321 A CN201880028321 A CN 201880028321A CN 110869706 B CN110869706 B CN 110869706B
- Authority
- CN
- China
- Prior art keywords
- location
- navigation application
- client device
- point locations
- processing system
- 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.)
- Active
Links
- 230000005236 sound signal Effects 0.000 claims abstract description 208
- 238000012545 processing Methods 0.000 claims abstract description 197
- 230000009471 action Effects 0.000 claims abstract description 146
- 238000000034 method Methods 0.000 claims abstract description 129
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 125
- 230000033001 locomotion Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 62
- 238000004458 analytical method Methods 0.000 description 25
- 230000014509 gene expression Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 235000014594 pastries Nutrition 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 235000013550 pizza Nutrition 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3608—Destination input or retrieval using speech input, e.g. using speech recognition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3679—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Navigation (AREA)
Abstract
本公开内容大体上涉及联网的计算机环境中的多个应用之间进行接合的系统和方法。数据处理系统可以访问导航应用以检索在与导航应用的视口中显示的地理区域相对应的参考框内的点位置。每个点位置都可以具有标识符。数据处理系统可以解析输入音频信号以识别请求和指称词。数据处理系统可以基于从输入音频信号中解析出的指称词和该点位置的标识符来识别参考框内的点位置。数据处理系统可以生成包括所识别的点位置的动作数据结构。数据处理系统可以将动作数据结构传输到导航应用,以使用点位置来启动导航引导过程。
Description
相关申请的交叉引用
本申请要求于2018年6月26日提交的名称为“INTERFACING BETWEEN DIGITALASSISTANT APPLICATIONS AND NAVIGATION APPLICATIONS”的美国专利临时申请号62/690,049的优先权的权益,其全部内容通过引用合并于此。
技术领域
本申请涉及联网的计算机环境中的多个应用之间进行接合的系统和方法。
背景技术
数字助理应用可以在联网的计算机环境中操作,在该联网的计算机环境中,与在客户端设备处提供的功能相关联的处理是在通过网络连接到客户端设备的服务器上执行的。可以通过网络在客户端设备处向服务器提供与请求相关联的数据。计算设备之间的网络流量数据的基于分组或其他方式的过多网络传输会阻止计算设备正确处理网络流量数据,完成与网络流量数据有关的操作或及时响应网络流量数据。当响应的计算设备达到或超过其处理能力时,网络流量数据的过多网络传输也会使数据路由复杂化或降低响应质量,这可能导致带宽利用效率低下、计算资源消耗以及电池寿命耗尽。过多网络传输的一部分可以包括针对并非有效请求的请求的传输。在为基于语音的界面提供通常用作图形用户界面的应用时,特别是在需要最大程度地减少过多网络传输的网络环境中,存在额外的挑战。
发明内容
根据本公开的一方面,一种用于在联网的计算机环境中的多个应用之间进行接合(interface)的系统可以包括具有一个或多个处理器的数据处理系统。在数据处理系统上执行的导航界面组件可以访问在第一客户端设备上执行的导航应用以检索在与导航应用的视口中显示的地理区域相对应的参考框内的多个点位置。多个位置中的每个点位置可以具有标识符。在数据处理系统上执行的自然语言处理器组件可以接收由第一客户端和第二客户端设备中的至少一个的传感器检测到的输入音频信号。自然语言处理器组件可以解析输入音频信号以识别请求和指称词。自然语言处理器组件可以响应于对请求的识别,基于从输入音频信号中解析出的指称词和该点位置的标识符,从参考框内的多个点位置中识别点位置。在数据处理系统上执行的动作处置器组件可以生成动作数据结构,该动作数据结构包括响应于对输入音频信号的检测而识别的点位置。动作处置器组件可以将动作数据结构传输到第一客户端设备,以使导航应用使用该点位置来启动导航引导过程。
根据本公开的一方面,一种在联网的计算机环境中的多个应用之间进行接合的方法可以包括访问在第一客户端设备上执行的导航应用,以检索在与导航应用的视口中显示的地理区域相对应的参考框内的多个点位置。多个位置中的每个点位置可以具有标识符。该方法可以包括接收由第一客户端和第二客户端设备中的至少一个的传感器检测到的输入音频信号。该方法可以包括解析输入音频信号以识别请求和指称词。该方法可以包括响应于识别该请求,基于从输入音频信号中解析出的指称词和该点位置的标识符,从参考框内的多个点位置中识别点位置。该方法可以包括生成动作数据结构,该动作数据结构包括响应于对输入音频信号的检测而识别的点位置。该方法可以包括将动作数据结构发送到第一客户端设备,以使导航应用使用该点位置来启动导航引导过程。
每个方面可以包括以下特征中的一个或多个。导航界面组件可以访问导航应用,以确定和与输入音频信号的接收同时显示的地理区域相对应的参考框的第一部分以及基于从惯性运动单元获取的第一客户端设备的速度来确定与先前在视口中显示的地理区域相对应的参考框的第二部分。自然语言处理器组件可基于使用来自惯性运动单元的数据确定的第一客户端和第二客户端设备中的至少一个的行进方向,从参考框内的多个点位置中识别点位置。导航界面组件可以访问导航应用,以检索参考框内的多个点位置,该参考框具有与该地理区域以及第二地理区域相对应的第一部分,该第二地理区域在导航引导过程的路径路由操作的目的地位置周围的定义的邻近度内;以及自然语言处理器组件,用于:确定指称词与和第二地理区域相对应的第二部分相关而与和该地理区域相对应的第一部分不相关;并基于指称词与第二部分相关的确定来从该部分内的多个点位置中识别点位置。导航界面组件可以访问导航应用,以检索与地理区域相对应的参考框内的第一客户端设备的第一位置标识符以及与参考框内的多个点位置相对应的多个第二位置标识符;并且自然语言处理器组件可以基于第一客户端设备的第一位置标识符和与多个点位置相对应的多个第二位置标识符,从多个点位置中识别点位置。导航界面组件可以访问导航应用,以检索在接收到输入音频信号之前在定义的时间窗口内接收到的多个搜索项;以及自然语言处理器组件可以:针对所述多个点位置的每个点位置和所述多个搜索项的每个搜索项使用语义知识图确定所述点位置的标识符和所述搜索项之间的语义距离;针对点位置的识别,基于多个标识符和多个搜索项之间的多个语义距离,从多个点位置中选择点位置的子集。自然语言处理器组件可以:解析输入音频信号以识别与指称词不同的辅助词;基于辅助词确定导航应用的视口的子区域;以及针对点位置的识别,从与基于辅助词确定的视口的子区域相对应的多个点位置中选择点位置的子集。自然语言处理器组件可以:接收由第一客户端和第二客户端设备中的至少一个的传感器检测到的第二输入音频信号;确定对第二输入音频信号的接收和对输入音频信号的接收之间经过的时间小于定义的阈值;响应于对经过的时间小于定义的阈值的确定,解析第二输入音频信号以识别第二指称词;对于点位置的识别,基于第二指称词从多个点位置中选择点位置的子集。自然语言处理器组件可以:对于多个点位置中的每个点位置,确定指称词与该点位置的标识符之间的索引度量,该索引度量指示指称词表示该点位置的标识符的可能性;以及基于对应于所述多个点位置的所述多个索引度量,从参考框内的多个点位置中识别点位置。自然语言处理器组件可以:对于多个点位置中的每个点位置,使用语义知识图来确定指称词与点位置的标识符之间的语义距离;以及基于用于对应的多个点位置的多个语义距离,从参考框内的多个点位置中识别点位置。自然语言处理器组件可以基于该请求来确定与由导航应用要执行的多个操作中的位置查找器操作相对应的请求类型;和动作处置器组件,该动作处置器组件用于生成包括请求类型的动作数据结构并且将该动作数据结构传输至第一客户端设备以使导航应用启动与请求类型相对应的导航引导过程的位置查找器操作来呈现在视口中显示的地理区域中的点位置。自然语言处理器组件可以基于该请求来确定与由导航应用要执行的多个操作中的路径路由操作相对应的请求类型;以及动作处置器组件,该动作处置器组件用于生成包括请求类型的动作数据结构并且将该动作数据结构传输至第一客户端设备以使导航应用启动与该请求类型相对应的导航引导过程的路径路由操作来识别到作为目的地位置的点位置的行进路径。动作处置器组件可以从执行用于文本输出或输出的音频信号中的至少一个的导航应用的第一客户端设备接收响应。
这些和其他方面以及实施方式在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了对各个方面和实施方式的说明和进一步的理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
附图并非旨在按比例绘制。在各个附图中,相同的附图标记和标记表示相同的元件。为了清楚起见,并非每个部件都会在每个附图中标记。在附图中:
图1图示了根据本公开的示例的在联网的计算机环境中的多个应用之间进行接合的示例系统的框图。
图2图示了根据本公开的示例的在图1所示的系统中的联网的计算机环境中的多个应用之间进行接合的示例数据流的序列图。
图3图示了根据本公开的示例的具有与导航应用有关的请求和响应消息的客户端计算设备。
图4图示了根据本公开的示例的在联网的计算机环境中生成语音激活线程的方法的流程图。
图5图示了根据本公开的示例的使用图1所示的示例系统在联网的计算机环境中的多个应用之间进行接合的方法的流程图。
图6是示例计算机系统的框图。
具体实施方式
以下是与在联网的计算机环境中的多个应用之间进行接合的方法、装置和系统有关的各种概念和实施方式的各种详细描述。可以以许多方式中的任何一种来实现上面介绍的和下面将更详细讨论的各种概念。
数字助理应用可以根据应用编程接口(API)经由交换应用数据和调用功能来与代理接合。在接收到输入音频信号后,数字助理应用可以解析输入音频信号以从输入音频信号中识别词。数字助理应用可以确定该词是指特定代理的功能。响应于此确定,数字助理应用可以调用在输入音频信号中引用的代理的功能。使用这些功能,可以增强数字助理应用的能力。
一种这样的代理可以是导航应用(有时称为全球定位系统(GPS)导航器)。导航应用可以经由视口显示地理区域的地图的俯视图。该地图可以定义海拔等高线、水深、区域、人工特征和交通网络(例如,道路、人行道、自行车道和铁路)。该地图还可以包括经由代表运输网络的路径链接在一起的多个点位置。每个点位置都可以是指矢量地图上的兴趣点,例如饭店、加油站、地标、山脉或湖泊等。每个点位置都可以用地理坐标和标识符进行标记。标识符可以是兴趣点的名称或描述符。例如,与餐厅相对应的点位置可以以“ABCPizzeria”作为名称并且以“餐厅”和“披萨”作为描述符。使用缩放和视角,可以修改通过导航应用的视口可见的地图部分。在显示地图时,导航应用可以识别出通过视口可见的地图部分作为终端用户的参考框。
导航应用还可以针对通过视口显示的地图执行各种导航引导功能。导航应用的导航引导功能可以包括位置查找器操作和路径查找操作。可以调用位置操作以在地图上查找特定兴趣点。在位置查找器操作下,导航应用可以接收地图上的兴趣点的搜索项。在接收之后,导航应用可以识别通过导航应用的视口可见的具有与搜索项匹配的标识符的所有点位置。可以调用路径查找操作以确定从当前位置到地图的兴趣点的路线。在路径查找操作中,导航应用可以识别当前位置和与所请求的兴趣点相对应的点位置。可以使用与通过视口可见的点位置的标识符匹配的搜索项来识别点位置。导航应用可以应用路径查找算法,以经由在参考框中定义的连接当前位置和点位置的路径来确定两者之间的路线。
数字助理应用与导航应用进行接合的困难可能是数字助理应用依赖于音频输入和输出信号,而导航应用可能依赖于视觉表示和通过与视觉表示的触摸交互(例如,经由触摸屏、键盘或鼠标)接收到的输入。另外,导航应用可以访问客户端设备的当前位置或当前焦点,围绕该位置可以识别客户端设备的参考框。相反,数字助理应用可能缺少当前位置、当前焦点或通过导航应用可访问的地图内的参考框的任何因素。此外,数字助理应用可能无法访问在通过视口可见的地图中定义的点位置和路径。在无法访问通过导航应用的视口可见的数据或参考框的任何考虑的情况下,数字助理应用可能无法确定从输入音频信号中识别出的请求正在引用(refrence)地图上的哪一点。此外,即使将从解析输入音频信号中识别出的请求转换为导航应用的文本输入,导航应用也可能无法区分文本输入正在引用的点位置。导航应用可能缺乏自然语言处理能力,从而进一步加剧了当文本输入是包含索引性或专用性词的自然语言时无法进行区分的能力。
为了解决由接合引起的技术挑战,数字助理应用可以响应于在输入音频信号中的引用导航应用的功能之一的请求而访问导航应用。数字助理应用还可以确定输入音频信号中的请求正在引用哪个功能。例如,在从解析输入音频信号中识别出词“带我去那里”时,数字助理应用可以确定词“带我去”是指导航应用的路径查找操作。在另一个示例中,当从输入音频信号中解析出词“显示加油站”时,数字助理应用可以确定词“显示”是指数字助理应用的位置查找器操作。在访问导航应用时,数字助理应用可以检索与通过导航应用的视口可见的地图部分相对应的一组点位置集。数字助理应用还可以获取每个点位置的标识符以及用作导航应用输入的先前一组搜索项。数字助理应用还可以识别先前接收的引用导航应用的功能的请求。例如,可能已经连续接收到带有短语“告诉我有关ABC塔的信息”和带有短语“显示糕点铺”的输入音频信号。数字助理应用可以在建立感兴趣区域时使用短语“告诉我有关ABC塔的信息”来处理短语“显示糕点铺”以获取标识符。
数字助理应用可以使用自然语言处理技术来从自输入音频信号解析的一组词中确定指称词。指称词可以对应于通过导航应用的视口可见的地图上的兴趣点之一。例如,对于从输入音频信号中解析出的短语“带我去那里”,指称词可以是“那里”。对于短语“咱们去比萨店”,指称词可以是“比萨店”。使用用于通过导航应用的视口可见的点位置的标识符,数字助理应用可以识别指称词正在引用的点位置。数字助理应用可以将指称词与每个点位置的标识符进行比较。在比较时,数字助理应用可以使用语义知识图来确定每个位置的指称词和标识符之间的语义距离。数字助理应用还可以确定指称词和先前词(例如先前接收到的请求或搜索项)之间的索引度量。基于比较,数字助理应用可以识别输入音频信号的指称词正在引用的点位置。使用该请求和所识别的点位置,数字助理应用可以生成动作数据结构,以提供给导航应用来使用所识别的点位置执行所指示的操作。
因此,可以在其中考虑了与客户端设备的图形用户界面相关联的信息的远程服务器上针对客户端设备执行基于自然语言处理和解释的资源密集型处理。因此,本文描述的主题可以提供客户端设备的图形用户界面和基于语音的系统之间的接口。该接口允许用户使用语音与图形用户界面进行交互,并且还允许将与图形用户界面关联的数据有效地提供给远程服务器。因此,基于语音的系统能够提供与客户端设备的用户的改进的引导交互。
参照图1,描绘了在联网的计算机环境中的多个应用之间进行接合的示例系统100。系统100可以包括至少一个数据处理系统102,一个或多个客户端设备104以及一个或多个导航器服务106。一个或多个客户端设备104可以通信地耦合到一个或多个导航器服务106,反之亦然。至少一个数据处理系统102,一个或多个客户端设备104以及一个或多个导航器服务106可以经由网络156彼此通信地耦合。
数据处理系统102可以包括数字助理应用108的实例。数字助理应用108可以包括自然语言处理器(NLP)组件114,以解析基于音频的输入。数字助理应用108可以包括与导航应用110进行接合的导航界面组件116。数字助理应用108可以包括地理位置感测组件118以获取位置测量值。数字助理应用108可以包括音频信号生成器组件122,以生成基于音频的信号。数字助理应用108可以包括直接动作处置器组件120。数字助理应用108可以包括响应选择器组件124,以选择对基于音频的输入信号的响应。NLP组件114、音频信号生成器组件122、数据存储库126、直接动作处置器组件120和响应选择器组件124与数字助理应用108分离。数据处理系统102可以包括数据存储库126。数据存储库126可以存储正则表达式128、参数130、策略132、响应数据134和模板136。
数据处理系统102还可以包括至少一个导航应用110的实例以执行导航引导过程等。导航引导过程可以包括位置查找操作和路径路由操作等。导航应用110可以包括与数字助理应用108进行接合的数字助理界面组件138。导航应用110可以包括位置查找器组件140,以执行位置查找操作来使用搜索项在地理区域中搜索位置。导航应用110可以包括路径路由器组件142,以执行路径路由操作来确定从地理区域中的一个位置到另一位置的路径。位置查找器组件140和路径路由器组件142的功能性将在下面说明。导航应用110还可以包括地理位置感测组件118的实例以获取位置测量。导航应用110可以包括或以其它方式访问至少一个数据存储库144。导航应用110可以是与数字助理应用108分离的应用。数据处理系统102可以包括一个或多个导航应用110的实例。
数据存储库144可以存储和维持导航应用110的一个或多个实例可访问的基于矢量的地图146。数据存储库144可以与导航应用110分离,并且可以维持在数据处理系统102或导航器服务106中。基于矢量的地图146的至少一部分可以维持在运行导航应用110的客户端设备104上。导航应用110可以渲染基于矢量的地图146的一部分并通过导航应用110的视口显示它。该视口可以对应于运行导航应用110的客户端设备104的显示器的区域,通过该区域可以看到基于矢量的地图146的一部分。由于基于矢量的地图146的尺寸可以大于导航应用110的视口或客户端设备104的显示器,因此可以显示与导航应用110的视口相对应的部分。可以将当前或先前通过导航应用110的视口显示部分存储在运行导航应用110的客户端设备104上。基于矢量的地图146可以使用数据结构(例如,链表、树、数组、矩阵和堆)表示(例如,地球的)地理地图。基于矢量的地图146可以包括海拔等高线、水深、(例如,国家、省、县、县、城市、城镇和村庄的)区域、自然特征(例如,湖泊,山脉和河流)、人工特征(例如建筑物、停车场和公园)和/或交通网络(例如道路、人行道、自行车道和铁路)或这些特征的组合。基于矢量的地图146可以定义海拔等高线、水深、区域、人工特征和运输网络。基于矢量的地图146可以包括一组点位置和一组路径。基于矢量的地图146可以为每个点位置定义地理坐标(例如,经度和纬度)。每个点位置可以对应于人工特征和自然特征之一。每个点位置都可以与地理坐标关联,并且可以具有一个或多个标识符。点位置的标识符可以包括点位置的名称和类别类型。例如,对于与旅馆相对应的点位置,名称可以是“XYZ Inn”,并且类别类型可以是“旅馆”。点位置可以经由路径彼此链接。每个路径可以对应于运输网络,例如道路、人行道、自行车道和铁路等。每个路径可以定义点位置之间的(例如,以公里或英里测量的)地理距离。基于矢量的地图146可以根据地理信息编码格式(例如,GIS)进行编码。
数据处理系统102(例如数字助理应用108和导航应用110)的功能可以被包括或者以其它方式从一个或多个客户端设备104可访问。数据处理系统102的功能可对应于在客户端设备104上执行的数字助理应用108的功能或与之接合。客户端设备104可以各包括并执行数字助理应用108的一个或多个组件的单独实例。或者客户端设备104可以经由网络156访问远程数据处理系统102上的数字助理应用108的组件的功能。例如,客户端设备104可以包括NLP组件114的功能并经由到达数据处理系统102的网络156访问数字助理应用108的其余组件。客户端设备104可以各包括并执行导航应用110的一个或多个组件的单独实例。或者,客户端设备104可以经由网络156访问远程数据处理系统102上的导航应用110的组件的功能。例如,客户端设备104可以包括位置查找器组件140和路径路由器组件142的功能,并且可以经由网络156访问基于矢量的地图146。
客户端设备104可以各包括至少一个逻辑设备,例如具有处理器经由网络156与数据处理系统102彼此通信的计算设备。客户端设备104可以包括关于数据处理系统102描述的任何组件的实例。客户端设备104可以包括数字助理应用108的实例。客户端设备104可以包括台式计算机、膝上型计算机、平板计算机、个人数字助理、智能手机、移动设备、便携式计算机、瘦客户端计算机、虚拟服务器、基于扬声器的数字助理或其他计算设备。
系统100的组件可以通过网络156进行通信。网络156可以包括例如点对点网络、广播网络、广域网络、局域网络、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、NFC(近场通信)网络、局域网络(LAN)、无线网络或有线网络及其组合。网络156可以包括无线链路,例如红外信道或卫星频带。网络156的拓扑可以包括总线、星形或环形网络拓扑。网络156可以包括使用任何一种或多种用于在移动设备之间进行通信的协议的移动电话网络,包括高级移动电话协议(AMPS)、时分多址(TDMA)、码分多址(CDMA)、用于移动通信的全球系统(GSM)、通用分组无线服务(GPRS)或通用移动电信系统(UMTS)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
客户端设备104可以包括数字助理应用108的至少一个实例、导航应用110的至少一个实例,至少一个扬声器148,至少一个传感器154,至少一个换能器150和至少一个外围设备152中的一个或多个,执行它们,与之接合或者以其他方式与之通信。传感器154可以包括例如相机、环境光传感器、接近传感器、温度传感器、惯性运动单元、加速度计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风、视频、图像检测或触摸传感器。换能器150可以包括扬声器或麦克风或可以是扬声器或麦克风的一部分。客户端设备104可以包括音频驱动器。音频驱动器可以向硬件换能器150提供软件接口。音频驱动器可以执行由数据处理系统102提供的音频文件或其他指令,以控制换能器150产生对应的声学波或声波。外围设备152可以包括用户输入/输出设备,诸如键盘、显示器和耳机等。显示器可以包括被配置为提供视觉指示或光学输出的一个或多个硬件或软件组件,例如发光二极管、有机发光二极管、液晶显示器、激光器或显示器。
客户端设备104上的数字助理应用108的实例可以包括一个或多个处理器、逻辑阵列或存储器或由其执行。客户端设备104上的数字助理应用108的实例可以检测关键字并基于该关键字执行动作。客户端设备104上的数字助理应用108可以是在数据处理系统102处执行的数字助理应用108的实例,或者可以执行数字助理应用108的任何功能。客户端设备104上的数字助理应用108的实例可以在将项(term)作为数据传输到数据处理系统102(例如,数据处理系统102上的数字助理应用108的实例)之前过滤掉一个或多个项或修改项以进行进一步处理。客户端设备104上的数字助理应用108的实例可以将由换能器150检测到的模拟音频信号转换成数字音频信号,并且经由网络156将携带数字音频信号的一个或多个数据包发送到数据处理系统102。客户端设备104上的数字助理应用108的实例可以响应于检测执行这种传输的指令来传输携带一些或整个输入音频信号的数据包。该指令可以包括例如触发关键字或其他关键字或批准,以将包括输入音频信号的数据包发送到数据处理系统102。
客户端设备104上的数字助理应用108的实例可以对输入音频信号执行预过滤或预处理,以移除音频的某些频率。预过滤可以包括诸如低通滤波器、高通滤波器或带通滤波器的滤波器。滤波器可以应用于频域。可以使用数字信号处理技术来应用滤波器。滤波器可以被配置为保持对应于人类声音或人类语音的频率,同时消除落在人类语音的典型频率之外的频率。例如,带通滤波器可以被配置为移除低于第一阈值(例如,70Hz,75Hz,80Hz,85Hz,90Hz,95Hz,100Hz或105Hz)且高于第二阈值(例如200Hz,205Hz,210Hz,225Hz,235Hz,245Hz或255Hz)的频率。应用带通滤波器可以减少下游处理中的计算资源利用率。客户端设备104上的数字助理应用108的实例可以在将输入音频信号传输到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用率。然而,基于客户端设备104可用的计算资源和可用的网络带宽,将输入音频信号提供给数据处理系统102以允许数据处理系统102执行过滤可能更有效。
客户端设备104上的数字助理应用108的实例可以应用其他预处理或预过滤技术,例如降噪技术,以减少可能干扰自然语言处理器的环境噪声水平。降噪技术可以提高自然语言处理器的准确性和速度,从而提高数据处理系统102的性能,并管理经由显示器提供的图形用户界面的渲染。
客户端设备104可以与终端用户相关联,该终端用户将语音查询作为音频输入(经由传感器154或换能器150)输入到客户端设备104中,并接收从数据处理系统102或导航器服务106输出的音频(或其他)以呈现、显示或渲染给客户端设备104的终端用户。数字组件可以包括计算机生成的语音,该语音可以从数据处理系统102或导航器服务106提供给客户端设备104。客户端设备104可以经由换能器150(例如,扬声器)向终端用户渲染计算机生成的语音。计算机生成的语音可以包括来自真人的录音或计算机生成的语言。客户端设备104可以经由通信耦合到客户端设备104的显示设备来提供视觉输出。
将语音查询输入到客户端设备104的终端用户可以与多个客户端设备104相关联。例如,终端用户可以与第一客户端设备104、第二客户端设备104以及第三客户端设备104相关联,该第一客户端设备可以是基于扬声器的数字助理设备,该第二客户端设备104可以是移动设备(例如,智能手机),以及该第三客户端设备104可以是台式计算机。数据处理系统102可以通过共同的登录名(例如,账户标识符和认证凭证)、位置、网络或其他链接数据来关联每个客户端设备104。例如,终端用户可以使用相同的帐户用户名和密码登录到每个客户端设备104。
客户端设备104可以包括或执行导航应用110的实例。客户端设备104可以包括或执行导航应用110的实例。导航应用110可以包括一个或多个具有与数字助理应用108相似的功能的组件。可以在数据处理系统102和导航器服务106上执行导航应用110的实例。数字助理应用108可以与导航应用110进行接合,反之亦然,以执行预定义功能。导航应用110可以在执行输入音频信号中指示的功能时访问导航器服务106上的资源。客户端设备104可以接收由客户端设备104的传感器154(例如,麦克风)检测到的输入音频信号。基于对输入音频信号的解析,数字助理应用108可以确定在处理输入音频信号时与哪个导航应用110进行接合。输入音频信号可以包括例如自然语言的查询、问题、命令、指令或其他陈述。例如,语音查询可以包括用于在地理区域中找到位置的命令。数字助理应用108可以确定语音查询包括引用导航应用110的至少一种功能的命令。响应于该确定,数字助理应用108可以与导航应用110进行接合以检索数据来完成在语音查询中指示的任务。输入音频信号可以包括一个或多个预定义关键字,该预定义关键字引用导航应用110的功能(例如,“带”,“查找”和“路线”)。例如,输入音频信号可以包括“带我到高中XYZ”。根据该查询,数字助理应用108可以确定语音查询正在引用导航应用110,而不是另一个代理或数字助理应用108本身的功能。数字助理应用108可以确定语音查询正在引用导航应用110的功能,并且可以使用语音查询执行处理以生成到导航应用110的命令。一旦接收到,导航应用110可以基于使用语音查询生成的命令显示或呈现基于矢量的地图146的部分。下文将详细描述导航应用110相对于导航器服务106和数字助理应用108的功能。
在没有导航应用110而在第一客户端设备104上执行的数字助理应用108可以访问在第二客户端设备104上运行的导航应用110。响应于确定语音查询引用了导航应用110的至少一个功能,在第一客户端设备104上执行的数字助理应用108可以识别出第一客户端设备104缺少导航应用110。数字助理应用108可以识别通过共同的登录名(例如,账户标识符和认证凭证)、位置、网络或其他链接数据来关联的一个或多个客户端设备104(例如,在导航应用110上运行的与第一客户端设备104关联的第二客户端设备104)。在第一客户端设备104上执行的数字助理应用108可以访问第二客户端设备104上运行的导航应用110以进一步处理语音查询。
数据处理系统102和导航器服务106可以各包括具有至少一个处理器的至少一个服务器。例如,数据处理系统102和导航器服务106可以各包括位于至少一个数据中心或服务器场中的多个服务器。数据处理系统102可以从音频输入信号确定请求和与该请求相关联的触发关键字。基于请求和触发关键字,数据处理系统102可以确定是将音频输入信号转发到导航器服务106还是在内部处理音频输入信号。响应于确定将在内部处理音频输入信号,数据处理系统102可以生成或选择响应数据。响应数据可以是基于音频或基于文本。例如,响应数据可以包括一个或多个音频文件,这些音频文件在被渲染时提供音频输出或声波。响应数据中的数据也可以称为内容项。除了音频内容之外,响应数据还可以包括其他内容(例如,文本、视频或图像内容)。响应于确定要转发音频输入信号,数据处理系统102可以将音频输入信号发送到导航器服务106。导航器服务106可以解析音频输入信号以识别要执行的命令。导航器服务106可以执行命令,并将命令的结果返回给数据处理系统102或客户端设备104。
数据处理系统102和导航器服务106各自可以包括多个逻辑分组的服务器,并有助于分布式计算技术。服务器的逻辑组可以称为数据中心,服务器场或机器场。服务器可以在地理位置上分散。数据中心或机器场可以作为单个实体进行管理,或者机器场可以包括多个机器场。每个计算机场中的服务器可以是异构的,一个或多个服务器或计算机可以根据一种或多种类型的操作系统平台进行操作。数据处理系统102和导航器服务106各可以包括数据中心中的服务器,该服务器与例如位于企业数据中心中的相关存储系统一起存储在一个或多个高密度机架系统中。以此方式,通过在本地化的高性能网络上定位服务器和高性能存储系统,具有整合服务器的数据处理系统102或导航器服务106可以提高系统可管理性、数据安全性、系统的物理安全性和系统性能。包括服务器和存储系统的所有或某些数据处理系统102或导航器服务106组件的集中化,以及将它们与高级系统管理工具耦合在一起,允许更有效地利用服务器资源,这节省了功率和处理需求并减少了带宽使用。数据处理系统102的每个组件可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器械或其他逻辑设备,例如被配置为与数据存储库126和144以及与其他计算设备通信的可编程逻辑阵列。导航器服务106还可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器械或其他逻辑设备,例如被配置为与数据存储库和与其他计算设备通信的可编程逻辑阵列。
数据处理系统102可以包括数据存储库126。数据存储库126可包括一个或多个本地或分布式数据库,并且可包括数据库管理系统。数据存储库126可以包括计算机数据存储或存储器,并且可以存储一个或多个正则表达式128、一个或多个参数130、一个或多个策略132、响应数据134和模板136、以及其他数据。参数130、策略132和模板136可以包括诸如关于客户端设备104和数据处理系统102之间的基于语音的会话的规则的信息。正则表达式128可以包括关于何时客户端设备104和数据处理系统102之间的基于语音的会话将包括导航应用110和导航器服务106的规则。正则表达式128、参数130、策略132和模板136也可以包括经由接口112从另一个来源(例如,数据处理系统102和客户端设备104)接收的另一数字助理应用108的信息。响应数据134可以包括用于音频输出或相关联的元数据的内容项,以及可以作为与客户端设备104的一个或多个通信会话的一部分的输入的音频消息。
数据处理系统102可以包括至少一个计算资源或服务器。数据处理系统102可以包括至少一个接口112,与之接合或以其他方式与之通信。数据处理系统102可以包括数据处理系统102上的数字助理应用108的至少一个实例,与之接合或以其他方式与之通信。数据处理系统102上的数字助理应用108的实例可以包括至少一个NLP组件114、至少一个音频信号生成器组件122和至少一个直接动作处置器组件120,与之接合或以其他方式与之通信。数据处理系统102可以包括至少一个响应选择器组件124,与之接合或以其他方式与之通信。数据处理系统102可以包括至少一个数据存储库126,与之接合或以其他方式与之通信。至少一个数据存储库126可以在一个或多个数据结构或数据库中包括或存储正则表达式128、参数130、策略132、响应数据134和模板136。数据存储库126可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理。
数据处理系统102的组件可以各包括至少一个处理单元或其他逻辑设备,例如配置为与数据存储库128或148通信的可编程逻辑阵列引擎或模块。数据处理系统的组件102可以是单独的组件、单个组件或多个数据处理系统102的一部分。系统100及其组件(例如数据处理系统102)可以包括硬件元件,例如一个或多个处理器、逻辑设备或电路。
数据处理系统102可以包括接口112。接口112可以被配置,构造或操作为使用例如数据包来接收和发送信息。接口112可以使用一种或多种协议(诸如网络协议)来接收和发送信息。接口112可以包括硬件接口、软件接口、有线接口或无线接口。接口112可以是使系统100的组件能够彼此通信的数据接口或网络接口。数据处理系统102的接口112可以经由网络156向客户端设备104或导航器服务106提供或发送包括动作数据结构、音频信号或其他数据的一个或多个数据包。例如,数据处理系统102可以将来自数据存储库126或来自音频信号生成器组件122的输出信号提供给客户端设备104。数据处理系统102还可以经由数据包传输来指示客户端设备104执行在动作数据结构中指示的功能。输出信号作为一个或多个数据包(或其他通信协议)可以从数据处理系统102(或其他计算设备)获取,生成,将之转换至或传输至客户端设备104。接口112可以促进将数据从一种格式翻译或格式化为另一种格式。例如,接口112可以包括应用编程接口(“API”),该API包括用于在诸如软件组件的各种组件之间进行通信的定义。
数据处理系统102可以包括安装在客户端设备104上的应用、脚本或程序,例如客户端设备104上的数字助理应用108的实例,以将输入音频信号传送到数据处理系统102的接口112并驱动客户端计算设备的组件以渲染输出音频信号或视觉输出。数据处理系统102可以接收数据包、数字文件或者包括或识别输入音频信号(或多个输入音频信号)的其他信号。客户端设备104可以经由换能器150检测音频信号,并且经由模数转换器将模拟音频信号转换为数字文件。例如,音频驱动器可以包括模数转换器组件。预处理器组件可以将音频信号转换为可以经由数据包在网络156上传输的数字文件。
数据处理系统102的数字助理应用108的实例可以执行或运行NLP组件114,以接收或获取包括由客户端设备104的传感器154检测到的输入音频信号的数据包。数据包可以提供数字文件。NLP组件114可以接收或获取包括音频信号的数字文件或数据包并解析音频信号。例如,NLP组件114可以提供人与计算机之间的交互。NLP组件114可以被配置有用于理解自然语言并使数据处理系统102能够从人类或自然语言输入中导出含义的技术。NLP组件114可以包括或被配置有基于机器学习(例如统计机器学习)的技术。NLP组件114可以利用决策树、统计模型或概率模型来解析输入音频信号。NLP组件114可以执行如下功能,例如命名实体识别(例如,对于给定文本流,确定文本中的哪些项映射到名称(例如人或地方),以及每个这样的名称的类型是什么,例如人、位置(例如“家”)或组织),自然语言生成(例如将信息从计算机数据库或语义意图转换为可理解的人类语言),自然语言理解(例如将文本转换为更正式的表示,例如计算机模块可以处理的一阶逻辑结构),机器翻译(例如,自动将文本从一种人类语言翻译成另一种),形态学分割(例如,将词分离为单个词素并识别词素的类别,这根据所考虑语言的词素形态或结构的复杂性可能会具有挑战性),回答问题(例如,确定对人类语言问题的回答,这可以是特定的或开放式的),或是语义处理(例如,在识别词并将其含义编码以便将识别出的词与其他具有相似含义的词相关之后进行的处理)。
NLP组件114可以通过将输入信号与所存储的代表性音频波形集(例如,在数据存储库126中)进行比较并选择最接近的匹配,来将输入音频信号转换为识别的文本。音频波形集可以存储在数据存储库126或数据处理系统102可访问的其他数据库中。代表性波形在一大组用户中生成,然后可以利用来自用户的语音样本来增强。在音频信号被转换为识别的文本之后,NLP组件114将文本与例如经由跨用户的训练或通过手动指定而与数据处理系统102可以服务的动作相关联的词匹配。NLP组件114可以将图像或视频输入转换为文本或数字文件。NLP组件114可以处理,分析或解释图像或视频输入以执行动作,生成请求,或者选择或识别数据结构。
除了输入音频信号之外或代替输入音频信号,数据处理系统102可以接收图像或视频输入信号。数据处理系统102可以使用例如图像解释技术、计算机视觉、机器学习引擎或其他技术来处理图像或视频输入信号,以识别或解释图像或视频来将图像或视频转换为数字文件。可以将一种或多种图像解释技术、计算机视觉技术或机器学习技术统称为成像技术。除了音频处理技术之外或代替音频处理技术,数据处理系统102(例如,NLP组件114)可以被配置有成像技术。
NLP组件114可以获取输入音频信号。根据输入音频信号,NLP组件114可以识别至少一个请求、与该请求相对应的至少一个触发关键字以及一个或多个关键字。该请求可以指示输入音频信号的意图、数字组件或主题。触发关键字可以指示可能采取的动作的类型。例如,NLP组件114可以解析输入音频信号以识别至少一个在终端用户的联系人列表中寻找联系人的请求。触发关键字可以包括至少一个词、短语、词根或部分词、或指示要采取的动作的派生词。例如,来自输入音频信号的触发关键字“搜索”或“查找”可以指示执行查询搜索的请求。在该示例中,输入音频信号(或所识别的请求)没有直接表达查询搜索的意图,但是触发关键字指示查询搜索是该请求所指示的至少一个其他动作的辅助动作。
NLP组件114可以解析输入音频信号以识别,确定,检索或以其他方式获取请求和触发关键字。例如,NLP组件114可以将语义处理技术应用于输入音频信号以识别触发关键字或请求。NLP组件114可以将语义处理技术应用于输入音频信号,以识别包括一个或多个触发关键字(例如第一触发关键字和第二触发关键字)的触发短语。例如,输入音频信号可以包括句子“查找亚历克斯的电话号码”。NLP组件114可以确定输入音频信号包括触发关键字“查找”。NLP组件114可以确定该请求用于查遍终端用户的联系人列表。
NLP组件114可以确定从输入音频信号识别的一个或多个关键字是否引用了导航应用110的一个或多个功能。从输入音频信号识别的一个或多个关键字可以包括用于导航应用110的标识符(例如“GPS Navigator A”)。导航应用110的标识符可以指示终端用户希望哪个应用执行该请求。例如,从输入音频信号转换的文本可以包括“使用GPS NavigatorA指引我回家”。在此输入音频信号中,关键字“GPS Navigator A”可以是导航应用110执行在音频输入信号中指示的请求的标识符。NLP组件114可以确定输入音频信号包括用于导航应用110的标识符。基于确定输入音频信号包括标识符,NLP组件114可以确定输入音频信号引用了导航应用110。因此,数字助理应用108可以与导航应用110接合,如下文所述。相反,NLP组件114可以确定输入音频信号不包括导航应用110的标识符。基于确定输入音频信号不包括标识符,NLP组件114可以确定输入音频信号不引用导航应用110。另外,数字助理应用108可以处理输入音频信号中指示的请求。
NLP组件114可以使用用于导航应用110的正则表达式128来确定从输入音频信号中识别的一个或多个关键字是否引用了导航应用110的至少一个功能。正则表达式128可以定义一模式用于匹配以确定从输入音频信号中识别的关键字是否引用了导航应用110的至少一项功能。正则表达式128还可以指定使用哪些关键字来执行输入音频信号中指示的命令。例如,正则表达式128可以是{[请求],[指称关键字],[辅助关键字]}的形式。对于将被确定为引用导航应用110的功能的输入音频信号的关键字,正则表达式128可以指定一个或多个关键字包括对导航应用110的请求以及用作执行请求的参数的一个或多个指称词。正则表达式128可以指定请求的顺序以及从输入音频信号中识别出的一个或多个关键字中的指称关键字。
正则表达式128可以包括与导航应用110的功能相对应的请求的第一组预定义关键字。第一组预定义关键字可以包括功能标识符(例如“带”,“去”,“显示”,“路线”和“查找”)。第一组预定义关键字中的每个功能标识符可以与导航应用110的功能之一相关联。正则表达式128可以包括第二组预定义关键字,其用于一个或多个指称词,以用作导航参数应用110执行与该功能相对应的请求的参数。第二组预定义关键字可以包括指示词(例如,“这里”,“那里”,“在那儿”和“跨”)。第二组预定义关键字还可以包括与兴趣点相关联的关键字(例如,“餐厅”、“酒店”、“咖啡厅”、“加油站”、“公园”和“机场”)。正则表达式128可以指定在输入音频信号中识别但与第一组预定义关键字不匹配或与第二组关键字匹配的关键字将被识别为辅助关键字。正则表达式128可以包括用于一个或多个辅助关键字的第三组预定义关键字。第三组预定义关键字可以包括与客户端设备104的显示器或导航应用110的视口相关联的关键字(例如,“左角”,“右角”,“上方”和“中间”)。第三组的每个关键字可以对应于客户端设备104的显示器的子集区域。正则表达式128可以指定请求的序列以及从输入音频信号中识别出的一个或多个关键字中的指称关键字。正则表达式128可以指定响应于确定输入音频信号包括与第一预定义组之一匹配的一个或多个关键字,其余关键字中的至少一个将被用作一个或多个参数来执行请求。
在确定一个或多个关键字是否引用导航应用110的至少一个功能时,NLP组件114可以将一个或多个关键字与正则表达式128进行比较。NLP组件114还可以将从输入音频信号中识别出的一个或多个关键字(例如,n元-语法)排列与正则表达式128比较。NLP组件114可以将一个或多个关键字与由正则表达式128指定的第一组预定义关键字比较。NLP组件114可以确定所有关键字与所有第一组预定义关键字之间都没有匹配。响应于确定输入音频信号的所有关键字与第一组中的任何一个之间没有匹配,NLP组件114可以确定输入音频信号没有引用导航应用110的任何功能。替代地,NLP组件114可以确定输入音频信号引用数字助理应用108的功能之一。数字助理应用108可以使用关键字执行进一步的处理以执行请求。
另一方面,响应于对匹配的确定,NLP组件114可以确定输入音频信号引用了导航应用110的至少一个功能。NLP组件114可以从与该请求对应的至少一个关键字相匹配的第一组预定义关键字识别功能标识符。NLP组件114可以确定与导航应用110的导航引导过程的功能之一相对应的请求类型。导航应用110的导航引导过程可以包括位置查找操作和路径路由操作。请求类型可以包括位置查找操作和路径路由操作。功能标识符可以与请求类型之一相关联。基于功能标识符的关联,NLP组件114可以确定由从输入音频信号中解析出的请求所指示的请求类型。
NLP组件114还可以从输入音频信号的关键字中识别一个或多个指称关键字和辅助关键字,以用作执行请求的一个或多个参数。NLP组件114可以将一个或多个剩余关键字与第二组预定义关键字进行比较。NLP组件114可以确定至少一个关键字与第二组预定义关键字中的至少一个之间的匹配。响应于匹配的确定,NLP组件114可以将至少一个关键字识别为用于执行请求的指称关键字中的至少一个。NLP组件114还可以执行语义分析以识别一个或多个关键字以用作导航应用110的指称关键字和辅助关键字以执行请求。语义分析可以包括指代和照应分析以识别指称关键字。NLP组件114可以将除了请求和指称关键字之外的、从输入音频信号中识别出的一个或多个剩余关键字识别为辅助关键字。NLP组件114可以将一个或多个剩余关键字与第三组预定义关键字进行比较。NLP组件114可以确定至少一个关键字与第三组预定义关键字中的至少一个之间的匹配。响应于匹配的确定,NLP组件114可以将至少一个关键字识别为辅助关键字中的至少一个。基于对来自输入音频信号的该请求和指称关键字的识别,NLP组件114可以确定输入音频信号引用了导航应用110的功能。例如,对于输入音频信号“带我去角落里示出的商店ABC”,NLP组件114可以基于包含“带我”和“商店ABC”两者,确定输入音频信号引用了导航应用110的功能。在此示例中,使用正则表达式128以及语义分析技术,NLP组件114可以确定“带我”作为请求,确定“商店ABC”作为指称关键字以执行该请求,并且确定“示出在屏幕的角落”作为辅助关键字。
数据处理系统102可以执行或运行导航界面组件116的实例。响应于确定输入音频信号引用了导航应用110的至少一个功能,导航界面组件116可以访问在客户端设备104或导航器服务106上执行的导航应用110。导航界面组件116可以根据应用编程接口(API)访问导航应用110,API包括用于在数字助理应用108和导航应用110之间进行通信的定义。导航界面组件116可以调用API定义的函数调用以访问导航应用110。导航界面组件116可以识别通过共同的登录名(例如,帐户标识符和认证凭证)、位置、网络或其他链接数据与数字助理应用108相关联的导航应用110。例如,终端用户可能已经为数字助理应用108和导航应用110使用了相同的帐户和登录详细信息。通过访问,导航界面组件116可以从导航应用110检索数据。数据可以与通过导航应用110的视口可见的基于矢量的地图146的部分的内容相关或相对应。
在访问之前,导航界面组件116还可以确定数据是否先前从导航应用110接收到。响应于先前接收到的输入音频信号,数字助理应用108可能已经访问了导航应用110。可以在客户端设备104上(例如,在存储器上)维持先前接收到的数据。导航界面组件116可以识别先前接收到的数据和先前接收到的数据的接收时间。导航界面组件116还可识别与接收到当前输入音频信号的时间相对应的当前时间。导航界面组件116可以将接收时间和当前时间之间经过的时间与定义的阈值时间进行比较。响应于确定经过的时间大于定义的阈值时间,导航界面组件116可以继续访问导航应用110。否则,响应于确定经过的时间小于定义的阈值时间,导航界面组件116可以检索并使用先前从导航应用110接收到的数据。
在访问导航应用110时,导航界面组件116可以确定接收到引用了导航应用110的至少一个功能的输入音频信号的客户端设备104是否正在运行或具有导航应用110的实例。导航界面组件116所访问的导航应用110可以在与接收输入音频信号的客户端设备104不同的客户端设备104上运行或存在于与之不同的客户端设备104上。响应于确定客户端设备104正在运行或具有导航应用110,导航界面组件116可以访问同一客户端设备104上的导航应用110。另一方面,响应于确定客户端设备104没有运行或缺少导航应用110,导航界面组件116可以识别正在运行导航应用110的另一客户端设备104。导航界面组件116可以识别通过共同的登录名(例如,帐户标识符和身份验证凭证)、位置、网络或其他链接数据与接收到输入音频信号的客户端设备104相关联的另一客户端设备104。导航界面组件116可以确定另一客户端设备104正在运行或具有导航应用110的实例。导航界面组件116可以访问在与接收到输入音频信号的客户端设备104相关联的另一客户端设备104上运行或存在于其上的导航应用110。导航界面组件116可以向在客户端设备104或导航器服务106上运行的导航应用110发送或传输访问请求。访问请求可以包括用于数字助理应用108和导航应用110的链接数据。
数据处理系统102或导航器服务106可以执行或运行导航应用110的数字助理界面组件138的实例。数字助理界面组件138可以识别访问导航应用110的导航界面组件116。响应于对访问的识别,数字助理界面组件138可以识别参考框内与导航应用110的视口中显示的基于矢量的地图146的部分相对应的一组点位置。如上讨论的,每个点位置可以对应于人工特征和自然特征之一,可以与地理坐标相关联,并且可以具有至少一个标识符。为了识别该组点位置,数字助理界面组件138可以识别在导航应用110的视口中可见或显示的基于矢量的地图146的部分。基于矢量的地图146的部分可以小于基于矢量的地图146的整体,并且可以对应于在导航应用110的视口中显示的地理区域。数字助理界面组件138可以识别通过导航应用110的视口可见的基于矢量的地图146的部分的尺寸和坐标。坐标可以定义通过导航应用110的视口可见的基于矢量的地图146的部分,例如左上角坐标和右下角坐标。坐标可以对应于地理地图上的地理坐标。基于矢量的地图146的部分可以对应于在客户端设备104上运行的导航应用110的实例的参考框。
数字助理界面组件138可以将通过视口可见的基于矢量的地图146的部分设置或识别为在客户端设备104上运行的导航应用110的参考框。参考框可以对应于在导航应用110的视口中显示的基于矢量的地图146的尺寸、坐标以及其他度量,并且可特定于客户端设备104的终端用户。使用通过视口可见的基于矢量的地图146的部分的尺寸和坐标,数字助理界面组件138可以识别定义参考框的该部分的尺寸和坐标。坐标可以对应于参考框上的坐标,例如左上角坐标和右下角坐标。数字助理界面组件138可以将每个点位置的地理坐标与针对视口中显示的基于矢量的地图146的一部分识别的尺寸和坐标进行比较。基于比较,数字助理界面组件138可以选择或识别参考框内与通过视口可见的基于矢量的地图146的部分相对应的该组点位置。数字助理界面组件138可以将该组点位置提供给数字助理应用108的导航界面组件116。
数字助理界面组件138可以向数字助理应用108的导航界面组件116提供有关导航应用110的视口的显示信息。数字助理界面组件138可以将通过视口可见的基于矢量的地图146的部分的尺寸和坐标提供给数字助理应用108的导航界面组件116。数字助理界面组件138可以识别导航应用110本身的视口的尺寸。视口的尺寸可以使用宽度对比高度的像素数量来定义。数字助理界面组件138可以将导航应用110的视口的尺寸提供给数字助理应用108的导航界面组件116。
结合识别该组点位置,数字助理界面组件138可以识别在通过导航应用110的视口可见的基于矢量的地图146的部分内的客户端设备104的当前位置。数字助理界面组件138可以访问地理定位系统(GPS)接口。GPS接口继而可以与GPS卫星通信以识别或接收运行导航应用110的客户端设备104的当前地理坐标。GPS接口可以将从GPS卫星接收到的客户端设备104的地理坐标转换为基于矢量的地图146上的位置标识符。位置标识符可以是分配给物理世界大盘基于矢量的地图146的地理坐标的索引。地理坐标到位置标识符的转换可以根据设置映射或功能。一旦被转换,数字助理界面组件138就可以将客户端设备104的位置标识符提供给数字助理应用108的导航界面组件116。数字助理界面组件138还可以将每个识别的点位置的位置标识符提供给导航界面组件116。
数字助理界面组件138还可以识别在导航应用110的视口中可见或显示的基于矢量的地图146的部分之外的另一组点位置。导航应用110可以执行导航引导过程的路径路由操作以确定当接收到输入音频信号时,在基于矢量的地图146上从开始位置到目的地位置的路径。目的地位置和指定位置可以对应于导航应用110的视口之外的基于矢量的地图146的部分之外的基于矢量的地图146上的位置。数字助理界面组件138可以从路径路由操作中识别目的地位置。数字助理界面组件138可以确定在目的地位置周围的定义的邻近度(例如1km至5km)内的基于矢量的地图146的一部分。可以使用尺寸和坐标来定义在定义的邻近度内的基于矢量的地图146的部分,以包括目的地位置。在定义的邻近度内的基于矢量的地图146的部分可以具有等于当前在导航应用110的视口中显示的基于矢量的地图146的部分的尺寸。数字助理界面组件138可以将在目的地位置周围的定义的邻近度内的基于矢量的地图146的一部分设置或识别作为参考框的一部分。
使用基于矢量的地图146的部分在目的地位置周围的定义的邻近度内的尺寸和坐标,数字助理界面组件138可以识别定义参考框的该部分的尺寸和坐标。坐标可以对应于参考框上的坐标,例如基于矢量的地图146上的左上角坐标和右下角坐标。数字助理界面组件138可以将每个点位置的地理坐标与针对基于矢量的地图146的一部分识别的尺寸和坐标进行比较。基于比较,数字助理界面组件138可以选择或识别参考框内与目的地位置周围的定义的邻近度内的基于矢量的地图146的部分相对应的该组点位置。数字助理界面组件138可以将该组点位置提供给数字助理应用108的导航界面组件116。在提供该组点位置时,数字助理界面组件138可以将点位置标记为与通过导航应用110的视口可见或通过导航应用110的视口不可见的基于矢量的地图146的部分相对应的点位置。
响应于对访问导航应用110的导航界面组件116的识别,数字助理界面组件138可以识别由导航应用110接收到的一组搜索项。搜索项可以包括在执行导航引导过程(例如由位置查找器组件140或路径路由器组件142执行的功能)时由导航应用110先前接收到的一个或多个关键字。例如,导航应用110的终端用户可能先前输入了“文具店”以在附近寻找文具店。在另一示例中,导航110可能先前已经接收到由NLP组件114从输入音频信号转换的查询“塔ABC”以找到命名塔。可以将先前接收到的搜索项存储并维护在导航应用110上。每个搜索项还可以通过指示导航应用110何时接收到搜索项的接收时间戳进行关联或编索引。数字助理界面组件138可以在数字助理应用108接收到输入音频信号之前,选择或识别在定义的时间窗口内由导航应用110先前接收到的该组搜索项。定义的时间窗口的范围可以从15分钟到2小时。数字助理界面组件138可以识别输入音频信号的接收时间或导航界面组件116访问导航应用110的时间。数字助理界面组件138可以将搜索项的接收时间戳与接收输入音频信号或访问的时间以及定义的时间窗口进行比较。数字助理界面组件138可以利用接收输入音频信号或访问的时间的定义的时间窗口内的接收时间戳来识别或选择该组搜索项。
数据处理系统102可以执行或运行数字助理应用108或导航应用110的地理位置感测组件118的实例。导航器服务106可以执行或运行导航应用110的地理位置感测组件118的实例。响应于确定输入音频信号引用导航应用110的至少一个功能,地理位置感测组件118可以检索从运行数字助理应用108的客户端设备104的至少一个传感器154获取的数据。地理位置感测组件118所访问的传感器154可以包括惯性运动单元、加速度计、陀螺仪、运动检测器、GPS传感器和位置传感器等。使用检索到的数据,地理位置感测组件118可以确定或识别运行数字助理应用108的客户端设备104的行进方向、位置和速度、以及其他度量。地理位置感测组件118可以进一步使用多个测量值确定运行数字助理应用108的客户端设备104的行进方向、位置和速度以及其他度量的变化。该变化可以相对于以定义的间隔采样的一个或多个先前的测量值。地理位置感测组件118可以确定或识别运行导航应用110的客户端设备104的行进方向、位置和速度、以及其他度量。地理位置感测组件118可以进一步使用多个测量值确定运行导航应用110的客户端设备104的行进方向、位置和速度以及其他度量的变化。该变化可以相对于以定义的间隔采样的一个或多个先前的测量值。
使用地理位置感测组件118所识别的测量值,数字助理界面组件138可以识别在导航应用110的视口中先前显示的基于矢量的地图146的该部分的另一组点位置。数字助理界面组件138可以基于来自地理位置感测组件118的行进方向、速度和位置的一个或多个测量值来识别基于矢量的地图146的先前显示部分。数字助理界面组件138还可以识别基于矢量的地图146的当前显示部分。使用行进方向、位置和速度的变化以及基于矢量的地图146的当前显示部分,数字助理界面组件138可以确定基于矢量的地图146的先前显示部分。行进方向、位置和速度的变化可以是相对于当前之前的定义的长度(例如15秒到3分钟)的时间。基于从先前测量的位置的变化,数字助理界面组件138可以从基于矢量的地图146的当前显示的部分移位至基于矢量的地图146的另一部分。一旦移位,数字助理界面组件138就可以识别基于矢量的地图146的先前显示部分。
数字助理界面组件138可以将基于矢量的地图146的先前显示部分设置或识别为参考框的一部分,作为基于矢量的地图146的当前显示部分。一旦设置,参考框的一部分可以对应于基于矢量的地图146的当前显示部分并且参考框的另一部分可以对应于基于矢量的地图146的先前显示部分。数字助理界面组件138可以识别基于矢量的地图146的先前显示部分的尺寸和坐标。坐标可以对应于参考框上的坐标,例如基于矢量的地图146上的左上角坐标和右下角坐标。数字助理界面组件138可以将每个点位置的地理坐标与针对基于矢量的地图146的先前显示部分识别的尺寸和坐标进行比较。基于比较,数字助理界面组件138可以选择或识别参考框内与基于矢量的地图146的先前显示部分相对应的该组点位置。数字助理界面组件138可以将该组点位置提供给数字助理应用108的导航界面组件116。
另外,数字助理界面组件138可以基于来自地理位置感测组件118的行进方向、速度和位置的一个或多个测量值,识别基于矢量的地图146的待显示部分。数字助理界面组件138还可以识别基于矢量的地图146的当前显示部分。使用行进方向、位置和速度的变化以及基于矢量的地图146的当前显示部分,数字助手界面组件138可以确定基于矢量的地图146的待显示部分。行进方向、位置和速度的变化可以相对于当前之前的定义的长度(例如15秒到3分钟)的时间。使用行进方向、位置和速度的变化,数字助理界面组件138可以确定预测的行进方向、位置和速度。基于预测的行进方向、位置和速度,数字助理界面组件138可以从基于矢量的地图146的当前显示部分移位至基于矢量的地图146的另一部分。一旦移位,数字助理界面组件138就可以识别基于矢量的地图146的待显示部分。
数字助理界面组件138可以将基于矢量的地图146的待显示部分设置或识别为参考框的一部分,作为基于矢量的地图146的当前显示部分。一旦设置,参考框的一部分可以对应于基于矢量的地图146的当前显示部分,参考框的另一部分可以对应于基于矢量的地图146的待显示部分。数字助理界面组件138可以识别基于矢量的地图146的待显示部分的尺寸和坐标。该坐标可以对应于参考框上的坐标,例如基于矢量的地图146上的左上角坐标和右下角坐标。数字助理界面组件138可以将每个点位置的地理坐标与针对基于矢量的地图146的待显示部分标识的尺寸和坐标进行比较。基于比较,数字助理界面组件138可以选择或识别参考帧内的与基于矢量的地图146的待显示部分相对应的该组点位置。数字助理界面组件138可以将该组点位置提供给数字助理应用108的导航界面组件116。
通过从导航应用110检索数据,NLP组件114可以基于一个或多个指称关键字和用于该组点位置的标识符,从参考框内的该组点位置中消除一个或多个点位置的歧义或从中识别出一个或多个点位置。NLP组件114可以使用语义知识图(有时称为语义图或语义网络)来确定一个或多个关键字与该组点位置的标识符之间的相关性,以识别点位置。语义知识图可以包括经由顶点相互连接的一组节点。每个节点可以对应于关键字或短语。每个顶点可以指定两个节点之间的语义距离。语义距离可以表示或对应于节点的词或短语之间的语义相似性或相关性度量。对于该组的每个点位置,NLP组件114可以使用语义知识图来计算或确定该点位置的对应标识符与一个或多个指称关键字之间的语义距离。如前所述,标识符可以包括名称或类别类型。在语义知识图中,NLP组件114可以识别与指称关键字相对应的节点和与用于点位置的标识符相对应的节点。然后,NLP组件114可以确定两个节点之间的语义距离。NLP组件114可以基于指称词与该组点位置的标识符之间的语义距离来识别一个或多个点位置。使用语义知识图确定了语义距离后,NLP组件114可以利用一个或多个指称关键字来识别具有最低语义距离的点位置。为了识别多个点位置,NLP组件114可以根据指称关键字识别具有最低n个语义距离的一个或多个点位置。
使用语义知识图,NLP组件114还可以确定指称关键字是否是指参考框内的任何点位置。NLP组件114可以将每个指称关键字和用于每个点位置的标识符之间的语义距离与阈值距离进行比较。阈值距离可以指示最大语义距离,在该最大语义距离处,NLP组件114可以确定指称关键字是指语义知识图中的标识符。NLP组件114可以确定在指称关键字之一与标识符之一之间的至少一个语义距离小于或等于阈值距离。响应于确定至少一个语义距离小于或等于阈值距离,NLP组件114可以确定至少一个指称关键字是指参考框内的点位置之一。相反,NLP组件114可以确定所有语义距离均大于阈值距离。响应于确定所有语义距离均大于阈值距离,NLP组件114可以确定指称关键字不是指参考框内的任何点位置。
NLP组件114还可以使用语义分析技术来识别一个或多个点位置,所述语义分析技术诸如词义歧义消除,话语指称分析(discourse referent analysis)和语义分析等。NLP组件114可以基于使用语义知识图确定的语义距离来确定是否使用语义分析技术。NLP组件114可以将指称关键字和点位置的标识符之间的语义距离与阈值距离进行比较。NLP组件114可以确定语义距离的设定百分比(例如,高于90%)大于阈值。相对较高的语义距离可表明语义知识图可能无法有效消除点位置的标识符之间的歧义。响应于该确定,NLP组件114可以使用语义分析技术来识别一个或多个点位置。对于该组的每个点位置,NLP组件114可以应用语义分析技术来计算或确定该点位置的对应标识符和指称关键字之间的索引度量。索引度量可以指示从输入音频信号解析的指称关键字引用或者指示用于该点位置的标识符的可能性。在确定了索引度量之后,NLP组件114可以利用一个或多个指称关键字来识别具有最大索引度量的点位置。为了识别多个点位置,NLP组件114可以相对于指称关键字识别具有最大n个索引度量的一个或多个点位置。
使用索引分析技术,NLP组件114还可以确定指称关键字是否是指参考框内的任何点位置。NLP组件114可以将每个指称关键字和用于每个点位置的标识符之间的索引度量与阈值度量进行比较。阈值度量可以指示最大索引度量,在该最大索引度量处,NLP组件114可以确定指称关键字是指标识符。NLP组件114可以确定在指称关键字之一和标识符之一之间的至少一个索引度量小于或等于阈值度量。响应于确定至少一个索引度量小于或等于阈值度量,NLP组件114可以确定至少一个指称关键字是指参考框内的点位置之一。相反,NLP组件114可以确定所有指标度量都大于阈值度量。响应于确定所有索引度量都大于阈值度量,NLP组件114可以确定指称关键字不是指参考框内的任何点位置。
NLP组件114可以使用导航应用110先前接收到的一组搜索项来从该组点位置中识别一个或多个点位置。对于该组的每个点位置,NLP组件114可以计算或确定该点位置的对应标识符与一个或多个搜索项之间的语义距离。在语义知识图中,NLP组件114可以识别与搜索项相对应的节点和与该点位置的标识符相对应的节点。然后,NLP组件114可以确定这两个节点之间的语义距离。NLP组件114可以基于搜索项与该组点位置的标识符之间的语义距离来选择点位置的子集。根据从导航应用110检索的该组点位置,NLP组件114可以从指称关键字选择具有最低n个语义距离的点位置的子集。从该点位置的子集,NLP组件114可以使用上文详述的功能来识别一个或多个点位置。
使用来自地理位置感测组件118的测量,NLP组件114可以从该组中识别一个或多个点位置。如上所述,地理位置感测组件118可以确定或识别运行数字助理应用108或导航应用110的客户端设备104的行进方向、位置和速度以及其他度量。NLP组件114可以基于来自地理位置感测组件118的测量值,从该组中识别或选择点位置的子集。NLP组件114可以识别从导航应用110检索到的每个点位置的地理坐标。NLP组件114可以比较该组点位置的地理坐标与客户端设备104的位置。NLP组件114可以识别具有在客户端设备104的位置的定义的邻近度内(例如,在1到3km之内)的地理坐标的位置点的子集。从该子集中,NLP组件114可以使用行进方向来选择点位置的较小子集。NLP组件114可以选择或识别具有沿着行进方向的地理坐标的点位置的较小子集,并且排除与行进方向相反的点位置。例如,当测量到客户端设备104向北行进时,NLP组件114可以选择在客户端设备104的2km内以北的点位置。从点位置的较小子集中,NLP组件114可以使用本文以上详述的功能来识别一个或多个点位置。
NLP组件114可以使用客户端设备104的位置标识符和点位置的位置标识符来从该组中识别一个或多个点位置。NLP组件114可以将客户端设备104的位置标识符与组中的点位置的位置标识符进行比较。对于每个点位置,NLP组件114可以确定点位置的位置标识符是否在客户端设备104的位置标识符的定义的邻近度内(例如,小于1km至3km)。NLP组件114可以利用在客户端设备104的位置标识符的定义的邻近度内的位置标识符来选择点位置的子集。从点位置的该子集,NLP组件114可以使用上文详述的功能来识别一个或多个点位置。
在识别一个或多个点位置时,NLP组件114可以搜索与在输入音频信号中识别的指称关键字有关的其他关键字。NLP组件114可以基于数据处理系统102从客户端设备104接收到的内容或偏好来自动生成扩展实体。NLP组件114可以基于数据处理系统102从客户端设备104请求的内容或偏好来在随后的基于音频的输入请求中生成扩展实体。基于数据处理系统102接收到的内容或偏好,NLP组件114可以搜索与指称关键字有关的附加关键字以识别一个或多个点位置。例如,输入音频信号可以包括“好,咱们回家”,并且NLP组件114可能已经将“家”识别为指称关键字。客户端设备104的终端用户可能先前已经向运行数字助理应用108的数据处理系统102提供了终端用户的家庭住址。在该示例中,NLP组件114可以检索终端用户的家庭住址的位置标识符,并且与从导航应用110中检索到的点位置的位置标识符进行比较。通过比较位置标识符,NLP组件114可以识别与指称关键字“家”相对应的点位置。
NLP组件114可以基于对指称关键字的进一步分析,从该组中识别一个或多个点位置。NLP组件114可以确定或识别指称关键字正在引用基于矢量的地图146的哪个部分。如上所述,导航界面组件116可以访问导航应用110以检索通过视口可见的基于矢量的地图146的一部分的点位置。导航界面组件116可以访问导航应用110以访问基于矢量的地图145的另一部分,该另一部分在目的地位置周围的视口之外的邻近度周围。点位置可以标记为在视口内或视口外可见。NLP组件114可以执行语义分析技术以确定指称关键字是近端词还是远端词。近端词可以表示附近的点位置,并且可以与通过导航应用110的视口可见的基于矢量的地图146的部分中的点位置之一相关。远端词可以表示远处的点位置,并且可以与导航应用110的视口之外的基于矢量的地图146的部分中的点位置之一相关。NLP组件114可以将一个或多个指称关键字与一组预定义的近端词(例如“此处”,“附近”和“靠近”)以及一组预定义的远侧词(例如,“在目的地旁”,“在那边”,“沿”)进行比较。NLP组件114可以确定指称词是近端词。响应于该确定,NLP组件114可以选择或识别与通过视口可见的基于矢量的地图146的部分上的点位置相对应的点位置的子集。NLP组件114可以确定指称词是远端词。响应于该确定,NLP组件114可以选择或识别与视口外的基于矢量的地图146的部分上的点位置相对应的点位置的子集。从点位置的该子集中,NLP组件114可以使用上文详述的功能来识别一个或多个点位置。
NLP组件114可以使用从输入音频信号中解析的一个或多个辅助关键字,从参考框内的该组点位置中识别一个或多个点位置。如上所述,辅助关键字可以是除了该请求和一个或多个指称关键字之外、从输入音频信号解析的关键字,并且可以对应于引用客户端设备104的显示器的关键字。在识别从输入音频信号解析的关键字作为辅助关键字时,NLP组件114可以针对辅助关键字识别导航应用110的视口的子区域或运行导航应用110的客户端设备104的显示器。如前所述,用于识别辅助关键字的第三组预定义关键字中的每个关键字可以与导航应用110的视口的子区域相对应或相关联。例如,辅助关键字“左上角”可以对应于导航应用110的视口的左上象限。可以使用像素坐标(例如,长度乘宽度)来定义导航应用110的视口的子区域。NLP组件114可以识别或确定与和辅助关键字相关联的子区域相对应的通过视口可见的基于矢量的地图146的部分的子区域。NLP组件114可以将针对与辅助关键字相关联的视口的子区域定义的像素坐标转换为通过视口可见的基于矢量的地图146的部分的尺寸和坐标。
使用与和辅助关键字相关联的视口的子区域相对应的基于矢量的地图146的部分的尺寸和坐标,NLP组件114可以选择或识别点位置的子集。NLP组件114可以将每个点位置的地理坐标与该尺寸和坐标进行比较。基于比较,NLP组件114可以选择或识别基于矢量的地图146的部分的子区域内的点位置。从点位置的该子集,NLP组件114可以使用上文详述的功能识别一个或多个点位置。
NLP组件114可以使用先前接收的输入音频信号来从该组中识别一个或多个点位置。NLP组件114可以存储并维持确定为引用导航应用110的至少一个功能的输入音频信号。NLP组件114还可以存储并维持从先前接收的确定为引用导航应用110的至少一个功能的输入音频信号中解析出的一个或多个关键字。NLP组件114可以识别自接收到每个存储的输入音频信号以来经过的时间。对于每个输入音频信号,NLP组件114可以确定经过的时间是否大于或等于定义的阈值时间(例如15秒至60分钟)。NLP组件114可以识别经过的时间小于定义的阈值时间的一组先前接收的输入音频信号。对于该组中的每一个,NLP组件114可以使用本文上面描述的功能来解析输入音频信号以识别一个或多个指称关键字。
使用来自先前输入音频信号的指称关键字,NLP组件114可以从该组点位置中选择或识别点位置的子集。NLP组件114可以确定来自先前输入音频信号的指称关键字与来自当前输入音频信号的指称关键字之间的匹配。基于该匹配,NLP组件114可以调整(例如,通过减小)与该匹配相对应的指称关键字和该点位置的标识符之间的语义距离。例如,先前输入音频信号和当前输入音频信号都可以包括指称词“餐厅”。在确定了匹配后,NLP组件114可以减小指称词“餐厅”和标识符之间的语义距离,从而增加了选择与餐厅相对应的点位置的可能性。
NLP组件114还可以使用语义分析技术来计算或确定当前输入音频信号的指称词与先前接收的输入音频信号的指称词之间的索引度量。语义分析技术可以包括词义歧义消除、话语指称分析和语义分析等。对于先前接收的输入音频信号的每个指称词,NLP组件114可以计算或确定索引度量。如前所述,索引度量可以指示从输入音频信号中解析的指称关键字意指或者指示用于点位置的标识符的可能性。确定了索引度量后,NLP组件114可以用一个或多个指称关键字从具有最大索引度量的先前接收的输入音频信号中识别指称关键字。为了识别多个点位置,NLP组件114可以相对于当前输入音频信号的指称关键字从具有最大n个索引度量的先前接收的输入音频信号中识别一个或多个指称词。利用该识别,NLP组件114可以使用来自先前接收到的输入音频信号的一个或多个指称关键字来选择点位置的子集。
对于该组的每个点位置,NLP组件114可以计算或确定该点位置的对应标识符与来自先前接收的输入音频信号的一个或多个指称关键字之间的语义距离。在语义知识图中,NLP组件114可以识别与指称关键字相对应的节点和与用于点位置的标识符相对应的节点。然后,NLP组件114可以确定两个节点之间的语义距离。NLP组件114可以基于指称关键字和该组点位置的标识符之间的语义距离来选择点位置的子集。通过从导航应用110检索的该组点位置中,NLP组件114可以从指称关键字选择具有最低n个语义距离的点位置的子集。从该子集点位置中,NLP组件114可以使用上文详述的功能来识别一个或多个点位置。
数据处理系统102可以执行或运行直接动作处置器组件120的实例。直接动作处置器组件120可以基于从NLP组件114接收的输入来执行脚本或程序。导航器服务106可以提供脚本或程序。导航器服务106可以通过API使脚本或程序可用于数据处理系统102。直接动作处置器组件120可以确定参数或对输入字段的响应,并且可以将数据打包成动作数据结构。可以通过API将动作数据结构提供给数据处理系统102。直接动作处置器组件120可以将动作数据结构传输到导航应用110用于实现,或者数据处理系统102可以实现动作数据结构的指令。
直接动作处置器组件120可以基于请求和从输入音频信号中解析出的指称关键字,生成或选择用于线程或对话的动作的数据结构。如上所述,NLP组件114可以确定输入音频信号引用了导航应用110以及应用了导航应用110的哪个功能。动作数据结构可以包括用于导航应用110完成请求的信息。该信息可以包括与在输入音频信号中指示的导航应用110的功能之一相对应的请求类型。该信息可以包括一个或多个参数,以实行与功能类型相对应的导航应用110的功能。该一个或多个参数可以包括使用从输入音频信号解析的指称关键字和辅助关键字识别的一个或多个点位置。该一个或多个参数可以包括一个或多个所识别的点位置的标识符。该一个或多个参数可以包括用于在客户端设备104上运行的数字助理应用108或导航应用110的链接数据,诸如账户标识符和认证凭证。直接动作处置器组件120还可以使用该请求来调用或征调导航应用110。直接动作处置器组件120可以将请求打包到动作数据结构中,以作为另一个请求(有时也称为消息)传输到导航器服务106。
直接动作处置器组件120可以从数据存储库126中检索至少一个模板136,以确定哪些字段包括在导航应用110的动作数据结构中。直接动作处置器组件120可以检索模板136以获取用于数据结构的字段的信息。使用该请求类型和该一个或多个参数,直接动作处置器组件120可以填充来自模板136的字段以生成动作数据结构。可以为导航应用110或导航器服务106设置或配置模板136,以创建动作数据结构。例如,导航应用110的模板136可以具有以下形式:{[帐户标识符],[认证凭证],[请求类型],[参数]}。在为导航应用110填充模板136时,直接动作处置器组件120可以识别并插入帐户标识符、认证凭证、请求类型(或功能标识符)以及一个或多个参数以及其他信息。
响应于确定至少一个指称关键字引用参考框内的点位置之一,直接动作处置器组件120可以设置一个或多个参数以包括点位置的标识符、客户端设备104的坐标、和点位置的位置标识符等其他数据。参数中包括的标识符可以包括使用指称关键字识别的点位置的标识符。一个或多个参数还可包括至少一个指称关键字引用参考框内的点位置之一的指示符。响应于确定指称关键字没有引用参考框内的任何点位置,直接动作处置器组件120可以将一个或多个参数设置为包括客户端设备104的坐标和指称关键字等。一个或多个参数还可包括指称关键字没有引用参考框内的任何点位置的指示符。
直接动作处置器组件120可以扩展实体,以将实体转换为导航器服务106用于导航器服务106的动作数据结构的给定字段的格式。实体可以包括导航器服务106可能不明确或不清楚的信息。例如,当导航器服务106请求街道地址时,终端用户可以提供实体,该实体是位置或公司的专有名称。NLP组件114可以基于数据处理系统102从客户端设备104接收的内容或偏好来自动生成扩展实体。NLP组件114可以基于数据处理系统102从客户端设备104请求的内容或偏好来在随后的基于音频的输入请求中生成扩展实体。例如,数据处理系统102可以接收包括“好吧,咱们回家”的输入音频信号。NLP组件114可能已经确定了从导航应用110检索到的点位置的哪个标识符对应于指称关键字。例如,NLP组件114可以将“家”识别为位置实体,作为该功能的一个或多个参数之一;然而,动作数据结构中的位置字段可能需要街道地址、城市、州和邮政编码。在此示例中,“家”位置实体不是导航器服务106所请求的格式。当客户端设备104的终端用户先前向数据处理系统102或导航器服务106提供了终端用户的家庭地址时,NLP组件114可以将“家”扩展为服务提供商设备的动作数据结构的字段所请求的格式(例如,{街道_地址:“123主大街”,城市:“任何城市”,州:“加利福尼亚州”})。如果终端用户先前未向数据处理系统102提供终端用户的家庭住址,则数据处理系统102可以生成并传输基于音频的输入请求,该请求请求终端用户指示特定地址而不是“家”。在将实体传输到导航器服务106之前扩展实体可以减少所需的网络传输数量,因为导航器服务106在接收到未扩展的实体后可能不会发送其他澄清的请求或额外信息。
在生成动作数据结构时,直接动作处置器组件120可以引导航应用110发送、传输或提供动作数据结构。如前所述,运行数字助理应用108的客户端设备104可能缺少导航应用110,并且作为响应,导航界面组件116可以访问另一关联的客户端设备104以访问导航应用110。响应于确定接收到输入音频信号的客户端设备104正在运行或具有导航应用110,直接动作处置器组件120可以将动作数据结构提供给导航应用110。相反,响应于确定接收到输入音频信号的客户端设备104没有运行或缺少导航应用110,直接动作处置器组件120可以将动作数据结构提供给识别为运行或具有导航应用110的另一客户端设备104。
数字助理界面组件138可以接收由直接动作处置器组件120生成的动作数据结构。数字助理界面组件138可以根据模板136解析动作数据结构。数字助理界面组件138可以还维持模板136的副本(例如,在导航器服务106可访问的数据库上)。通过应用模板136,数字助理界面组件138可以从数据动作结构中识别账户标识符、认证凭证、请求类型以及一个或多个参数。数字助理界面组件138可以通过将认证凭证的本地副本与来自操作数据结构的认证凭证的副本进行比较来对帐户标识符进行认证。数字助理界面组件138可以使用帐户标识符从在客户端设备104上运行的导航器服务106或导航应用110检索认证凭证的本地副本。响应于确定认证凭证之间的匹配以成功地认证账户标识符,数字助理界面组件138可以使用请求类型和一个或多个参数来发起导航引导过程。导航引导过程可以包括位置查找操作和路径路由操作。数字助理界面组件138可以将请求类型识别为与位置查找操作相对应。响应于该识别,数字助理界面组件138可以调用位置查找器组件140以发起位置查找操作。在位置查找位置之下,动作数据结构可以包括一个或多个点位置。数字助理界面组件138可以将请求类型识别为与路径路由操作相对应。在路径路由操作下,动作数据结构可以包括单个点位置。响应于该识别,数字助理界面组件138可以调用路径路由器组件142以启动路径路由操作。
数据处理系统102或导航器服务106可以执行或运行导航应用110的位置查找器组件140的实例。响应于该调用,位置查找器组件140可以在通过导航应用110的视口可见的基于矢量的地图146的一部分上呈现一个或多个点位置。位置查找器组件140可以解析动作数据结构以识别指示符。使用指示符,位置查找器组件140可以确定在数字助理应用108处的输入音频信号的指称关键字引用至少一个点位置。响应于该确定,位置查找器组件140可以从动作数据结构中识别一个或多个点位置。对于每个点位置,位置查找器组件140可以识别与基于矢量的地图146上的点位置相对应的位置标识符。
相反地,位置查找器组件140可以基于动作数据结构的指示符来确定在数字助理应用108处的输入音频信号的指称关键字引用至少一个点位置。响应于该确定,位置查找器组件140可以访问参考框外的基于矢量的地图146。在访问了基于矢量的地图146后,位置查找器组件140可以搜索参考框外的一个或多个点位置的标识符。位置查找器组件140然后可以在与动作数据结构的指称关键字匹配的基于矢量的地图146中识别参考框外的一个或多个点位置的标识符。例如,包括在接收到的动作数据结构中的指称关键字“塔ABC”可以指参考框内的任何点位置。在该示例中,位置查找器组件140可以在初始参考框外的基于矢量的地图146中搜索与标识符“塔ABC”匹配的点位置。位置查找器组件140可以识别具有与指称关键字匹配的标识符的多个点位置。使用来自动作数据结构的客户端设备104的位置标识符,位置查找器组件140可以识别最接近客户端设备104的点位置。通过识别每个点位置,位置查找器组件140可以识别用于所识别的点位置的地理坐标。
响应于识别初始参考框外的点位置,位置查找器组件140可以修改参考框以包括具有与指称关键字匹配的标识符的点位置。位置查找器组件140可以识别与基于矢量的地图146的可见部分相对应的初始参考框的尺寸和坐标。位置查找器组件140可以移动参考框的坐标以包括具有与指称关键字匹配的标识符的点位置的坐标。点位置的坐标可以例如在新参考框的中心。位置查找器组件140还可以维持参考框的尺寸。在参考框移动的情况下,导航应用110可以通过视口显示基于矢量的地图146的不同部分。该部分可对应于被移动以包括具有与指称关键字匹配的标识符的点位置的参考框。以这种方式,数字助理应用108和导航应用110可以用于呈现点位置并在通过视口显示的基于矢量的地图146的部分的内部和外部执行其他功能。例如,由NLP组件114解析的第一语音查询可以是“展示塔ABC”。NLP组件114可以已经确定第一语音查询没有指在通过导航应用110的视口显示的基于矢量的地图146中当前可见的任何点位置。利用指称关键字“塔ABC”,位置查找器组件140可以找到具有与“塔ABC”相对应的标识符的点位置。随后,由NLP组件114解析的第二语音查询可以是“显示糕点铺”。NLP组件114可以确定在通过视口可见的基于矢量的地图146的部分上现在可见的一些点位置被指称关键字“糕点铺”引用。然后,位置查找器组件140可以在基于矢量的地图146的部分中突出显示对应的点位置。
位置查找器组件140可以在通过导航应用110的视口可见的基于矢量的地图146的部分上呈现与位置标识符相对应的点位置。例如,位置查找器组件140可以在基于矢量的地图146上插入点或圆圈或突出显示与点位置相对应的图形表示。位置查找器组件140还可以在文本中显示点位置的标识符。在通过视口在基于矢量的地图146的部分上显示了点位置时,位置查找器组件140可以生成响应以提供作为文本用于显示或用于输出的音频信号。该响应可以包括与位置查找操作相对应的请求类型。该响应可以包括在通过导航应用110的视口可见的基于矢量的地图146的一部分中显示的点位置的标识符。该响应还可以包括多个显示的点位置。该响应还可包括具有一个或多个词的至少一个响应短语以用于显示或用于输出的音频信号。可以使用模板定义响应短语。例如,用于响应短语的模板可以具有以下形式:“在该区域中找到的[点位置的数量][标识符]”。在生成响应时,位置查找器组件140可以识别请求类型、用于所显示的点位置的标识符、所显示的点位置的数量和至少一个响应短语。一旦生成响应,数字助理界面组件138就可以向数字助理应用108发送、传输或提供响应。
数据处理系统102或导航器服务106可以执行或运行导航应用110的路径路由器组件142的实例。响应于该调用,路径路由器组件142可以生成、确定或识别到在动作数据结构中识别出的点位置的行进路径。路径路由器组件142可以使用地理位置感测组件118来识别运行导航应用110的客户端设备104的当前地理坐标。路径路由器组件142可以将客户端设备104的地理坐标转换为基于矢量的地图146上的位置标识符。路径路由器组件142可以将客户端设备104的位置标识符设置为起始位置。路径路由器组件142可以识别与动作数据结构的点位置相对应的位置标识符。路径路由器组件142可以将点位置的位置标识符设置为目的地位置。路径路由器组件142可以应用寻路算法(例如Djikstra算法,A*算法和Kruskal算法)来确定基于矢量的地图146的路径上的起始位置和目的地位置之间的行进路径。如上所述,基于矢量的地图146可以包括对应于运输网络的路径。路径路由器组件142还可以在通过导航应用110的视口可见的基于矢量的地图146的部分上呈现或显示行进路径的至少一部分。
响应于确定行进路径,路径路由器组件142可以生成响应以提供作为文本用于显示或用于输出的音频信号。该响应可以包括与路径路由操作相对应的请求类型。该响应可以包括与基于矢量的地图146上的目的地位置相对应的点位置的标识符。该响应还可以包括到目的地位置的估计的行进时间。该响应还可包括具有一个或多个词的至少一个响应短语以用于显示或用于输出的音频信号。可以使用模板定义响应短语。例如,响应短语的模板可以采用以下形式:“找到去[目的地位置]的路线。估计的到达时间[估计的行进时间]”。在生成响应时,位置查找器组件140可以识别请求类型、点位置的标识符、估计的行进时间以及至少一个响应短语。一旦生成响应,数字助理界面组件138就可以向数字助理应用108发送、传输或提供响应。
响应于从导航应用110接收到响应,音频信号生成器组件122可以解析该响应以识别响应短语以用于文本输出或用于输出的音频信号。音频信号生成器组件122可以基于来自导航器服务106的响应中的一个或多个响应短语来生成输出的音频文件。音频信号生成器组件122可以播放(例如,经由客户端设备104的扬声器148)响应短语的一个或多个词的输出的音频文件。数字助理应用108还可以在文本中显示响应短语的一个或多个词。在生成文本输出或输出的音频文件时,响应选择器组件124可以使用策略132或在数据库126上维持的响应数据134来选择或识别响应短语。策略132可以特定于请求类型(例如,(位置查找操作或路径路由操作),并且可以为请求类型指定响应数据134。响应选择器组件124可以使用来自导航应用110的响应的请求类型来搜索用于生成输出的策略132。一旦策略132被识别,响应选择器组件124就可以将来自导航应用110的响应的内容与响应数据134进行匹配。响应于识别用于位置查找操作的策略132,响应选择器组件124可以将所显示的点位置的标识符和所显示的点位置的数量匹配到策略132的响应数据134中。响应于识别用于路径路由操作的策略132,响应选择器组件124可以将用于点位置的标识符和估计的行进时间匹配到策略132的响应数据134中。
现在参照图2,描绘了用于确定与图1所示的系统中的数字助理应用108进行接合的导航应用110的操作状态的示例数据流200的序列图。数据流200可以由以上结合图1描述的系统100或以下结合图6详细描述的系统600来实现或执行。
在客户端设备104上运行的数字助理应用108的局部实例可以经由传感器158检测输入音频信号,并且对该输入音频信号执行初始处理以生成请求205。请求205可以包括输入音频信号本身或使用机器学习技术在输入音频信号中识别的一个或多个词。客户端设备104可以将请求205传输到数据处理系统102。在数据处理系统102上运行的数字助理应用108的远程实例可以对请求205执行附加处理。在数据处理系统102上运行的NLP组件114可以解析请求205以确定请求205正在引用导航应用110要执行的功能。NLP组件114还可以使用语义分析技术从输入音频信号中识别与该功能相对应的请求和指称关键字。响应于该确定,导航界面组件116可以向运行导航应用110的导航器服务106(或另一客户端设备104)发送访问请求210。
在接收到访问请求210之后,在导航器服务106上运行的数字助理界面组件138可以识别通过导航应用110的视口可见的信息。该信息可以包括由通过导航应用110的视口可见的基于矢量的地图146表示的地理区域的点位置和点位置的标识符。数字助理界面组件138可以将通过导航应用110的视口可见的信息设置为参考框(reference frame)数据215。数字助理界面组件138可以依次将参考框数据215提供给数据处理系统102。
使用参考框数据215,NLP组件114可以使用语义分析技术来确定输入音频信号的指称关键字所指示的点位置。例如,NLP组件114可以将指称关键字与点位置的标识符进行比较。利用点位置的识别,在数据处理系统102上执行的直接动作处置器组件120可以生成直接动作数据结构220。直接动作数据结构220可以包括与要由导航应用110执行的功能(例如,位置查找或路径路由)相对应的请求类型。直接动作数据结构220还可以包括使用指称关键字识别的点位置。直接动作处置器组件120可以将直接动作数据结构220发送到执行导航应用110的导航器服务106(或客户端设备104)。
根据直接动作数据结构220,导航应用110可以执行导航引导过程。数字助理界面组件138可以解析直接动作数据结构220以识别请求类型。使用该请求类型,数字助理界面组件138可以调用在导航器服务106上运行的位置查找器组件140和路径路由器组件142之一。当请求类型被识别为与位置查找功能相对应时,位置查找器组件140可以呈现在通过导航应用110的视口显示的地理区域上的点位置(例如,经由突出显示)。当请求类型被识别为与路径路由功能相对应时,路径路由器组件142可以确定在行程起始位置(例如,客户端设备104)到与直接动作数据结构220的点位置相对应的目的地位置之间的行进路径。路径路由器组件142可以呈现在通过导航应用110的视口显示的地理区域上的行进路径的一部分。位置查找器组件140和路径路由器组件142可以各生成响应225以发送回到在数据处理系统102上执行的数字助理应用108。响应225可以包括响应短语以及其他参数。使用响应225,音频信号生成器组件122可以生成另一个响应230以提供给客户端设备104。一旦接收到,在客户端设备104上运行的数字助理应用108就可以将响应230作为在显示器上的文本或作为通过扬声器148输出的音频文件显示。
现在参照图3,描绘的是在左侧运行数字助理应用108并且在右侧在配置300下运行导航应用110的客户端设备104。执行数字助理应用108和导航应用110的客户端设备104可以相同或不同。
在左侧,在客户端设备104上运行的数字助理应用108可以经由传感器158检测输入音频信号。数字助理应用108可以应用自然语言处理技术来识别在检测到的输入音频信号中的一个或多个词。数字助理应用108可以将输出显示为文本内容项305,其包括从输入音频信号中识别的词“显示附近咖啡店”。数字助理应用108可以确定输入音频信号正在引用导航应用110的位置查找操作。数字助理应用108可以将词“显示”识别为请求,将“附近咖啡店”识别为指称关键字。响应于确定输入音频信号正在引用位置查找操作,数字助理应用108可以访问导航应用110。
在右侧,在客户端设备104上运行的导航应用110可以通过导航应用110的视口310显示基于矢量的地图146的一部分。导航应用110的视口310可以对应于客户端设备104的显示器的尺寸。基于矢量的地图146可以包括与建筑物相对应的一组点位置320,以及在代表运输网络(例如,所示的道路和铁路)的点位置320之中的一组路径。每个点位置320可以具有标识符,例如建筑物的名称或类别类型,例如“咖啡店”、“加油站”、“酒店”和“办公室”。导航应用110可以识别出现在视口310中的点位置320,例如具有标识符“咖啡店B”、“咖啡店C”和“办公室”的点位置320。导航应用110可以排除在视口310之外的点位置,例如具有标识符“咖啡店A”和“咖啡店D”的点位置320。导航应用110可以使用标记(例如,四角星)在基于矢量的地图146上显示客户端设备104的当前位置315。导航应用110可以将具有标识符的点位置提供给数字助理应用108。
通过从导航应用110中检索点位置,数字助理应用108可以执行语义分析技术,以识别指称关键字所指的是哪个点位置。在所示示例中,数字助理应用108可能已将“附近咖啡店”识别为指称关键字。使用语义分析技术,数字助理应用108可以确定“附近咖啡店”的指称关键字表示具有标识符“咖啡店B”和“咖啡店C”的点位置320。数字助理应用108可以确定指称关键字不表示具有标识符“办公室”的点位置320。通过识别具有标识符“咖啡店B”和“咖啡店C”的点位置320,数字助理应用108可以生成直接动作数据结构以提供给导航应用110。直接动作数据结构可以具有识别的点位置320和与导航应用110的位置查找操作相对应的请求类型。在接收到后,导航应用110可以解析直接动作数据结构以识别要执行的功能是位置查找操作。导航应用110还可以解析直接动作数据结构,以识别具有标识符“咖啡店B”和“咖啡店C”的点位置320。基于这些识别,导航应用110可以突出显示代表具有标识符“咖啡店B”和“咖啡店C”的点位置320的建筑物。另外,导航应用110可以生成响应并将其发送回数字助理应用108。响应可以包括响应短语“找到两家咖啡店”。辅助助理应用108可以继而在客户端设备104的屏幕上显示文本内容项325。
随后,数字助理应用108可以经由传感器158检测另一输入音频信号。数字助理应用108可以应用自然语言处理技术来识别在检测到的输入音频信号中的一个或多个词。数字助理应用108可以将输出显示为文本内容项330,其包括从输入音频信号中识别出的词“带我到左边的那家”。数字助理应用108可以确定输入音频信号正在引用导航应用110的路径路由操作。使用自然语言处理技术,数字助理应用108可以将词“带我”识别为请求,“那家”识别为指称关键字,并且“左侧”识别为辅助关键字。利用先前从导航应用110中检索到的点位置,数字助理应用108可以识别出指称关键字与辅助关键字一起表示具有出现在视口310左侧的标识符“咖啡店C”的点位置320。基于具有标识符“咖啡店C”的点位置320的识别,生成直接动作数据结构以提供给导航应用110。直接动作数据结构可以具有所识别的点位置320和与导航应用110的路径路由操作对应的请求类型。在接收到后,导航应用110可以解析直接动作数据结构以识别要执行的功能是路径路由操作。导航应用110还可以解析直接动作数据结构以识别具有标识符“咖啡店C”的点位置320,并且可以将点位置320设置为目的地位置。导航应用110还可以将客户端设备104的当前位置识别为起始位置。基于这些识别,导航应用110可以使用寻路算法通过基于矢量的地图146确定行进路径335。基于行进路径335,导航应用110可以确定估计的到达时间。导航应用110可以在基于矢量的地图146上渲染并显示行进路径335。此外,导航应用110可以生成响应并将其发送回数字助理应用108。响应可以包括响应短语“路径找到。估计15分钟。”数字助理应用108可以继而在客户端设备104的屏幕上显示文本内容项340。
图4图示了在联网的计算机环境中生成语音激活线程的示例方法400的框图。方法400可以由以上结合图1至图3描述的系统100或以下结合图6详细描述的系统600来实现或执行。该方法可以包括接收输入音频信号(405)。方法400可以包括解析输入音频信号(410)。方法400可以包括选择动作数据结构(415)。方法400可以包括扩展响应实体(420)。该方法可以包括填充动作数据结构(425)。方法400可以包括传输数字组件(430)。
方法400可以包括接收输入信号(405)。该方法可以包括由数据处理系统执行的NLP组件接收输入信号。输入信号可以是由第一客户端设备上的传感器检测到并传输到数据处理系统的输入音频信号。传感器可以是第一客户端设备的麦克风。例如,由包括一个或多个处理器和存储器的数据处理系统至少部分地执行的数字助理组件可以接收输入音频信号。输入音频信号可以包括由数字助理促进的对话。该对话可以包括一个或多个输入和输出。对话可以是基于音频的,基于文本的或音频和文本的组合。输入音频信号可以包括文本输入,或者是可以提供对话信息的其他类型的输入。数据处理系统可以接收与对话相对应的会话的音频输入。
方法400可以包括解析输入信号(410)。数据处理系统的NLP组件可以解析输入信号以识别请求。NLP组件可以识别输入信号中的至少一个实体。请求可以是一个或多个服务提供商设备可以满足的意图或请求。请求可以是对话短语的一部分。例如,请求可以是“好的,请叫车将我带回家。”NLP组件识别的实体可以是请求中的短语或项,这些短语或项映射到服务提供商设备在满足该请求时所请求的输入字段或类型。例如,提供汽车服务的服务提供商设备可以请求当前位置输入字段和目的地输入字段。继续上面的示例,NLP组件可以将项“家”映射到目的地输入字段。
方法400可以包括选择动作数据结构(415)。数据处理系统可以基于从输入信号解析的请求来选择动作数据结构。数据处理系统可以基于可以满足该请求的服务提供商设备来选择动作数据结构。动作数据结构可以是由服务提供商设备创建的数据结构或对象。服务提供商设备可以将动作数据结构提供给数据处理系统。动作数据结构可以指示服务提供商设备用来满足请求的字段、数据或信息。服务提供商设备可以标记一个或多个字段,以请求数据处理系统扩展为该字段返回的实体。当字段被标记为扩展时,数据处理系统可以设计并生成与客户端设备104的基于对话的数据交换,以检索用于标记字段的信息或数据,而不是服务提供商设备160设计基于对话的数据交换。
方法400可以包括扩展响应实体(420)。如果该实体不是服务提供商设备指定的格式,则数据处理系统可以确定映射到输入字段的实体需要扩展。继续以上示例,NLP组件可以确定“家”是映射到目的地的实体。直接动作处置器组件可以确定更新动作数据结构,以将实体“家”包括在目的地字段中。直接动作处置器组件可以确定响应实体的格式与目的地字段的格式不匹配。例如,目的地字段可以具有请求街道地址、城市、州和邮政编码的对象的格式。检测到响应实体的格式与字段的格式之间的不匹配,数据处理系统可以将实体扩展为街道地址、城市、州和邮政编码格式。例如,数据处理系统可以查找终端用户提供给数据处理系统的数据作为终端用户的“家”地址。数据处理系统可以基于扩展策略来扩展实体。扩展策略可以指示数据处理系统是否具有扩展项的权限,或者可以指示哪种终端用户或客户端计算设备所提供的数据可以包括在扩展实体中。
数据处理系统可以基于来自服务提供商设备的请求来扩展实体。例如,数据处理系统可以利用未扩展实体来生成第一动作数据结构。数据处理系统可以将第一动作数据结构传输到服务提供商设备以进行处理来满足请求。如果服务提供商设备无法处理或理解动作数据结构的一个或多个字段中的数据,则服务提供商设备可以将动作数据结构(或其一部分)返回到数据处理系统。例如,服务提供商设备可以尝试处理目的地字段中的“家”实体,然后在服务提供商设备确定其无法处理或理解该实体之后,请求数据处理系统扩展“家”实体。
方法400可以包括填充动作数据结构(425)。直接动作处置器组件可以利用扩展实体填充动作数据结构。直接动作处置器组件可以利用实体填充动作数据结构。例如,动作数据结构可以是存储实体或扩展实体的对象。也可以将填充动作数据结构称为更新动作数据结构。
方法400可以包括传输动作数据结构(430)。数据处理系统可以将填充的动作数据结构传输到服务提供商设备。一旦接收到动作数据结构,服务提供商设备就可以满足该请求或从数据处理系统或客户端计算设备请求附加信息。
现在参照图5,描绘了在联网的计算机环境中的多个应用之间进行接合的示例方法500。方法500可以由以上结合图1至图3描述的系统100或以下结合图6详细描述的系统600来实现或执行。在简要概述中,方法500可以包括检索通过视口可见的点位置(505)。方法500可以包括识别具有与指称词相对应的标识符的点位置(510)。方法500可以包括生成具有标识符的动作数据结构(515)。方法500可以包括启动导航引导过程(520)。
方法500可以包括检索通过视口可见的点位置(505)。执行数字助理应用的数据处理系统(例如,数据处理系统102)可以使用自然语言处理技术来识别从输入音频信号中解析出的请求和指称词。数据处理系统可以确定该请求正在引用在客户端设备上运行的导航应用的功能。该功能可以包括位置查找功能和路径路由功能。响应于确定该请求正在引用导航应用的功能,数据处理系统可以访问导航应用以检索在通过导航应用的视口显示的地理区域上的点位置。每个点位置可以对应于地理区域上的特征,并且可以具有标识符。
方法500可以包括识别具有与指称词相对应的标识符的点位置(510)。通过检索通过导航应用的视口显示的点位置,数据处理系统可以识别输入音频信号的指称词所指向的点位置。数据处理系统可以使用语义分析技术来识别指称词所指示的与点位置相对应的标识符。语义分析技术可以包括使用语义知识图,执行直示分析以及生成n元语法等。
方法500可以包括生成具有标识符的动作数据结构(515)。数据处理系统可以根据模板使用所识别的请求和点位置来生成动作数据结构。该请求可以对应于导航应用的功能之一。点位置可以包括与从输入音频信号中解析出的指称词相对应的一个。动作数据结构还可以包括账户标识符和认证凭证等。
方法500可以包括启动导航引导过程(520)。数据处理系统可以将动作数据结构发送到导航应用以启动导航引导过程。导航引导过程可以包括位置查找操作和路径路由操作。位置查找操作可以包括呈现或显示与动作数据结构中的标识符相对应的点位置的图形表示。路径路由操作可以包括确定并呈现在当前位置和目的地位置之间的行进路线,该目的地位置对应于与动作数据结构中的标识符相对应的点位置。
图6是示例计算机系统600的框图。计算机系统或计算设备600可以包括或用于实现系统100或其组件,例如数据处理系统102。计算系统600包括总线605或其他用于传递信息的通信组件和处理器610或耦合到总线605以处理信息的处理电路。计算系统600还可包括一个或多个处理器610或耦合到总线以处理信息的处理电路。计算系统600还包括主存储器615,例如随机存取存储器(RAM)或其他动态存储设备,其耦合到总线605,用于存储将由处理器610执行的信息和指令。主存储器615可以是或包括数据存储库126或148。主存储器615也可以用于在处理器610执行指令期间存储位置信息,临时变量或其他中间信息。计算系统600还可包括只读存储器(ROM)620或耦合到总线605的其他静态存储设备,用于存储处理器610的静态信息和指令。诸如固态设备,磁盘或光盘的存储设备625可以耦合到总线605来持续地存储信息和指令。存储设备625可以包括数据存储库126或144或作为其一部分。
计算系统600可以经由总线605耦合到显示器635,例如液晶显示器或有源矩阵显示器,以向用户显示信息。输入设备630,例如包括字母数字和其他键的键盘,可以耦合到总线605,用于将信息和命令选择传递给处理器610。输入设备630可以包括触摸屏显示器635。输入设备630可以还包括光标控件,例如鼠标,轨迹球或光标方向键,用于将方向信息和命令选择传递给处理器610,并用于控制显示器635上的光标移动。例如,显示器635可以是数据处理系统102,客户端设备104或图1的其他组件的一部分。
此处所描述的过程、系统和方法可以由计算系统600响应于处理器610执行包含在主存储器615中的指令的布置来实现。这些指令可以从另一计算机可读介质如存储设备625读入主存储器615中。执行包含在主存储器615中的指令的布置使计算系统600执行本文所述的说明性过程。也可以采用在多处理布置中的一个或多个处理器来执行包含在主存储器615中的指令。硬连线电路可以用来代替软件指令或与本文所述的系统和方法结合。本文描述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管在图6中描述了示例计算系统,但是包括本说明书中描述的操作的主题可以以其他类型的数字电子电路或以计算机软件,固件或硬件来实现,包括本说明书中公开的结构及其等同结构,或者以它们中的一种或多种的组合来实现。
对于此处讨论的系统收集有关用户的个人信息或可以利用个人信息的情况,可以为用户提供以下机会:控制是否程序或特征可以收集个人信息(例如,有关用户的社交网络,社交行动或活动;用户的偏好;或用户的位置的信息),或控制是否或如何从内容服务器或与用户更相关的其他数据处理系统接收内容。此外,某些数据在存储或使用之前可能会以一种或多种方式匿名化,以便在生成参数时删除个人可识别信息。例如,可以对用户的身份进行匿名化,以便无法确定该用户的任何个人可识别信息,或者可以在获取位置信息的情况下概况用户的地理位置(例如,城市,邮政编码或州级信息),以致不能确定用户的特定位置。因此,用户可以控制如何收集有关他或她的信息以及如何由内容服务器使用。
本说明书中描述的主题和操作可以在数字电子电路或在计算机软件,固件或硬件中实现,包括在本说明书中公开的结构及其等同结构,或以它们的一种或多种的组合来实现。本说明书中描述的主题可以被实现为一个或多个计算机程序,例如,计算机程序指令的一个或多个电路,被编码在一个或多个计算机存储介质上,以由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电,光或电磁信号,其被生成以对信息进行编码而传输到合适的接收器设备以由数据处理设备执行。计算机存储介质可以是或包括在计算机可读存储设备,计算机可读存储基板,随机或串行访问存储器阵列或设备,或它们中的一个或多个的组合中。尽管计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD,磁盘或其他存储设备)或包含在其中。本说明书中描述的操作可以被实现为由数据处理设备对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理系统”,“计算设备”,“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,作为实例包括可编程处理器,计算机,芯片上的系统或多个系统或上述的组合。装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件,协议栈,数据库管理系统,操作系统,跨平台运行环境,虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,例如网络服务、分布式计算和网格计算基础结构。系统100的组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序,软件,软件应用,应用,脚本或代码)可以用任何形式的编程语言(包括编译或解释语言,声明性或过程语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块,组件,子例程,对象或适合在计算环境中使用的其他单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),在专用于所讨论程序的单个文件中或在多个相配合的文件(例如,存储一个或多个模块,子程序或部分代码的文件)中。可以将计算机程序部署为在一个计算机上执行,或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序(例如,数据处理系统102的组件)的一个或多个可编程处理器执行,以通过操作输入数据并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器,介质和存储设备,作为实例包括半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
可以在计算系统中实现本文描述的主题,该计算机系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可通过该浏览器与本说明书中描述的主题的实现进行交互),或者一种或多种此类后端、中间件或前端组件的组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),网间网络(例如Internet)和对等网络(例如ad hoc对等网络)。
诸如系统100或系统500的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络(例如,网络156)进行交互。客户端和服务器之间的关系是借助在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施方式中,服务器将数据(例如,表示内容项的数据包)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从该用户接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从客户端设备104或导航器服务106接收的数据)。
尽管在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或先后顺序来执行这样的操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同的顺序执行。
各个系统组件的分离不需要在所有实施方式中都分离,并且所描述的程序组件可以被包括在单个硬件或软件产品中。例如,NLP组件114和直接动作处置器组件122可以是单个组件,应用或程序,或者是具有一个或多个处理电路或数据处理系统102的一个或多个服务器的一部分的逻辑设备。
现在已经描述了一些说明性的实施方式,很明显,前述内容是说明性的而不是限制性的,已经通过实例的方式给出。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是可以以其他方式组合那些动作和那些要素来实现相同的目标。结合一个实现方式讨论的动作,元件和特征不旨在被排除在其他实现方式中的类似角色之外。
本文使用的措词和术语是出于描述的目的,并且不应被认为是限制性的。本文中“包括”,“包含”,“具有”,“含有”,“涉及”,“特征是”,“特征在于”及其变体的使用意在涵盖其后列出的项目,等同物,以及额外项目,以及由其后列出的项目排他地组成的替代实施方式。在一种实施方式中,本文描述的系统和方法由一个所描述的要素、动作或组件,一个以上所描述的要素、动作或组件的每种组合或者全部组成。
对本文中以单数形式提及的系统和方法的实施方式、要素或动作的任何引用也可以涵盖包括多个这些要素的实施方式,并且在本文中以复数形式对任何实施方式、要素或动作的任何引用也可以涵盖仅包含一个要素的实施方式。单数或复数形式的引用并不旨在将当前公开的系统或方法,它们的组件,动作或要素限制为单个或多个配置。对基于任何信息,行为或要素的任何行为或要素的引用可以包括其中该行为或要素至少部分基于任何信息,行为或要素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”,“一些实施方式”,“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。如本文所使用的此类术语不一定全部指代相同的实施方式。可采用与本文公开的方面和实施方式一致的任何方式,将任何实施方式包含地或者排他地与任何其他实施方式相结合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述术语中的单个,多于一个以及全部中的任何一种。对“A”和“B”中的至少一个引用及可以包括仅“A”,仅“B”以及“A”和“B”两者。结合“包含”或其他开放式术语使用的此类引用可以包括其他项目。
在附图、详细描述或任何权利要求中的技术特征之后附有附图标记时,已经包括了该附图标记以增加附图、详细描述和权利要求的可理解性。因此,包含附图标记或它们不存在都不会对任何权利要求要素的范围有任何限制作用。
在此描述的系统和方法可以以其他特定形式来体现而不背离其特征。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此,本文所描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且其中涵盖了在权利要求的等同含义和范围内的改变。
Claims (20)
1.一种在联网的计算机环境中的多个应用之间进行接合的系统,包括:
在具有一个或多个处理器的数据处理系统上执行的导航界面组件,该导航界面组件访问在第一客户端设备上执行的导航应用,以检索在与所述导航应用的视口中显示的地理区域相对应的参考框内的多个点位置,所述多个位置中的每个点位置具有标识符;
在所述数据处理系统上执行的自然语言处理器组件,该自然语言处理器组件用于:
接收由所述第一客户端设备和第二客户端设备中的至少一个的传感器检测到的输入音频信号;
解析所述输入音频信号以识别请求和指称词;和
响应于对所述请求的识别,基于从所述输入音频信号中解析出的所述指称词和所述点位置的所述标识符,从所述参考框内的所述多个点位置中识别点位置;和
在所述数据处理系统上执行的动作处置器组件,该动作处置器组件用于:
生成动作数据结构,所述动作数据结构包括响应于对所述输入音频信号的检测而识别的所述点位置;和
将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用使用所述点位置来启动导航引导过程,其中,所述导航界面组件被配置为响应于对所述请求的识别而访问在所述第一客户端设备上执行的所述导航应用以检索所述多个点位置。
2.根据权利要求1所述的系统,其中:
所述导航界面组件进一步被配置用于:访问所述导航应用以确定和与所述输入音频信号的接收同时显示的所述地理区域相对应的所述参考框的第一部分,以及基于从惯性运动单元获取的所述第一客户端设备的速度,确定与先前在所述视口中显示的地理区域相对应的所述参考框的第二部分。
3.根据权利要求1所述的系统,其中:
所述自然语言处理器组件进一步被配置用于:基于使用来自惯性运动单元的数据确定的所述第一客户端设备和所述第二客户端设备中的至少一个的行进方向,从所述参考框内的所述多个点位置中识别点位置。
4.根据权利要求1所述的系统,其中:
所述导航界面组件进一步被配置用于:访问所述导航应用以检索所述参考框内的所述多个点位置,所述参考框具有与所述地理区域和第二地理区域相对应的第一部分,所述第二地理区域在所述导航引导过程的路径路由操作的目的地位置周围的定义的邻近度内;并且
所述自然语言处理器组件进一步被配置用于:
确定所述指称词与和所述第二地理区域相对应的第二部分相关而与和所述地理区域相对应的所述第一部分不相关;和
基于所述指称词与所述第二部分相关的确定,从该部分内的所述多个点位置中识别点位置。
5.根据权利要求1所述的系统,其中:
所述导航界面组件进一步被配置用于:访问所述导航应用以检索与所述地理区域相对应的所述参考框内的所述第一客户端设备的第一位置标识符以及与所述参考框内的所述多个点位置相对应的多个第二位置标识符;并且
所述自然语言处理器组件进一步被配置用于:基于所述第一客户端设备的所述第一位置标识符和与所述多个点位置相对应的所述多个第二位置标识符,从所述多个点位置中识别点位置。
6.根据权利要求1所述的系统,其中:
所述导航界面组件进一步被配置用于:访问所述导航应用以检索在接收到所述输入音频信号之前在定义的时间窗口内接收到的多个搜索项;并且
所述自然语言处理器组件进一步被配置用于:
针对所述多个点位置中的每个点位置以及所述多个搜索项中的每个搜索项,使用语义知识图确定该点位置的所述标识符与该搜索项之间的语义距离;和
针对所述点位置的识别,基于所述多个标识符和所述多个搜索项之间的所述多个语义距离,从所述多个点位置中选择点位置的子集。
7.根据权利要求1所述的系统,其中,所述自然语言处理器组件进一步被配置用于:
解析所述输入音频信号,以识别与所述指称词不同的辅助词;
基于所述辅助词来确定所述导航应用的所述视口的子集区域;和
针对所述点位置的识别,从与基于所述辅助词确定的所述视口的所述子集区域相对应的所述多个点位置中选择点位置的子集。
8.根据权利要求1所述的系统,其中,所述自然语言处理器组件进一步被配置用于:
接收由所述第一客户端设备和所述第二客户端设备中的至少一个的所述传感器检测到的第二输入音频信号;
确定对所述第二输入音频信号的接收和对所述输入音频信号的接收之间经过的时间小于定义的阈值;
响应于对所经过的时间小于定义的阈值的确定,解析所述第二输入音频信号以识别第二指称词;
针对所述点位置的识别,基于所述第二指称词从所述多个点位置中选择点位置的子集。
9.根据权利要求1所述的系统,其中,所述自然语言处理器组件进一步被配置用于:
针对所述多个点位置中的每个点位置,确定所述指称词与该点位置的所述标识符之间的索引度量,所述索引度量指示所述指称词表示该点位置的所述标识符的可能性;和
基于用于对应的多个点位置的所述多个索引度量,从所述参考框内的所述多个点位置中识别点位置。
10.根据权利要求1所述的系统,其中,所述自然语言处理器组件进一步被配置用于:
针对所述多个点位置中的每个点位置,使用语义知识图确定所述指称词与该点位置的所述标识符之间的语义距离;和
基于用于对应的多个点位置的所述多个语义距离,从所述参考框内的所述多个点位置中识别点位置。
11.根据权利要求1所述的系统,其中:
所述自然语言处理器组件进一步被配置用于基于所述请求来确定与由所述导航应用要执行的多个操作中的位置查找器操作相对应的请求类型;并且
所述动作处置器组件进一步被配置用于生成包括所述请求类型的所述动作数据结构,并且将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用启动与所述请求类型相对应的所述导航引导过程的所述位置查找器操作来在所述视口中显示的所述地理区域中呈现所述点位置。
12.根据权利要求1所述的系统,其中:
所述自然语言处理器组件进一步被配置用于基于所述请求来确定与由所述导航应用要执行的多个操作中的路径路由操作相对应的请求类型;和
所述动作处置器组件进一步被配置用于生成包括所述请求类型的所述动作数据结构,并且将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用启动与所述请求类型相对应的所述导航引导过程的所述路径路由操作来识别到作为目的地位置的所述点位置的行进路径。
13.根据权利要求1-12中的任一项所述的系统,其中,所述动作处置器组件进一步被配置用于从执行用于文本输出或输出的音频信号中的至少一个的导航应用的所述第一客户端设备接收响应。
14.一种在联网的计算机环境中的多个应用之间进行接合的方法,包括:
通过具有一个或多个处理器的数据处理系统访问在第一客户端设备上执行的导航应用,以检索在与所述导航应用的视口中显示的地理区域相对应的参考框内的多个点位置,所述多个位置中的每个点位置具有标识符;
通过所述数据处理系统接收所述第一客户端设备和第二客户端设备中的至少一个的传感器检测到的输入音频信号;
通过所述数据处理系统解析所述输入音频信号,以识别请求和指称词;
响应于识别所述请求,通过所述数据处理系统基于从所述输入音频信号中解析出的所述指称词和所述点位置的所述标识符,从所述参考框内的所述多个点位置中识别点位置;
通过所述数据处理系统生成动作数据结构,所述动作数据结构包括响应于对所述输入音频信号的检测而识别的所述点位置;和
通过所述数据处理系统将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用使用所述点位置来启动导航引导过程,其中,访问在所述第一客户端设备上执行的所述导航应用以检索所述多个点位置是响应于对所述请求的识别而执行的。
15.根据权利要求14所述的方法,进一步包括:
通过所述数据处理系统基于从惯性运动单元获取的数据来识别所述第一客户端设备的所测量的速度;和
通过所述数据处理系统访问所述导航应用以确定和与所述输入音频信号的接收同时显示的所述地理区域相对应的所述参考框的第一部分,以及基于所述第一客户端设备的所测量的速度来确定与先前在所述视口中显示的地理区域相对应的所述参考框的第二部分。
16.根据权利要求14所述的方法,进一步包括:
通过所述数据处理系统访问所述导航应用以检索所述参考框内的所述多个点位置,所述参考框具有与所述地理区域和第二地理区域相对应的第一部分,所述第二地理区域在所述导航引导过程的路径路由操作的目的地位置周围的定义的邻近度内;
通过所述数据处理系统确定所述指称词与和所述第二地理区域相对应的第二部分相关而与和所述地理区域相对应的所述第一部分不相关;和
基于所述指称词与所述第二部分相关的确定,通过所述数据处理系统从该部分内的所述多个点位置中识别点位置。
17.根据权利要求14所述的方法,进一步包括:
通过所述数据处理系统访问所述导航应用以检索与所述地理区域相对应的所述参考框内的所述第一客户端设备的第一位置标识符以及与所述参考框内的所述多个点位置相对应的多个第二位置标识符;和
基于所述第一客户端设备的所述第一位置标识符和与所述多个点位置相对应的所述多个第二位置标识符,通过所述数据处理系统从所述多个点位置中识别点位置。
18.根据权利要求14所述的方法,进一步包括:
通过所述数据处理系统访问所述导航应用以检索在接收到所述输入音频信号之前在定义的时间窗口内接收到的多个搜索项;
针对所述多个点位置中的每个点位置以及所述多个搜索项中的每个搜索项,通过所述数据处理系统使用语义知识图确定该点位置的所述标识符与该搜索项之间的语义距离;和
针对识别点位置,基于所述多个标识符和所述多个搜索项之间的所述多个语义距离,通过所述数据处理系统从所述多个点位置中选择点位置的子集。
19.根据权利要求14所述的方法,进一步包括:
基于所述请求,通过所述数据处理系统确定与由所述导航应用要执行的多个操作中的位置查找器操作相对应的请求类型;和
通过所述数据处理系统生成包括所述请求类型的所述动作数据结构,并且将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用启动与所述请求类型相对应的所述导航引导过程的所述位置查找器操作来在所述视口中显示的所述地理区域中呈现所述点位置。
20.根据权利要求14至19中的任一项所述的方法,进一步包括:
基于所述请求,通过所述数据处理系统确定与由所述导航应用要执行的多个操作中的路径路由操作相对应的请求类型;和
通过所述数据处理系统生成包括所述请求类型的所述动作数据结构,并且将所述动作数据结构传输到所述第一客户端设备,以使所述导航应用启动与所述请求类型相对应的所述导航引导过程的所述路径路由操作来识别到作为目的地位置的所述点位置的行进路径。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862690049P | 2018-06-26 | 2018-06-26 | |
US62/690,049 | 2018-06-26 | ||
PCT/US2018/044756 WO2020005304A1 (en) | 2018-06-26 | 2018-08-01 | Interfacing between digital assistant applications and navigation applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110869706A CN110869706A (zh) | 2020-03-06 |
CN110869706B true CN110869706B (zh) | 2023-10-27 |
Family
ID=63174419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880028321.9A Active CN110869706B (zh) | 2018-06-26 | 2018-08-01 | 数字助理应用和导航应用之间的接合 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210199458A1 (zh) |
EP (1) | EP3607274B1 (zh) |
JP (1) | JP7176011B2 (zh) |
KR (1) | KR102569372B1 (zh) |
CN (1) | CN110869706B (zh) |
WO (1) | WO2020005304A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842731B2 (en) * | 2020-01-06 | 2023-12-12 | Salesforce, Inc. | Method and system for executing an action for a user based on audio input |
KR20210089295A (ko) * | 2020-01-07 | 2021-07-16 | 엘지전자 주식회사 | 인공지능 기반의 정보 처리 방법 |
US11240366B2 (en) * | 2020-02-03 | 2022-02-01 | Microsoft Technology Licensing, Llc | Digital assistant for emergency calling |
WO2021163707A1 (en) * | 2020-02-14 | 2021-08-19 | Balcony Labs Inc. | System and process for selective location-based anonymity and privacy |
KR20220059629A (ko) * | 2020-11-03 | 2022-05-10 | 현대자동차주식회사 | 차량 및 그의 제어방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009264796A (ja) * | 2008-04-22 | 2009-11-12 | Clarion Co Ltd | 情報表示装置及びその制御方法並びに制御プログラム |
CN102804181A (zh) * | 2009-10-28 | 2012-11-28 | 谷歌公司 | 导航查询 |
JP2014065359A (ja) * | 2012-09-25 | 2014-04-17 | Fujitsu Ten Ltd | 表示制御装置、表示システム及び表示制御方法 |
WO2016200381A1 (en) * | 2015-06-10 | 2016-12-15 | Nuance Communications, Inc. | Motion adaptive speech recognition for enhanced voice destination entry |
EP3182303A1 (en) * | 2015-12-18 | 2017-06-21 | HERE Global B.V. | Method and apparatus for providing natural language input in a cartographic system |
CN107331389A (zh) * | 2008-03-07 | 2017-11-07 | 谷歌公司 | 基于场境的语音识别语法选择方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4093394B2 (ja) | 2001-11-08 | 2008-06-04 | 株式会社デンソー | 音声認識装置 |
US8700655B2 (en) * | 2010-11-08 | 2014-04-15 | At&T Intellectual Property I, L.P. | Systems, methods, and computer program products for location salience modeling for multimodal search |
US9818401B2 (en) | 2013-05-30 | 2017-11-14 | Promptu Systems Corporation | Systems and methods for adaptive proper name entity recognition and understanding |
KR101947229B1 (ko) | 2013-06-08 | 2019-02-12 | 애플 인크. | 2개 이상의 디스플레이들을 동기화하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스 |
EP3001329A1 (en) | 2014-09-25 | 2016-03-30 | Fujitsu Limited | Method, controller, program and data storage system for performing reconciliation processing |
-
2018
- 2018-08-01 EP EP18753524.0A patent/EP3607274B1/en active Active
- 2018-08-01 JP JP2020569967A patent/JP7176011B2/ja active Active
- 2018-08-01 KR KR1020217002453A patent/KR102569372B1/ko active IP Right Grant
- 2018-08-01 US US16/076,193 patent/US20210199458A1/en active Pending
- 2018-08-01 WO PCT/US2018/044756 patent/WO2020005304A1/en unknown
- 2018-08-01 CN CN201880028321.9A patent/CN110869706B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107331389A (zh) * | 2008-03-07 | 2017-11-07 | 谷歌公司 | 基于场境的语音识别语法选择方法和系统 |
JP2009264796A (ja) * | 2008-04-22 | 2009-11-12 | Clarion Co Ltd | 情報表示装置及びその制御方法並びに制御プログラム |
CN102804181A (zh) * | 2009-10-28 | 2012-11-28 | 谷歌公司 | 导航查询 |
JP2014065359A (ja) * | 2012-09-25 | 2014-04-17 | Fujitsu Ten Ltd | 表示制御装置、表示システム及び表示制御方法 |
WO2016200381A1 (en) * | 2015-06-10 | 2016-12-15 | Nuance Communications, Inc. | Motion adaptive speech recognition for enhanced voice destination entry |
EP3182303A1 (en) * | 2015-12-18 | 2017-06-21 | HERE Global B.V. | Method and apparatus for providing natural language input in a cartographic system |
Also Published As
Publication number | Publication date |
---|---|
WO2020005304A1 (en) | 2020-01-02 |
JP7176011B2 (ja) | 2022-11-21 |
KR20210025076A (ko) | 2021-03-08 |
CN110869706A (zh) | 2020-03-06 |
KR102569372B1 (ko) | 2023-08-22 |
US20210199458A1 (en) | 2021-07-01 |
JP2021529938A (ja) | 2021-11-04 |
EP3607274A1 (en) | 2020-02-12 |
EP3607274B1 (en) | 2021-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200258508A1 (en) | Interfacing between digital assistant applications and navigation applications | |
CN110869706B (zh) | 数字助理应用和导航应用之间的接合 | |
US10380160B2 (en) | Dynamic language model | |
US9715233B1 (en) | System and method for inputting a second taxi-start location parameter for an autonomous vehicle to navigate to whilst reducing distraction | |
US10268756B2 (en) | Method and apparatus for providing natural language input in a cartographic system | |
US10030988B2 (en) | Mobile search based on predicted location | |
JP2022071013A (ja) | 音声駆動コンピューティングインフラストラクチャによるグラフィカルユーザインターフェースレンダリング管理 | |
US20240087560A1 (en) | Adaptive interface in a voice-activated network | |
JP2007219655A (ja) | 施設情報管理システム、施設情報管理方法および施設情報管理プログラム | |
US20190005055A1 (en) | Offline geographic searches | |
Hu et al. | DLRGeoTweet: A comprehensive social media geocoding corpus featuring fine-grained places | |
Athira et al. | Three dimensional geo-tweet visualization system for spatio-temporal events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |