Abstract:
In a digital computing system, the method of and apparatus for storing data representing a natural language sentence segment that includes at least one action (A) and one object (O) of the action, extracting the AO to form an AO extraction, processing the AO extraction pursuant to paraphrasing rules to form a plurality of para-AOs, and using the plurality of para-AOs during subsequent processing steps to be implemented in the digital computing system. One embodiment includes processing a natural language user request processing the AO extraction pursuant to positive and negative paraphrasing rules to form a plurality of para-AOs, and using the plurality of para-AOs as an expanded user request to search for information. An optional feature includes combining the S with each para-AO to form a plurality of para-SAOs as an expanded user request to search for information. The system can also include processing natural language documents, extracting a plurality of subject, action, object triplets (SAOs), normalizing the SAOs into SAO structures and storing the SAO structures in an SAO knowledge base. The system can employ the above mentioned paraphrasing rules for grouping a plurality of the SAOs that include various subjects (S 1 , S 2 , . . . S n ) each of which is associated with an AO (A 1 O 1 , A 2 O 2 , . . . A 3 O 3 ) wherein A 1 O 1 , . . . A 2 O 2 , . . . A 3 O 3  have a common meaning. Thus, a single user request SAO or AO can cause display of a plurality of grouped SAOs to increase the power of the search.

