Technology prediction

Embodiments of the invention relate to technology prediction. A technical dictionary of technical terms is constructed based on a collection of documents. The technical terms are partitioned into equivalence classes. A table is generated that correlates technical terms across equivalence classes based on temporal co-occurrence of the technical terms across the equivalence classes. For a given technical term the table is accessed to determine a first set of technical terms that correlate to the given technical term. The table is accessed again to determine a second set of technical terms that correlate to the first set of technical terms. It is predicted that the second set of technical terms will correlate to the given technical term in the future.

BACKGROUND

The present disclosure relates generally to predicting future technologies, and more specifically, to predicting future technologies based on identified relationships between current technologies.

The ability to identify relationships between current technologies is used, for example, to improve search engine query recommendations by suggesting related queries, or to automatically identify relevant technologies of a product for technology road mapping. Knowing the relationships between technologies is also useful in technology licensing to identify relevant technologies owned by a source company for possible licensing agreements.

BRIEF SUMMARY

An embodiment is a method for technology prediction that includes constructing a technical dictionary of technical terms based on a collection of documents. The technical terms are partitioned into equivalence classes. A table is generated that correlates technical terms across equivalence classes based on temporal co-occurrence of the technical terms across the equivalence classes. For a given technical term the table is accessed to determine a first set of technical terms that correlate to the given technical term. The table is accessed again to determine a second set of technical terms that correlate to the first set of technical terms. It is predicted that the second set of technical terms will correlate to the given technical term in the future.

Another embodiment is a computer program product for technology prediction. The computer program product includes a computer readable storage medium having program code embodied therewith. The program code is executable by a processor to construct a technical dictionary of technical terms based on a collection of documents. The technical terms are partitioned into equivalence classes. A table is generated that correlates technical terms across equivalence classes based on temporal co-occurrence of the technical terms across the equivalence classes. For a given technical term the table is accessed to determine a first set of technical terms that correlate to the given technical term. The table is accessed again to determine a second set of technical terms that correlate to the first set of technical terms. It is predicted that the second set of technical terms will correlate to the given technical term in the future.

A further embodiment is a system for technology prediction that includes a memory having computer readable computer instructions and a processor for executing the computer readable instructions. The instructions include constructing a technical dictionary of technical terms based on a collection of documents. The technical terms are partitioned into equivalence classes. A table is generated that correlates technical terms across equivalence classes based on temporal co-occurrence of the technical terms across the equivalence classes. For a given technical term the table is accessed to determine a first set of technical terms that correlate to the given technical term. The table is accessed again to determine a second set of technical terms that correlate to the first set of technical terms. It is predicted that the second set of technical terms will correlate to the given technical term in the future.

A further embodiment is a method for technology prediction that includes determining current relationships between technologies. The determining includes constructing a list of technical terms based on a collection of technical documents. The technical terms are grouped into technologies and a table is generated that correlates the technologies based on temporal co-occurrence of the technologies in the technical documents. Future relationships between the technologies are predicted. For each technology, the predicting future relationships includes locating a first set of technologies in the table that correlate to the technology, locating a second set of technologies in the table the correlate to the first set of technologies, and identifying the second set of technologies as having a future relationship to the technology.

DETAILED DESCRIPTION

Embodiments described herein provide a technology prediction tool that predicts future technologies based on current relationships between technologies. The technology prediction tool is a time aware technology relation mining system that may be used, for example, to aid in technology road mapping by automatically predicting future technologies for a product. The technology prediction tool may also be used to locate patents of particular technologies for licensing to prospective clients when the particular technologies are predicted by an embodiment of the tool to be correlated to the existing technologies of prospective clients. Additionally, the technology prediction tool may be used to assist in discovering hidden technology relations that do not explicitly exist among directly related technologies in documents.

As used herein the term “time aware” refers to all data statistics that are computed and stored for a given interval of time. As used herein, the terms “time based co-occurrence” and “temporal based co-occurrence” are used interchangeably to refer to the number of data units (e.g., documents, paragraphs, snippets and/or sentences) containing two technology terms in a given interval of time. As used herein, the terms “relationship” and “relation” are used interchangeably to refer to the fact that two technology terms connect to each other explicitly (e.g., based on co-occurrence) or implicitly (e.g., based on association rules and/or citations) in the data.

