Text

Information processing analysis system for sorting and scoring text

5371673

Abstract

A method and system for text analysis provides that text messages perceived by a population can be scored to determine the extent to which the messages favor one or more specified positions on a specified issue. A method and system for predicting public opinion based on message scores provides that the extent to which messages favor one or more specified positions can be used to determine the effect on the opinions of a specified population and to determine changes in the percentages of the percent of subpopulations within said specified population which favor said one or more specified positions.


Claims

I claim:

1. A system for determining the presence within a text message of one or more predetermined ideas wherein the text of said message is in digital form and includes components in a human language, said system comprising:

a) means for searching said message for a plurality of predetermined scoring words and identifying words in said message which match with said scoring words;

b) means for determining the sequence within said message of matching scoring words and the distance between certain ones of said matching scoring words; and

c) means for identifying which said ideas are present in said message according to one or more predetermined rules, each of said rules specifying a relationship between one or more of said matching scoring words.

2. A system according to claim 1 further including means for assigning numerical scores for said message according to said one or more predetermined rules.

3. A system according to claim 1 further including communication means for electronically connecting to an electronic data base containing text stored in digital form and for obtaining said text.

4. A system according to claim 1, wherein said system further includes:

d) means for dividing the text of said message into specified blocks of text, wherein said blocks can include all or a subset of the text of said message;

e) means for making summary representations of each said block of text wherein each important concept conveyed by said message is reduced to a single concept symbol, and wherein each important concept is identified from:

1) one or more specified words within said block of text;

2) a quantity of text between said one or more specified words within said block of text;

3) the sequence within said message of said one or more specified words; and

f) means for altering specified blocks of text.

5. The system according to claim 4 further wherein said system further includes means for determining, based on said summary representations, scores for each said message representing the presence and absence of text favoring said ideas.

6. The system according to claim 4 wherein said means for making summary representations further includes:

b)(1) a dictionary containing a limited number of words likely to be contained in the text of said specified blocks of text;

b)(2) a set of concept symbols corresponding to the concepts to be used in evaluating the presence of said ideas within said specified blocks of text;

b)(3) means for assigning each word in said dictionary to one of said concept symbols;

b)(4) means for scanning the text of said specified block of text using pattern matching for the occurrence of matching words wherein matching words are those also found in said dictionary;

b)(5) a set of transformation rules for identifying said important concepts within said text wherein an important concept is identified from:

(i) one or more specified words within said specified block of text,

(ii) a quantity of text between said one or more specified words within said specified block of text, and

b)(6) means for transforming said summary representations to obtain a reduced summary representations wherein said important concepts conveyed by said text, relevant to said ideas, are each reduced to a single concept symbol.

7. The system according to claim 6 wherein each said reduced summary representation is in the form of a text equivalent listing comprising:

b)(6)(i) a symbol representing a beginning of said specified block of text wherein said symbol has the same form as that of said concept symbols;

b)(6)(ii) a distance symbol representing a quantity of text between the beginning of said specified block of text and its next nearest neighbor wherein said next nearest neighbor is a said matching word, or the end of said block of text;

b)(6)(iii) the concept symbol corresponding to each said matching word in said specified block of text;

b)(6)(iv) a distance symbol corresponding to said distance between each said matching word and its next nearest neighbor or said end of said specified block of text; and

b)(6)(v) sequence information specifying the sequence of said beginning, each said matching word, and said end of said specified block of text.

8. The system according to claim 6 wherein said means for transforming said summary representations to obtain said reduced summary representations further includes:

b)(6)(i) means for performing evaluations of pairs of said concept symbols in said text equivalent of said specified block of text wherein said evaluations are based on said symbols, said sequence information, and said distance symbols in said text equivalent listing; and

b)(6)(ii) means for performing transformations on said text equivalent listing to reduce said text equivalent listing to important concept symbols wherein said transformations are based on said evaluations of pairs of said concept symbols.

9. The system according to claim 8 wherein said means for performing transformations further includes, based on relationships defined in said transformation rules:

b)(6)(ii)(A) means for inserting a specified distance symbol and a specified concept symbol into said specified text equivalent listing; and

b)(6)(ii)(B) means for modifying said sequence information of said specified text equivalent listing.

10. The system according to claim 8 wherein said means for performing transformations further includes, based on relationships defined in said transformation rules:

b)(6)(ii)(A) means for deleting a specified concept symbol and a specified distance symbol from a specified text equivalent listing; and

b)(6)(ii)(B) means for modifying said sequence information of said text equivalent.

11. The system according to claim 4 wherein said means for making summary representations includes:

b)(1) means for altering said summary representations based on a said specified block of text and specified input rules, wherein said input rules specify one or more concept symbols to insert and the method for insertion there into; and

b)(2) means for altering said specified block of text, based on other blocks of text and specified input rules, wherein said input rules specify one or more words to insert and locations within said individual text blocks for their insertion.

12. The system according to claim 11 further including means for insertion of one or more specified words into the text of said message at locations specified by said input rules and based on said summary representation, wherein said one or more specified words are quantities of text defined in said input rules.

13. The system according to claim 11 further including means for deletions of above specified words from the text of said message at locations specified by said input rules and based on said summary representation, wherein said specified words are quantities of text defined in said input rules.

14. The system according to claim 11 further including means for replacement of one or more specified words in the text of said message by one or more specified replacement words at locations specified by input rules, based on said summary representation, wherein said one or more specified words and said one or more replacement words are quantities of text defined in said input rules.

15. A system for reducing a text message into its essential message components and identifying the presence within said message of one or more predetermined ideas wherein the text of said message is stored in digital form and includes components in a human language, said system comprising: computer means including:

a) a listing of predetermined concept categories and a dictionary of predetermined identifying words wherein each of said identifying words is a text representation corresponding to one of said concept categories, and wherein said concept categories represent a predetermined concept;

b) a set of predetermined text analysis rules wherein said text analysis rules define relationships between one or more concept categories;

c) means for dividing the text of said message into specified blocks of text, wherein said blocks can include all or a subset of the text of said message;

d) means for searching each said block of text for a first plurality of words in said message which match with said predetermined identifying words, such instance of a plurality being a set of matching words;

e) means for determining the sequence of said matching words in said block of text and the distance between pairs of said matching words wherein distance is a numeric representation of the quantity of text between the said pair of matching words in said text;

f) means for analyzing said matching words, said sequence of matching words, and said distances between pairs of matching words to select blocks of text in said message according to one or more of said text analysis rules, wherein said text analysis rules define a relationship between one or more matching words that identifies said blocks of text as relevant to a said idea;

g) means for searching each said relevant block of text in said message for a plurality of words which match with said predetermined identifying words;

h) means for determining the sequence within said block of text of matching identifying words and the distance between each pair of matching identifying words; and

i) means for determining within each relevant block of text using said predetermined text analysis rules, the quantities of text favoring each of said ideas.

16. A system according to claim 15 wherein said computer means further includes means for assigning numerical scores for each relevant block of text according to said predetermined text analysis rules, each of said rules further specifying a relationship between said concept categories each corresponding to one said matching identifying word and identifying which said ideas the block of text favors.

17. A system according to claim 16 wherein said computer means further includes means for assigning a numerical score to said message according to the numerical scores for the relevant blocks of text found therein.

18. A system according to claim 15 further including communication means for electronically connecting said computer means to an electronic data base containing text stored in digital form and for transferring said text to said computer means.

19. The system according to claim 15 wherein said computer means further includes:

j) means for making summary representations of said specified blocks of text wherein each important concept conveyed by said block of text is reduced to a single concept symbol, and wherein each important concept is identified from:

(i) one or more specified words within said specified block of text;

(ii) a quantity of text between said one or more specified words within said block of text; and

(iii) the sequence within said specified block of text of said one or more specified words; and

k) means for altering specified blocks of text.

20. The system of claim 19 further including means for determining, based on said summary representations:

1) which blocks of text to use to determine said numerical scores for each said message; and

2) numerical scores for each said message.

21. The system according to claim 19 wherein said means for making said summary representations from said specified blocks of text further includes:

a)(1) means for altering said summary representations based on said specified blocks of text and specified input rules, wherein said input rules specify one or more concept symbols to insert and the method for insertion there into; and

a)(2) means for altering individual said specified blocks of text, based on other blocks of text and specified input rules, wherein said input rules specify one or more words to insert and locations within said individual text blocks for their insertion.

22. The system according to claim 21 further including means for insertion of one or more specified words into the text of said message at locations specified by said input rules and based on said summary representation, wherein said one or more specified words are quantities of text defined in said input rules.

23. The system according to claim 21 further including means for deletions of above specified words from the text of said message at locations specified by said input rules and based on said summary representation, wherein said specified words are quantities of text defined in said input rules.

24. The system according to claim 21 further including means for replacing one or more specified words in the text of said message by one or more specified replacement words at locations specified by input rules, based on said summary representation, wherein said one or more specified words and said one or more replacement words are quantities of text defined in said input rules.

25. The system according to claim 19 wherein said means for making summary representations of said specified blocks of text further includes:

j)(1) a dictionary containing a limited number of words likely to be contained in the text of said specified blocks of text;

j)(2) a set of concept symbols corresponding to the concepts to be used in evaluating presence of said ideas within said specified blocks of text;

j)(3) means for assigning each word in said dictionary to one of said concept symbols;

j)(4) means for scanning the text of said specified block of text using pattern matching for the occurrence of matching words wherein matching words are those also found in said dictionary;

j)(5) a set of transformation rules for identifying said important concepts within said text wherein an important concept is identified from:

(i) one or more specified words within said specified block of text,

(ii) a quantity of text between said one or more specified words within said specified block of text, and

j((6) means for transforming said summary representations to obtain a reduced summary representations wherein said important concepts conveyed by said text, relevant to said ideas, are each reduced to a single concept symbol.

26. The system according to claim 25 wherein each said reduced summary representation is in the form of a text equivalent listing comprising:

j)(6)(i) a symbol representing a beginning of said specified block of text wherein said symbol has the same form as that of said concept symbols;

j)(6)(ii) a distance symbol representing a quantity of text between the beginning of said specified block of text and its next nearest neighbor wherein said next nearest neighbor is a said matching word, or the end of said block of text;

j)(6)(iii) the concept symbol corresponding to each said matching word in said specified block of text;

j)(6)(iv) a distance symbol corresponding to said distance between each said matching word and its next nearest neighbor or said end of said specified block of text; and

j)(6)(v) sequence information specifying the sequence of said beginning, each said matching word, and said end of said specified block of text.

27. The system according to claim 25 wherein said means for transforming said summary representations to obtain said reduced summary representations further includes:

j)(6)(i) means for performing evaluations of pairs of said concept symbols in said text equivalent of said specified block of text wherein said evaluations are based on said symbols, said sequence information, and said distance symbols in said text equivalent listing; and

j)(6)(ii) means for performing transformations on said text equivalent listing to reduce said text equivalent listing to important concept symbols wherein said transformations are based on said evaluations of pairs of said concept symbols.

28. The system according to claim 27 wherein said means for transforming further includes, based on relationships defined in said transformation rules:

j)(6)(i) means for inserting a specified distance symbol and a specified concept symbol into said specified text equivalent; and

j)(6)(ii) means for modifying said sequence information of said specified text equivalent.

29. The system according to claim 27 wherein said means for transforming further includes, based on relationships defined in said transformation rules:

j)(6)(i) means for deleting a specified concept symbol and a specified distance symbol from a specified text equivalent; and

j)(6)(ii) means for modifying said sequence information of said text equivalent.

30. The system according to claim 19 wherein said computer means further includes:

(l) means for altering said summary representations based on said specified blocks of text and specified input rules, wherein said input rules specify one or more concept symbols to insert and the method for insertion there into; and

(m) means for altering individual said specified blocks of text, based on other blocks of text and specified input rules, wherein said input rules specify one or more words to insert and locations within said individual text blocks for their insertion.

