Taxonomy and application of language analysis and processing

Words can be identified in text. Membership numerical values for the words can be determined in categories, or in communication types generated using those categories. The membership numerical values for the words can then be used to generate a signature. The signature can then be used to identify documents with a similar attitude.

FIELD

This invention pertains to semantics, and more particularly to attitudes represented in text.

BACKGROUND

While human beings have an intuitive ability to understand language, getting machines to understand language remains a complicated problem. The field of Artificial Intelligence has been working on understanding language for decades. But to date systems either have a very limited ability to understand language in general, or a significant ability to understand language in a very specialized subset of language. For example, voice response systems tend to have fairly limited vocabularies: outside the words the systems are designed to understand, they are lost.

Textual analysis has not fared better than understanding spoken language. With textual analysis, the entirety of the text is present, and (usually) in a form that leaves the system with no uncertainty about the specific letters being used (ignoring the problems of character recognition from scanned text). But systems still have difficulty understanding what the text represents. For example, the sentence “The old man the boats” can confuse systems that think the word “old” is an adjective and the word “man” is a noun, where in fact the word “old” is a noun and the word “man” is a verb.

Aside from the problem of discerning the intended meaning of various words—words that can be used in different parts of a sentence, or words that are homophones, for example—systems have difficulty discerning the underlying context of text. People when they write, no less than when they speak, convey an attitude about a subject. But systems have difficulty understanding what the writer's attitude is.

A need remains for a way to address these and other problems associated with the prior art.

DETAILED DESCRIPTION

FIG. 1shows a system for determining an attitude in text, according to an embodiment of the invention.FIG. 1shows machine105, which can be, for example, a server or a user's personal computer. InFIG. 1, machine105is shown as including computer110, monitor115, keyboard120, and mouse125. A person skilled in the art will recognize that other components can be included with machine105: for example, other input/output devices, such as a printer. In addition,FIG. 1machine105can include conventional internal components (not shown): for example, a central processing unit, a memory, storage, etc. Although not shown inFIG. 1, a person skilled in the art will recognize that machine105can interact with other machine, either directly or over a network (not shown) of any type. Finally, althoughFIG. 1shows machine105as a conventional desktop computer, a person skilled in the art will recognize that computer system105can be any type of machine or computing device capable of providing the services attributed herein to machine105, including, for example, a laptop computer, a personal digital assistant (PDA), or a cellular telephone.

Machine105can include category set130, word set135, word identifier140, signature generator145, and word adder150. Category set130includes a set of categories along which words can be aligned. For example, as shown inFIG. 2, one possibility for category set includes the categories of “content” (along dimension205), “quality” (along dimension210), and “form” (along dimension215). In the example embodiment shown inFIG. 2, “content” dimension205relates to what the content (word or other unit of text) is about, “quality” dimension210relates to the quality of the content, and “form” dimension215relates to the direction the information is flowing (to or from the speaker). (“Form” dimension215is shown with a dashed line to represent that “form” dimension215is orthogonal to the page.)

Along each dimension (category), a word can take any value along the spectrum: this value represents the word's membership in the category. For example, along “content” dimension205, a word can be either temporal or spatial in nature, and to any extent. Similarly, along “quality” dimension210, a word can be dynamic or static in nature, and to any extent, and along “form” dimension215, a word can be receiving or giving in nature, and to any extent. In general, each category is independent of the other categories, and therefore can be represented by a dimension that is orthogonal to the dimensions representing the other categories.

Either end of the spectrum can be associated with positive or negative numerical values, provided the association is consistent for all words. While the numerical values a word can take along any dimension can be unbounded, keeping the numerical values within the range of [−1, 1] has an advantage of keeping the numerical values normalized. But a person of ordinary skill in the art will recognize that normalization can occur after the membership numerical values are assigned.

WhileFIG. 2shows three dimensions, a person of ordinary skill in the art will recognize that there can be any number of dimensions. The graph shown inFIG. 2would be modified according to the number of categories (although a representation on paper becomes more complicated when the number of categories exceeds 3).

