System and method to operate a drone
First Claim
1. A method for controlling one or more drones to respond to a request for information, comprising;
- receiving a natural language request for information about a spatial location;
parsing the natural language request into a plurality of data requests;
searching for existing sources for the plurality of data requests;
determining that there are one or more existing sources for one or more of the plurality of data requests;
analyzing the existing sources to obtain first data responsive to the plurality of data requests;
determining that there are no existing sources for two or more of the plurality of data requests and identifying the data requests with no existing source as missing data requests;
configuring a flight plan for one or more drones over the spatial location based on the plurality of data requests and based on the missing data requests;
controlling one or more drones to fly over the spatial location according to the configured flight plan to obtain a plurality of data types from the spatial location based on the plurality of data requests and based on the missing data requests;
extracting a plurality of data points responsive to the plurality of data requests from the plurality of data types obtained by the one or more drones;
obtaining labels from a user for one or more of the plurality of data points;
determining whether there are unlabeled data points;
predicting labels for the unlabeled data points from a learning algorithm using the labels obtained from the user;
determining the predicted labels are true labels for the unlabeled data points;
analyzing the responsive data to provide an answer to the natural language request for information, the analyzing including combining the first data, the user labeled data points and the true labeled data points to provide an answer to the first natural language request for information.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for controlling a drone includes receiving a natural language request for information about a spatial location, parsing the natural language request into data requests, configuring a flight plan and controlling one or more drones to fly over the spatial location to obtain data types based on the data requests, and extracting and analyzing data to answer the request. The method can include extracting data points from the data types, obtaining labels from a user for one or more of the data points, predicting labels for unlabeled data points from a learning algorithm using the labels obtained from the user, determining the predicted labels are true labels for the unlabeled data points and combining the extracted data, the user labeled data points and the true labeled data points to answer the request for information. The learning algorithm may be active learning using a support vector machine.
-
Citations
17 Claims
-
1. A method for controlling one or more drones to respond to a request for information, comprising;
-
receiving a natural language request for information about a spatial location; parsing the natural language request into a plurality of data requests; searching for existing sources for the plurality of data requests; determining that there are one or more existing sources for one or more of the plurality of data requests; analyzing the existing sources to obtain first data responsive to the plurality of data requests; determining that there are no existing sources for two or more of the plurality of data requests and identifying the data requests with no existing source as missing data requests; configuring a flight plan for one or more drones over the spatial location based on the plurality of data requests and based on the missing data requests; controlling one or more drones to fly over the spatial location according to the configured flight plan to obtain a plurality of data types from the spatial location based on the plurality of data requests and based on the missing data requests; extracting a plurality of data points responsive to the plurality of data requests from the plurality of data types obtained by the one or more drones; obtaining labels from a user for one or more of the plurality of data points; determining whether there are unlabeled data points; predicting labels for the unlabeled data points from a learning algorithm using the labels obtained from the user; determining the predicted labels are true labels for the unlabeled data points; analyzing the responsive data to provide an answer to the natural language request for information, the analyzing including combining the first data, the user labeled data points and the true labeled data points to provide an answer to the first natural language request for information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory article of manufacture tangibly embodying computer readable instructions, which when implemented, cause a computer to perform the steps of a method for controlling one or more drones to respond to a request for information, comprising;
-
receiving a natural language request for information about a spatial location; parsing the natural language request into a plurality of data requests; searching for existing sources for the plurality of data requests; determining that there are one or more existing sources for one or more of the plurality of data requests; analyzing the existing sources to obtain first data responsive to the plurality of data requests; determining that there are no existing sources for two or more of the plurality of data requests and identifying the data requests with no existing source as missing data requests; configuring a flight plan for one or more drones over the spatial location based on the plurality of data requests and based on the missing data requests; controlling one or more drones to fly over the spatial location according to the configured flight plan to obtain a plurality of data types from the spatial location based on the plurality of data requests and based on the missing data requests; extracting a plurality of data points responsive to the plurality of data requests from the plurality of data types obtained by the one or more drones; obtaining labels from a user for one or more of the plurality of data points; determining whether there are unlabeled data points; predicting labels for the unlabeled data points from a learning algorithm using the labels obtained from the user; determining the predicted labels are true labels for the unlabeled data points; analyzing the responsive data to provide an answer to the natural language request for information, the analyzing including combining the first data, the user labeled data points and the true labeled data points to provide an answer to the first natural language request for information. - View Dependent Claims (11, 12, 13)
-
-
14. A computer system for controlling one or more drones to respond to a request for information, comprising:
-
one or more computer processors; one or more non-transitory computer-readable storage media; program instructions, stored on the one or more non-transitory computer-readable storage media, which when implemented by the one or more processors, cause the computer system to perform the steps of; receiving a natural language request for information about a spatial location; parsing the natural language request into a plurality of data requests; searching for existing sources for the plurality of data requests; determining that there are one or more existing sources for one or more of the plurality of data requests; analyzing the existing sources to obtain first data responsive to the plurality of data requests; determining that there are no existing sources for two or more of the plurality of data requests and identifying the data requests with no existing source as missing data requests; configuring a flight plan for one or more drones over the spatial location based on the plurality of data requests and based on the missing data requests; controlling one or more drones to fly over the spatial location according to the configured flight plan to obtain a plurality of data types from the spatial location based on the plurality of data requests and based on the missing data requests; extracting a plurality of data points responsive to the plurality of data requests from the plurality of data types obtained by the one or more drones; obtaining labels from a user for one or more of the plurality of data points; determining whether there are unlabeled data points; predicting labels for the unlabeled data points from a learning algorithm using the labels obtained from the user; determining the predicted labels are true labels for the unlabeled data points; analyzing the responsive data to provide an answer to the natural language request for information, the analyzing including combining the first data, the user labeled data points and the true labeled data points to provide an answer to the first natural language request for information. - View Dependent Claims (15, 16, 17)
-
Specification