Embodiments of the technology prediction tool described herein predict future relationships between technologies and future combinations of technologies. In an embodiment, a technical dictionary of technical terms is constructed based on a collection of documents using, for example, an n-gram method, to automatically identify technical terms in the documents. The technical terms in the technical dictionary may be clustered into equivalence classes so that the terms in each class have similar meanings. In an embodiment, one or more representative technical terms are selected from each equivalence class to represent a technology in order to allow the technology prediction tool to focus on sophisticated technology relationships in the collection of documents, rather than on simple general term relationships. A compact time-aware technology relation table (CTTR table) is generated to represent a time based co-occurrence of technologies. The CTTR table correlates technical terms across equivalence classes based on temporal co-occurrence of the technical terms across the equivalence classes.

A time aware technology relation measurement function, referred to herein as “TCorr”, is used by embodiments to predict future emerging technology relationships after considering the temporal dimension in the CTTR table. The TCorr is contrasted to time-agnostic traditional approaches that can only detect whether two terms are related or not in history. A technology relation prediction model is built based on the CTTR table and a measure of TCorr for the time-aware relationships between two technology terms. In an embodiment, the technology relation prediction model is built in three steps: 1) for a given technical term Y, determine a first set of correlated technical terms that inspired the given technical term Y in history. The inspiring relationship is measured by the conditional probability P(Y|X), where X is one inspiring technology; 2) compute the inspiring score P(Y|X) for the first set of inspiring technologies. The probability P(Y|X) is proportional to the number of technology terms correlating to X in an earlier time that will also correlate to Y later in data; 3) determine a second set of terms that are correlated with the first set of inspiring technology terms in history, thereby predicting the second set of terms that will be correlated with the given technical term Y in the future.

Turning now toFIG. 1, a process flow for providing technology prediction in accordance with an embodiment of the technology prediction tool is generally shown. As shown inFIG. 1, at block102, a collection of unique text documents are obtained from a data warehouse. At block104, the obtained text documents are processed. At block106, one or more tables, such as a CTTR table and a technology relation table, are created. At block108, a technology relation analyzer is applied to the created tables. Each of the blocks inFIG. 1is described in further detail below in connection with one or more exemplary embodiments.

Referring now toFIG. 2, a process flow for obtaining a collection of unique text documents from a data warehouse in accordance with an embodiment is generally shown. In an embodiment, the process shown inFIG. 2is performed by the technology prediction tool executing on a computer. At block202, a data warehouse is accessed. The documents in the data warehouse may be in various formats, such as text, portable document format (PDF) and image. At block204a format converter is utilized to convert any non-text formatted documents to text formatted documents. At block206, a duplicate remover is applied to the converted documents to detect any duplicates of documents and to remove all but one copy of the duplicate documents. At block208, a collection of non-redundant text documents is obtained.

Referring now toFIG. 3, a process flow for processing the collection of non-redundant text documents obtained at block208ofFIG. 2in accordance with exemplary embodiments is generally shown. In an embodiment, the process shown inFIG. 3is performed by the technology prediction tool executing on a computer. At block302, document pre-processing is performed. As shown in the embodiment inFIG. 3, document pre-processing302includes processing blocks304,306,308,310, and312.

At block304, coreference resolution is performed. As used herein, the term “coreference” refers to a linguistic phenomenon that occurs when multiple expressions in a document refer to the same thing. As an example, consider the following sentences: “LCD is a flat panel display that uses liquid crystals. It has low electrical power consumption. It is used in many applications, such as computer monitor, instrument panel and aircraft cockpit display.” In an embodiment, during coreference resolution at block304, the word “It” is replaced with “LCD” in the second and third sentences.

At block306, plural-to-singular conversion is performed to change words from plural to singular. For example, the term “display devices” may be changed to “display device”, the term “thin film transistors” may be changed to “thin film transistor”, the term “LCDs” changed to “LCD”, etc.

At block308, synonym mapping is performed to map synonyms to a common term, by choosing the most frequently used term. For example, the terms “hard disk drive”, “hard drive”, “hard disk” may be mapped to the term “hard disk drive.” In another example, the terms “virtual community”, “on-line community” and “online community” may be mapped to “online community.” In some embodiments, synonyms are obtained from synonym dictionaries and online resources, such as Wikipedia. In addition, synonyms may be obtained by searching the web for synonym related expressions such as “is also called”, “commonly known as” and “also known as.”

