Search

US-12619672-B2 - Artificial intelligence geospatial search

US12619672B2US 12619672 B2US12619672 B2US 12619672B2US-12619672-B2

Abstract

An artificial intelligence (AI) search system can build or include one or more knowledge graphs and databases of indexes. The knowledge graphs can encode information and relationships from a variety of domains. The databases of indexes can store pointers to public and/or private data and raw content in those domains. An example of a domain includes fields requiring or handling geospatial data. The AI search system can receive a user query and process the query with AI models, including language models and knowledge graphs to identify data matching the intention and context of the user query. The AI search system can present relevant results in an assortment of user interfaces.

Inventors

  • Jesse Daniel Kallman
  • Martice Eldridge Nicks, III

Assignees

  • DANTI AI, INC.

Dates

Publication Date
20260505
Application Date
20231110

Claims (20)

  1. 1 . A method comprising: performing a data crawling process for publicly accessible data comprising: indexing geospatial data from multiple publicly available Internet-based data sources and from non-publicly available data sources and storing an index of the geospatial data from the multiple publicly available Internet-based data sources and the geospatial data from non-publicly available data sources, wherein the index includes multiple uniform resource locators to various Internet-based data sources; determining attributes of the geospatial data; and appending data to the index, wherein the data comprises the determined attributes of the geospatial data; generating a knowledge graph comprising nodes mapping relationships between crawled content; determining relationships of the crawled content from the knowledge graph; and appending additional data to the index, wherein the additional data comprises the determined relationships; providing for display, a user interface configured to receive a query in natural language and display results responsive to the query; receiving an input via the user interface; generating a structured query based on the received input; based on the generated structured query, performing a first search of the indexed geospatial data; and displaying, via the user interface, results obtained from the first search.
  2. 2 . The method of claim 1 , further comprising: determining a security context of the crawled content; and appending security context data to the index, wherein the security context data provides access control to the crawled content of the non-publicly available data sources.
  3. 3 . The method of claim 1 , wherein generating the structured query comprises: utilizing one or more natural language processing (NLP) models and/or large language models (LLMs) to generate query labels for the structured query, wherein the structured query comprises any one of labels for subjects, locations, named entities, parts of speech and/or word classification.
  4. 4 . The method of claim 3 , wherein generating the query comprises: determining, based on query labels of the structured query, one or more query pathways, each query pathway terminating in one or more data sources; generating compatible queries with each query pathway; running the compatible queries in each query pathway; and aggregating results from running the query in each query pathway.
  5. 5 . The method of claim 4 , further comprising: determining from the knowledge graph, one or more attributes of the received query; generating a set of filters, based on the attributes of the query; filtering the aggregated results based on the set of filters; ranking the filtered aggregated results based on weighting the filtered aggregated results, relative to a set of relevance features generated from the structured query; and generating a second set of results, based on the ranked results; and generating one or more user interfaces, displaying the second set of results.
  6. 6 . The method of claim 1 , further comprising: performing a data crawling process for private data comprising: indexing geospatial data from private, non-publicly available Internet-based data sources and storing second index of the private geospatial data from the multiple private, non-publicly available Internet-based data sources, wherein the second index includes multiple uniform resource locators to various private non-publicly available Internet-based data sources.
  7. 7 . The method of claim 6 , further comprising based on the generated structured query, performing a second search of the second index of private geospatial data; combining results obtained from the second search with the first search; and displaying, via the user interface, the results of the second search along with the results of the first search.
  8. 8 . The method of claim 1 , further comprising: determining update trigger events for the crawled content or a portion of the crawled content; detecting the occurrence of one or more of the update trigger events; and upon detecting the occurrence of the one or more update trigger events, recrawling associated content; and updating the index based on the recrawled associated content.
  9. 9 . The method of claim 1 , wherein the publicly available Internet-based data sources include one or more data sources that are STAC-compliant data sources.
  10. 10 . The method of claim 1 , further comprising: generating vector embeddings of a plurality of prior queries; generating a vector embedding of the received query; and generating a root query of the received query by finding matching and/or similar vector embeddings of the plurality of the queries and the received query.
  11. 11 . A system comprising, a memory including executable instructions, and one or more processors configured to perform the operations of: performing a data crawling process for publicly accessible data comprising: indexing geospatial data from multiple publicly available Internet-based data sources and from non-publicly available data sources and storing an index of the geospatial data from the multiple publicly available Internet-based data sources and the geospatial data from non-publicly available data sources, wherein the index includes multiple uniform resource locators to various Internet-based data sources; determining attributes of the geospatial data; and appending data to the index, wherein the data comprises the determined attributes of the geospatial data; generating a knowledge graph comprising nodes mapping relationships between crawled content; determining relationships of the crawled content from the knowledge graph; and appending additional data to the index, wherein the additional data comprises the determined relationships; providing for display, a user interface configured to receive a query in natural language and display results responsive to the query; receiving an input via the user interface; generating a structured query based on the received input; based on the generated structured query, performing a first search of the indexed geospatial data; and displaying, via the user interface, results obtained from the first search.
  12. 12 . The system of claim 11 , further comprising: determining a security context of the crawled content; and appending security context data to the index, wherein the security context data provides access control to the crawled content of the non-publicly available data sources.
  13. 13 . The system of claim 11 , wherein generating the structured query comprises: utilizing one or more natural language processing (NLP) models and/or large language models (LLMs) to generate query labels for the structured query, wherein the structured query comprises any one of labels for subjects, locations, named entities, parts of speech and/or word classification.
  14. 14 . The system of claim 13 , wherein generating the query comprises: determining, based on query labels of the structured query, one or more query pathways, each query pathway terminating in one or more data sources; generating compatible queries with each query pathway; running the compatible queries in each query pathway; and aggregating results from running the query in each query pathway.
  15. 15 . The system of claim 14 , further comprising the operations of: determining from the knowledge graph, one or more attributes of the received query; generating a set of filters, based on the attributes of the query; filtering the aggregated results based on the set of filters; ranking the filtered aggregated results based on weighting the filtered aggregated results, relative to a set of relevance features generated from the structured query; generating a second set of results, based on the ranked results; and generating one or more user interfaces, displaying the second set of results.
  16. 16 . The system of claim 11 , further comprising the operations of: performing a data crawling process for private data comprising: indexing geo-spatial data from private, non-publicly available Internet-based data sources and storing second index of the private geo-spatial data from the multiple private, non-publicly available Internet-based data sources, wherein the second index includes multiple uniform resource locators to various private non-publicly available Internet-based data sources.
  17. 17 . The system of claim 16 , further comprising the operations of: based on the generated structured query, performing a second search of the second index of private geospatial data; combining results obtained from the second search with the first search; and displaying, via the user interface, the results of the second search along with the results of the first search.
  18. 18 . The system of claim 11 , further comprising the operations of: determining update trigger events for the crawled content or a portion of the crawled content; detecting the occurrence of one or more of the update trigger events; and upon detecting the occurrence of the one or more update trigger events, recrawling associated content; and updating the index based on the recrawled associated content.
  19. 19 . The system of claim 11 , wherein the publicly available Internet-based data sources include one or more data sources that are STAC-compliant data sources.
  20. 20 . The system of claim 11 , further comprising the operations of: generating vector embeddings of a plurality of prior queries; generating a vector embedding of the received query; and generating a root query of the received query by finding matching and/or similar vector embeddings of the plurality of the queries and the received query.