Description:
RELATED APPLICATION  
       [0001]    U.S. patent application Ser. No. 60/198,918, filed Apr. 21, 2000. 
     
    
     
       BACKGROUND  
         [0002]    The present invention relates to the field of computer based natural language processing.  
           [0003]    Great advancements have been recently made in the field of computer based natural language processing. More recently, the method of generating and processing SAO (subject-action-object) extractions and structures as disclosed in U.S. patent application Ser. No. 09/541,182, filed Apr. 3, 2000 have produced substantially more reliable processing results with greater precision than previously known systems and methods. Although there can be many applications of SAO processing, recent commercial examples of an application of the SAO processing method can be seen at www.cobrain.com and the KNOWLEDGIST software offered by the Invention Machine Corporation, Boston, Massachusetts, USA.  
           [0004]    It is common among known natural language processing systems to include a synonyms word dictionary so that one or more synonyms of a word being processed can be considered for substitution for the original processed word. See for example U.S. Pat. Nos. 5,742,834; 5,649,221; 5,469,355. Further U.S. Pat. No. 5,237,502 purports to provide a method of paraphrasing information contained in logical forms. It has been found that although these techniques contribute somewhat to processing reliability, these prior known techniques cannot discern or sense the meaning of a combination of words nor the equivalent meaning of the word combination. Nor do they have ability of processing and conveying SAO structures into an SAO Knowledge Base. This ability is important because it would (i) enhance the normalization of processed sentences (ii) increase the group of stored phrases that have one equivalent meaning, and (iii) expand the user request for specific document information thus enhancing the semantic capability of the overall processing system and subsequent management and display of information.  
           [0005]    For example,  
           [0006]    Direct synonym words substitutions allow the user to identify only direct SAO synonyms, like  
           [0007]    S1-A1-O1=S2-A2-O2 because of S1=S2, A1=A2,O1=O2  
           [0008]    For example,  
           [0009]    S1 (refrigerator)-A 1  (perform)-O 1  (oil cooling)=S2 (fridge)-A2 (achieve)-O2 (oil chilling)  
           [0010]    Because there is a dictionary:  
           [0011]    S1 (refrigerator)=S2 (fridge)  
           [0012]    A 1  (perform)=A2 (achieve)  
           [0013]    O 1  (oil cooling)=O2 (oil chilling)  
           [0014]    However, the synonym dictionaries are not able to identify the indirect SAO-synonyms, like  
           [0015]    S1-A1-O1=S2-A2-O2, because of S1=S2 and A1-O1=A2-O2 in spite of A1=/=A2, O1=/=O2,  
           [0016]    For example,  
           [0017]    S1 (refrigerator)-A 1  (perform)-O 1  (oil cooling)=S2 (refrigerator)-A 2  (cool)-O 2  (oil)  
           [0018]    Because  
           [0019]    A 1  (perform)-O 1  (oil cooling)=A 2  (cool)-O 2  (oil)  
           [0020]    In spite of  
           [0021]    A 1  (perform)=/=A 2  (cool)  
           [0022]    O 1  (oil cooling)=/=O 2  (oil)  
         SUMMARY OF EXEMPLARY EMBODIMENT  
         [0023]    It is an object of the present invention to provide a computer based system and method for syntactically processing word combinations each having a meaning or semantic content by modifying each word combination according to sets of paraphrasing word combination and modification rules stored in the system.  
           [0024]    These rules are based on the AO (action object) portion of the SAO triplets and apply to positive (e.g. cool oil) and negative (e.g. do not cool oil) expressions. Converting or modifying all AO&#39;s in some stage or routine of the process normalizes the expression of the meaning of each AO without changing its meaning or, stated another way, the present system generates normalized expressions of the equivalent meaning of the respective AO for further use within the processing system.  
       
    
    
     DRAWINGS  
       [0025]    Other objects, advantages, and benefits will become apparent with the following detailed description of one exemplary embodiment of a system and method according to the principles of the present invention when taken in view of the appended drawings, in which:  
         [0026]    [0026]FIG. 1 is a flow diagram of the main processing operations of an exemplary embodiment or method according to the principles of the present invention for expanding the user query search request.  
         [0027]    [0027]FIG. 2 is a flow diagram of the main processing operations of an exemplary embodiment or method according to the principles of the present invention for grouping the para-AOs of an SAO Knowledge Base to form a compressed SAO Knowledge Base.  
         [0028]    [0028]FIG. 3 shows a detail method step of stage  26  of FIG. 2. 
     
    
     DETAILED DESCRIPTION  
       [0029]    The following are incorporated herein by reference:  
         [0030]    1. System and on-line information service presently available at www.cobrain.com and the publicly available user manual therefor.  
         [0031]    2. The software product presently marketed by Invention Machine Corporation of Boston, USA (IMC), under it&#39;s trademark “KNOWLEDGIST” and the publicly available user manual therefor.  
         [0032]    3. WIPO Publication 00/14651, Published Mar. 16, 2000.  
         [0033]    4. U.S. patent application Ser. No. 09/541,182 filed Apr. 3, 2000.  
         [0034]    5. IMC&#39;s COBRAIN® server software marketed in the United States and manuals thereof.  
         [0035]    The present invention can be implemented as a computer based system and method such as disclosed in the above references 1-5. Thus, the software hereof can reside on a PC, server, or other general computer.  
         [0036]    As stated above, it is one object of the present invention to generate normalized expression of equivalent meaning of a respective AO for use in subsequent processing.  
         [0037]    It is another object to enhance or broaden the scope of a user request that forms the basis of searching for, acquiring and processing information. Such a user request could be in the form of a phrase, sentence (statement or question), paragraph, or entire document entered by the user such as with the keyboard, scanner, voice recognition device, etc. By broadening the scope of user request, the present system will search for a broader range of candidate documents for processing into candidate or stored SAO structures in the SAO Knowledge Base. The present system achieves such broadening by processing the user natural language request to identify the request SAO structures. It then processes these structures by applying a number of AO paraphrasing or normalizing rules to generate a larger number of AO structures that have a significantly equivalent meaning to each original processed SAO structure. As described below, one exemplary embodiment of the present invention has produced about 200 paraphrased AOs (hereafter para-AO) for every user request AO processed. Since the 200 para-AOs mean essentially the same as the user request AO but express such meaning differently, using the 200 para-AOs for the search request enhances the reliability of the ultimate search results.  
         [0038]    Also, as stated above it is an object of the present invention to manage the SAO Knowledge Base information in such a way that enables display of not only the Knowledge Base SAO that exactly matches the request SAO but also displays for the user automatically or at user&#39;s selection the para-AOs that are equivalent in meaning to the displayed or selected Knowledge Base AO. In this way, user has a greater choice of specifically expressed Knowledge Base AOs to consider and can select the specifically expressed para-AOs nearest his/her interest and/or base user&#39;s selection on words displayed near respective AO and para-AO.  
       DEVELOPMENT OF PARA-AOs  
     EXAMPLE NO. 1  
     User Enters a Word String With at Least One SAO) and Elements  
       [0039]    One exemplary system and method  10  according to the principles of the present invention includes a natural language processing system for producing and storing SAO Knowledge Base data, such as SAO structures. Further details of examples of such a system  10  is disclosed in Reference Nos. 3, 4, and 5 above.  
         [0040]    According to one aspect of the present invention a user searching for stored document information enters into system  10  a user request at  12 . The user request can be a natural language phrase, sentence (statement or question), paragraph keyed or otherwise entered by user or a document or document portion (such as a patent specification, claim, or abstract) keyed, scanned, downloaded or otherwise entered to use request  12 . For example, user speaks into a voice recognition system, “The heat exchanger cools the oil.” 
         [0041]    With reference to the main stages of expanding the user request, FIG. 1, Natural language user request  12  is applied to SAO extractor  14 . For example, “heat exchanger” (S) “cools” (A) “oil” (0). SAO extractions are applied to and stored at  16 . Step  17  identifies and separates the S of each SAO extraction from the respective AO for further processing the AOs. Step  18  applies a set of paraphrasing rules to generate para-AOs in accordance with, in one example, the following paraphrasing rules:  
         [0042]    AO Paraphrasing Positive Rules  
                                   Rule 1.       &lt;AO&gt; = &lt;A*&gt; &lt;A-ing/ion&gt; &lt;O&gt;       Where:       &lt;A&gt; - any action,       &lt;O&gt; - any object,       &lt;A-ing/ion&gt; - the ing/ion form of the A,       &lt;A*&gt; = realize | accomplish | fulfill | perform | permit | enable |       allow | provide | achieve | . . . .       Example:       Cool oil = perform cooling oil       Cool &lt;A&gt; oil &lt;O&gt; = perform &lt;A*&gt; cooling &lt;A-ing&gt; oil &lt;O&gt;       Rule 2.       &lt;AO&gt; = &lt;A*&gt; &lt;O&gt; &lt;A-ing/ion&gt;       Example:       cool oil = provide oil cooling       cool &lt;A&gt; oil &lt;O&gt; = provide &lt;A*&gt; oil &lt;O&gt; cooling &lt;A-ing&gt;       Rule 3.       &lt;AO&gt; = &lt;A-ing/ion&gt; &lt;O&gt; &lt;A*passive&gt; &lt;P&gt;       Where:       &lt;P&gt; = by | with the help of | by means of | . . . .       Example:       cool oil = cooling oil is accomplished by       cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; oil &lt;O&gt; is accomplished       &lt;A*passive&gt; by &lt;P&gt;       Rule 4.       &lt;AO&gt; = &lt;A*&gt; &lt;A-ing/ion&gt; of &lt;O&gt;       Example:       cool oil = perform cooling of oil       cool &lt;A&gt; oil &lt;O&gt; = perform &lt;A*&gt; cooling &lt;A-ing&gt; of oil &lt;O&gt;       Rule 5.       &lt;AO&gt; = &lt;A-ing/ion&gt; of &lt;O&gt; is &lt;A*ed&gt; &lt;P&gt;       Example:       cool oil = cooling of oil is performed by       cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; of oil &lt;O&gt; is performed by &lt;P&gt;       In total, the rules produce about 200 semantically equivalent versions of       any given AO.       For example, for the function “cool oil”       Rule 1.       realize cooling oil       accomplish cooling oil       fulfill cooling oil       perform cooling oil       permit cooling oil       enable cooling oil       allow cooling oil       provide cooling oil       achieve cooling oil       .........................       Rule 2.       realize oil cooling       accomplish oil cooling       fulfill oil cooling       perform oil cooling       permit oil cooling       enable oil cooling       allow oil cooling       provide oil cooling       achieve oil cooling       .........................       Rule 3.       cooling oil is realized by       cooling oil is accomplished by       cooling oil is fulfilled by       cooling oil is performed by       cooling oil is permitted by       cooling oil is enabled by       cooling oil is allowed by       cooling oil is provided by       cooling oil is achieved by       .........................       cooling oil is realized with the help of       cooling oil is accomplished with the help of       cooling oil is fulfilled with the help of       cooling oil is performed with the help of       cooling oil is permitted with the help of       cooling oil is enabled with the help of       cooling oil is allowed with the help of       cooling oil is provided with the help of       cooling oil is achieved with the help of       .........................       Rule 4.       realize cooling of oil       accomplish cooling of oil       fulfill cooling of oil       perform cooling of oil       permit cooling of oil       enable cooling of oil       allow cooling of oil       provide cooling of oil       achieve cooling of oil       .........................       Rule 5.       cooling of oil is realized by       cooling of oil is accomplished by       cooling of oil is fulfilled by       cooling of oil is performed by       cooling of oil is permitted by       cooling of oil is enabled by       cooling of oil is allowed by       cooling of oil is provided by       cooling of oil is achieved by       .........................       cooling of oil is realized with the help of       cooling of oil is accomplished with the help of       cooling of oil is fulfilled with the help of       cooling of oil is performed with the help of       cooling of oil is permitted with the help of       cooling of oil is enabled with the help of       cooling of oil is allowed with the help of       cooling of oil is provided with the help of       cooling of oil is achieved with the help of       .........................       where “.........................” means further entries not displayed.       AO paraphrasing negative rules       The AO paraphrasing rules are correspondingly provided for negative       actions.                  
 
         [0043]    In natural language the negative form may be represented in two ways—directly (by means “not” particle) and indirectly, by means of verbs with negative meanings.  
                                   &lt;n&gt; = do not | not to | . . . ;       &lt;An&gt; = avoid | prevent | hamper | stop | hinder | prohibit | deter |       limit | . . . .                  
 
         [0044]    Correspondingly, each syntactic paraphrasing rule for negative form has two versions.  
                                   Rule 1N       (a) &lt;n&gt; &lt;AO&gt; = &lt;n&gt; &lt;A*&gt; &lt;A-ing/ion&gt; &lt;O&gt;       Example:       Do not cool oil = do not perform cooling oil       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = do not &lt;n&gt; perform &lt;A*&gt; cooling       &lt;A-ing&gt; oil &lt;O&gt;       (b) &lt;n&gt; &lt;AO&gt; = &lt;An&gt; &lt;A-ing/ion&gt; &lt;O&gt;       Example:       Do not cool oil = prevent cooling oil       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = prevent &lt;An&gt; cooling &lt;A-ing&gt;       oil &lt;O&gt;       Rule 2N       (a) &lt;n&gt; &lt;AO&gt; = &lt;n&gt; &lt;A*&gt; &lt;O&gt; &lt;A-ing/ion&gt;       Example:       Do not cool oil = do not perform oil cooling       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = do not &lt;n&gt; perform &lt;A*&gt; oil &lt;O&gt;       cooling &lt;A-ing&gt;       (b) &lt;n&gt; &lt;AO&gt; = &lt;An&gt; &lt;O&gt; &lt;A-ing/ion&gt;       Example:       Do not cool oil = prevent oil cooling       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = prevent &lt;An&gt; oil &lt;O&gt; cooling &lt;A-ing&gt;       Rule 3N       (a) &lt;n&gt; &lt;AO&gt; = &lt;A-ing/ion&gt; &lt;O&gt; &lt;n&gt; &lt;A* passive&gt; &lt;P&gt;       Example:       Do not cool oil = cooling oil is not performed by       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; oil &lt;O&gt; is not &lt;n&gt;       performed &lt;A* passive&gt; by &lt;P&gt;       (b) &lt;n&gt; &lt;AO&gt; = &lt;A-ing/ion&gt; &lt;O&gt; &lt;(An) passive&gt; &lt;P&gt;       Example:       Do not cool oil = cooling oil is prevented by       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; oil &lt;O&gt; is prevented       &lt;(An) passive&gt; by &lt;P&gt;       Rule 4N       (a) &lt;n&gt; &lt;AO&gt; = &lt;n&gt; &lt;A*&gt; &lt;A-ing/ion&gt; of &lt;O&gt;       Example:       Do not cool oil = do not perform cooling of oil       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = do not &lt;n&gt; perform &lt;A*&gt; cooling       &lt;A-ing&gt; of oil &lt;O&gt;       (b) &lt;n&gt; &lt;AO&gt; = &lt;An&gt; &lt;A-ing/ion&gt; of &lt;O&gt;       Example:       Do not cool oil = prevent cooling of oil       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = prevent &lt;An&gt; cooling &lt;A-ing&gt; of oil       &lt;O&gt;       Rule 5N       (a) &lt;n&gt; &lt;AO&gt; = &lt;A-ing/ion&gt; of &lt;O&gt; &lt;n&gt; &lt;A* passive&gt; &lt;P&gt;       Example:       Do not cool oil = cooling of oil is not performed by       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; of oil &lt;O&gt; is not       &lt;n&gt; performed &lt;A* passive&gt; by &lt;P&gt;       (b) &lt;n&gt; &lt;AO&gt; = &lt;A-ing/ion&gt; of &lt;O&gt; &lt;(An) passive&gt; &lt;P&gt;       Example:       Do not cool oil = cooling of oil is prevented by       Do not &lt;n&gt; cool &lt;A&gt; oil &lt;O&gt; = cooling &lt;A-ing&gt; of oil &lt;O&gt; is prevented       &lt;(An) passive&gt; by &lt;P&gt;                  
 
         [0045]    As seen from the above examples, the user request SAOs are expanded at stage  18  to include many para-AOs associated with a common respective S. These user request SAOs and para-SAOs are stored at  20  to provide expanded user search request for seeking information from the systems SAO Knowledge Base.  
       EXAMPLE NO. 2  
       [0046]    One more example of positive and negative paraphrasing rules in more general notation is given below.  
                                                                   Positive Paraphrasing Rules        1. &lt;AO&gt; ::= &lt;BE&gt; &lt;ABLE&gt; &lt;AT&gt; &lt;PROCESS&gt;        2. &lt;AO&gt; ::= &lt;BE&gt; &lt;ABLE&gt; to &lt;A&gt; &lt;O&gt;        3. &lt;S&gt; &lt;AO&gt; ::= it &lt;BE&gt; &lt;ABLE&gt; for &lt;S&gt; to &lt;A&gt; &lt;O&gt;        4. &lt;AO&gt; ::= &lt;BE&gt; not &lt;UNABLE&gt; &lt;AT&gt; &lt;PROCESS&gt;        5. &lt;AO&gt; ::= &lt;BE&gt; not &lt;UNABLE&gt; to &lt;A&gt; &lt;O&gt;        6. &lt;S&gt; &lt;AO&gt; ::= it &lt;BE&gt; not &lt;UNABLE&gt; for &lt;S&gt; to &lt;A&gt; &lt;O&gt;        7. &lt;S&gt; &lt;AO&gt; ::= &lt;FORCE&gt; &lt;S&gt; to &lt;A&gt; &lt;O&gt;        8. &lt;AO&gt; ::= &lt;SEEM&gt; to &lt;A&gt; &lt;O&gt;        9. &lt;AO&gt; ::= &lt;PROVIDE&gt; &lt;PROCESS&gt;       10. &lt;AO&gt; ::= &lt;PROVIDE&gt; &lt;A-ed&gt; &lt;O&gt;       11. &lt;AO&gt; ::= &lt;N&gt; &lt;FAIL&gt; to &lt;A&gt; &lt;O&gt;       12. &lt;AO&gt; ::= &lt;N&gt; &lt;PREVENT&gt; &lt;PROCESS&gt;       13. &lt;AO&gt; ::= &lt;BE&gt; &lt;DIRECTED_AT&gt; &lt;PROCESS&gt;       14. &lt;AO&gt; ::= &lt;FOCUS_ON&gt; &lt;PROCESS&gt;       15. &lt;AO&gt; ::= &lt;BE&gt; &lt;USE&gt; to &lt;A&gt; &lt;O&gt;       16. &lt;AO&gt; ::= &lt;BE&gt; &lt;USE&gt; for &lt;PROCESS&gt;       17. &lt;S&gt; &lt;AO&gt; ::= &lt;USE&gt; &lt;S&gt; to &lt;A&gt; &lt;O&gt;       18. &lt;S&gt; &lt;AO&gt; ::= &lt;USE&gt; &lt;S&gt; for &lt;PROCESS&gt;       19. &lt;AO&gt; ::= &lt;BE&gt; &lt;MEANS&gt; to &lt;A&gt; &lt;O&gt;       20. &lt;AO&gt; ::= &lt;BE&gt; &lt;MEANS&gt; (of | for) &lt;PROCESS&gt;       21. &lt;AO&gt; ::= &lt;HAVE&gt; &lt;MEANS&gt; to &lt;A&gt; &lt;O&gt;       22. &lt;AO&gt; ::= &lt;HAVE&gt; &lt;MEANS&gt; (of | for) &lt;PROCESS&gt;       23. &lt;AO&gt; ::= &lt;BE&gt; &lt;DOER&gt;       . . .        Here the meta-linguistic variables &lt; . . . &gt; are:       &lt;A&gt; - any action;       &lt;O&gt; - any object;       &lt;X&gt; - any subject;       &lt;BE&gt; ::= be | am | are | is | were | was | have been | has been | had been | being       | become | stay | remain | appear | occur | happen | prove | seem | &lt;MD&gt; be | . . . ;       &lt;MD&gt; ::= can | could | will | shall | should | ought | must | may | might | . . . ;       &lt;ABLE&gt; ::= able | acceptable | accessible | adaptable | adjustable | admissible |       affordable | adequate advantageous | agreeable | attractive | available |       beneficial | capable | configurable | conventional | customary | typical | convenient       | critical | desirable | effective | easy | essential | excellent | good | better | best |       great | guilty | helpful | important | significant | crucial | feasible | fine | favourable |       favourite | indispensible | ideal | operable | operative | optional | possible |       preferable | primary | practical | ready | responsible | suitable | superb | simple |       usable | useful | usual | common | appropriate | apt | fit | fitting | right | proper |       correct | satisfactory | sufficient | successful | enough | applicable | opportune |       passable | necessary | needed | valid | well-suited | willing | . . . ;       &lt;AT&gt; ::= at | in | of | for | . . . ;       &lt;PROCESS&gt; ::= &lt;A-ing&gt; &lt;O&gt; | &lt;O&gt; &lt;A-ing/ion&gt; | &lt;A-ing/ion&gt; of &lt;O&gt;       &lt;A-ing/ion&gt; - the ing/ion form of the A,       &lt;UNABLE&gt; ::= unable | incapable | impossible | helpless | difficult | insufficient |       ineffective | inefficient | impractical | impracticable | unavailable | unpractical |       unacceptable | inaccessible | inadmissible | insignificant | unimportant |       unessential | inoperable | inappropriate | unfit | useless | unuseful | bad | unready       | undesirable | improper | unsuitable | unsatisfactory | unusual | untypical |       atypical | unapt | unsuccessful | . . . ;       &lt;FORCE&gt; :: = be | have | want | get | prefer | take | include | comprise | integrate |       allege | allow | assure | bind | cause | claim | concern | conduct | confirm | contain       | contemplate | deem | demand | denote | ensure | enable | engage | encourage |       execute | expect | explain | feature | force | find | implement | incline | induce       involve | know | lead | like | make | motivate | need | oblige | obtain | orient |       permit | practice | predict | prompt | propose | provide | repeat | report | reproduce       | repute | represent | request | require | say | secure | see | shape | show | tell |       tune | describe | suggest | suppose | suspect | teach | think | warn | wish | choose       | understand | force | advise | aid | allow | expect | anticipate | ask | order |       command | request | help | assist | assume | authorize | believe | consider |       regard | think | bother | cause | challenge | choose | claim | compel | conduct |       create | drive | enable | encourage | . . . ;       &lt;SEEM&gt; ::= exist | come | try | attempt | seek | suffice | choose | decide | appear |       operate | begin | continue | proceed | intend | finish | happen | seem | start | stop |       cease | tend | serve | act | function | need | allow | permit | function | cooperate |       learn | study | evolve | resume | repeat | like | love | prefer | help | care | claim |       deserve | want | desire | demand | do | enable | endeavour | endeavor |       encourage | end | present | prepare | plan | go | go on | get | threaten hesitate |       honor | honour | hope | hurry | long | look | manage | cope | opt | persist | probe |       promise | prove | propose | suggest | require | risk | show | strive | succeed | suit |       use | vow | wait | wish | . . . ;       &lt;PROVIDE&gt; :: = provide | involve | attain | comprise | realize | accomplish | fulfil |       perform | permit | enable | allow | achieve | execute | warrant | guarantee | ensure       | assure | cause | force | begin | start | continue | launch | stimulate | encourage |       impel | compel | spur | initiate | incite | touch off | trigger | give rise to | make | do |       promise | . . . ;       &lt;A-ed&gt; - ed-form of &lt;A&gt;;       &lt;N&gt; ::= have not | has not | do not | does not | had not | did not | &lt;MD&gt; not | . . . ;       &lt;FAIL&gt; ::= fail | forget | avoid | prohibit | forbid | . . . ;       &lt;PREVENT&gt; ::= prevent | encumber | hamper | hinder | impede | obstruct |       inhibit | stop | quit | avoid | prohibit | limit | deter | constrain | forbid | disturb |       interrupt | . . . ;       &lt;DIRECTED_AT&gt; ::= aimed at | directed at | characterized by | focused on |       specialized on | . . . ;       &lt;FOCUS_ON&gt; ::= focus on | allow for | aim at | direct at | focus on | specialize on       | succeed in | . . . ;       &lt;USE&gt; ::= accommodate | accomplish | achieve | acquire | activate | actuate |       adapt | add | adjust | adope | adopt | advance | advise | advocate | aim | allege |       allocate | allot | allow | anger | anticipate | appear | apply | appoint | approve |       architect | argue | arrange | ask | assemble | assume | astonish | attach | attempt |       authorize | begin | believe | bless | bear | bind | build | call | cause | challenge |       charge | choose | claim | commit | compel | compile | complete | conceive |       conduct | configure | confirm | consider | constrain | construct | construe |       consume | continue | contribute | convene | create | customize | dedicate | deem |       define | delight | demonstrate | deposit | derive | describe | designate | design |       desire | destine | develop | devise | devote | direct | disclose | dispose | do | doom       | drive | elaborate | elect | embarrass | employ | empower | enable | enact |       encourage | endeavour | engage | engineer | entitle | envisage | equip | erect |       establish | estimate | evoke | evolve | execute | exercise | exert | expect |       experiment | explain | exploit | fabricate | favor | fit | focus | follow | force | form |       find | function | gather | give | get | group | grow | guarantee | happen | harness |       help | hire | honor | honour | hope | hypothesize | illustrate | implement | impose |       incline | include | incorporate | induce | infer | initiate | install | instigate | institute |       instruct | intend | introduce | invent | invite | invoke | involve | justify | know |       launch | leave | license | locate | make | make use of | manufacture | mean |       model | motivate | mount | need | obligate | oblige | observe | obtain | order |       organise | organize | orient | outline | overdesign | perceive | perform | permit |       persuade | place | plan | please | pose | position | postulate | predict | predispose       |prefer | prepare | prescribe | present | presume | produce | programme |       program | propose | prove | provide | purchase | qualify | realise | realize |       recommend | register | report | repute | request | require | result | see | select |       sentence | set | settle | shape | show | size | seek | specialize | specify | speculate       | start | state | suggest | suite | summon | supplement | supply | support | suppose       | surprise | suspect | synthesize | tailor | tailour | take | take into account | take       into consideration | target | task | teach | think | tell | train try | tune | ultilize |       understand | undertake | update | upgrade | use | utilise | utilize | want | warn |       warrant | . . . ;       &lt;MEANS&gt; ::= means | way | method | procedure | process | ability | talent |       possibility | success | capacity | habit | desire | tendency | chance | opportunity |       . . . ;       &lt;HAVE&gt; ::= have | has | had | having | acquire | obtain | get | . . . ;       &lt;DOER&gt; :: = &lt;A-er&gt; of &lt;O&gt;;       &lt;A-er&gt; - er/or form of &lt;A&gt;.       For example, for the function “pump water” the above-       mentioned rules describe the paraphrases like:            1.   pump water = is good at pumping water           pump water &lt;AO&gt; = is &lt;BE&gt; good &lt;ABLE&gt; at &lt;AT&gt; pumping water           &lt;PROCESS&gt;       2.   pump water = is suitable to pump water           pump water &lt;AO&gt; = is &lt;BE&gt; suitable &lt;ABLE&gt; to pump &lt;A&gt; water &lt;O&gt;       3.   device pump water = it is possible for device to pump water           device &lt;S&gt; pump water &lt;AO&gt; = it is &lt;BE&gt; possible &lt;ABLE&gt; for device &lt;S&gt;           to pump &lt;A&gt; water &lt;O&gt;       4.   pump water = is not unable of pumping water           pump water &lt;AO&gt; = is &lt;BE&gt; not unable &lt;UNABLE&gt; of &lt;AT&gt; pumping water           &lt;PROCESS&gt;       5.   pump water = is not unable to pump water           pump water &lt;AO&gt; = is &lt;BE&gt; not unable &lt;UNABLE&gt; to pump &lt;A&gt; water &lt;O&gt;       6.   device pump water :: = it is not impossible for device to pump water           device &lt;S&gt; pump water &lt;AO&gt; = it is &lt;BE&gt; not impossible &lt;UNABLE&gt; for           device &lt;S&gt; to           pump &lt;A&gt; water &lt;O&gt;       7.   device pump water = cause device to pump water           device &lt;S&gt; pump water &lt;AO&gt; = cause &lt;FORCE &gt; device &lt;S&gt; to pump &lt;A&gt;           water &lt;O&gt;       8.   pump water = try to pump water           pump water &lt;AO&gt; = try &lt;SEEM&gt; to pump &lt;A&gt; water &lt;O&gt;       9.   pump water = perform pumping of water           pump water &lt;AO&gt; = perform &lt;PROVIDE&gt; pumping of water &lt;PROCESS&gt;       10.   pump water = guarantee pumped water           pump water &lt;AO&gt; = guarantee &lt;PROVIDE&gt; pumped &lt;A-ed&gt; water &lt;O&gt;       11.   pump water = doesn&#39;t fail to pump water           pump water &lt;AO&gt; = doesn&#39;t &lt;N&gt; fail &lt;FAIL&gt; to pump &lt;A&gt; water &lt;O&gt;       12.   pump water = does not stop pumping water           pump water &lt;AO&gt; = does not &lt;N&gt; stop &lt;PREVENT&gt; pumping water           &lt;PROCESS&gt;       13.   pump water = is directed at water pumping           pump water &lt;AO&gt; = is &lt;BE&gt; directed at &lt;DIRECTED_AT&gt; water pumping           &lt;PROCESS&gt;       14.   pump water = succeed in water pumping           pump water &lt;AO&gt; = succeed in &lt;FOCUS_ON&gt; water pumping &lt;PROCESS&gt;       15.   pump water = is known to pump water           pump water &lt;AO&gt; = is &lt;BE&gt; known &lt;USE&gt; to pump &lt;A&gt; water &lt;O&gt;       16.   pump water = has been created for pumping of water           pump water &lt;AO&gt; = has been &lt;BE&gt; created &lt;USE&gt; for pumping of water           &lt;PROCESS&gt;       17.   device pump water = somebody uses device to pump water           device &lt;S&gt; pump water &lt;AO&gt; = somebody uses &lt;USE&gt; device &lt;S&gt; to pump           &lt;A&gt; water &lt;O&gt;       18.   device pump water = somebody invents device for water pumping           device &lt;S&gt; pump water &lt;AO&gt; = somebody invents &lt;USE&gt; device &lt;S&gt; for           water pumping &lt;PROCESS&gt;       19.   pump water = is method to pump water           pump water &lt;AO&gt; = is &lt;BE&gt; method &lt;MEANS&gt; to pump &lt;A&gt; water &lt;O&gt;       20.   pump water = is means for pumping water           pump water &lt;AO&gt; = is &lt;BE&gt; means &lt;MEANS&gt; for pumping water           &lt;PROCESS&gt;       21.   pump water = has ability to pump water           pump water &lt;AO| C&gt; has &lt;HAVE&gt; ability &lt;MEANS&gt; to pump &lt;A&gt; water &lt;O&gt;       22.   pump water = has ability for pumping water           pump water &lt;AO&gt; = has &lt;HAVE&gt; ability &lt;MEANS&gt; for pumping water           &lt;PROCESS&gt;       23.   indicate signal = is indicator of signal           indicate signal &lt;AO&gt; = is &lt;BE&gt; indicator of signal &lt;DOER&gt;            Negative Paraphrasing Rules            1n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;ABLE&gt; &lt;AT&gt; &lt;PROCESS&gt;       2n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;ABLE&gt; to &lt;A&gt; &lt;O&gt;       3n.   &lt;S&gt; &lt;N&gt; &lt;AO&gt; ::= it &lt;BE&gt; not &lt;ABLE&gt; for &lt;S&gt; to &lt;A&gt; &lt;O&gt;       4n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; &lt;UNABLE&gt; &lt;AT&gt; &lt;PROCESS&gt;       5n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; &lt;UNABLE&gt; to &lt;A&gt; &lt;O&gt;       6n.   &lt;S&gt; &lt;N&gt; &lt;AO&gt; ::= it &lt;BE&gt; &lt;UNABLE&gt; for &lt;S&gt; to &lt;A&gt; &lt;O&gt;       7n.   &lt;S&gt; &lt;N&gt; &lt;AO&gt; ::= &lt;FORCE&gt; &lt;S&gt; not to &lt;A&gt; &lt;O&gt;           &lt;S&gt; &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;FORCE&gt; &lt;S&gt; to &lt;A&gt; &lt;O&gt;       8n.   &lt;N&gt; &lt;AO&gt; ::= &lt;SEEM&gt; not to &lt;A&gt; &lt;O&gt;           &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;SEEM&gt; to &lt;A&gt; &lt;O&gt;       9n.   &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;PROVIDE&gt; &lt;PROCESS&gt;           &lt;N&gt; &lt;AO&gt; ::= &lt;PROVIDE&gt; no &lt;PROCESS&gt;       10n.   &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;PROVIDE&gt; &lt;A-ed&gt; &lt;O&gt;           &lt;N&gt; &lt;AO&gt; ::= &lt;PROVIDE&gt; no &lt;A-ed&gt; &lt;O&gt;       11n.   &lt;N&gt; &lt;AO&gt; ::= &lt;FAIL&gt; to &lt;A&gt; &lt;O&gt;       12n.   &lt;N&gt; &lt;AO&gt; ::= &lt;PREVENT&gt; &lt;PROCESS&gt;       13n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;DIRECTED_AT&gt; &lt;PROCESS&gt;       14n.   &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;FOCUS_ON&gt; &lt;PROCESS&gt;       15n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;USE&gt; to &lt;A&gt; &lt;O&gt;       16n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;USE&gt; for &lt;PROCESS&gt;       17n.   &lt;S&gt; &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;USE&gt; &lt;S&gt; to &lt;A&gt; &lt;O&gt;       18n.   &lt;S&gt; &lt;N&gt; &lt;AO&gt; = &lt;N&gt; &lt;USE&gt; &lt;S&gt; for &lt;PROCESS&gt;       19n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;MEANS&gt; to &lt;A&gt; &lt;O&gt;       20n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;MEANS&gt; (of | for) &lt;PROCESS&gt;       21n.   &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;HAVE&gt; &lt;MEANS&gt; to &lt;A&gt; &lt;O&gt;           &lt;N&gt; &lt;AO&gt; ::= &lt;HAVE&gt; no &lt;MEANS&gt; to &lt;A&gt; &lt;O&gt;       22n.   &lt;N&gt; &lt;AO&gt; ::= &lt;N&gt; &lt;HAVE&gt; &lt;MEANS&gt; (of | for) &lt;PROCESS&gt;           &lt;N&gt; &lt;AO&gt; ::= &lt;HAVE&gt; no &lt;MEANS&gt; (of | for) &lt;PROCESS&gt;       23n.   &lt;N&gt; &lt;AO&gt; ::= &lt;BE&gt; not &lt;DOER&gt;            Where:       &lt;N&gt; :: = do not | not to | . . . .                  
 
         [0047]    For example, for the function “pump water” the above-mentioned rules describe the paraphrases like:  
                                                                                                                             1n.   not pump water = is not good at pumping water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not good &lt;ABLE&gt; at &lt;AT&gt; pumping           water &lt;PROCESS&gt;       2n.   not pump water = is not suitable to pump water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not suitable &lt;ABLE&gt; to pump &lt;A&gt;           water &lt;O&gt;       3n.   device not pump water = it is not possible for device to pump water           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = it is &lt;BE&gt; not possible &lt;ABLE&gt; for           device &lt;S&gt; to pump &lt;A&gt; water &lt;O&gt;       4n.   not pump water = is unable of pumping water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; unable &lt;UNABLE&gt; of &lt;AT&gt; pumping           water &lt;PROCESS&gt;       5n.   not pump water = is unable to pump water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; unable &lt;UNABLE&gt; to pump &lt;A&gt; water           &lt;O&gt;       6n.   device not pump water = it is impossible for device to pump water           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = it is &lt;BE&gt; impossible &lt;UNABLE&gt;           for device &lt;S&gt; to pump &lt;A&gt; water &lt;O&gt;       7n.   device not pump water = cause device not to pump water           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = cause &lt;FORCE &gt; device &lt;S&gt; not to           pump &lt;A&gt; water &lt;O&gt;           device not pump water = doesn&#39;t cause device to pump water           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = doesn&#39;t &lt;N&gt; cause &lt;FORCE&gt;           device &lt;S&gt; to pump &lt;A&gt; water &lt;O&gt;       8n.   not pump water = try not to pump water           not &lt;N&gt; pump water &lt;AO&gt; = try &lt;SEEM&gt; not to pump &lt;A&gt; water &lt;O&gt;           not pump water = doesn&#39;t try to pump water           not &lt;N&gt; pump water &lt;AO&gt; = doesn&#39;t &lt;N&gt; try &lt;SEEM&gt; to pump &lt;A&gt; water           &lt;O&gt;       9n.   not pump water = doesn&#39;t perform pumping of water           not &lt;N&gt; pump water &lt;AO&gt; = doesn&#39;t &lt;N&gt; perform &lt;PROVIDE&gt; pumping of           water &lt;PROCESS&gt;           not pump water = performs no pumping of water           not &lt;N&gt; pump water &lt;AO&gt; = performs &lt;PROVIDE&gt; no pumping of water           &lt;PROCESS&gt;       10n.   not pump water = doesn&#39;t guarantee pumped water           not &lt;N&gt; pump water &lt;AO&gt; = doesn&#39;t &lt;N&gt; guarantee &lt;PROVIDE&gt; pumped           &lt;A-ed&gt; water &lt;O&gt;           not pump water = guarantee no pumped water           not &lt;N&gt; pump water &lt;AO&gt; = guarantee &lt;PROVIDE&gt; no pumped &lt;A-ed&gt;           water &lt;O&gt;       11n.   not pump water = failed to pump water           not &lt;N&gt; pump water &lt;AO&gt; = failed &lt;FAIL&gt; to pump &lt;A&gt; water &lt;O&gt;       12n.   not pump water = stop pumping water           not &lt;N&gt; pump water &lt;AO&gt; = stop &lt;PREVENT&gt; pumping water &lt;PROCESS&gt;       13n.   not pump water = is not directed at water pumping           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not directed at &lt;DIRECTED_AT&gt; water           pumping &lt;PROCESS&gt;       14n.   not pump water = did not succeed in water pumping           not &lt;N&gt; pump water &lt;AO&gt; = did not &lt;N&gt; succeed in &lt;FOCUS_ON&gt; water           pumping &lt;PROCESS&gt;       15n.   not pump water = is not known to pump water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not known &lt;USE&gt; to pump &lt;A&gt; water           &lt;O&gt;       16n.   not pump water = was not created for pumping of water           not &lt;N&gt; pump water &lt;AO&gt; = was &lt;BE&gt; not created &lt;USE&gt; for pumping of           water &lt;PROCESS&gt;       17n.   device not pump water = somebody does not use device to pump water           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = somebody does not &lt;N&gt; use           &lt;USE&gt; device &lt;S&gt; to pump &lt;A&gt; water &lt;O&gt;       18n.   device not pump water = somebody did not invent device for water pumping           device &lt;S&gt; not &lt;N&gt; pump water &lt;AO&gt; = somebody did not &lt;N&gt; invent &lt;USE&gt;           device &lt;S&gt; for water pumping &lt;PROCESS&gt;       19n.   not pump water = is not method to pump water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not method &lt;MEANS&gt; to pump &lt;A&gt;           water &lt;O&gt;       20n.   not pump water = is means for pumping water           not &lt;N&gt; pump water &lt;AO&gt; = is &lt;BE&gt; not means &lt;MEANS&gt; for pumping           water &lt;PROCESS&gt;       21n.   not pump water = does not have ability to pump water           not &lt;N&gt; pump water &lt;AO&gt; = does not &lt;N&gt; have &lt;HAVE&gt; ability &lt;MEANS&gt;           to pump &lt;A&gt; water &lt;O&gt;           not pump water = has no ability to pump water           not &lt;N&gt; pump water &lt;AO&gt; = has &lt;HAVE&gt; no ability &lt;MEANS&gt; to pump &lt;A&gt;           water &lt;O&gt;       22n.   not pump water = does not have ability for pumping water           not &lt;N&gt; pump water &lt;AO&gt; = does not &lt;N&gt; have &lt;HAVE&gt; ability &lt;MEANS&gt;           for pumping water &lt;PROCESS&gt;           not pump water = has no ability for pumping water           not &lt;N&gt; pump water &lt;AO&gt; = has &lt;HAVE&gt; no ability &lt;MEANS&gt; for pumping           water &lt;PROCESS&gt;       23n.   not indicate signal = is not indicator of signal           not &lt;N&gt; indicate signal &lt;AO&gt; = is &lt;BE&gt; not indicator of signal &lt;DOER&gt;            It is necessary to note, that the plurality of rules       presented above does not include passive form of the rules       such as:                (a) &lt;S&gt; &lt;AO&gt; ::= &lt;O&gt; &lt;A passive&gt; (by | by means of | with help of)            &lt;S&gt;                (b) &lt;S&gt; &lt;AO&gt; ::= &lt;PROCESS&gt; &lt;PROVIDE passive&gt; (by | by means            of | with help of) &lt;S&gt;                since they are obvious. For example, in the case (b)            the right part will be transformed into:                &lt;S&gt; &lt;PROVIDE&gt; &lt;PROCESS&gt;            and after rule 9 is applied, the formula will look like:                &lt;S&gt; &lt;PROVIDE&gt; &lt;PROCESS&gt; = &lt;S&gt; &lt;AO&gt;            Note also, that the rules may include or do not include       subject S. If it presents, the subject will be the same for       the both parts of the rule. We have a so-called “active (or       direct) subject” here, i.e. the subject which directly       performs the function AO. If subject S is not present, the       equalities are not absolute, it is “passive (or indirect)”       subject, otherwise - it is a co-actor, being one of the       subjects (instruments) to perform AO function. Such a       paraphrase, being not semantically absolute, is, however,       close to that meaning and thus very important for SAO       information processing.                  
 
       EXAMPLE NO. 3  
     User Enters a Word String with at Least One AO):  
       [0048]    It should be understood that the above-mentioned Example No. 1 or 2 method also applies to the case in which user enters only a phrase or phrases that include no subjects (Ss). For example, if user enters “cool oil” the user request includes an AO but no S. Nevertheless, the user request is expanded in the same manner described above even though the S is absent because the rules processing applies to the AO segment regardless of the absence of an S. The system search, then, would be for all documents that have any of the para-AOs resulting from the above-mentioned processing of the user entered action—object (AO) request.  
       EXAMPLE NO. 4  
     Forming a Compressed SAO Knowledge Base  
       [0049]    Separately or in combination with the method of Figure  1 , FIG. 2 shows one exemplary embodiment of generating a compressed SAO Knowledge Base to support efficient access to and management of SAO based information. Specifically, SAO Knowledge Base is developed from processing natural language documents in accordance, for example, as disclosed in Reference Nos. 1, 2, 3, 4, or 5 above. In essence, source document data are obtained or downloaded by any known manner from local or remote databases and stored. System  10  processes source document data to extract all SAO and normalize them into SAO structures. These SAO structures are stored at  22  to form the SAO Knowledge Base. SAO structures are separated into S and AO components. Each AO component is compared in  26  to all other AOs in the document in accordance with the, for example, paraphrasing rules mentioned above for stage  18  and/or Example 1, 2, or 3 mentioned above. This stage identifies the AOs with equivalent meanings and groups them under or in association with a normalized AO with the same meaning. See FIG. 3. The grouped AOs are then stored in the grouped SAO Knowledge Base  28 .  
         [0050]    Stage  28 , in response to processed user request SAOs or AOs, generates and displays the grouped SAOs for which the normalized, respective SAO or AOs matched or associated with the user request SAOs or AOs. See FIG. 2 at (b). As seen in FIG. 2, the system can group not only the AOs but also the respective Ss for display to user. This display conveys an extensive number of concepts to the user since user sees what Ss (e.g., technologies can produce what functions or problem solutions). For example, S7 may not have ever been mentioned in a document with A 5 -O 5  but this displayed immediately presents this new concept (e.g., S 7 -A 5 -O 5 ) to the user.  
         [0051]    It will be understood that the term “stored” as used herein means permanently or temporarily stored in the computer system as desired. It will also be understood that the user request can include a word string with at least one SAO or at least one AO.