At block310, acronym mapping is performed to map an acronym to its original phrase. Many technical terms have acronyms, e.g., hard disk drive (HDD), liquid crystal display (LCD), single-level cell (SLC), direct rendering infrastructure (DRI) and complex regional pain syndrome (CRPS). If one acronym may refer to multiple phrases, the context around the acronym in the sentence may be used to estimate the most possible or likely phrase.

At block312, higher-to-lower case conversion is performed to change letters to lower case. For example, “Display Devices” is changed to “display devices”, and “Liquid Crystal Display” is changed to “liquid crystal display”.

The documents pre-processing block302changes the contents of the documents as described above in blocks304-312. After the document pre-processing has completed, block314is performed to extract basic document information from one or more of the documents. For example, various fields such as, but not limited to, time, title, abstract, body, may be extracted. In an embodiment, the basic document information is used to compute the time based co-occurrences for each pair of technology terms.

At block316, sentence segmentation is performed to segment a document into its constituent sentences. In an embodiment, “.”, “?” and “!” are used as a sentence delimiter. Regular expressions are also used to avoid some special cases, such as “i.e.”, “e.g.”, “No. 1” and “Inc., New York”.

Referring now toFIG. 4, a process flow for creating one or more tables, such as a CTTR table and a technology relation table, in accordance with exemplary embodiments is generally shown. In an embodiment, the process shown inFIG. 4is performed by the technology prediction tool executing on a computer. As shown inFIG. 4, documents, including any extracted basic document information, are analyzed and processed to generate one or more technology tables. As shown by block402, the processing performed inFIG. 4is performed for each document in the collection of documents retrieved from the data warehouse.

At block404, a technology list (e.g., of technical terms) is extracted from the technical terms using techniques such as those as shown in one or more of blocks406,408,410, and412. At block404a list of technical terms is obtained, and then technical terms which represent the same or similar technology are merged to get a list of technologies. In an embodiment, the most representative technical term is used to represent a technology.

At block406, the technology is referred to by a term found in a technical dictionary. At block408, the technology is referred to by a term manually generated based on technology taxonomies, such as, but not limited to the Association for Computing Machinery (ACM) Computing Classification System, the Institute of Electrical and Electronics Engineers (IEEE) Computer Society Keywords, and Medical Subject Heading (MeSH) terms. At block410, the technology is referred to by a term that is generated by a classifier to identify technical terms from Wikipedia titles. At block412, the technology is referred to by a term that is generated using a technical n-gram discovery process to automatically extract technical n-grams from the collection of documents using a process such as that described in U.S. Pat. No. 7,503,000 B1 entitled “Method for Generation of an N-word Phrase Dictionary From a Text Corpus.” When the collection of documents includes patents, the technical n-gram terms may be verified in exemplary embodiments based on the following extract measures: (1) support: the number of patents which contain the term; (2) Class Count: the number of classes (e.g., United States Patent and Trademark Office (USPTO) classes or International Patent Classification (IPC) classes) the term has appeared in; (3) Class Count Rate: the value of Class Count divided by Support; and (4) Max Rate: the number of patents which contain the term and belong to the major class (the most frequent class of the term) divided by Support.

In an embodiment, the following basic rules are used at block412to verify technical terms from the candidates: (1) an important technical term should be mentioned in many patents, so the value of Support should not be small (i.e., not less than a first specified threshold); (2) a technical term is usually not a general term, and is used in limited domains, so the value of Class Count Rate should be low (i.e., less than a second specified threshold)(Class Count Rate is used instead of Class Count in order to reduce the impact of frequent terms, i.e., those terms with large Support value); and (3) many technical terms are domain specific and thus, the value of Max Rate is expected to be high (i.e., exceeds a third threshold). Table 1 below shows an example list of technical terms identified by technical n-gram discovery.

The above approach, when used on patent documents, is an automatic process for detecting technical terms without the need of a manually generated dictionary. The above approach may discover recent technical terms that have not yet been included in any dictionary.

