CPC G06N 5/02 (2013.01) [G06F 9/541 (2013.01); G06F 9/547 (2013.01)] | 16 Claims |
1. A method for providing artificial intelligence services comprising:
receiving a first unfulfilled service request from a user interaction application executing on a user device, the user interaction application running in a first type of operating system;
generating, from the first unfulfilled service request, an unfulfilled artificial intelligence service request and an unfulfilled non-artificial intelligence service request, wherein the unfulfilled artificial intelligence service request is for language understanding to process speech of the user into a text command that can be processed by the user interaction application, and the unfulfilled non-artificial intelligence service request does not require artificial intelligence to fulfill;
transmitting the unfulfilled artificial intelligence service request to an artificial intelligence service module to fulfill the unfulfilled artificial intelligence service request which generates a fulfilled artificial intelligence service request, wherein the fulfilled artificial intelligence service request is a text command that can be processed by the user interaction application to generate an audio or visual response;
concurrent with transmitting the unfulfilled artificial intelligence service request to an artificial intelligence service module, transmitting the unfulfilled non-artificial intelligence service request to a back-end server to fulfill the unfulfilled non-artificial intelligence service request, which generates a fulfilled non-artificial intelligence service request;
combining, with an artificial intelligence proxy, the fulfilled artificial intelligence service request and the fulfilled non-artificial intelligence service request into a first fulfilled service request;
transmitting from the artificial intelligence proxy the first fulfilled service request to the user interaction application;
presenting the first fulfilled service request to the user as the audio or visual response on the user device on which the user interaction application is executing;
determining if the first fulfilled service request is compatible with and able to operate in the first type of operating system and the user interaction application;
if the first fulfilled service request is compatible with and able to operate in the first type of operating system and the user interaction application, transmitting the first fulfilled service request to the user interaction application; and
if the first fulfilled service request is not compatible with or able to operate in the first type of operating system and the user interaction application, converting the first fulfilled service request into an alternative fulfilled service request that is compatible with and able to operate in the first type of operating system and the user interaction application and transmitting the alternative fulfilled service request to the user interaction application.
|