Description

CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 18/218,455, filed on Jul. 5, 2023, and titled “ARTIFICIAL INTELLIGENCE GEOSPATIAL SEARCH”, which is a continuation of U.S. patent application Ser. No. 18/210,544, filed on Jun. 15, 2023, and titled “ARTIFICIAL INTELLIGENCE GEOSPATIAL SEARCH,” the contents of which are incorporated in their entirety and are considered part of this disclosure. BACKGROUND Field This invention relates generally to the field of programmatic and computer-based searching, and more particularly to systems and methods for geospatial search using artificial intelligence techniques. Description of the Related Art The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Many areas of life relate to or in some way concern location-based or geospatial data. Private businesses, and government entities alike, spend substantial resources in searching, organizing and analyzing geospatial data for military, intelligence, or business purposes. While some sources of geospatial data are in private communication networks of government or corporations, many sources of useful geospatial data also exist in the public domain and open-source environments. Government or private sector analysts research and review both public and private geospatial data to make government or business decisions. In many cases, the existing tools return a trove of documents, containing millions of results, to a geospatial analyst, making it difficult to draw conclusions or perform analysis. A substantial amount of an analyst's time is spent reviewing voluminous search results to obtain a more tailored response to a government or business question. As a result, there is a need for more robust geospatial search tools to provide the users with more relevant and narrow datasets in an easy-to-digest format. Furthermore, the analyst can benefit from a robust search system that allows the analyst to enter a simple query in natural language and obtain relevant and tailored information. SUMMARY The appended claims may serve as a summary of this application. BRIEF DESCRIPTION OF THE DRAWINGS These drawings and the associated description herein are provided to illustrate specific embodiments of the invention and are not intended to be limiting. FIG. 1 illustrates an environment of a geospatial online search system according to an embodiment. FIG. 2 illustrates a snapshot of a display of a user interface (UI) with which a user can access a geospatial online search system according to an embodiment. FIG. 3 illustrates a diagram of an example deployment of a geospatial online search system according to an embodiment. FIG. 4 illustrates a diagram of an example geospatial online search system according to an embodiment. FIG. 5 illustrates a diagram of the components and operations of an example geospatial online search system in relation to generating query pathways and executing a search. FIG. 6 illustrates a diagram of example components and processes of a spider engine and the enrichment and indexing pipeline. FIG. 7 illustrates an example of a user interface that can be generated based on the result of running a query through an example geospatial online search system according to an embodiment. FIG. 8 illustrates a flowchart of an example method of the operation of a geospatial online search system. FIG. 9 illustrates an environment in which some embodiments may operate. FIG. 10 illustrates a flowchart of a method of building an index according to an embodiment. FIG. 11 illustrates a flowchart of another method of building an index according to an embodiment. FIG. 12 illustrates a flowchart of a method of building an index, where a knowledge graph can be used to enrich the index with security context and/or attributes. FIG. 13 also illustrates a flowchart of a method of building an index, where a knowledge graph can be used to enrich the index. FIG. 14 illustrates a flowchart of a method, where detecting a trigger event can trigger updating a knowledge graph, and/or one or more indexes. FIG. 15 illustrates a flowchart of a method, where access credentials of a sender of a query can be used to plan a query and/or pathways of the query. FIG. 16 illustrates a flowchart of a method, where access credentials of a sender of a query can be used to filter out the result of running the query. FIG. 17 illustrates a flowchart of a method of generating and revising a priority queue for building an index. DETAILED DESCRIPTION The following detailed description of certain embodiments presents various descriptions of specific embodiments of the invention. However, the invention can be embodied in a mul