Referring to block414inFIG. 4, technology relation extraction is performed to identify occurrences of technologies in a document. In an embodiment, if two or more technologies occur in the same sentence, then the technologies are treated as being related. For each sentence, all technologies are identified and then a relation between each pair of technologies is added. More generally, given any set of “m” technologies, if the technologies occur in the same sentence, the technologies are treated as being related. Beyond a sentence level relation, other context levels may also be considered at block414. Examples include, but are not limited to: snippet level (co-occurrence in the same, previous and next sentence), paragraph level (co-occurrence in the same paragraph), and document level (co-occurrence in the same document). In an embodiment, the title and the abstract are given higher importance than the main body of a document. In this case, co-occurrence in a title or abstract is assigned a higher relation score than co-occurrence in the main text body.

At block416, a temporal technology relation (TTR) table and a temporal technology (TT) table are updated. In an embodiment, the TTR table is defined in the form of (Time Set; Technology Set; Score Set).

Time Set corresponds to a set of time information entities. Some documents, such as news articles and research publications, may only have one time entity in the set, e.g., the publication time. There may be different intervals of time, such as second, minute, hour, day, week, month, quarter and year. The year interval is described herein for purposes of illustration, however, embodiments are not limited to the year interval, as any interval of time may be used.

Publication Year corresponds to the publication year and may be extracted for a document from the data directly. Some documents may have more than one time entity. For example, a patent may have two time entities: filing date and publication date. Therefore, Publication Year and File Year may be extracted for patents, where Publication Year is the publication year of the patent, and File Year is the filing year of the patent.

Score Set corresponds to a set of scores, including, but not limited to Frequency Document (the number of documents where the set of technologies co-occur), Frequency Paragraph (the number of paragraphs where the set of technologies co-occur), and Frequency Sentence (the number of sentences where the set of technologies co-occur).

In an embodiment, the Technology Set may be a set of “m” (where m is greater than one) technologies. In order to make a table compact, embodiments require the set of technologies to be ordered by string comparison, and this compact table is referred to as the CTTR table. In an embodiment, the CTTR is in the form of (Publication Year; <term smaller (TS), term larger (TL)>; {Frequency Document, Frequency Sentence}). Given two technical terms, string comparisons are performed based on an alphabetical ordering of characters at each corresponding position. The smaller term is put into TS, and the bigger term is put into TL. Take the term pair “liquid crystal display” and “thin film” as an example. “Liquid crystal display” is smaller than “thin film”, so “liquid crystal display” is be put into TS, and “thin film” is put into TL. In the CTTR table, the same term may be put to either TS or TL, depending on which other term it is compared with.

Table 2 below shows an embodiment of a CTTR table, where Time Set={Publication Year}, Technology Set={TS, TL} and Score Set={Frequency Document, Frequency Sentence}. The record (2000; <alphanumeric keyboard, desktop computer>; 20, 80) in Table 2 means that in the year 2000, terms “alphanumeric keyboard” and “desktop computer” occurred together in 20 documents and 80 sentences.

When compared to the use of a traditional relation table for each technical term, the CTTR table saves all relations and uses term ordering to save on storage costs (e.g., 50%) while preserving the same information. For example, if there are five technical terms, and the technical terms are related to each other, then under the traditional approach, there would be five tables and each of the five tables would have four records, with a total of twenty records to be stored. This contrasted to the CTTR table described herein, where only ten records are stored.

In an embodiment, to further improve the compactness of the CTTR table, a name identifier map and an identifier name map are built to map technical terms from string format to integer format in order to save storage space. When a string query is sent, the name identifier map is checked to find the corresponding identifier, which may be used to fetch matching records. Then, the identifier name map is used to reveal the string.

In an embodiment, a TT table as mentioned in block416ofFIG. 4is built to save a trend of one or more technical terms. For example, the TT table may store the time based scores for each technology. For example, (Publication Year; Term; {Frequency Document, Frequency Paragraph, Frequency Sentence}) may correspond to an instance of a TT table. In such a TT table, the record (2000; liquid crystal display; {100, 300, 500}) may mean that in the year 2000, the term “liquid crystal display” appeared in 100 documents, 300 paragraphs and 500 sentences.

At block418ofFIG. 4, access is provided to a database that stores the tables, such as those described above.