While it is possible to generate signatures for text based on the direct category membership numerical values for words, another way to generate signatures is to identify communication types. A communication type is a combination of categories. For example, using just the “content” and “quality” dimensions205and210, there are four categories: one for each quadrant in the graph of the two dimensions. These communication types can be identified by the ends of the respective dimensions: “temporal static”, “temporal dynamic”, “spatial static”, and “spatial dynamic”. Words can then be assigned membership in these communication types, as shown inFIG. 3. Words can be assigned membership in the communication types directly or indirectly. As an example of indirect membership can be to take the category memberships as they are known, and extrapolate the communication memberships from there. For example, the word “abandon” might be categorized along both “content” and “quality” dimensions205and210, resulting in a membership in the “spatial static” communication type. In contrast, the word “abound” (word305) might be categorized along “content” dimension205but neutral along “quality” dimension210, resulting in membership in both the “spatial static” and “spatial dynamic” communication types.

InFIG. 3, “content” and “quality” dimensions205and210are shown, with various words assigned to each communication type (i.e., a quadrant of the graph). The word lists shown inFIG. 3are partial lists: there are many more words included in each communication type, of whichFIG. 3shows a subset. A complete list of words in each communication type can be found in U.S. Provisional Patent Application Ser. No. 61/487,620, filed May 18, 2012, incorporated by reference herein.

Examination of the word lists inFIG. 3reveals some interesting points. First, not every word is necessarily present, even in only one list. For example, common words, such as “a”, “an”, and “the” do not necessarily appear. Second, words can appear in multiple lists. For example, “abound” (word305) appears in both the “spatial static” and “spatial dynamic lists”. This can be indicative of the word “abound” (word305) having no specific quality (i.e., the word “abound” is neutral relative to quality dimension210), and only has membership in the “content” category (dimension205).

Each communication type can be assigned a symbol, such as symbols310,315,320, and325. These symbols can be used as a shorthand for the specific communication type. For example, a reference to symbol “A” (symbol310) can be a shorthand reference for the “spatial static” communication type. This notation provides benefits in how the signature is generated, as discussed below with reference toFIG. 4.

WhileFIG. 3shows communication types associated with combinations of only two categories, a person of ordinary skill in the art will recognize that any number of categories can be combined to define the communication types, andFIG. 3represents only an example embodiment. For example,FIG. 2shows three dimensions: “content”205, “quality”,210, and “form”215: the communication types can be associated with all three dimensions. As should be apparent, the number of communication types grows exponentially with the number of categories. Thus, if all three dimensions shown inFIG. 2are used in defining the communication types, there will be a total of 8 communication types; if 4 dimensions are used, there will be a total of 16 communication types, and so on.

While the term “word” implies a single lexicographic token, a person of ordinary skill in the art will recognize a “word” can be anything, including what might otherwise be considered multiple separate words. For example, the term “baseball bat” consists of two lexicographic words. But while each token of the term “baseball bat” might be a separate word, the images conveyed by each word separately differ from the image conveyed by the complete term. Thus, the meaning of the term “word” is not limited to concepts that can be represented with one word in the language.

Returning toFIG. 1, word set135is a set of words that have memberships in the various categories (or communication types). Word set135can be complete, in the sense that it includes every word in the language, or it can be partial, reflecting only those words that are considered significant to date. As discussed above with reference toFIG. 3, there are likely words, such as “a”, “an”, and “the”, that are so common as to convey no particular meaning, and therefore do not need to be included in word set135.

Word identifier140is responsible for identifying a word in some text: be it a block of text for which a signature is to be generated, or a document that is being searched. As discussed above, a “word” might include multiple tokens that could be considered separate words: word identifier140is responsible for identifying “words”, regardless of how many tokens might be used to represent the concept.

Signature generator145is responsible for generating a signature for a block of text. Signature generator145is discussed further below with reference toFIG. 4.

Word adder150is responsible for adding new words to word set135. Word adder150is discussed further below with reference toFIG. 5.

FIG. 4shows how the signature generator ofFIG. 1can generate a signature for words in a block of text. InFIG. 4, for each word in the block of text, the words have memberships405,410,415in various communication types. These membership numerical values405,410,415are input to signature generator145, and the signature generator can then calculate signature420. Signature generator145can use any desired formula to calculate signature420.

