Financial information may be provided by various organizations. In some examples, databases may store the trading history of one or more publicly traded stocks. In other examples, a company may distribute press releases detailing events concerning the company. The financial information may be used to make investing decisions.
It is with respect to these and other considerations that the disclosure made herein is presented.
A financial data analyzer searches for and receives raw data from one or more data sources. An artificial intelligence editor is invoked to determine if the raw data is suitable as enhanced data. If the raw data is not suitable as enhanced data, an artificial intelligence journalist is invoked to modify the raw data to be enhanced data for generating reports.
The following detailed description may be combined with technologies for an artificial intelligence article analysis interface. The interface is configured to render one or more metrics associated with articles written using artificial intelligence. In some examples, the interface data is provided by an article analyzer. The article analyzer may analyze one or more news stories and provide one or more outputs. The article analyzer may receive as an input one or more articles provided by an artificial intelligence journalist or human journalist.
The artificial intelligence journalist may access one or more data sources providing information about an event. The artificial intelligence journalist may apply an algorithm to draft a news article from the one or more data sources. The article analyzer may analyze the articles drafted by the artificial intelligence journalist as well as articles drafted by a human and determine one or more metrics or outputs.
In some examples, the artificial intelligence article analysis interface may be used as a search-based application. For example, the interface may be used to find and retrieve articles created by artificial intelligence. Keywords associated with the articles may be used as searchable terms to identify articles relating to a particular search query.
It should be appreciated that the subject matter described herein may be implemented as a computer-implemented method, computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as a computer-readable medium. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings.
This Summary is provided to introduce a selection of technologies in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure
Embodiments of the disclosure presented herein encompass technologies for financial data aggregation. Additional embodiments of the disclosure presented herein encompass technologies for financial data collection, analysis, and dissemination using an artificial intelligence editor. Still further embodiments of the disclosure presented herein encompass technologies for using an artificial intelligence analysis interface to analyze financial data provided by an artificial intelligence editor. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, aspects of an example operating environment and some example implementations provided herein will be described.
The user device 102 and/or the server computer 104 may be one or more computing devices that, when implemented together, may be used as a user device 102 and/or a server computer 104. The user device 102 and/or the server computer 104 may be implemented in various forms, including, but not limited to, a mobile device, a cell phone, a tablet computer, a desktop computer, a laptop computer, and the like. The presently disclosed subject matter is not limited to any particular implementation. In some implementations of the presently disclosed subject matter, all or some of the features may be implemented on either the user device 102 and/or the server computer 104.
The user device 102 may be placed in communication with the server computer 104 using a network 106.
The user device 102 may be configured to initiate and execute an analyzer interface application 108. In some examples, the analyzer interface application 108 may be an application configured to receive one or more inputs and render the inputs in a user interface, examples of which are provided below, on a display 110. The analyzer interface application 108 may receive one or more inputs from a user 112 to control one or more features rendered by the analyzer interface application 108. In some examples, the analyzer interface application 108 may be an Internet browser.
The analyzer interface application 108 may be configured to communicate with an article analyzer 114 executed by the server computer 104. The article analyzer 114 may be configured to access an articles data store 116. The articles data store 116 is configured to store artificial intelligence (“AI”) articles 118 written by an artificial intelligence journalist 120 and human articles 122 provided by human sources. As used herein, an article is a piece of writing that refers to and discusses, at least in part, an event.
The presently disclosed subject matter is not limited to any particular type or form of article, and may include, but is not limited to, a short description of an event, a book, a report, narrative, analytics, and the like. As used herein, an event includes an occurrence of something, and is not limited to any particular kind of event. For example, an event may be a sports contest, a financial occurrence, the disclosure of research, and the like. The presently disclosed subject matter is not limited to any particular type of event.
As used herein, artificial intelligence refers to intelligence provided by machines or computers. As used herein, the artificial intelligence journalist 120 is a computer or process whereby a computer, such as the server computer 104, applies algorithms to event information and generates the AI articles 118. In one example, event information may be received by the article analyzer 114 when searching and accessing data sources 124A-124N (hereinafter referred to collectively and/or generically as “the data sources 124” and individually as “the data source 124A,” and the like). The data sources 124 may include documents or information provided by one or more sources that relate to an event.
In some examples, artificial intelligence journalist 120 may receive as input event information about an event provided by the data sources 124. The artificial intelligence journalist 120 may apply one or more filters to reduce or eliminate certain types of information. For example, the artificial intelligence journalist 120 may apply a filter to raw information that recognizes non-factual, opinion, colloquial, relativistic, or others types of information to create filtered information. The artificial intelligence journalist 120 may thereafter add information to the filtered information to connect various concepts found in the filtered information to provide for enhanced information. The enhanced information may thereafter be stored as the AI article 118.
For example, the artificial intelligence journalist 120 may receive the following snippet of an article from the data sources 124:
As can be seen in the article above, the article includes factual information, opinion information (We do not think . . . ), and information that is not relevant (Mary is from . . . ) to the main story ( . . . discovered a new element). In some examples, the artificial intelligence journalist may apply one or more filters to create the filtered information. In one example, the artificial intelligence journalist may identify the particle event (or subject) of the article: the discovery of a new element.
The artificial intelligence journalist 120 may then analyze the article to determine which words or sentences are most likely applicable to the event and maintain those words or sentences while filtering out or removing the words or sentences that are least likely applicable. The following may be the result of the filtering operation:
As can be seen in the example provided above, while condensed to information relating to the event, if read by a human, the above information may not be easy or pleasant to read. The artificial intelligence journalist 120 may then apply information to create enhanced information, resulting in the AI articles 118.
Continuing with the example above, the enhanced article may be the following (with additions shown underlined and subtractions shown with strikethroughs only for purposes of description).
It should be noted that the presently disclosed subject matter is not limited to the above-described algorithm, and may include other technologies for generating artificial intelligence articles. For example, a human or artificial intelligence generated article may be received. Using technologies, such as text mining, important concepts or items within the article may be mined, the concepts of which may be the primary topic of the article, the origin of research relating to the article, various introductory phrases, research methods and/or protocols identified in the article, results discussed in the article, or other items that are identified as concepts of greater importance than other concepts.
The user 112, or other entity, may request that the AI articles 118 and/or the human articles 122, be analyzed to provide some metrics, examples of which are described in various figures below. The article analyzer 114 may invoke an article visualizer 126. The article visualizer 126 may receive one or more metrics generated by the article analyzer 114 and output one or more visualizations to be rendered in the display 110. The user 112 may provide a user input 128 to select the visualizations, described in more detail below.
The application dashboard 202 may include a control section 204. The control section 204 may include one or more selectable controls. In the example illustrated in
The application dashboard 202 may also include a total articles indicator 208. The total articles indicator 208 may be a numerical counter that indicates a total number of articles. The total number of articles may be the total number of AI articles 118, the total number of human articles 122, or other totals as may be appropriate or desired. The presently disclosed subject matter is not limited to any particular type of total or source of articles.
The application dashboard 202 may also include an articles section 210. The articles section 210 may include AI articles 118A-118N and/or human article 122A. It is noted that the presently disclosed subject matter is not limited to any particular number or type of each type of article. The articles rendered in the articles section 210 may be selectable links that, when selected, render the particle article within the application dashboard 202 or another interface. The AI articles 118A-118N and/or the human article 122A may be rendered based on various factors. For example, the articles may be selected based on one or more searches, user preferences, and the like.
The application dashboard 202 may also include a search input 212. The search input 212 is configured to receive one or more textual or other types of inputs. The inputs received at the search input 212 are used by the analyzer interface application 108 to perform a search on the articles data store 116. Relevant results are returned and rendered in the application dashboard 202. For example, the search results may be rendered as articles in the articles section 210.
The application dashboard 202 may also include information ticker 214 and article ticker 216. The information ticker 214 may include general information such as information about the analyzer interface application 108, the application dashboard 202, and the like. The article ticker 216 may be summarized versions of articles, such as the articles in the articles section 210.
The application dashboard 202 may also render search options 302. The search options 302 may include or more selectable options for providing input in addition to or in lieu of the input received in the search input 212. In the example illustrated, the selectable options include a Boolean operator 304 and search categories 306. The Boolean operator 304 may be configured to receive one or more inputs and apply a particular Boolean function on the search terms. The search categories 306 include one or more selectable and de-selectable sources of information.
In the example illustrated, the search categories 306 include sources such as SEC regulatory news, trademark research news, and the like. In some configurations, the AI articles 118 and/or the human articles 122 may be categorized according to their subject matter. The subject matter may be assigned as a particle source, such as a journal or publication. In the example illustrated, AI articles 118 relating to patents are categorized within the journal, “Patent Research News.” In another example, AI articles 118 relating to academic or commercial research may be categorized within the journal, “News From Peer-Reviewed Research.” It is noted that the AI articles may be categorized in more than one journal or source. The search categories 306, if unselected or selected, may be used to exclude or include articles from a particular source, respectively, when performing a search.
The application dashboard 202 may further include a data range input 308. The date range input 308 may be configured to receive in input from a user. The input may be a desired date range within which the AI articles 118 and/or the human articles 122 should be included in a search, and, outside of which the AI articles 118 and/or the human articles 122 should not be included in a search.
The application dashboard 202 may also include a terms requirement input 310. The terms requirement input 310 may be used to receive an input regarding the percentage of terms entered in the search input 212 that are required in the search results. For example, if the terms requirement input 310 is at the 0% position, any term in the search input 212 is required to be found in the articles as a result of the search. If the terms requirement input 310 is moved towards the 100% position, such as the 78% position, 78 percent of the terms are required to be found in the articles as a result of the search. At the 100% position, all terms in the search input 212 are required to be found in the articles as a result of the search.
The application dashboard 202 may additionally include an AI/human requirement input 312. The AI/human requirement input 312 may receive an input to provide a desired ratio of AI to human articles provided as a result of the search. For example, if at the AI position, all articles returned as a result of a search are within the AI articles 118. If at the Human position, all articles returned as a result of a search are within the human articles 122. If at a position between the AI position and the Human position, a ratio of articles in the AI articles 118 and the human articles 122 is returned, the ratio depending on the position in the AI/human requirement input 312.
The application dashboard 202 may also include a search database input 314. The search database input 314 is configured as a selectable input. When selected, the search database input 314 invokes a search by the analyzer interface application 108 using the terms entered in the search input 212 as well as the other input described in
A new discovery may be identified using various technologies. For example, a new discovery may be identified by terms or phrases commonly found in articles discussing new discoveries. In one example, the terms may include, but are not limited to, “discovery,” “uncovered,” and “found.” The articles that include new discoveries may be categorized according to the subject matter of the article and the number summed to determine a total, which may be displayed in the new discovery index 402 for a particular time period. The new discovery index 402 may include the total number of all new discoveries or may include only new discoveries for particular subject matter, or various combinations.
The top stories and trending section 502 may include a recent headlines section 504. The recent headlines section 504 may include articles about a particular topic (e.g. engineering in the example illustrated in
The top stories and trending section 502 may include a trending names section 506. The trending names section 506 may list one or more names of people or entities that are trending. The names may also include the number of articles in which the names are present. In the example illustrated in
The top stories and trending section 502 may include a trending topics section 508. The trending topics section 508 may be a graphical display showing the number of trending articles or total number of articles for a particular topic over a particular time period. In the example illustrated in
In the example illustrated in
In the example illustrated in
If, in
Upon the receipt of the selection of the create analization input 806, the analyzer interface application 108 transmits a search query to the server computer 104 with the terms entered into the terms input 804. The server computer 104 searches the articles data store 116 for one or more articles relating to the search terms entered in the terms input 804. Once the create analization input 806 is selected and the search is performed, the search results are returned to the analyzer interface application 108. In some examples, the search used may be termed a “faceted” search.
In some examples, a faceted search is a dynamic clustering of items or search results into categories that provide for the ability of users to drill (or explore in further detail) into search results (or even skip searching entirely) by any value in any field. Each facet displayed can also show a number of hits within a search that match a particular category. Users can then “drill down” by applying specific constraints to the search results. A faceted search can also be called faceted browsing, faceted navigation, guided navigation and sometimes parametric search. The application dashboard 202 may be reconfigured in the manner illustrated in
In some configurations, the initial results in the results section 902 may be a macro analysis step in which a broad range of search results are returned. In subsequent operations, it may be desirable to narrow the results to a more focused set of resulted. In some examples, the broad range of results may be narrowed using various filters.
One filter may be an exclude articles filter 906. The exclude articles filter 906 may receive as an input one or more terms that, if found in an article in the search results, eliminate the particular article. For example, a user may want to exclude all articles from a particular organization. The user may input the organization's name into the exclude articles filter 906 and select a find matching articles interface 908. Once selected, the analyzer interface application 108 will remove the articles having the organization's name from the search results.
The application dashboard 202 may also have rendered therein a research categories interface 910. The research categories interface 910 may be configured to receive as an input a selection of which subject matter areas or types of articles the search results should be found in. In one example, a user may deselect the “Patent Research News” article type, thus excluding articles associated with the “Patent Research News” article type from the search results.
The application dashboard 202 may further have rendered therein a date range selection interface 912. The date range selection interface 912 may receive as an input a date range of the articles or the data sources 124, within which to include in the search results. Specific articles within the search results may be excluded using a selection interface, such as a selection interface 914. A remove selected articles interface 916 may be selected to remove the articles selected using the selection interface 914. An input may be received at a save and continue interface 918. Once an input is received at the save and continue interface 918, the various filters and other inputs are applied to the search results.
To further narrow or focus the search results in the results section 902, a filter results interface 920 may be provided. The filter results interface 920 may be configured to receive one or more inputs of various filters to apply. The filters may be generated by terms or other information contained within the search results. In the example illustrated in
In the following example, an article comprising a sentence is received. The article for this example is “The cow jumped over the moon.” The sentence is parsed into various phrases, such as the below, with each phrase representing a searchable record in a table:
In the example illustrated above, the phrases were limited to four terms, although the number of terms may be varied depending on the particular application of method 1000. In another example, the following sentence is provided: “There is a new drug development in AIDS vaccines.” Resulting searchable phrases may be “drug development,” “AIDS,” and “AIDS vaccine.” The parsed phrases may be applied as keywords to an article. The keywords may be grouped into particular topics. For example, keywords associated with various cancers may be grouped under the topic, CANCERS. The names of the topics may be used to create chapter titles denoting a collection of articles under a particular topic.
Returning to
The search results may be analyzed to determine one or chapters to organize the output of the search results. The initial chapters may be rendered in the chapters section 922. The chapters may be generated from various terms found in the search results or subject matter within which the search results belong, or other methods not disclosed herein. For example, the chapters may be based on keywords associated with the articles searched. The keywords may be grouped into topics, with the name of the topic used as the chapter title.
The chapters may be edited or removed. Once an input is received at the save and continue interface 918, the search results are organized into the chapters rendered in the chapters section 922.
It also should be understood that the illustrated methods can be ended at any time and need not be performed in its entirety. Some or all operations of the methods, and/or substantially equivalent operations, can be performed by execution of computer-readable instructions included on a computer-storage media, as defined herein. The term “computer-readable instructions,” and variants thereof, as used in the description and claims, is used expansively herein to include routines, applications, application modules, program modules, programs, components, data structures, algorithms, and the like. Computer-readable instructions can be implemented on various system configurations, including single-processor or multiprocessor systems, minicomputers, mainframe computers, personal computers, hand-held computing devices, microprocessor-based, programmable consumer electronics, combinations thereof, and the like.
Thus, it should be appreciated that the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states, operations, structural devices, acts, or modules. These operations, structural devices, acts, and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof.
The operations of the method 800 are described herein below as being implemented, at least in part, by the user device 102 and/or the server computer 104 (described above with regard to
Now with reference to
The method proceeds to operation 1604, where one or more filters are applied to the raw information. The filters may be filters designed to remove words or text that are superfluous, indicate bias or opinion, or are otherwise undesired. The use of the filters on the raw information results in the generation of filtered information.
The method proceeds to operation 1606, where information is added to the filtered information to connect concepts. The added information may be information (e.g. text) that, when added, to the filtered information, creates sentences that are akin to sentences desired or used by humans. The added information creates enhanced information.
The method proceeds to operation 1608, where the enhanced information is stored as an artificial intelligence article. The method 1600 thereafter ends at operation 1610.
The method 1700 commences at operation 1702, where one or more search terms are received by an article analyzer from an analyzer interface application. The search terms may include one or more subjects, key words, and the like associated with a desired analysis.
The method 1700 proceeds to operation 1704, where the article analyzer searches the articles data store for articles relevant to the search terms entered in operation 1702. The articles may be relevant if the articles include the terms or include concepts similar to the terms received in operation 1702. In some examples, the articles data store may include both artificial intelligence articles or human articles, or both.
The method 1700 proceeds to operation 1706, where the search results are returned to the analyzer interface application. The analyzer interface application may render the search results in a display. To focus or narrow the search results, a macro analysis may be performed. In some examples, the macro analysis may include one or more filters, exclusionary terms, date rangers, categories, and the like. The search results are modified based on the macro analysis inputs. In some examples, the macro analysis may help narrow the search results.
The method 1700 proceeds to operation 1708, where micro analysis inputs are received. In some examples, the micro analysis may be used to remove unwanted content. In these examples, various concepts, topics, categories, information sources may be selected to be excluded. The search results are further narrowed upon receipt of the micro analysis input.
The method 1700 proceeds to operation 1710, where one or more chapter titles are determined. The chapter titles may be determined based on the subject matter of the search results, particular key words or phrases in the search results, the data sources from which the articles were generated, or other technologies. The presently disclosed subject matter is not limited to any particular technology for generating chapter titles. In some examples, the chapter titles may be removed or edited.
The method 1700 proceeds to operation 1712, where a report is generated. The report may include the articles from the search results separated into the chapter titles from operation 1710. The report may be downloadable. The method 1700 thereafter ends at operation 1714.
The user device 1802 may be in communication with the server computer 1804 using the network 106.
The user device 1802 may be configured to initiate and execute a financial data interface application 1806. In some examples, the financial data interface application 1806 is an application configured to receive one or more user inputs 1808 and cause to be rendered in a display (not shown) one or more financial data outputs 1810. Aspects of the user inputs 1808 and the financial data outputs 1810 will be discussed in more detail below. In some examples, the financial data interface application 1806 may be part of or executed in part by an Internet browser.
The user device 1802 may receive a communication from the financial data interface application 1806 to communicate with a financial data analyzer 1812 executing on, or to be executed on, the server computer 1804. The financial data analyzer 1812 receives the user inputs 1808 and executes a search process. The user inputs 1808 can include requests for data relating to certain or desired financial information. For example, the user inputs 1808 can be a request to provide reports on information relating to publicly traded stocks.
The financial data analyzer 1812 causes the server computer 1804 to transmit a search request to one or more data sources 1814A-1814N (hereinafter referred to collectively and/or generically as “the data sources 1814” and individually as “the data source 1814A” and the like). The data sources 1814 may be of various types. For example, the data sources 1814 can include data sources for patent filings, data sources for trademark filings, data sources for regulatory filings (e.g. Securities and Exchange Commission), data sources for numerical information about one or more stocks trading on or more stock exchanges, and the like.
The data sources 1814 provide data to be stored in a financial data store 1816. The data provided by the data sources 1814 is stored as raw data 1818. As used herein, “raw data” is data in the form received from the data sources 1814. In some examples, the raw data 1818 may not be readily understood by a user, such as the user that provided the user inputs 1808. For example, the raw data 1818 may comprise stock prices over the period of a day. The raw data 1818 may be a series of numbers that, while providing stock price information, may not be a form that is desired.
In some examples, an artificial intelligence editor 1820 may be invoked to analyze the raw data 1818 to determine if the raw data 1818 is suitable for use as enhanced data 1822. The enhanced data 1822 is the form of the data to be transmitted to the user device 1802 to be the financial data outputs 1810. The enhanced data 1822 may be modified raw data 1818 that has been modified in some manner. For example, the sequence of numbers received by one of the data sources 1814 may be transformed by into one or more sentences that describe the raw data 1818.
For example, a day's history of a company may be transformed from the raw data 1818 (which may be numbers) to the enhanced data 1822 in the form of a sentence, such as:
In a trading session, where winners heavily outnumbered losers, Company Incorporated (stock ticker symbol), headquartered in California, closed at 56.61, up 0.51%, below its 200-day moving average of 63.77. Trade volume was 8,813,367 shares, down 13.95%.
The raw data 1818 may be transformed using an artificial intelligence journalist 1824. An example, of an artificial intelligence journalist 1824 was provided in relation to the artificial intelligence journalist 120 of
In some examples, it may be desirable to receive additional information relating to the stock price of one or more companies. For example, the data relating to a stock price for one or more stocks may be influenced by other factors. In these examples, the artificial intelligence editor 1820 may, to generate a report, cause the financial data analyzer 1812 to search for and retrieve other information about a particular company. Some examples described above include, but are not limited to, published or allowed patent applications, regulatory filings, trademark filings, and the like.
In these examples, the artificial intelligence editor 1820 may determine a financial time range to search for the additional information. In an example, the artificial intelligence editor 1820 may receive as an input, or make a determination, that a two week period is to be used for the additional information. For example, along with the enhanced data 1822 relating to the stock price, the artificial intelligence editor 1820 may search for and retrieve information about published or allowed patent applications that published or were allowed two weeks prior to the day of the generation of the enhanced data 1822.
In some examples, additional information about a particular company may be requested from and provided by the data sources 1814. For example, a company may be associated with a particular industry. In that example, the artificial intelligence journalist 1824 may insert industry information to help connect concepts filtered from the raw data 1818.
In still further examples, the financial data analyzer 1812 may be invoked using a financial data alert 1826. In these examples, the financial data alert 1826 may be timing data that provides an indication to the financial data analyzer 1812 to commence a financial data analysis and report function. The timing data may be information about one or more stock exchanges, times of the day, or other timing data.
In still further examples, the financial data analyzer 1812 may be configured to deliver a report to the financial data interface application 1806 within a certain period of time. The financial data alert 1826 can indicate a closing of a stock exchange. For example, the financial data analyzer 1812 may be configured to provide a report of all stocks traded on the NYSE® within one hour of the closing of the exchange. In some examples, a report timer 1828 may be provided. The report timer 1828 may be a timing input to the financial data analyzer 1812 that sets a time frame in which the financial data analyzer 1812 has to receive the data from the data sources 1814 and to invoke the artificial intelligence editor 1820 and the artificial intelligence journalist 1824 to generate the reports from the enhanced data.
In some examples, the financial data analyzer 1812 may determine that the timing input from the report timer 1828 does not provide sufficient time to generate the reports. In these examples, the financial data analyzer 1812 may perform various actions to meet the deadline imposed by the timing input. In some examples, the financial data analyzer 1812 may cause the artificial intelligence editor 1820 to draft full reports for a certain number of companies, while drafting concatenated reports on a remaining number of companies. For example, the financial data analyzer 1812 may cause the artificial intelligence editor 1820 to draft full reports on the most actively traded stocks. The full reports can include all information, whereas the concatenated reports may include only basic information, such as trading history and patent filings. The information in the full reports and the concatenated reports may vary. The present disclosure is not limited to any particular configuration or difference.
The method 1900 commences at operation 1902, where an input is received to generate a report. In some examples, a report includes one or more articles about one or more companies. The article, or report, can include an identification of a company, a summary of the trading history of the company, a summary of a particular stock exchange, an identification of an industry associated with the company, a summary of the trading history of other companies associated with the identified industry, a summary of various stock exchanges, hyperlinks to various information contained in the article, a listing of recent regulatory filings, a listing of patent application publications and patent allowances, a listing of trademark filings, and a description of the company.
The following is an example of an article. As used herein, one or more articles may be used to generate a report:
The input received at operation 1902 may include an input received from a user identifying one or more companies to generate articles, one or more stock exchanges that, upon closing, to generate articles about companies listed in the particle stock exchange, a timing input by which the user desires to have the report, and other inputs not explicitly described herein.
The method 1900 proceeds to operation 1904, where a search request is sent to data sources. The search request may be generated using the inputs received in operation 1902. For example, the inputs received in operation 1902 may include a stock exchange from which to generate a report. Thus, the search request may be routed to the data source for the particular stock exchange rather than being sent to all data sources. In some examples, the search request may be a general search request to all data sources, whereby the information contained in the results are disseminated based on the user inputs. For example, the search request may be a search request to all data sources for major stock exchanges. In those examples, the data received may be filtered based on a user's input received.
The method 1900 proceeds to operation 1906, where the data is received from the data sources as raw data. As described above, raw data is data in the format received from the data sources.
The method 1900 proceeds to operation 1908, where an artificial intelligence editor is invoked to determine if the raw data is suitable as enhanced data. As described above, enhanced data is data in a format to be sent to a user.
The method 1900 proceeds to operation 1910, where a determination is made as to whether or not the raw data is suitable as enhanced data. The artificial intelligence editor invoked in operation 1908 can be provided with one or more templates or inputs to perform the determination. For example, the artificial intelligence editor may be provided with an input that data from a particular source does not need to be modified and is acceptable as enhanced data. In other examples, the artificial intelligence editor is provided with a template to make the determination. The template may include sentence structures that, if the raw data is formatted in a particular manner in accordance with the sentence structures, the raw data is suitable as enhanced data. Whereas, if the raw data does not include sentence structures that are in accordance with the template, the raw data is not suitable as enhanced data.
For example, the template may include a sentence structure that requires the raw data to be written in a sentence. In one example, the raw data may be:
In the example provided above, the artificial intelligence editor may determine that the raw data is not suitable as enhanced data because the raw data is not in the form of a sentence.
If the raw data is determined to be suitable as enhanced data in operation 1910, the method 1900 proceeds to operation 1912 whereby the raw data is saved as enhanced data. If the raw data is determined to not be suitable as enhanced data in operation 1910, the method 1900 proceeds to operation 1914, where the raw data is modified to be enhanced data. In some examples, an artificial intelligence journalist may be invoked to modify the raw data.
Continuing with the example above, the raw data may be: Stock high 45 low 23. As noted above, in this example, the raw data is not acceptable as enhanced data. Therefore, the artificial intelligence journalist may be invoked to convert the raw data to enhanced data. The artificial intelligence journalist may identify one or more concepts within the raw data, determine the context for the concepts, and transform the concepts into a sentence. For example, the concepts may include stock, high, and low. The artificial intelligence journalist may determine that the context of the concepts is historical stock pricing data. The artificial intelligence journalist may transform the raw data using the context and concepts into enhanced data. For example, the artificial intelligence journalist may transform “Stock high 45 low 23” into “Shares of Company had a high of 45 and a low of 23. The artificial intelligence journalist may further modify the raw data by linking the concepts extracted from the raw data to concepts associated with extracted concepts. To provide additional context, the modified raw data may be modified with additional contextual information not associated with the raw data. In one example, the modified raw data (now enhanced data) may be further modified by including historical information as well as other relevant information. In one of the examples provided above, the raw data was modified to be: Company (XComp), headquartered in Atlanta, Ga., closed at 54.40, up 0.46%, above its 200-day moving average of 46.25. Trade volume was 37,029,676 shares, up 1.66%. In the business software and services industry, stocks posting gains at the end of the day included Interactive Intelligence Group, Inc. (ININ) closing up 5.63% and Pegasystems Inc. (PEGA) ending the day up 4.69%. Stocks posting losses included Sapiens International Corporation N.V. (SPNS) closing down 3.79% and eGain Corporation (EGAN) ending the day down 3.37%.
Method 1900 continues to operation 1916, where a report is generated from the enhanced data. The method thereafter ends.
The method 2000 commences at operation 2002, where enhanced data is stored as an artificial intelligence article 118 of
The method 2000 proceeds to operation 2004, where search results are returned to the analyzer interface application. The search results can include the enhanced data. The analyzer interface application may render the search results in a display. To focus or narrow the search results, a macro analysis may be performed. In some examples, the macro analysis may include one or more filters, exclusionary terms, date rangers, categories, and the like. The search results are modified based on the macro analysis inputs. In some examples, the macro analysis may help narrow the search results.
The method 2000 proceeds to operation 2006, where micro analysis inputs are received. In some examples, the micro analysis may be used to remove unwanted content. In these examples, various concepts, topics, categories, information sources may be selected to be excluded. The search results are further narrowed upon receipt of the micro analysis input.
The method 2000 proceeds to operation 2008, where one or more chapter titles are determined. The chapter titles may be determined based on the subject matter of the search results, particular key words or phrases in the search results, the data sources from which the articles were generated, or other technologies. In some examples, the chapter titles may be based on the stock exchanges if enhanced data is used. The presently disclosed subject matter is not limited to any particular technology for generating chapter titles. In some examples, the chapter titles may be removed or edited.
The method 2000 proceeds to operation 2010, where a report is generated. The report may include the articles from the search results separated into the chapter titles from operation 2008. The report may be downloadable. The method 2000 thereafter ends at operation 2012.
The computer architecture 2100 illustrated in
The mass storage device 2112 is communicatively connected to the CPU 2102 through a mass storage controller (not shown) connected to the bus 2110. The mass storage device 2112 and its associated computer-readable media provide non-volatile storage for the computer architecture 2100. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available computer storage media or communication media that can be accessed by the computer architecture 2100.
Communication media includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics changed or set in a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
By way of example, and not limitation, computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer architecture 2100. For purposes the claims, the phrase “computer storage medium” and variations thereof, does not include waves, signals, and/or other transitory and/or intangible communication media, per se.
According to various embodiments, the computer architecture 2100 may operate in a networked environment using logical connections to remote computers through a network such as the network 106. The computer architecture 2100 may connect to the network 106 through a network interface unit 2114 connected to the bus 2110. It should be appreciated that the network interface unit 2114 also may be utilized to connect to other types of networks and remote computer systems. The computer architecture 2100 also may include an input/output controller 2116 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in
It should be appreciated that the software components described herein may, when loaded into the CPU 1802 and executed, transform the CPU 2102 and the overall computer architecture 2100 from a general-purpose computing system into a special-purpose computing system customized to facilitate the functionality presented herein. The CPU 2102 may be constructed from any number of transistors or other discrete circuit elements, which may individually or collectively assume any number of states. More specifically, the CPU 2102 may operate as a finite-state machine, in response to executable instructions contained within the software modules disclosed herein. These computer-executable instructions may transform the CPU 2102 by specifying how the CPU 2102 transitions between states, thereby transforming the transistors or other discrete hardware elements constituting the CPU 2102.
Encoding the software modules presented herein also may transform the physical structure of the computer-readable media presented herein. The specific transformation of physical structure may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the computer-readable media, whether the computer-readable media is characterized as primary or secondary storage, and the like. For example, if the computer-readable media is implemented as semiconductor-based memory, the software disclosed herein may be encoded on the computer-readable media by transforming the physical state of the semiconductor memory. For example, the software may transform the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. The software also may transform the physical state of such components in order to store data thereupon.
As another example, the computer-readable media disclosed herein may be implemented using magnetic or optical technology. In such implementations, the software presented herein may transform the physical state of magnetic or optical media, when the software is encoded therein. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations also may include altering the physical features or characteristics of particular locations within given optical media, to change the optical characteristics of those locations. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this discussion.
In light of the above, it should be appreciated that many types of physical transformations take place in the computer architecture 2100 in order to store and execute the components presented herein. It also should be appreciated that the computer architecture 2100 may include other types of computing devices, including hand-held computers, embedded computer systems, personal digital assistants, and other types of computing devices known to those skilled in the art. It is also contemplated that the computer architecture 2100 may not include all of the components shown in
According to various implementations, the distributed computing environment 2200 includes a computing environment 2202 operating on, in communication with, or as part of the network 106. The network 106 also can include various access networks. One or more client devices 2206A-2206N (hereinafter referred to collectively and/or generically as “clients 2206”) can communicate with the computing environment 2202 via the network 106 and/or other connections (not illustrated in
In the illustrated embodiment, the computing environment 2202 includes application servers 2208, data storage 2210, and one or more network interfaces 2212. According to various implementations, the functionality of the application servers 2208 can be provided by one or more server computers that are executing as part of, or in communication with, the network 2204. The application servers 2208 can host various services, virtual machines, portals, and/or other resources. In the illustrated embodiment, the application servers 2208 host one or more virtual machines 2214 for hosting applications or other functionality. According to various implementations, the virtual machines 2214 host one or more applications and/or software modules for providing the functionality described herein for use in an artificial intelligence article analysis interface. It should be understood that this embodiment is illustrative, and should not be construed as being limiting in any way. The application servers 2208 also host or provide access to one or more Web portals, link pages, Web sites, and/or other information (“Web portals”) 2216.
As shown in
As mentioned above, the computing environment 2202 can include the data storage 2210. According to various implementations, the functionality of the data storage 2210 is provided by one or more databases operating on, or in communication with, the network 2204. The functionality of the data storage 2210 also can be provided by one or more server computers configured to host data for the computing environment 2202. The data storage 2210 can include, host, or provide one or more real or virtual data stores 2226A-2226N (hereinafter referred to collectively and/or generically as “data stores 2226”). The data stores 2226 are configured to host data used or created by the application servers 2208 and/or other data.
The computing environment 2202 can communicate with, or be accessed by, the network interfaces 2212. The network interfaces 2212 can include various types of network hardware and software for supporting communications between two or more computing devices including, but not limited to, the clients 2206 and the application servers 2208. It should be appreciated that the network interfaces 2212 also may be utilized to connect to other types of networks and/or computer systems.
It should be understood that the distributed computing environment 2200 described herein can provide any aspects of the software elements described herein with any number of virtual computing resources and/or other distributed computing functionality that can be configured to execute any aspects of the software components disclosed herein. According to various implementations of the concepts and technologies disclosed herein, the distributed computing environment 2200 provides the software functionality described herein as a service to the clients 2206. It should be understood that the clients 2206 can include real or virtual machines including, but not limited to, server computers, web servers, personal computers, mobile computing devices, smart phones, and/or other devices. As such, various embodiments of the concepts and technologies disclosed herein enable any device configured to access the distributed computing environment 2200 to utilize the functionality described herein for use in financial data aggregation.
Based on the foregoing, it should be appreciated that technologies for financial data aggregation have been disclosed herein. Although the subject matter presented herein has been described in language specific to computer structural features, methodological and transformative acts, specific computing machinery, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts and mediums are disclosed as example forms of implementing the claims.
The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.