31. The system according to claim 30 further including means for insertion of one or more specified words into the text of said message at locations specified by said input rules and based on said summary representation, wherein said one or more specified words are quantities of text defined in said input rules.

32. The system according to claim 30 further including means for deletions of above specified words from the text of said message at locations specified by said input rules and based on said summary representation, wherein said specified words are quantities of text defined in said input rules.

33. The system according to claim 30 further including means for the replacement of one or more specified words in the text of said message by one or more specified replacement words at locations specified by input rules, based on said summary representation, wherein said one or more specified words and said one or more replacement words are quantities of text defined in said input rules.

34. A system for determining the presence within a text message of one or more predetermined ideas wherein the text of said message is in digital form and includes components in a human language, said system comprising:

a) means for searching said message for a plurality of predetermined scoring words and identifying words in said message which match with said scoring words;

b) means for determining the sequence within said message of matching scoring words and the distance between certain ones of said matching scoring words; and

c) means for identifying which said ideas are present in said message according to one or more predetermined rules, each of said rules specifying a relationship between one or more of said matching scoring words;

said means further including:

d) means for dividing the text of said message into specified blocks of text, wherein said blocks can include all or a subset of the text of said message;

e) means for making summary representations of each said block of text wherein each important concept conveyed by said message is reduced to a single concept symbol, and wherein each important concept is identified from:

1) one or more specified words within said block of text;

2) a quantity of text between said one or more specified words within said block of text;

3) the sequence within said message of said one or more specified words; and

f) means for altering specified blocks of text.

35. A system for determining the presence within a text message of one or more predetermined ideas wherein the text of said message is in digital form and includes components in a human language, said system comprising:

a) means for searching said message for a plurality of predetermined scoring words and identifying words in said message which match with said scoring words;

b) means for determining the sequence within said message of matching scoring words and the distance between certain ones of said matching scoring words;

c) means for transforming said message to make a summary representation thereof;

d) means for identifying which said ideas are present in said message according to one or more predetermined rules, each of said rules specifying a relationship between one or more of said matching scoring words.

36. The system according to claim 35 wherein said transformation reduces said message to a concept symbol.

37. A system for reducing a text message into its essential message components and identifying the presence within said message of one or more predetermined ideas wherein the text of said message is stored in digital form and includes components in a human language, said system comprising: computer means including:

a) a listing of predetermined concept categories and a dictionary of predetermined identifying words wherein each of said identifying words is a text representation corresponding to one of said concept categories, and wherein each said concept category represents a predetermined concept;

b) a set of predetermined text analysis rules wherein said text analysis rules define relationships between one or more concept categories;

c) means for dividing the text of said message into specified blocks of text, wherein said blocks can include all or a subset of the text of said message;

d) means for searching each said block of text for a first plurality of words in said message which match with said predetermined identifying words, such instance of a plurality being a set of matching words;

e) means for determining the sequence of said matching words in said block of text and the distance between pairs of said matching words wherein distance is a numeric representation of the quantity of text between the said pair of matching words in said text;

f) means for analyzing said matching words, said sequence of matching words, and said distances between pairs of matching words to select blocks of text in said message according to one or more of said text analysis rules, wherein said text analysis rules define a relationship between one or more matching words and identify relevant blocks of text as relevant to said ideas;

g) means for searching each said relevant block of text in said message for a plurality of words which match with said predetermined identifying words;

h) means for determining the sequence within said block of text of matching identifying words and the distance between each pair of matching identifying words;

i) means for transforming said block of text to make a summary representation thereof;

j) means for determining within said relevant block of text using said predetermined text analysis rules, the quantities of text favoring each of said ideas.

38. The system according to claim 37 wherein said transformation reduces each block of text to a concept symbol.


Description

TECHNICAL FIELD OF THE INVENTION

This invention generally concerns an expert system in artificial intelligence in which a computer performs scoring of information available to the public and uses such scores to predict expected public opinion.

BACKGROUND OF THE INVENTION

One of the major areas of this invention is the computer analysis of text. Here, "text" refers to a stream of data bits. Individual data bits will be referred to as "characters" and will typically be ASCII (American Standard Code for Information Exchange) characters. Small strings of such data bits are grouped into units called "words" with each word having a small number of defined meanings. Unless otherwise stated, words need not begin and end with special characters like spaces, carriage returns or line feeds.

In some expert systems for computer text analysis, words in text are assigned to defined categories and the number words in each category is counted. Final interpretations are based on the frequencies of words in different categories. Although this strategy is suitable for analyzing large quantities of text ranging to millions of characters or more, meanings due to relationships between words are lost.

Other expert systems include the spatial relationships between words in the text analysis. This strategy has the disadvantage that only limited amounts of text can be examined without the rules for assessing word relationships becoming exceedingly complex and very time consuming to compute.

In addition, no general and systematic method has been proposed in either of these areas of artificial intelligence to obtain directly numerical scores for the extent to which a "story" supports different "positions" for an "issue." Here, an issue is basically a question such as: should there be More, Same, or Less spending for military defense. A position, also called an "idea," is a possible answer such as: More, Same, Less or Don't know. A story is a continuous segment of text.

The other major area of this invention concerns the determination of expected public opinion, and, more generally, the determination of expected social traits. Previous attempts to develop an artificial intelligence system for predicting public opinion are described in two previous publications: "Mathematical models for the impact of information on society," by David P. Fan in Political Methodology, Vol. 10, pp. 479-493, 1984; and "Ideodynamics: The kinetics of the evolution of ideas," by David P. Fan in Journal of Mathematical Sociology, Vol. 11, pp. 1-23, 1985. This system was based on a model called ideodynamics.

In ideodynamics, expected opinion is computed from scores for the extent to which information supports different positions. Expected opinion is determined as a time trend with the time intervals of the determinations being of arbitrarily small size.

For the opinion computations in the prior system, each persuasive message able to change minds of people in a population was defined as an "infon" I.sub.ijk where i=1,2 was the index referring to whether the infon was available to all people (i=1) or only those already aware of the issue (i=2) supported a position, where j=1,2 was the index referring to the position (denoted by Q.sub.j) the infon favored, and where k was the index identifying the individual message. Each infon was defined to have the characteristics of t.sub.ijk =the time the infon first arrived at the population, a.sub.ijk =the fraction of the audience reached immediately after the infon was sent, v.sub.ijk =the credibility of the infon, c.sub.ijk =the fraction of the infon favoring idea Q.sub.j and d.sub.ijk (t)=function describing the fraction of the population accessing the infon at time t.

For opinion formation, equations describing the effects of infons from the mass media on the population were ##EQU1## where p.sub.ijk is constant, ##EQU2## for all k with t.sub.ijk <t, ##EQU3## where A(t') is the fraction of the population aware of the issue at time t', ##EQU4## for all k with t.sub.ijk <t,

H.sub..j =G.sub..j /(G.sub... +w) (6)

where w is a weighting constant, and