As an example of how signature generator145can calculate a signature for a block of text, consider three words w1, w2, and w3. Word w1is assigned a membership value of 1 in communication type A (referring back toFIG. 3, this communication type is the “spatial static” communication type). Word w2is assigned a membership value of 0.5 in communication type A, and a membership value of 0.5 in communication type B. Word w3is assigned a membership value of 1 in communication type B. Then, for the combination of communication types A and B (represented as “AB”), the portion of the signature attributable to that combination can be calculated as the sum of the membership numerical values for each word in either the A or B communication types, divided by the number of membership numerical values being considered. In the provided example, the contribution of the AB combination can be calculated as (1+0.5+0.5+1)/4, or 0.75. Calculating this formula for each combination of communication types then produces the signature 0.75AA+0.75AB+0.75AC+0.75 AD+0.75BB+0.75BC+0.75 BD+0CC+0CD+0DD. This example is contrived and simple, but the calculation can be used for more complicated blocks of text, and can produce other signatures: for example, 0.17AA+0.37AB+0.15AC+0.14AD+0.66BB+0.43BC+0.04BD+0.71CC+0.29CD+0.03DD, or 0.34AA+0.25AB+0.04AC+0.80AD+0.22BB+0.72BC+0.91BD+0.10CC+0.19CD+0.37DD.

The above examples express the signatures as additive over the combinations of communication types. A person of ordinary skill in the art will recognize that the mathematical combination of the combinations of communication types can use any mathematical operation, and that the use of addition is merely exemplary.

As can be seen from the example signatures, a communication type can be combined with itself. Thus, “AA” represents a valid communication type, as do “BB”, “CC”, and “DD”.

A cursory examination of the example signatures above, along with the algorithm used to calculate the signatures, shows that combinations of communication types are commutative. That is, there is no difference between “AB” and “BA” as communication types. But a person of ordinary skill in the art will recognize that if combinations of communication types are not commutative, then both combinations can be part of a signature.

FIG. 5shows how the word adder ofFIG. 1can be used to add a new word to the word set ofFIG. 1. InFIG. 5, new word505represents a word not currently in word set135, and therefore not categorized within category set130. Word adder150can be used to add new word505to word set135, producing updated word set510.

Word adder150can include membership assigner155. Membership assigner155can be used assign new word505to one or more categories in category set130, shown as new word membership515. In embodiments of the invention using communication types as opposed to straight category memberships, membership assigner155can be used to assign new word505to communication types.

FIG. 6shows the system ofFIG. 1, combining an attitude search engine and a document search engine. InFIG. 6, machine105is shown as including both attitude search engine605and document search engine610. Document search engine610is similar to known search engines that can be used to search for text, such as the Google™ search engine. (Google is a trademark of Google Inc.) Attitude search engine605can search for documents, rather than by text, by attitude. Given a signature, such as those discussed above, attitude search engine605can look for documents with a similar signature/attitude. Attitude search engine can locate just documents with an identical attitude, but it would be unusual for a document to have a signature identical to a given signature. Instead, attitude search engine605can locate documents that have similar, but not identical, attitudes: the located documents can be sorted based on how close/far their signature is from the given signature. Distance can be measured in any desired manner. Example distance measures can include Euclidean distance (square root of the sum of the squares of the distances between the corresponding coordinates) and taxicab distance (sum of the absolute values of the distances between the corresponding coordinates), among other possibilities.

Attitude search engine605obviously depends on knowing the attitude of the documents in the corpus (set) being searched. If the signatures of any of the documents in the corpus are not known in advance, they can be calculated as discussed above, just like a signature can be calculated for any other block of text. The signatures can be stored anywhere: with the document (as metadata), separately from the document (for example, in a signature storage database), or cached locally on machine105, among other possibilities.

Attitude search engine605and document search engine610can be combined in any sequence. For example, document search engine610can be used to reduce the corpus of documents to a subset; the attitudes of this subset can then be searched using attitude search engine605to identify documents that have a similar attitude to a given signature. Alternatively, attitude search engine605can be used to identify documents in the corpus that have a similar attitude to a given signature, after which those documents can be searched using document search engine610.