Referring now toFIG. 5, a process flow for analyzing technologies in accordance with exemplary embodiments is generally shown. In one or more embodiments, the process flow ofFIG. 5is implemented by the technology prediction tool described herein. In one or more embodiments, the process flow ofFIG. 5is used to process one or more documents from block208inFIG. 2. As shown at block502ofFIG. 5, the processing is based on the CTTR table and the TT table of block416ofFIG. 4.

At block504, a technology relation degree ranking is performed. Block504may include several blocks, operations, or processes, such as, but not limited to blocks510,512,514and516. In order to compute a relation degree between technologies, block504uses information stored in the TT table and CTTR table. For instance, an example query takes the form: (q=“liquid crystal display” AND Publication Year: [2000 TO 2011] AND Score Type=“Frequency Sentence”). This query looks for technologies that are related to “liquid crystal display” during the years from 2000 to 2011. In an embodiment, the query is processed as follows.

Operation 1: from the CTTR table, fetch records that match (TS=“liquid crystal display” OR TL=“liquid crystal display” AND Publication Year: [2000 TO 2011] AND Score Type=“Frequency Sentence”). Denote Rqas the set of related technologies obtained from the result. Suppose the size of Rqis m, which means there are m technologies which are related to the query q. Generate Sqi={fj|j=2000, . . . , 2011, where fjis the Frequency Sentence score for Publication Year j} as the trend of the co-occurrence relation between the query q and the ith technology in Rq. Let Sqi(j)=fjfor the trend.

Operation 2: from the TT table, fetch records that match (T=“liquid crystal display” AND Publication Year: [2000 TO 2011]). Generate a time-based frequency trend Sqbased on the returned matching records. Similarly, obtain frequency trends for related technical terms. Denote Sias the frequency trend of the ith technology in Rq.

In some embodiments, one or more of the following measures are used to define how closely two technologies are related to each other.

Co-occurrence510. Potentially the simplest way to measure the relation degree between technology q and technology i is to use the co-occurrence score CooC(q, i):
CooC(q,i)=F(q,i)=ΣjSqi(j)  (1)

SubTechnology512. Technologies may form a concept hierarchy. To estimate the possibility that technology i is a sub-technology of q, an occurrence score F(i) of technology i is obtained,
F(i)=ΣjSi(j)  (2)

and then a SubTechnology score is computed as SubTech(q, i):

Time-Based Correlation (TCorr)514. Mean (S) is denoted as the mean frequency value of a frequency trend “S”. A time-series correlation between Sqand Siis computed as Corr(Sqi, Si):

Similarly, Corr(Sqi, Sqi) is computed as the correlation between Sqand Sqi, and Corr(Si, Sqi) as the correlation between Siand Sqi.

Finally, the TCorr514between the query technology q and technology i is computed as TCorr(q, i):

where wiis the weight of each component. The weights may simply be set all to one, or adjusted based on learning.

Emerging Relation Detection516. Emerging relations based on the time-based trends of Sqi, for all i in Rqare detected. While previous studies may tend to focus on detecting emerging technologies, embodiments described herein detect emerging relations between technologies.

At block506a new technology relation prediction is performed. Given a technology Y, it is possible to predict which technology j could be or would be related to or combined with technology Y to form a new concept or idea. For example, when “social network” was used during the early stages of basic content information sharing, a question could be posed whether it would have been possible to predict the use of a location based social network, such as Foursquare. To predict a new relation between, e.g., a location and a social network is challenging because such a relation was not previously proposed.

Embodiments provide a solution for the foregoing question by identifying inspiring technologies that could bring two technologies together. In the following example, relations of technology Y may be inspired from the relations of technology X.

XD(2004)→a prediction may be made that Y would also combine with D, to form a new relation YD.

In the above example, XA means that technology X and A co-occurred in year 2000, YA means technology Y and A first co-occurred in year 2001. The symbol “→” means that the new relation of Y with A is inspired from X.

More formally, P(Y|X) is the likelihood that the relations of technology Y can be inspired by technology X. To estimate such likelihood, historical relations between technologies are utilized, which are represented in a CTTR table in some embodiments.

RX(t) is the set of technologies related to technology X at year t, and NX(t) is denoted as a set of technologies that were first time related to X at year t, which means that NX(t) is a subset of RX(t). NX(t) and RX(t) are extracted from the CTTR table by performing a query on technology X and then computing when a relation firstly appeared.