(dB/dt=k.sub.2 (1-B).H.sub..1 -k.sub.2 B.H.sub..2 ( 7)

where B is the fraction of the population believing in position Q.sub.1 given by subscript j=1 assuming that there was only one other possible position (Q.sub.2) opposed to idea Q.sub.1.

The previous ideodynamic system suffered from several drawbacks rendering it inoperable. First, an infon was defined as "a single packet of information transmitted in identical copies to a group of people" (the article by Fan in the Journal of Mathematical Sociology, 1985, described above). Since each infon is defined as I.sub.ijk with only one index j, the implication is that an infon can only support the single position Q.sub.j. However, in defining content scores c.sub.ijk, there is the implication that an infon can have contents supporting more than one position. Therefore, there is contradiction in the terms defined earlier.

In the system of this invention, "a single packet of information transmitted in identical copies to a group of people" is redefined as a "persuasive message" with an "infon" I.sub.ijk now referring to "a component of a message favoring position or idea Q.sub.j." In fact, it is possible to divide a message into several infons all favoring the same position Q.sub.j. All such infons would have the same subscript j but would have different subscripts i and/or k.

Second, all persuasive messages were assumed to have the same total content score since the content score c.sub.ijk for any one position was only the fraction of the message favored by infon I.sub.ijk. This interpretation gives excessive weights to persuasive messages with very little information relevant to the issue. Therefore, the result will be highly inaccurate opinion determinations.

In this invention, c.sub.ijk is redefined as the total and not the fractional content of infon I.sub.ijk favoring position Q.sub.j.

Third, the prior equation for opinion determination (equation 7) did not include the case of an issue having more than the two positions of pro and con.

In this invention, a new equation is used where any number of positions is possible. The extension to more positions could have resulted from a number of different assumptions so the formulation in this invention cannot be directly deduced from the prior system.

Fourth, the equations in the systems of this invention no longer include the term d.sub.ijk (t). Also, the constant a.sub.ijk is redefined as a.sub.ijk (t)=a function of time including features from both a.sub.ijk and d.sub.ijk (t) in the previous formations of equations 1-7.

Fifth, equation 6 is now replaced by a totally new equation in which constant w is eliminated and in which G.sub... no longer appears. The replacement equation is not a natural extension of equation 6 since the new constants have no relation to constant w in equation 6. With this invention no longer using constant w, the entire sketch for the solution of equations 1-7 in the prior system is inoperative since that sketch required finding constant w.

Sixth, the prior system did not permit messages favoring different positions to have different abilities to cause opinion change. This possibility is now included by the introduction of constants w.sub.ij'j" (see equation A.29 of step III-4 of the Preferred Embodiment below).

Seventh, the prior system did not specify the method for solving differential equation 7 including the setting of the boundary conditions so that system did not give a complete description of the opinion determination.

SUMMARY OF THE INVENTION

Disclosed is a system for using an electronic computer to determine expected social traits, and in particular, public opinions for the specified positions of a specified issue based on information available to the public. The three basic stages of the system involve: the gathering of representative messages relevant to the issue over a period of time, the generation of numerical scores for the messages, and the use of the scores to determine time trends of public opinion throughout the time period for which the messages are available. The preferred messages are in the form of text which can be retrieved from electronic data bases. The system first provides a method to score text using an electronic computer. The system then determines expected opinion from changes in opinion due to the influence of the messages as represented by their numerical scores.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of the electronic computer and peripheral devices used for this invention.

FIG. 2 is a simplified block diagram of an alternative hardware logic embodiment of the invention.

FIG. 3 is a logical flow diagram showing the functional operation of the alternative embodiment.

FIG. 3.1 illustrates polled data for defense spending.

FIG. 4.1 illustrates examples of persuasive forces of infons.

FIG. 4.2 illustrates a population conversion model for defense spending.

FIG. 4.3 illustrates the impact of persuasive infons favoring more defense spending.

FIG. 4.4 illustrates persuasive forces of AP infons scored for favoring more, same and less defense spending.

FIG. 4.5 illustrates persuasive forces of AP infons scored for favoring more and less defense spending.

FIG. 4.6 illustrates opinion on defense spending from dispatches scored to favor more, same and less spending.

FIG. 4.7 illustrates constant optimization curves for defense spending.

FIG. 4.8 illustrates opinion from a subset of AP dispatches scored to favor more, less or more, same and less defense spending.

FIG. 4.9 illustrates opinion from another subset of AP dispatches scored to favor more, same and less defense spending.

FIG. 4.10 illustrates opinion on defense spending assuming the entire population favored more spending of the same at the time of the first scored AP infons in January 1997.

FIG. 4.11 illustrates opinion on defense spending from dispatches scored to favor more and less defense spending only.

FIG. 4.12 illustrates persuasive forces of AP infons from 1977 to 1986 scored for favoring more, same and less defense spending.

FIG. 4.13 illustrates opinion on defense spending for 1977 and 1986.

FIG. 4.14 illustrates constant optimization curve for the contributions from paragraphs favoring less defense spending.

FIG. 4.15 illustrates effective stories on waste and fraud on public opinion on defense spending.

FIG. 4.16 illustrates persuasive forces for troops in Lebanon from AP infons only.

FIG. 4.17 illustrates persuasive forces for troops in Lebanon from AP infons without a truck bombing infons favoring more troops.

FIG. 4.18 illustrates population conversion model for actions of infons favoring more, same and less troops in Lebanon.

FIG. 4.19 illustrates optimization for the modified persuasability constant, a wait for paragraphs favoring less troops and the value of the truck bombing infons favoring more troops.

FIG. 4.2 illustrates optimization curves for the persistence half-life and the value of the truck bombing infons favoring less troops.

FIG. 4.21 illustrates opinion on troops in Lebanon assuming only AP infons.

FIG. 4.22 illustrates opinion on troops in Lebanon with a truck bombing infons favoring more troops.

FIG. 4.23 illustrates comparisons of opinion projections with (solid line) or without the truck bombing infons (dotted line) favoring more troops.

FIG. 4.24 illustrates persuasive forces AP infons with and without a truck bombing infons favoring less troops.

FIG. 4.25 illustrates opinion projections with and without a truck bombing infons favoring less troops.

FIG. 4.26 illustrates persuasive forces favorable to Democratic presidential candidates from AP paragraph scored using bandwagon words.

FIG. 4.27 illustrates persuasive forces unfavorable to Democratic presidential candidates from AP paragraph scored using bandwagon words.

FIG. 4.28 illustrates persuasive forces of AP infons scored by name, only.

FIG. 4.29 illustrates population conversion model for actions of infons scored using bandwagon words.

FIG. 4.30 illustrates population conversion model for actions of infons scored by name, only.

FIG. 4.31 illustrates optimization curves for constants for Democratic primary bandwagon analysis.

FIG. 4.32 illustrates opinion on Democratic candidates when infons were scored by the bandwagon analysis.

FIG. 4.33 illustrates opinion on Democratic candidates when infons were scored by name only.

FIG. 4.34 illustrates persuasive forces from AP paragraphs favoring better, same and worse economic conditions.

FIG. 4.35 illustrates population conversion model for actions of infons favoring better, same and worse economic conditions.

FIG. 4.36 illustrates optimization curves for constants for the economic climate.

FIG. 4.37 illustrates opinion on economic climate.

FIG. 4.38 illustrates persuasive forces of AP infons favoring unemployment more important, equal importance and inflation more important.

FIG. 4.39 illustrates a population conversion model for actions of infons favoring unemployment important, equal importance, and inflation more important.

FIG. 4.40 illustrates optimization curves for the modified persuasability constant and the infons waiting constants where the unemployment versus inflation paragraph.

FIG. 4.41 illustrates optimization curve for the persistence constant for unemployment versus inflation.

FIG. 4.42 illustrates opinion favoring unemployment more important, equal importance or inflation more important.

FIG. 4.43 illustrates persuasive forces of AP infons scored by the author as favoring an opposing contra aid.

FIG. 4.44 illustrates persuasive forces of AP infons scored by the Swim MIENE and French as favoring an opposing contra aid.

FIG. 4.45 illustrates a population conversion model for actions of infons favoring opposing contra aid.

FIG. 4.46 illustrates constant optimization curves for contra aid.

FIG. 4.47 illustrates opinion favoring and opposing contra aid using infons scores by the author.

FIG. 4.48 illustrates opinion favoring and opposing contra aid using infons scores by the Swim MIENE and French.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The invention will now be described as embodied in the computer system shown in FIG. 1 with a human operator at the controls. This system comprises a computer 10, preferably compatible with the IBM-PC microcomputer, a printer 12, preferably the Hewlett-Packard Thinkjet printer, and a modem 14. The printer 12 and modem 14 are attached to the computer 10 with the modem being further connected to remote devices by a telephone line. The computer comprises a keyboard by which the operator can enter data, a display monitor for displaying information, a disk storage device, and a microprocessor with a random access memory and a process execution unit. The microprocessor can store information by writing the information to disks using the disk storage device. The microprocessor can then read the stored information using the disk storage device. The computer can also send information to and receive information from the modem.

A typical complete task as the invention is applied to determine public opinion is now described with reference to FIG. 1. It will be understood, however, that the invention is also applicable to the more generalized task of determining social traits as will be discussed further below. In operation, the system operator passes commands and data to the computer using the keyboard. The computer accomplishes the task following commands given by the operator. Those commands include instructions for the computer to load and execute appropriate programs stored on disk. The data used by the computer come from the keyboard and from the modem. Usually, the computer will store the data on disk before subsequently reading that information from disk for the processing steps.

The goal of the typical task is to use information in the Associated Press (AP) wire service to determine expected public opinion for a number of specified positions all relating to a specified issue. The background theory for this embodiment and additional details of the techniques and results are presented in the book manuscript presented in the last section of this patent, and referred to herein as Fan (1987).

The task is divided into three main sections discussed below in steps I, II, and III: Step I is to gather AP dispatches. Step II is to score the dispatches numerically for the extent to which different components support different positions. Step III is to use these numerical scores to determine public opinion.

I. Gathering of AP Dispatches

(I-1) In order to gather appropriate AP stories, it is first necessary to define the issue for which opinion is to be determined and the mutually exclusive positions within that issue. The positions are defined so that an individual member of the population can have an opinion favoring only one of the defined positions. The possible positions are denoted by Q.sub.j where j indexes the individual positions.

Consider, as example, the issue: "Should American defense spending be increased, kept the same, or decreased?" The three positions within this issue could be: should be increased, should be kept the same, should be decreased. With three positions, j=1,2,3 in the term Q.sub.j. For brevity, it is convenient to refer to these three positions as Q.sub.1 favoring More defense spending, Q.sub.2 favoring Same defense spending, and Q.sub.3 favoring Less defense spending. In actual polls, members of the public were assigned by polling organizations as holding one of these three positions (see Table B.1 of Fan, 1987).

In a addition to positions Q.sub.1, Q.sub.2, and Q.sub.3, poll results also included the additional position of No Opinion typically comprising less than 10% of the population. With this small percentage, persons with No Opinion were ignored. This action was equivalent to assuming that most of these persons did not participate in decision making on the issue and continued to have No Opinion. However, it would be possible to repeat the analysis with No Opinion as yet another position.

(I-2) After the issue and its positions are defined, the system operator uses the computer and modem to communicate with a remote storage device, also called a data base, containing the full texts of stories in the AP wire service. One example is the Nexis data base sold by Mead Data Central of Dayton, Ohio. The computer passes a search command to the data base instructing the data base to identify all stories relevant to the issue under analysis.

For the issue of defense spending analyzed in Fan (1987), the search command was: (DEFENSE or MILITARY or ARMS) w/5 (BUDGET! or EXPENDITURE or SPEND! or FUND!) and date aft Jan. 1, 1977 and date bef Apr. 1, 1984. A full explanation of this command is given in Section B.1 of Fan (1987).

After receiving a search command, the Nexis data base responds with the total number of stories found. All stories are numbered in reverse chronological order. The computer then chooses a series of random numbers with the length of the series being less than or equal to the total number of stories identified by the data base. The computer passes appropriate commands to the data base to retrieve the texts of the stories with numbers corresponding to those in the random number series. The computer retrieves the text using the modem and stores the material on disk.

(I-3) The computer reads the retrieved text for a story from disk into memory and edits the text to remove extraneous characters and to convert the date into a "decimal date." For this conversion, it is useful to note that all stories retrieved from the Nexis data base begin with introductory material. This introductory text includes the date of story, preceded by a characteristic string of characters, usually the ASCII characters ESCAPE-A1. The computer scans the text until this string is reached. Then the computer reads the next continuous string of letters as the month (e.g. January), skips irrelevant characters, reads the next integer as the date (e.g. 1), skips irrelevant characters, and then reads the following integer as the year (e.g. 1987).

The computer checks the string of characters comprising the month against an array of 12 words corresponding to the 12 months of the year. Upon finding a match, the computer adds the integer corresponding to the date and the integer corresponding to the number of days in the year before the beginning of the matching month. The computer divides the resulting sum by the total number of days in the year to get a fractional year. The computer adds this fractional year to the last two digits of the year to get the decimal date representing the date in terms of the fraction of the year which had elapsed.

As an example, the decimal date for Jan. 1, 1987 would be 87.0027 where 0.0027=(1+0)/365. Here, the date is 1 and the integer from the month is 0 since there are no months before January.

The computer then continues to remove extraneous characters from the text. These characters are not part of the text itself but are added by the data base. For instance, the Nexis data base also sends the ASCII character string ESCAPE-A1 just prior to any word in the text which corresponded to a word in the search command (e.g. ARMS in the example in step I-2).

Whenever three adjacent spaces are encountered, the computer replaces the three spaces by the symbol "!" to indicate the beginning of a paragraph. When the computer reaches the end of a story, the computer writes the edited story to disk. For this step, the computer writes in order: the symbol "*" to indicate the beginning of the story, the decimal date, and then the rest of the edited text.

The following is the edited text from a hypothetical AP story:

* 87.0027

!"Funding for the Marines and non-defense items should not be cut," he said.

!He did ask for a reduction in health care spending.

Optionally, the system operator examines the edited text and performs a final manual editing to assure that all stories begin with the "*" symbol and the decimal date and that the paragraphs all being with the "!" symbol.

The editing is performed for every retrieved story. The result is a new set of files on disk containing the edited texts of all stories retrieved from the data base.

II. Computer Assisted Content Analysis

Once relevant stories have been collected and edited in step I above, the task continues with computer text analysis to generate set of numerical scores. In outline, this analysis begins with a series of "text filtration" steps where the computer removes text irrelevant to the opinions being determined. Once the text is sufficiently homogeneous for scoring, the computer proceeds to the "text scoring" step. The filtration and scoring procedures are described in steps II-A and II-B below, respectively.

II-A. Text Filtrations

(II-A1) Based on a random sample of edited stories, "filtration criteria" are developed. These criteria are used to formulate a "text analysis dictionary" and a set of customized "text filtration rules" for "filtering text," that is, for discarding text irrelevant to the issue being analyzed. The text filtration rules are comprised of two parts: a set of "text transformation rules" and a set of "text filtration rules." The text analysis dictionary and filtration rules are stored on disk.

Consider, for example, the defense spending issue of step I-1 above. For this topic, it is possible to decide that only one filtration criterion is needed. This condition could be the removal of all paragraphs except those relating directly to "American defense spending." This criterion could be implemented using the text analysis dictionary and text filtration rules those presented below. The rationales and compositions of the dictionary entries and the rules will be discussed below.

(II-A2) The computer loads the text analysis dictionary from disk into memory. The dictionary has two parts, a "concept array" and a "dictionary array."

The concept array lists all the essential concepts needed for the text text analysis. Each element of the concept array is comprised of:

(a) a unique "concept symbol" made up of a single character in the ASCII set of characters, and

(2) a unique "concept mnemonic" made up of a string of ASCII characters sufficiently long to suggest the meaning of the concept.

In the text filtration to select for paragraphs relevant to "American defense spending" (the criterion of step II-A1 above), the concept array could be Table 1.

                  TABLE 1
    ______________________________________
    Concept array for text analysis dictionary
    Concept mnemonic
                    Concept symbol
    ______________________________________
    AmericaWord     A
    DefenseWord     d
    SpendingWord    s
    AmerDefense     b
    AmerDefSpend    +
    NonPrefix       n
    ______________________________________


The dictionary array of the text analysis dictionary is comprised of a number of specified words. Each word is associated with one of the concepts in the concept array. Therefore, each word has a corresponding concept mnemonic and concept symbol.

Returning to the example of the text filtration for "American defense spending," the dictionary array might include the entries in Table 2. Here, only the concept symbol is given since the concept mnemonic can be read from Table 1.

                  TABLE 2
    ______________________________________
    Dictionary array for text analysis dictionary
    Dictionary word Concept symbol
    ______________________________________
    America         A
    U.S.            A
    defense         d
    funding         s
    budget          s
    Marine          b
    non             n
    ______________________________________


In this example, the concept of "American" would have concept symbol "A" and concept mnemonic "AmericaWord." The words "America" and "U.S." could both belong to this concept. However, not every concept need have corresponding words in the dictionary. For example, the concept of "American defense spending" could have concept symbol "+" together with concept mnemonic "AmerDefSpend" and yet not be represented by any single word.

(II-A3) Besides loading the dictionary, the computer loads the text transformation rules from disk into memory. These rules are comprised of:

(a) Initiation and termination signals for "blocks of text." These signals are strings of characters. The computer scans for the first occurrence of an initiation signal after the decimal date. The computer marks this as the beginning of a block of text. The computer marks the first following termination signal as the end of the that block of text. The block of text itself is the text between the two signals.

For the sample edited text of step I-3 above, it is possible to discard irrelevant paragraphs in which case the appropriate blocks of text would be paragraphs. Therefore, the "!" would be the only permissible initiation signal since all paragraphs in the edited text begin with this symbol.

However, there would be two possible termination signals, the character "!" marking the beginning of a following paragraph and the end of story marker described in step II-A5 below. Therefore, the "!" can mark both the end of one block of text and the beginning of the next.

It is also possible to use other initiation and termination signals. For example, the "!" signal marking the beginnings of paragraphs could still be used as the initiation signal for discarding entire stories. In this case, the end of story maker would be the only permissible termination signal. Intervening appearances of "!" would not cause the block of text to end.

(b) Specified carryover symbols. These symbols are a subset of all the concept symbols of step II-A2 above (see step II-A18 below for their use).

(c) Text equivalent transformation rules. These rules are a set of individual transformation rules (see step II-A15 below for their use).

(II-A4) Besides the text analysis dictionary and text transformation rules, the computer also loads the text filtration rules from disk into memory. These rules are comprised of:

(a) a set of "text discard symbols" with each element comprised of a concept symbol which would lead to discarding a block of text, and

(b) a set of "text retention symbols" with each element comprised of a concept symbol which would lead to retaining a block of text.

(II-A5) After loading the dictionary and corresponding text transformation rules, the computer loads the text of a specified story into memory, placing an end of story mark in the memory unit following the end of the story. In a disk file containing more than one story, the "*" symbol just before the decimal date of the next story (see example of step I-3) would delimit the end of the previous story. Alternatively, the end of the disk file would signal the end of a story.

(II-A6) The computer reads the "*" and decimal date at the beginning of a story and writes this information to two separate disk files, a "full text output file" and a "filtered text output file." The computer then scans the text until it encounters the first initiation signal and places a "current begin block of text" marker at the beginning of this signal.

(II-A7) The computer also places a "current position" marker at the next character.

In the example in step I-3 above, the mark is on the quote sign immediately after the first "!".

(II-A8) The computer marks the first word in the text analysis dictionary as the "current dictionary word."

(II-A9) The computer prepares a "candidate word" comprising of a string of characters in the text of the story beginning with the current position mark and extending into the text until the length current dictionary word is reached or until a termination signal is encountered. The computer compares the candidate word with the current dictionary word. In making the comparisons, all letters are reduced to the lower case. Carriage returns and line feeds are considered to be the equivalent of a space.

(II-A10) If there is no match in step II-A9 above, the computer moves the current dictionary word marker to the next word in the dictionary and repeats step II-A9. This repetition is continued until either a match is found or the end of the dictionary is reached.

(II-A11) If there is a match in either step II-A9 or step II-A10 above, the computer inserts into the text the following three characters just before the position of the match:

(a) the control character "<" indicating the arrival of a concept symbol,

(b) the concept symbol of the matching dictionary word, and

(c) the control character ">" indicating the end of the concept symbol.

(II-A12) After step II-A11, the computer advances the current position marker to the next character in the text and repeats steps II-A8 to II-A11. The computer continues this repetition until a termination signal is reached. The text between the current begin block of text marker and this termination signal, including the character additions of step II-A11, is considered to be the "current block of text." At this point, the current block of text from the example of step I-3 above is:

!"<s>Funding for the <b>Marines and <n>non-<d>defense items should not be cut," he said.

The computer writes the current block of text to the display monitor to permit the system operator to follow the progress of the text analysis.

(II-A13) The computer constructs a "text equivalent" for the current block of text comprised of an alternating series of elements: a "diagnostic symbol" and a "diagnostic distance:"

(a) The "diagnostic symbol" is comprised of either the symbol "*" denoting the beginning of the block of text or a concept symbol inserted in step II-A11 above.

(b) The "diagnostic distance" is an integer equivalent to the number of characters between two concept symbols in the block of text, between a concept symbol and the beginning or end of the block of text, or between the beginning and end of the block of text if no concept symbols were placed in the block of text.

The computer constructs the text equivalent, stores it memory and displays it on the monitor as follows:

(a) The computer writes to the monitor the diagnostic symbol "*" indicating the beginning of the block of text. The computer then writes a space. At this point, the computer starts at the beginning of the block of text, after the initiation signal, and counts characters up to but not including the first "<" character or the termination signal for the block of text, whichever is reached first. This number of characters is the first diagnostic distance. The computer writes the diagnostic distance followed by a space.

(b) If a "<" has been reached, the computer then writes the next character, the concept symbol of the following word, as next diagnostic symbol. The computer again writes a space and skips the following ">" and counts characters to the next "<" or termination signal. The computer then enters that number as the next diagnostic distance.

(c) Step b immediately above is then repeated until the termination signal is reached.

(d) The end of the text equivalent is delimited by a carriage return followed by a line feed.

The text equivalent for the block of text in step II-A12 is:

* 1 s 16 b 12 n 4 d 42

(II-A14) The computer transforms the text equivalent based on the text equivalent of the previous block of text in a story. If there is no prior block, this step is skipped.

If there is a previous block, the computer consults the list of matching carryover symbols generated in step II-A16 below. The computer adds any matching carryover symbols followed by the diagnostic distance of zero to the end of the current text equivalent.

This step permits the implied meaning in a previous block of text to be transferred to the current block.

(II-A15) After any additions to the text equivalent in step II-A14, the the computer makes transformations on the resulting text equivalent following the text equivalent transformation rules of step II-A3. Each rule is comprised of the following elements:

(a) a "specified operator symbol" which can be any one of the concept symbols in the text analysis dictionary,

(b) a "specified target symbol" which can also be any one of the concept symbols in the text analysis dictionary or the reserved symbol "$,"

(c) a "specified direction" indicated by one of the three letters "A, B, E" (A for ahead, B for behind, and E for either),

(d) a "specified distance" indicated by an integer,

(e) a "specified decision symbol" which can be one of the concept symbols in the text analysis dictionary or the reserved symbol "%," and

(f) a Boolean "specified operator retention" variable.

The computer applies individual rules in their order of entry into memory as follows:

(a) The computer scans the text equivalent until a diagnostic symbol matches the specified operator symbol. This matching diagnostic symbol is marked as the "matching operator symbol."

(b) If a matching operator symbol is found, the computer marks diagnostic symbols in the text equivalent as "matching target symbols" based on the specified target symbol, distance and direction as follows:

(i) If the specified target symbol is "$," the computer marks the matching operator symbol as a matching target symbol.

(ii) If the specified target symbol is not "$," the specified distance and specified direction are used as follows:

(1) If the specified distance is zero, then the computer compares the matching operator entry with the specified target symbol. If a match is found, the computer marks the matching operator symbol as a matching target symbol.

(2) If the specified distance is less than zero and the specified direction is "A," then the computer marks, as matching target symbol, all diagnostic symbols matching the specified target symbol if these symbols are ahead of the matching operator symbol in the text equivalent.

(3) If the specified distance is less than zero and the specified direction is "B," then the computer marks, as matching target symbol, all diagnostic symbols matching the specified target symbol if these symbols are behind the matching operator symbol in the text equivalent.

(4) If the specified distance is less than zero and the specified direction is "E," then the computer marks, as matching target symbols, all diagnostic symbols in the text equivalent matching the specified target symbol.

(5) If the specified distance is greater than zero and the specified direction is "A," then the computer marks, as the matching target symbol, the diagnostic symbol immediately ahead of the matching operator symbol in the text equivalent if the following symbol matches the specified target symbol and if the intervening diagnostic distance is less than the specified distance.

(6) if the specified distance is greater than zero and the specified direction is "B," then the computer marks, as the matching target symbol, the diagnostic symbol immediately behind the matching operator symbol in the text equivalent if the preceding symbol matches the specified target symbol and if the intervening diagnostic distance is less than the specified distance.

(7) If the specified distance is greater than zero and the specified direction is "E," then the computer marks, as the matching target symbol, the diagnostic symbol just ahead of the matching operator symbol in the text equivalent if the following symbol matches the specified target symbol and if the intervening diagnostic distance is less than the specified distance. If this following symbol is not marked, then the computer marks the diagnostic symbol in the text equivalent just behind the matching operator symbol as the matching target symbol if the prior symbol matches the specified target symbol and if the intervening diagnostic distance is less than the specified distance.

(c) Transformations are performed on the text equivalent based on matching target symbols as follows:

(i) If the matching target symbol is "$," then:

(1) If the specified direction is "B," the computer inserts the specified decision symbol and then the specified distance into the text equivalent just prior to the matching target symbol.

(2) If the specified direction is "A," the computer inserts the specified distance and then the specified decision symbol into the text equivalent just after to the matching target symbol.

(ii) If the matching target symbol is not "$," then:

(1) If the specified decision symbol is "%," then the specified target symbol and its following diagnostic distance are both deleted from the text equivalent,

(2) If the specified decision symbol is not "%," then the matching target symbol is replaced by the specified decision symbol.

(iii) If the specified operator retention variable is FALSE, then the matching operator symbol and its following diagnostic distance are both deleted from the text equivalent.

These transformations are now illustrated using the text equivalent of step II-A13 and three sample text equivalent transformation rules.

(a) Rule 1:

Specified operator symbol=n

Specified target symbol=d

Specified direction=A

Specified distance=10

Specified decision symbol=%

Specified operator retention variable=FALSE

This rule has the function of removing, from the text equivalent, references to non-defense matters. Application of this rule to the text equivalent of step II-A13, repeated here,

* 1 s 16 b 12 n 4 d 42 yields * 1 s 16 b 12.

In applying rule 1, the computer marks the "n" in the text equivalent as the matching operator symbol. Since the specified direction is "A," the computer examines the diagnostic symbol after the "n" and finds a match with the specified target symbol of "A." The intervening diagnostic distance of 4 is also less than the specified distance of 10. Since these two criteria are both met, the computer marks the diagnostic symbol "d" as the matching target symbol. Since the decision symbol is "%," the matching target symbol and its following diagnostic distance of 42 are both deleted. Then, because the specified operator retention variable is FALSE, the computer also deletes the matching operator symbol "n" and its following diagnostic distance of 4.

(b) Rule 2:

Specified operator symbol=b

Specified target symbol=s

Specified direction=B

Specified distance=-1

Specified decision symbol=+

Specified operator retention variable=TRUE

Application of this rule to the previously transformed text equivalent

* 1 s 16 b 12 yields * 1+16 b 12.

In this transformation, the computer finds and marks the matching operator symbol "b" in the text equivalent. Since the specified direction is "B" with the meaning of either ahead or behind and since the specified distance is less than zero, the computer searches for all occurrences of the target symbol anywhere in the text equivalent. The computer finds the matching target symbol "s." Since this was not the reserved symbol "%," the computer replaces the matching target symbol "s" with the specified decision symbol "+." Since the specified operator retention variable is TRUE, the matching operator symbol is retained in the text equivalent. In this way, it has been possible to combine the meanings of "American defense" represented by the "b" and "spending" represented by the "s" to give the meaning of "American defense spending" represented by the "+."

(c) Rule 3:

Specified operator symbol=+

Specified target symbol=$

Specified direction=B

Specified distance=0

Specified decision symbol=A

Specified operator retention variable=TRUE

Application of this rule to the previously transformed text equivalent

* 1+16 b 12 yields * 1 A 0+16 b 12.

In this transformation, the computer finds the matching operator symbol "+." Since the target symbol is the reserved symbol "$" and since the specified direction is "B," the computer marks the matching operator symbol as the matching target symbol and inserts the specified decision symbol "A" and the specified diagnostic distance of 0 just before the target entry.

Rule 3 has permitted the extraction of individual meanings from concept symbols embodying several different concepts. In the example presented above, the concept of "America" denoted by the concept symbol "A" could be written explicitly in the text equivalent since "America" was already a part of the concept of "American defense spending" denoted by the concept symbol "+." In the dictionary of Table 2, the word "Marine" alone was interpreted to embody the meaning of "American defense." Therefore, the concept of "America" was always implied although not explicitly stated as a separate word.

Even though Marine can refer to other concepts besides a subset of the American military. It is possible to let Marine have this connotation, if the set of collected AP dispatches almost always uses this word in this context. Therefore, ambiguous words can have a precise meaning if text containing other meanings is eliminated.

As a general rule, the text transformation rules lead to a series of transformations resulting in a final text equivalent containing concept symbols representing directly the concepts used for the decisions for a block of text.

(II-A16) After performing all the transformations specified by the text equivalent transformation rules, the computer makes a list of matching carryover symbols comprising of all concept symbols which are in both the list of specified carryover symbols (entered at step II-A3) and in the final text equivalent.

As an example, consider symbol "A" being in the list of carryover symbols. In this case, the computer would enter this symbol in the list of matching carryover symbols if the text equivalent is the final one in the previous step, namely,

* 1 A 0+16 b 12.

The use of "A" as a specified carryover symbol permits the connotation of "American" to be transferred from one block of text to the next. This designation is desirable when it is not certain that the next block of text would refer to "America" unless the previous block of text had this implication.

(II-A17) The computer checks the text equivalent for any diagnostic symbols which match the list of retention symbols. If any are found, the computer sets the Boolean block retention variable as TRUE. Otherwise the block retention variable is set as FALSE. The computer then checks the text equivalent for any diagnostic symbols matching the list of discard symbols. If any matches are found, the block retention flag is set as FALSE.

The computer writes the block of text, including the <> marks and their included concept symbols to the full text output file on disk. Immediately following this text, the computer writes the text equivalent both before any transformations have been made and also after each transformation step. If the block retention flag is TRUE, the computer then writes the words "PREVIOUS TEXT IS RETAINED." If the block retention flag is FALSE, the computer writes "PREVIOUS TEXT IS DISCARDED" instead.

In addition, if the block retention flag is TRUE, the computer also writes to the filtered text output file the same items described above for the full text output file with the omission of the text equivalents after the transformations. Also, the phrases about the previous text being retained or discarded are also not written since only retained text is stored in the filtered text output file.

Continuing with the text of step I-3, it is possible to filter for the retention of only those paragraphs directly relevant to American defense spending. In this case, the "+" symbol could be used as the retention signal. It would be unnecessary to specify any concept symbols as discard symbols. In this case, the "+" in last text equivalent of step II-A15 would cause the block retention variable to be set to TRUE. The output to the full text output file for the block of text in step II-A15 would be:

!"<s>Funding for the <b>Marines and <n>non-<d>defense items should not be cut," he said.

* 1 s 16 b 12 n 4 d 42

* 1 s 16 b 12

* 1+16 b 12

* 1 A 0+16 b 12

PREVIOUS TEXT IS RETAINED

(II-A18) The computer repeats steps II-A7 to II-A17 above after finding the next initiation signal in the text and moving the current begin block of text marker to this initiation signal. The repetition stops when the end of the story is reached.

The second block of text from the edited text of step I-3 would be:

!He did ask for a reduction in health care <s>spending. with text equivalent:

* 42 s 9

The text equivalent transformation of step II-A14 would yield

* 42 s 9 A 0

after addition of the matching carryover symbol of "A" (identified in step II-A16) and the diagnostic distance of 0.

There is no change in this text equivalent following any of the Rules 1 to 3 of step II-A15. Since there is no "+" symbol in the final transformed text equivalent, the computer sets the block retention variable to FALSE and writes the block of text, the original text equivalent, the three text equivalents after application of the transformation rules, and the words "PREVIOUS TEXT IS DISCARDED" to the full text output file.

Nothing from this second block of text is written to the filtered text output file. The result is a more homogeneous text containing only those paragraphs directly relevant to "American defense spending."

After steps II-A1 through this step, the filtered story of step I-3 is:

* 87.0027

!"<s>Funding for the <b>Marines and <n>non-<d>defense items should not be cut," he said.

* 1 s 16 b 12 n 4 d 42

(II-A19) The text filtration steps II-A5 to II-A18 for individual stories are repeated for all retrieved stories.

(II-A20) If the text after step II-A18 retains important amounts of irrelevant text, the computer loads a new dictionary and set of corresponding rules based on criteria different from those for steps II-A1 to II-A4 and repeats the text filtration steps II-A5 to II-A18. If necessary, this filtration to remove irrelevant text is repeated using a new alternative dictionary and corresponding set of rules each time until reasonably homogeneous text is obtained.

The text used for these further filtrations is the filtered text output file of an earlier filtration. In loading the text in step II-A5, the computer removes all old diagnostic symbols by eliminating all character strings beginning with "<" and ending with ">." The computer also removes the old text equivalent by removing the string of characters between the "*" symbol marking the beginning of a text equivalent and the carriage return marking the end of a text equivalent as shown in step II-A17.

II-B. Text Scoring

The stories are each scored for the extent to which they support positions relevant to public opinion change for the issue under study.

Continuing with the example from step II-A20 above, the task proceeds using a text analysis dictionary, a set of transformation rules and a set of scoring rules all designed for the computation of numerical "message scores" favoring the three positions of More, Same and Less defense spending.

Every message is given an index number k. For this kth message, the scores are designated s.sub.ij"k where index i refers to the source of the information as deduced from the message itself, where index j" denotes the position the score favors, and where k is the message index. Index i is odd if the scored information directly supports a position so that the message is accessible to all members of the population. Index i is even if the information indirectly supports the position so that only those already of the issue are able to make the connection. For example if the President of the United States is quoted in the kth message as saying that there should be More defense spending, then:

(a) i=an odd number (e.g. i=3) identifying the source as the President (the number is odd for defense spending because the message directly advocates a position on this issue; indirect Presidential assertions requiring interpretation by the audience would have another i characteristic of the President but the index, e.g. i=4, would be an even number),

(b) j"=1 if the position of More defense spending had this index, and

(c) k=the index number identifying the AP story from which the quote came.

This definition for s.sub.ij"k is the same as that in equation A.28 of Fan (1987). Because index i can have several values, reflecting different message sources, it is possible for a message to have several scores with different indices i favoring the same position indexed by j".

In the simplest scoring for the defense spending example, no distinctions would be made between messages according to source. In this degenerate case of no source dependence, i=1 for all sources, both direct and indirect. This is assumption made for the defense spending scoring described below.

The actual scoring involves determining s.sub.ij"k values for each block of text and then summing the values for all blocks of text. Therefore, the additional term s.sub.ij"kq is introduced where q is the index for individual blocks of text. Thus s.sub.ij"kq is the score for the ith source, supporting the j"th position, of the qth block of text within the kth story. The final s.sub.ij"k for a story is the sum of the s.sub.ij"kq over all the q for that story.

The text scoring procedure itself is very similar to that for the text filtrations and is performed on text remaining after all the filtration steps described in step II-A.

(II-B1) The text scoring uses a text analysis dictionary and a set of text transformation rules with exactly the same formats as those in steps II-A. In addition, the task requires a set of "text scoring rules."

(II-B2) The computer reads and stores in memory the text analysis dictionary, the text transformation rules, and the text scoring rules.

Since the text scoring rules include concept symbols from the text analysis dictionary, it is necessary to discuss the dictionary before considering the text scoring rules. Therefore, consider the example of the text from step II-A20. For this example, the dictionary could include the fragments of the concept and dictionary arrays shown in Table 3 (the complete dictionary would have more entries):

                  TABLE 3
    ______________________________________
    Concept and dictionary arrays of text analysis
    dictionary
    ______________________________________
    Fragment of concept array
    Concept mnemonic
                    Concept symbol
    ______________________________________
    AheadNegation   /
    LessWord        L
    SameWord        s
    MoreWord        M
    ______________________________________
    Fragment of dictionary array
    Dictionary word Concept symbol
    ______________________________________
    not             /
    cut             L
    ______________________________________


In this dictionary, the words with the concept of AheadNegation would cause a reversal in the sense of words further into the text equivalent. A typical example would be the word "not." LessWord would be a word favoring less spending. The example in the dictionary is the word "cut." Since the text filtration illustrated in step II-A above had already required that the paragraph be about "American defense spending," the text scoring step might simply be based on word clusters implying support for More, Same or Less without regard to reference to America, defense or spending. In this case, the concepts of "less," "same," and "more" (LessWord, SameWord, MoreWord in the dictionary of Table 3) would be enough for the text scoring rules.

These rules are a two dimensional array with elements S.sub.ij" where i indexes the sources of thoughts in the collected AP stories and j" indexes the positions favored by the message scores. Each element S.sub.ij" has two components:

(a) a "scoring mnemonic" comprised of a strings of characters, sufficiently long to suggest the source of a thought and the position that thought is scored to support, and

(b) a corresponding "scoring symbol" comprised of a concept symbol. The appearance of a scoring symbol in the qth text equivalent of the kth story would lead to a positive numerical score s.sub.ij"kq.

Consider the task where all messages are scored independently of source so that i=1 for all scores. Furthermore, consider that MoreWord in Table 3 implies support of More defense spending and corresponds to index j"=1. Similarly, SameWord might imply support for Same spending with index j"=2, and LessWord might imply support for Less spending with index j"=3. Then, the scoring rules would have the form of Table 4.

                  TABLE 4
    ______________________________________
    Text scoring rules
    The prefix letter "s" is frequently used to indicate a
    scoring mnemonic so that sMore, sSame, and sLess correspond to
    scores supporting More, Same and Less defense spending. The
    scoring symbols are from Table 3.
    S.sub.ij"k
              Scoring mnemonic
                            Scoring symbol
    ______________________________________
    S.sub.11  sMore         M
    S.sub.12  sSame         S
    S.sub.13  sLess         L
    ______________________________________


(II-B3) The computer loads the filtered texts of the collected stories after the last filtration of step II-A20. As for the filtration of step II-A20, the computer removes from the text all strings beginning with "<" and ending with ">" and omits the text equivalents. The computer then performs steps II-A5 to II-A16 using the text analysis dictionary and the text transformation rules of step II-B2.

If the initiation and termination signals for blocks of text are paragraphs as in step II-A3, and if the dictionary is that in Table 4, then the computer would construct this text and text equivalent from the text of step II-A20:

!"Funding for the Marines and non-defense items should </>not be <L>cut," he said.

* 54/8 L 14

Since the decision in the example of step II-B2 was simply to score word combinations favoring More, Same and Less, the following text equivalent transformation rule could be used with "not less" being considered to be equivalent to "same:"

Rule 4:

Specified operator symbol=/

Specified target symbol=L

Specified direction=A

Specified distance=20

Specified decision symbol=S

Specified operator retention variable=FALSE

Computer application of this rule to the previous text equivalent

* 54/8 L 14 yields * 54 S 14.

(II-B4) After constructing the summary text equivalents by performing the text equivalent transformations for the qth block of text of the kth message using the text transformation rules of step II-B4 above, the computer then uses the text scoring rules to calculate the s.sub.ij"kq values in the following manner.

The computer compares the scoring symbols in the S.sub.ij" of the text scoring rules with the concept symbols in the summary text equivalent of the qth block of text of the kth message. The computer calculates the s.sub.ij"kq for a particular i and j" by dividing the number of matches for the concept symbols in the corresponding S.sub.ij" by the total number of all matches for all concept symbols in all the S.sub.ij" regardless of i and j". By performing this division, the same total score is given for every AP paragraph. If matches are found for two concept symbols supporting different positions, the total paragraph score would be divided among the corresponding concepts.

Using the text scoring rules of Table 4 for the transformed text equivalent of step II-B3, the computer obtains:

s.sub.11k1 =0/1=0.0 AP paragraphs,

s.sub.12k1 =1/1=1.0 AP paragraphs, and

s.sub.13k1 =0/1=0.0 AP paragraphs.

Here, the corresponding block of text is the first in the story so q=1. The units for s.sub.ij"kq are the types of blocks of text scored. Since the scores above are for a typical AP paragraph, the units are AP paragraphs. For calculating these s.sub.ij"kq scores, scoring symbol "S" in Table 4 appears once while scoring symbols "L" and "M" appear zero times in the text equivalent. With only one appearance of a scoring symbol, the total number of matches is 1+0+0=1.

To permit the system operator to follow the progress of the analysis, the computer writes to the monitor a full text output file in a format very much like the full text output file of step II-A17. The only difference is that a line describing the block scores replaces the sentences announcing the retention or discarding of previous text. The block of text scores in the output (beginning with the word "SCORES:") includes the scoring mnemonic in the S.sub.ij" with the same i and j" as in the s.sub.ij"kq (see Table 4):

!"Funding for the Marines and non-defense items should </>not be <L>cut," he said.

* 54/8 L 14

* 54 S 14

SCORES: sMore=0.0, sSame=1.0, sLess=0.0

(II-B5) The computer repeats steps II-B3 and II-B4, for all blocks of text q in the kth story. Upon scoring the last block of text, computer sums the individual s.sub.ij"kq over all q to obtain the final s.sub.ij"k score. For the kth story, the computer writes the decimal date, denoted t.sub.k, and these final scores s.sub.ij"k to disk.

Since there was only one block of text left in the example of step II-A20, the final message scores s.sub.1j"k are the same as the s.sub.1j"k1 scores in step II-B4 above.

(II-B6) The computer repeats steps II-B3 to II-B5 for the remaining text of all the stories after the filtration of step II-A20 and writes their s.sub.ij"k and their corresponding t.sub.k to disk.

The examples presented above were chosen to illustrate the major options in the text analysis dictionary, in the transformation rules, in the text filtration, and in the text scoring rules. The actual dictionaries, transformation rules, text filtration rules, and text scoring rules used for the analysis of American defense spending (Fan, 1987) were somewhat different. Fan (1987) also describes the application of the text analysis in this step II to five other topics. In all cases, the text analysis was found to give acceptable results (see Chapter 3 and of Fan, 1987).

III. Computations of Public Opinion

(III-1) The computer reads from disk all the data calculated in step II-B6 and stores these data as a "scores array" with index k so that each array element contains the t.sub.k and all the corresponding s.sub.ij"k of the kth story. The computer then sorts the elements of the scores array by date with the data from earliest story being the first item in the array and the information from the latest message being the last. In all subsequent steps, index k refers to the array index after sorting.

For example, if the story retrieved in step I-3 and scored in step II-B6 had index k, then its entry in the scores array would be:

t.sub.k =87.0027,

s.sub.11k =0.0 AP paragraphs,

s.sub.12k =1.0 AP paragraphs, and

s.sub.13k =0.0 AP paragraphs.

(III-2) In order to compare predicted and measured public opinion, the system operator enters into the computer via the keyboard a series results from measured public opinion polls. This series will typically include data from published opinion polls in which the same question or close variants are asked at a number of different times. Since people are only allowed to hold one position for any single polled issue, opinion polls assume that the total population can be divided into subpopulations, P.sub.j, each with members favoring the same polled position with index j. The fraction of the total population in subpopulation P.sub.j is defined as B.sub.j. The percentage in the No Opinion or Don't Know category can be considered to be a separate subpopulation or the percentage for this group can be removed with the remaining percentages for defined positions being renormalized to 100%. This nomenclature follows that in Sections A.2 and A.4 of Fan (1987).

Since public opinion can change, B.sub.j will vary with time t so that B.sub.j =B.sub.j (t). To indicate that opinion percentages are from poll data, the B.sub.j (t) from polls carry the extra subscript P and therefore have the form B.sub.Pj (t). Different polls in a series are identified by index numbers n so the nth poll result favoring position j is B.sub.Pnj (t). If t.sub.Pn is the time at which the nth poll was taken, with subscript P again indicating that time is for a poll, then B.sub.Pnj (t)=B.sub.Pnj (t.sub.Pn). The time t.sub.Pn of a poll is computed by averaging the beginning and ending date of the poll.

A series of poll data appropriate for the example in step I, is given in Table B.1 of Fan (1987). For the calculations in Fan (1987), the percentage of Not sures and Don't knows were subtracted with the remaining 90% or so of the population favoring More, Same and Less defense spending being renormalized to 100%.

(III-3) Similar to the case with the message scores, the computer stores the poll data as an array indexed by poll number n with each "opinion array" element having the t.sub.Pn of the poll and the corresponding B.sub.Pnj (t.sub.Pn).

The computer sorts the array elements according to date t.sub.Pn with the poll at the earliest date being the first element in the array. In subsequent discussions, n will be the poll index after sorting.

For example, the first element of the poll array for the first line of the data of Table B.1 of Fan (1987) (after removal of the Not sure's and renormalization as mentioned above) would have n=1. The corresponding element in the poll array consists of:

t.sub.P1 =(31+28+15)/365=77.2027 (The date before conversion to a decimal date was March, 1977. When only the month is supplied in the published poll, the poll date is assigned to the middle of the month, hence March 15, in the present example. The 31 and 28 are the number of days in January and February respectively.),

B.sub.P11 =25.7%,

B.sub.P12 =49.5%, and

B.sub.P13 =24.9%.

(III-4) To predict public opinion, the computer loads a set of "refining weight" constants w.sub.ij'j" prescribing the method for generating "persuasive force functions" G".sub.j' describing the ability of information favoring a position to change the minds of persons holding different opinions. Equation A.29 of Fan (1987) relating these items to each other is reproduced below

G".sub.j' (t)=.sub.i,j",k w.sub.ij'j".s.sub.ij"k.e.sup.-p(t-t.sbsp.k.sup.).sbsp.. (A. 29)

where the summation is over all i and j" and over all k with t.sub.k <t. These indices are the ones entered for s.sub.ij"k and t.sub.k in step III-1 above. Constant p is the "persistence constant" characteristic of AP stories. Constants w.sub.ij'j" describe the contribution of each of the scores s.sub.ij"k to persuasive force function G".sub.j' (t). Each persuasive force function G".sub.j' (t) favors a position denoted by j'. These positions often coincide with the positions j" of scores s.sub.ij"k but need not do so as discussed in of Fan (1987).

These w.sub.ij'j" permit different types of information favoring a position to have different weights. For instance, it is conceivable that information from the President of the United States might be more or less persuasive than messages from Congress for the issue of whether more should be spent for military defense. To take this possibility into account, scores s.sub.3j"k with index i=3 could refer to the quoted source being the President, and scores s.sub.5j"k with i=5 could refer to the quoted source being from Congress. Both indices would be odd if the scores were due to direct quotes favoring the position indexed by j". Indices i=4,6 could be used if descriptions of Presidential and Congressional action indirectly supported a position on defense spending. A score attributed to the President (s.sub.31k) and one identified with Congress (s.sub.51k) could both favor the same position such as more defense spending (j"=1), and both scores could come from the same kth story. These scores would be differentiated by their indices i. If Presidential statements had greater persuasive force, then w.sub.3j'j" would be greater than w.sub.5j'j".

In the simplest case, the persuasive forces would favor the same positions as the scores contributing to these forces. Then, w.sub.ij'j" would only have a positive, non-zero value when j"=j'. However, the w.sub.ij'j" can also reflect ambiguities in the message scoring. For example, it is conceivable that the average message scored as favoring Same defense spending actually has a portion favoring More spending as well. In this case, the s.sub.ij"k favoring Same defense spending could contribute both to G".sub.1 (t) for More defense spending and to G".sub.2 (t) for Same defense spending with different weights w.sub.ij'j" for the two contributions. If a position score s.sub.ij"k makes no contribution to persuasive force function G".sub.' (t), the corresponding refining weight w.sub.ij'j", is zero.

The scores of step III-1 were for three positions j"=1,2,3 corresponding to support of More, Same and Less defense spending with no attribution by source so that i=1 for all scores. It is also reasonable to postulate that the G".sub.j' functions causing opinion change for the issue of defense spending only received contributions from scores favoring these same three positions. In this case, the refining weights could be given by Table 5 where each s.sub.ij"k only contributed to the persuasive force function G".sub.j" favoring the same position indexed by j".

                  TABLE 5
    ______________________________________
    Refining weights
    In this Table, the non-zero w.sub.ij'j"  are indicated by their
    appropriate index numbers.
                Index i for source = 1
                Index j" for scores s.sub.ij"k
    Index j' for
                favoring
    persuasive force
                More        Same     Less
    G".sub.j' (t) favoring
                (j" = 1)    (j" = 3) (j" = 3)
    ______________________________________
    More (j' = 1)
                w.sub.111   0.0      0.0
    Same (j' = 2)
                0.0         w.sub.122
                                     0.0
    Less (j' = 3)
                0.0         0.0      w.sub.133
    ______________________________________


All values w.sub.111, w.sub.122, and w.sub.133 would further have the same value if all scores s.sub.ij"k were equally persuasive. Both the simple model of Table 5 and equality in the w.sub.ij"k values functioned well for the defense spending analysis of Fan (1987, Chapter 4).

(III-5) For opinion predictions, the computer also loads a set of "population conversion rules." These rules are summarized as an array of constants k'.sub.2j'rj. These constants are used in equation A.26 of Fan (1987). This equation is reproduced here: ##EQU5## The G".sub.j' (t) terms are from equation A.29 (see above), R=the number of random messages collected in step I, T=the total number of messages identified as relevant in step I, .DELTA.t=the time interval used by the computer for iterative opinion calculations, B.sub.j (t)=the percentages of the population in subpopulations P.sub.j as discussed in step III-2, and "modified persuasibility constants" k'.sub.2j'rj (from Table 5) describe the ability of persuasive forces G.sub.j' to move persons from a "target subpopulation" P.sub.r to a "destination subpopulation" P.sub.j.

The number of people persuaded to change their opinions from that of P.sub.r to that of P.sub.j is proportional to the size B.sub.r of the target subpopulation and the magnitude of the persuasive force G".sub.j'. The constant of proportionality is the modified persuasibility constant k'.sub.2j'rj. If a G".sub.j, cannot cause any conversion of people in P.sub.r to join P.sub.j' then k'.sub.2j'rj =0. For example, information favoring Less defense spending should not persuade those favoring Less spending to support More spending. The computer assumes that all k'.sub.2j'rj have the same constant value denoted by k'.sub.2 whenever a transition can be caused.

In FIG. 4.2 of Fan (1987) it is assumed that the population conversions for defense spending are as follows:

G".sub.1 converts members from P.sub.3 favoring Less to P.sub.2 favoring Same,

G".sub.1 converts members from P.sub.2 favoring Same to P.sub.1 favoring More,

G".sub.2 converts members from P.sub.3 favoring Less to P.sub.2 favoring Same,

G".sub.2 converts members from P.sub.1 favoring More to P.sub.2 favoring Same,

G".sub.3 converts members from P.sub.1 favoring More to P.sub.2 favoring Same,

G".sub.3 converts members from P.sub.2 favoring Same to P.sub.3 favoring Same.

These conversions would lead to the population conversion rules of Table 6:

                  TABLE 6
    ______________________________________
    Population conversion rules
    All non-zero k'.sub.2j'rj are entered with their appropriate
    indices and have the constant value of k'.sub.2. In this Table:
    the position of More corresponds to j = 1, j' = 1, and r = 1;
    the position of Same corresponds to j = 2, j' = 2, and r = 2; and
    the position of Less corresponds to j = 3; j' = 3, and r = 3.
    Index j' for
             Index r for  Index j for destination
    persuasive
             target       subpopulation P.sub.j
    force G".sub.j'
             subpopulation P.sub.r
                          j = 1     j = 2 j = 3
    ______________________________________
             r = 1        0.0       0.0   0.0
    j' = 1   r = 2        k'.sub.2121
                                    0.0   0.0
             r = 3        0.0       k'.sub.2132
                                          0.0
             r = 1        0.0       k'.sub.2212
                                          0.0
    j' = 2   r = 2        0.0       0.0   0.0
             r = 3        0.0       k'.sub.2232
                                          0.0
             r = 1        0.0       d'.sub.2312
                                          0.0
    j' = 3   r = 2        0.0       0.0   k'.sub.2323
             r = 3        0.0       0.0   0.0
    ______________________________________


(III-6) Using the loaded rules, the computer performs calculations of public opinion as a time trend using equations A.29 and A.26 as follows:

(a) The computer chooses as t, the time of the first poll t.sub.P1.

(b) The computer calculates, for time t=t.sub.P1 +.DELTA.t, all values of G".sub.j' (t) using equation A.29, the s.sub.ij"k and t.sub.k loaded in step III-1 from step II, constant p and constants w.sub.ij'j" assigned in step III-4.

(c) The computer uses the poll percentages, B.sub.P1j at t.sub.P1 as the first B.sub.j (t-.DELTA.t) in equation A.26. (The B.sub.r (t-.DELTA.t) values are the same.)

(d) The computer calculates B.sub.j (t) at t=(t.sub.P1 +.DELTA.t) from these B.sub.j (t-.DELTA.t), the R and T values calculated in the initial story retrieval step I-2, the G".sub.j' (t) calculated in step b immediately above, a specified t, and the k'.sub.2j'rj terms assigned in step III-5.

(e) The computer repeats the calculations of step b above after advancing time t by t to obtain values of G".sub.j' (t) one t later. The computer repeats step d using as B.sub.j (t-.DELTA.t) the B.sub.j (t) calculated in the previous step d.

(f) The computer repeats step e, advancing time t in increments of .DELTA.t, until the t is greater than the t.sub.Pn of the last poll time with index n. The result is a set of values for B.sub.j at times .DELTA.t apart. The computer writes all these results to disk, and displays the opinion time trend as a graph on the monitor and on the printer.

An example of these data plotted as time trends is shown in FIG. 4.6 Fan (1987). The measured B.sub.Pj (t) values from the published polls described in step III-3 above are also plotted as squares for comparison.

The computer also writes the calculated values of G".sub.j (t) to disk. The G".sub.j (t) functions used for the computation of FIG. 4.6 of Fan (1987) are plotted as the time trends of FIG. 4.4 of Fan (1987).

(g) During the calculations of step f, the computer calculates and sums a series of "squared deviations" between the calculated opinion and the published opinion values. These squared deviations are calculated whenever the time t.sub.Pn of a published opinion poll coincides with one of the times t in the calculations of step h or is between two of these times t.

If time t.sub.Pn coincides with one of the times of step f, then the computer calculates, as the squared deviation, the square of the difference between the calculated opinion B.sub.j (t.sub.Pn) and the poll value favoring the same position B.sub.Pnj (t.sub.Pn). A separate squared deviation is calculated for each position j and all squared deviations are summed.

If time t.sub.Pn is between two calculation times t-.DELTA.t and t, and if .DELTA.t is 24 hours or less, then the computer calculates the squared deviations between the poll value B.sub.pnj and both B.sub.j (t-.DELTA.t) and B.sub.j (t). The smaller of the two squared deviations is used for the summation. This decision is based on the argument that there are at least 24 hour uncertainties in the times of the polls and in the times of the AP messages so it is not unreasonable to choose the lesser of the deviations for estimating the calculation errors.

If the .DELTA.t is longer than 24 hours, then the computer calculates the B.sub.j (t.sub.Pn) corresponding to the measured B.sub.Pnj by performing a linear interpolation between the B.sub.j (t-.DELTA.t) and B.sub.j (t) to obtain the B.sub.j (t.sub.Pn).

After calculations at all of the times of step g, the computer will have calculated squared deviations for all poll points. The computer then computes a mean squared deviation by dividing the sum of the squared deviations by the total number of deviations computed. The computer writes the mean squared deviation to the display device and the printer.

(III-7) Optionally, the computer computes the mean squared deviation for a number of trial values of constant p, the k'.sub.2j'rj, and the w.sub.ij'j". The computer chooses as optimal those constants those giving the minimum mean squared deviation.

Alternative Embodiments

Although a specific example of the preferred embodiment is given above, a number of modifications of this embodiment are possible within the scope of this invention:

I. Alternative Messages and Scoring

Broadly speaking, the determinations in the preferred embodiment occur in three defined steps: collecting messages, scoring the messages, and using the message scores to determine time trends of public opinion. Since these steps are largely independent, it is possible to vary both the messages and their scoring.

The essential feature of the messages is that they must be representative of those available to the population and relevant to the issue for which opinion is computed. As discussed in Chapter 1 of Fan (1987), the messages can be from any source ranging from personal experiences to those in the mass media. Any of these messages can be used in the computations of this patent so long as three critical features can be assigned:

(a) numerical scores for the extent to which different attributed sources in the message support different positions of the issue,

(b) a time dependent function describing the availability of the message to the population, and

(c) a numerical validity score for the reputation of the medium transmitting the message.

Therefore, the following alternative methods can be used:

I-A. Alternative Messages

In addition to AP stories in the preferred embodiment, messages can be collected from any source relevant to the issue for which opinion calculations are made. These can include other mass media messages both in the written press and in the electronic press. The messages can be in any form ranging from personal experiences, through words and pictures on written pages to broadcasts via television and radio.

Besides actual messages which the computer can retrieve and score (see following section), it is also possible to postulate specified numerical scores for items a and c in this alternative embodiment. Then a mathematical function can be postulated for item b. With these specifications, it is possible to include in opinion calculations messages which cannot be measured easily but which can be modeled mathematically.

I-B. Message Scoring

Every message must be scored for the extent to which it supports different positions within the issue being analyzed. These scores s.sub.ij"k in equation A.29 of the preferred embodiment were obtained by the computer assisted content analysis of step II of the preferred embodiment.

This same procedure can be performed for any message comprised of text which can be transferred to characters readable by computer. If the text is only found as written words on paper, it is possible for the system operator to read and enter the text into the computer by use of the keyboard. Alternatively, it is possible to use an electronic device to read the text and convert it into computer readable form.

I-C. Message Availability to the Population

For AP stories in the preferred embodiment, it was assumed that information in an AP dispatch would have its maximum persuasive force on the date of the story. After that time, the effectiveness was postulated to decrease exponentially with time with a characteristic persistence constant. This time course is described in the e.sup.-p(t-t.sbsp.k.sup.) term of equation A.29. This same time course can also be used for other mass media messages from newspapers, television and radio.

However, other mathematical functions may be more appropriate for other message sources. For example, information from a book may have a time course which increases over a substantial time period before finally decreasing.

In principle, it is possible to postulate any arbitrary time dependent mathematical function to describe the availability of a message to the population. Such a function would replace the e.sup.-p(t-t.sbsp.k.sup.) in equation A.29. It is also possible to measure this availability directly. For a book, for instance, it is possible to approximate the availability by the measured pattern of sales over time. Since the e.sup.-p(t-t.sbsp.k.sup.) term is specific for each message with index k, this term could be replaced by a different measured or postulated function for each message.

The discussion so far has only been for the time course of the message availability. More completely, the availability of the message also includes a scaling factor describing the number of people reached at a particular time--for instance when the message's persuasive force was the greatest. The larger the audience at this time, the greater will be the total effect of the message.

If only AP messages are used, then this scaling factor will be constant for all messages so the factor was absorbed into constant k'.sub.2 of equation A.26 (see Appendix A of Fan, 1987). This procedure means that different k'.sub.2 should be used for messages from different media. Therefore, if messages from more than one medium are used, messages from different media will need different k'.sub.2.

I-D. Validity of the Medium

Like the scaling factor for message availability just discussed, the reputation of the medium is also absorbed into constant k'.sub.2 (see of Fan, 1987) for the analysis of AP stories. Again, if other types of messages are used, this k'.sub.2 should differ according to the medium.

II. Replacements for G" Functions

In, it is proposed that the G" functions in equation A.26 can be replaced by equation A.13 reproduced below:

H.sub.jr (t)=G.sub.j (t)/(d.sub.jr.G.sub.r (t)+d.sub.jj.G.sub.j (t)+1) (A.13)

where d.sub.jr and d.sub.jj are both constants. In the preferred embodiment, these constants were assumed to be sufficiently small that their product with the G functions in equation A.13 are much less than 1. Functions G" and G are related to each other by a constant factor as discussed in of Fan (1987).

To use this equation in opinion calculations, equation A.26 is replaced by equation A. 15 of Fan (1987) reproduced below:

dB.sub.j (t)/dt= (A.15) ##EQU6## This equation can be solved at intervals of .DELTA.t essentially as described in step III of the preferred embodiment once the H.sub.j'r (t) are calculated. All other terms in the equation have already been described in that step III.

III. Inclusion of Unawareness

So far in this patent, the assumption has been made that all people were aware of the issue being analyzed. When a significant fraction of the population is unaware, it is possible to use equations A.34-A.36 of Fan (1987) to determine expected public opinion (see of Fan, 1987 for justifications). These equations are reproduced below: ##EQU7## for all j and j' where u is constant and ##EQU8## for all odd i, all j", and all k where t<t.sub.k. Finally, ##EQU9## for all j' and r.

The computer calculates functions F'.sub.j' (t) using equation A.35, and the same scores s.sub.ij"k, w.sub.ij'j" values and constant p as appear in equation A.29. However, the summation this time is only over odd i instead of all i. The computer then reads values for constants u and the k'.sub.lj'j as well an initial value, typically from measured opinion polls, for the fraction (1-A(t-t) of the population at (t- t) who are unaware. Employing these data, the computer can calculate A(t) at increasing intervals of t using the A(t) of one calculation as the A(t-t) of the next calculation (see analogous strategy for calculations B.sub.j (t) as described in step III-9 of the preferred embodiment). The calculated values of A(t) and the data discussed above can then be inserted into equation A.36 to compute the fraction A(t).B.sub.j (t) of the population holding the opinion with the corresponding index j.

IV. Alternate Concept and Diagnostic Symbols

In the preferred embodiment, the concept and diagnostic symbols all comprised of a single character. Alternatively, it is possible to use concept and diagnostic symbols containing any combination of data bits. For example, strings of characters can be used. It is only necessary that reserved codes (not necessarily the "<" and ">" of the preferred embodiment) be used to mark the beginnings and ends of concept symbols. With these control codes, the computer can identify the beginnings and ends of the concept and diagnostic symbols. With this identification, the computer can remove concept symbols and text equivalents from a previous text filtration step before any further text analysis steps.

In the text of the output files from the preferred embodiment, the control codes for the beginnings and ends of the concept symbols were "<" and ">". In the text equivalents, on the other hand, the control codes marking the beginnings and ends of the concept symbols were spaces. This difference illustrates that it is unnecessary that the control codes be the same in the text and in the text equivalents in the output files.

V. Parsing of Text by Words Instead of Characters

In the preferred embodiment, words were defined as any arbitrary string of characters. With this definition, comparisons between words in the text and words in the dictionary were performed by permitting a word to start at any character in the text. Also, any leading and trailing letters were permitted. Alternatively, it is possible to require that the words begin and/or end with defined control codes such as spaces, carriage returns, etc. In this case, the dictionary searches could be for words beginning or ending with a control character. The dictionary could also have reserved control characters at the beginnings, in the middles, and/or at the ends of word entries to indicate that replacement characters are possible for the control characters.

VI. Opinion Determinations without Reference to Poll Measurements

Opinion determinations in the preferred embodiment began with the first B.sub.j (t-.DELTA.t) being taken from the results of a public opinion poll. However, it is also possible to take advantage of the results of FIG. 4.10 of Fan (1987). This figure shows that the opinion calculations will converge to a consensus value as time proceeds regardless of the first B.sub.j (t-.DELTA.t). Therefore, it is possible to perform two opinion calculations beginning with widely disparate values for an opinion B.sub.j (t-.DELTA.t) e.g. 0% and 100%. Opinion in the time period during which the two calculations converged could then be taken as a reasonable estimate of expected opinion.

VII. Alternative Determinations of Scores for Blocks of Text

In step II-B4 of the preferred embodiment, the block of text scores s.sub.ij"kq for a particular i and j" were obtained after division by the sum of all s.sub.ij"kq. Alternative divisors with appropriate weights could be used based on some combination of s.sub.ij"kq scores. As yet another alternative, there might only be the summing of the counts of concept symbols with no subsequent division step.

VIII. Alternate Use of the Specified Distance

When the specified distance is greater than zero in step II-A15 of the preferred embodiment, a matching target symbol can only marked if it is separated from the matching operator symbol by no more than one diagnostic distance number. Alternatively, the separation can involve more than one diagnostic distance if the total of all intervening diagnostic distances between the matching operator and target symbols is less than the specified distance. The same specified direction rules would still be used as in the preferred embodiment.

IX. Alternations in the Contents and Text Equivalents of Blocks of Text

In step II-A15 of the preferred embodiment, the essential concepts of a block of text are summarized as a final transformed text equivalent. The concepts from one block of text can be transferred to the text equivalent of the following block of text by the use of carryover symbols which are added to the following text equivalents (see steps II-A14 and II-A16). This is done when the contents of one block of text implied the presence of certain concepts in other blocks of text from the same story.

This procedure can be generalized in two ways. The first generalization is to alter not just the text equivalent of the following block of text but also text equivalents of other specified blocks of text. The modification can involve not only the addition but also the deletion or replacement of elements in these other text equivalents.

The other generalization is the alteration of the text of other blocks of text. For example, the sample text equivalent of step II-A16, carried the connotation of "American." Besides using carryover symbols to insert the concept symbol for "American" into the text equivalent of the next block of text, it is possible to insert the word "American" into the text of another specified block of text.

Words would be inserted in, altered in or deleted from the text of a block of text when it is desirable that the words should continue to appear in all subsequent filtration or scoring steps for a block of text. Conversely, if it is preferable that the connotation should disappear in subsequent manipulations, it would be more appropriate to change text equivalents since text equivalents are always erased before any following text analysis steps.

X. Hardware Based System

In this alternative embodiment, the microprocessor 10 and software (FIG. 1) is replaced by an alternative hardwired logic system.

Referring now to FIGS. 2 and 3, a block diagram and flow diagram, respectively, of the opinion prediction operation of this hardware system is shown. The system includes text retrieval logic 50, text filtration logic 52, numerical scoring logic 53, prediction and output logic 54, and control logic 56. Output logic 54 is connected to drive a monitor and a printer, while control logic 56 includes a keyboard input. Text retrieval logic 50 is connected to a communication link 51 from which data may be acquired, for example, from a data bank. Digital storage unit 57, either random access memory or magnetic medium based, is connected to all logic modules 50, 52, 53 and 54.

Control logic 56 includes hardwired logic for controlling the other logic modules to perform the functions outlined in the flow diagram of FIG. 3. Referring to FIG. 3, the start of operation of the system is represented by block 60. In block 61, logic 56 causes retrieval logic 50 to command an external data base via a communication link 51 to retrieve text and to store it in storage unit 57, in the same manner as described above with respect to step I of the software embodiment. In block 62, retrieval logic 50 receives the text of retrieved messages from the data base via the link 51 and stores the text in storage unit 57. If a signal indicates that more text is to be retrieved in block 63, the retrieval logic 50 repeats blocks 61 and 62. When no more text is to be retrieved, the logic 50 will have finished the equivalent of step I of the preferred embodiment.

At this point, control logic 56 causes filtration logic 52 to activate the first dictionary and its corresponding set of text filtration rules (block 64), which are predetermined and stored in storage unit 57. Logic 52 uses this dictionary and set of rules to remove text irrelevant to the prediction in the same manner as described above with respect to step II of the software embodiment. At the end of this text filtration, the filtered text is stored in storage unit 57 and logic 52 checks for the presence of a subsequent dictionary and its corresponding set of text filtration rules (block 65). If another pair is found, logic 52 repeats the filtration process using the paired dictionary and set of rules. After no more filtration dictionaries and rules are found, the logic 52 signals control logic 56 to activate the scoring logic 53. Logic 53 operates pursuant to present text scoring dictionary and rules stored in unit 57 (block 66) and assigns numerical scores for the remaining text, in the same manner as described above with respect to step II of the software embodiment. After calculation of the scores, the scores are stored in storage unit 57.

Before or during the operation of the system, the operator has the option of entering the results of data from measured public opinion polls into storage unit 57 via the keyboard and logic 56 (block 67). In block 68, control logic 56 activates prediction logic 54 which uses specified parameters, refining weights w.sub.ij'j" and population conversion rules k'.sub.2j'rj stored in unit 57 to compute time trends of public opinion in the same manner as described above with respect to step III of the software embodiment. The results are plotted as time trends on the printer 12 with reference to FIG. 1. For comparison, the processor also plots the results of time trends from measured opinion polls. Logic 54 may optionally also compute statistical comparisons based on the differences between predicted and measured opinion values, if such values are available.

XI. Predictions for Habits

For the purpose of clarity and to aid in the understanding of the invention, all embodiments presented above have focused on the ability of information to change public opinion. However, opinion is only one example of a social trait. As indicated above, this invention also encompasses other social traits including habits like smoking.

The mathematical model in equations 1-7 of the Background of the Invention section above has already been extended to cover habits in "Ideodynamic predictions for the evolution of habits" by David P. Fan in Journal of Mathematical Sociology, Vol. 11, pp. 265-281, 1985. However, since that model also used equations 1-7, that theory extension was also inoperable.

Therefore, an alternative embodiment could involve adding some of the concepts in that former extension to the embodiments described above to yield a functional system for predicting the fraction of the population with certain habits.

By their very nature, habits are activities performed at frequent intervals. Therefore, members of the population can be assigned to various positions based on the frequency with which they repeat the activities. In the smoking example, both smoking and non-smoking would be defined as habits. If desired, it is also possible to divide the smokers according to the frequency with which they smoke. Each position as defined in the preferred embodiment would have both a corresponding habit and a corresponding opinion. However, the fraction of the population with a habit need not match the fraction of the population holding the opinion that the habit should be adopted. For example, there may be many smokers who would like to quit.

In this embodiment for habits, opinion and habits are predicted independently of each other. Nevertheless, the two predictions share the same three steps of: (I) gathering messages relevant to the habit, (II) scoring the messages numerically for their ability to influence specified target subpopulations, and (III) analyzing the ability of the messages, as represented by their scores, to change the habits of appropriate target populations.

XI-A. Messages in the Mass Media

All messages relevant to opinion change for a habit are also be assumed to be pertinent to change in practice of that habit. Thus anti-smoking messages would be assumed to able to influence both opinion on the desirability of smoking and the chances that that people will stop. These messages would be those described in the preferred embodiment and would lead to functions G".sub.j' of equation A.29.

XI-B. Mathematical Functions Replacing Measured Messages

Some messages are difficult to measure directly. Since the ultimate impact of messages is described by persuasive force functions G".sub.j' in the preferred embodiment, messages which cannot be measured can nevertheless be included in the analysis if they can be modeled by postulated mathematical G".sub.j' functions. For habits, the paper by Fan cited earlier in this section includes two functions describing a "recidivism" effect and a "social pressure" effect. The recidivism effect in turn incorporates functions describing the "nostalgia" and "euphoria" phenomena. These functions are described in detail below:

XI-B1. Recidivism Functions

A person who has recently changed a habit has a "nostalgia" for the old habit and hence a better chance of reverting to an old habit than someone who had never had the former habit. Again, in the smoking example, a smoker who has quit will be more likely to start than someone who has never smoked. The system of this invention can account for this phenomenon by assigning mathematical "nostalgia" functions corresponding to personal experience infons favoring the start of smoking. These functions would have high values shortly after a change of habit with the values diminishing as time proceeds.

Similarly, the system of this invention can also include "euphoria" functions describing the honeymoon feeling just after a change of habit in which a person is very happy to have successfully made the habit change. As with the nostalgia function, the euphoria function will also decrease with time.

The euphoria and nostalgia functions were merged into equations 16 describing the combined "net recidivism" effect in the paper by Fan in the Journal of Mathematical Sociology mentioned earlier in this section. The combined effects yielded a recidivism persuasive force function G.sub.jR (t',t) with the form:

G.sub.jR (t',t)=k.sub.R.e.sup.-k N.sup.(t-t').(1-e.sup.-k U.sup.(t-t')). (16)

This function uses the term G since it has the same purpose as the G functions of step III of the preferred embodiment, namely the persuasion of susceptible members of the population to undergo social change. In this function, subscript j indicates the position toward which the function is likely to draw recruits and subscript R refers to the function describing the recidivism effect. The function is measured at time t and depends on an earlier time t' at which members of the subpopulation left the habit characterized by subscript j. If G.sub.jR (t',t) is the function describing the recidivism to smoking, then t' would be the time before the measurement time t when the smoker had quit. Parameters k.sub.R, k.sub.N, and k.sub.U are constants. In habit computations, this function G.sub.jR is added to the G".sub.j' functions of equation A.29 and entered in place of the G".sub.j' in equation A.26.

XI-B2. Social Pressure Functions

Besides the recidivism infon impact functions, it may also be convenient to postulate other functions G reflecting informational forces for social change. For example, in the Fan paper discussed earlier in this section, it was postulated that there are social pressure messages which can be modeled by assuming that messages in favor of smoking or non-smoking occur in proportion to the number of people observed in these categories. This phenomenon is described by equation 9 of the paper by Fan discussed earlier in this section:

G.sub.jS (t)=k.sub.S.D.sub.j (t) (9)

where G.sub.jS carries subscript S denoting that it is a social pressure infon impact function. Subscript j refers to the position the function favors, k.sub.S is a constant and D.sub.j is the fraction of the population practicing the habit corresponding to the position indexed by j.

XI-C. Habit Trend Determinations

The basic system of this invention can be used to compute the fraction of the population with a habit by a method essentially the same as that described in step III of the preferred embodiment.

However, not all people would would like to change a habit may actually do so. Therefore, the k'.sub.2j'rj terms in Table 6 describing the ability of a message to cause a social change would be smaller for behavior change than for opinion change.

In the calculations, recidivism persuasive force functions, tailored for each subpopulation, are added to the social pressure persuasive forces and the G functions from measured messages as described above for opinion change. Since the recidivism persuasive force functions depend on the time of a prior habit change, the population needs to be divided into many small subpopulations depending on the time of the previous habit change. The computations of step III of the preferred embodiment are made for the various subpopulations and the results for the subpopulations ar