A person of ordinary skill in the art will recognize that a “document” can be anything that includes a set of words. For example, “documents” can include objects created by word processing programs, or a website on the Internet. But “documents” can also include objects that might not otherwise be considered documents: for example an image file that includes text that can be scanned, or a file that includes text as hidden metadata. In short, a “document” can include anything that has text that can be used to generate a signature.

FIGS. 7A-7Bshow a flowchart of a procedure for using a signature to search a corpus of documents in the system ofFIG. 1. InFIG. 7A, at block705, words in a text are identified. At block710, category memberships are determined for the identified words. As discussed above, the category memberships can be communication type memberships. At block715, a signature for the text is generated, using the category memberships.

Once a signature has been generated, it can be used to search a corpus of documents. As shown inFIG. 7B, one possibility is to search the corpus of documents first using a text search, as shown in block720. Then, at block725, attitudes can be determined for the results of the search, and the results filtered using the signature, as shown in block730.

Alternatively, attitudes can be determined for the documents in the corpus, as shown in block735. The attitudes can be used to filter the documents in the corpus as shown in block740, after which the results can be searched for text, as shown in block745.

A person of ordinary skill in the art will recognize that the blocks shown inFIGS. 7A-7Bcan be performed in various different orders. Further, various blocks can be omitted. For example, blocks705,710, and715can be performed to generate a signature, without performing any search based on the signature. This could occur as part of determining an attitude for a document to support a search of the document against other signatures later.

The above discussion does not reflect what is considered to be “close” to a given signature. Any desired measure of “closeness” can be used. For example, relative to a given signature, any other signature that is no more distant than some pre-determined limit (either fixed or percentage) can be considered “close”.

While the above discussion suggests that signatures are generated using a source text, a person of ordinary skill in the art will recognize that signatures can be generated in other manners. For example, a user can manually enter a signature to use. Even more generally, a user can input a range of signatures. For example, a user can enter several signatures that represent the corners of an m-dimensional polygon: any signature within that polygon is considered to be within the range of the signatures. Or a user can enter ranges for the individual combinations of communication types, with any signature that satisfies the various coordinate ranges considered to be within the range of the signatures. Other possible sources for signatures, and limits for ranges, can be used.

FIG. 8show a flowchart of a procedure for generating a signature using the signature generator ofFIG. 1. InFIG. 8, at block805communication types are identified. At block810, membership numerical values in the communication types for the identified words are determined. At block815, a signature can be calculated using the membership numerical values.

The following discussion is intended to provide a brief, general description of a suitable machine in which certain aspects of the invention may be implemented. Typically, the machine includes a system bus to which is attached processors, memory, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices, a video interface, and input/output interface ports. The machine may be controlled, at least in part, by input from conventional input devices, such as keyboards, mice, etc., as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signal. As used herein, the term “machine” is intended to broadly encompass a single machine, or a system of communicatively coupled machines or devices operating together. Exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., as well as transportation devices, such as private or public transportation, e.g., automobiles, trains, cabs, etc.

The machine may include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits, embedded computers, smart cards, and the like. The machine may utilize one or more connections to one or more remote machines, such as through a network interface, modern, or other communicative coupling. Machines may be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc. One skilled in the art will appreciated that network communication may utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 810.11, Bluetooth, optical, infrared, cable, laser, etc.

The invention may be described by reference to or in conjunction with associated data including functions, procedures, data structures, application programs, etc. which when accessed by a machine results in the machine performing tasks or defining abstract data types or low-level hardware contexts. Associated data may be stored in, for example, the volatile and/or non-volatile memory, e.g., RAM, ROM, etc., or in other storage devices and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, etc. Associated data may be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and may be used in a compressed or encrypted format. Associated data may be used in a distributed environment, and stored locally and/or remotely for machine access.

Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments may be modified in arrangement and detail without departing from such principles. And, though the foregoing discussion has focused on particular embodiments, other configurations are contemplated. In particular, even though expressions such as “in one embodiment” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms may reference the same or different embodiments that are combinable into other embodiments.