The union (U) of the set of technologies (RX) related to technology X at years from 1 to t, is denoted as:
X(t)=∪1≦p≦tRX(p)  (6)

If a history data table is available from year 1 to h, P(Y|X) is obtained as follows:

P⁡(Y|X)=1ZY⁢∑1<t≤h⁢R←X⁡(t-1)⋂NY⁡(t)(7)
where ZYis the normalization constant and |•| defines the size of a set.

If P(Y|X)>0, technology X is denoted as an inspiring technology to Y, because technology X brings new relations to Y. AYis denoted as the set of all inspiring technologies for Y.

Given a technology k, which has not been related to Y before, the following score (Q) is computed to measure the possibility that k could potentially be related to Y:
Q(k|Y)=ΣXεAYP(Y|X)score(X,k)  (8)

where score(X, k) shows how technology X and k are related to each other. In some embodiments, score(X, k) corresponds to CooC(X, k), the simplest co-occurrence value, or the more advanced value TCorr(X, k) which captures a time trend.

In some embodiments, all technologies which have not been related to Y are ranked, based on measure Q(k|Y). The top ranked technologies are selected as the predicted technologies that may form new relations with Y.

At block508a user interface is provided. For example, one or more tables or results (e.g., predicted technologies that may form new relations with Y as described above) are presented to a user, and a user may be provided an ability to provide input or commands that influence the generation of one or more tables or results.

Turning now toFIG. 6, a system upon which technology prediction may be implemented in accordance with exemplary embodiments will now be described. In an exemplary embodiment, the system ofFIG. 6includes a host system602in communication with one or more user systems604and one or more technical document sources612over one or more network(s)606.

In an exemplary embodiment, end users of the technology prediction tool610access the host system602, via user systems604, to perform technology prediction, in addition to accessing other functions provided by the host system602. The user systems604may be implemented using general-purpose computers (e.g., a personal compute) executing a computer program for carrying out the processes described herein (e.g., a user system604may be operating a web browser). In exemplary embodiments, user systems604are implemented by mobile devices, such as cellular telephones and laptop computers, to communicate with the technology prediction system. While only two user systems604are shown in the system ofFIG. 6, it will be understood that more than two user systems604may be implemented.

The host system602may be implemented using one or more servers operating in response to a computer program stored in a storage medium accessible by the server(s). The host system602may operate as a network server (e.g., a web server) to communicate with the user systems604and other network entities, e.g., a storage device608. The host system602handles sending and receiving information to and from the user systems604and can perform associated tasks. In an exemplary embodiment, the host system602also executes logic to implement the technology prediction tool610. The technology prediction tool610may be implemented as a distributed application, for example, all or a portion of the execution may be performed on one or more user systems604.

The host system602is in communication with the storage device608. The storage device608may be implemented using memory contained in the host system602or it may be a separate physical or logical device. In the exemplary embodiment shown inFIG. 6, the host system602is in direct communication with the storage device608(e.g., using physical cabling). In an alternative exemplary embodiment, the host system602may be in communication with the storage device608over the network(s)606. It will be understood by one of ordinary skill in the art, however, that other network implementations may be utilized. For example, the storage device608may be logically addressable as a consolidated data source across a distributed environment that includes one or more of the networks606. Information stored in the storage device608may be retrieved and manipulated via the host system602. The storage device608stores a variety of information for use in performing technology prediction processes as described herein. The storage device608may store, for example, technical documents, a CTTR table, and a TT table.

In an exemplary embodiment, document sources612include any source of technical documents such as a repository of patents (e.g., the PTO website), an IEEE library, etc. For ease of explanation, only a single storage device608is shown inFIG. 6. However, it will be understood by one of ordinary skill in the art that any number of such storage devices may be accessed by the host system602in order to realize the advantages of the exemplary embodiments described herein.

Network(s)606may include any type of known network including, but not limited to, a wide area network (WAN), a local area network (LAN), a global network (e.g., Internet), a virtual private network (VPN), and an intranet. The network(s)606may be implemented using a wireless network or any kind of physical network implementation known in the art, e.g., using cellular, satellite, and/or terrestrial network technologies. A user system604may be coupled to the host system602through multiple networks (e.g., intranet and Internet) so that not all user systems604are coupled to the host system602through the same network.

Technical effects and benefits include the identification of one or more future relationships between technologies.