US20070016625A1 - Method and Apparatus for Providing a Central Dictionary and Glossary Server - Google Patents

Method and Apparatus for Providing a Central Dictionary and Glossary Server Download PDF

Info

Publication number
US20070016625A1
US20070016625A1 US11/534,430 US53443006A US2007016625A1 US 20070016625 A1 US20070016625 A1 US 20070016625A1 US 53443006 A US53443006 A US 53443006A US 2007016625 A1 US2007016625 A1 US 2007016625A1
Authority
US
United States
Prior art keywords
glossary
acronym
datastream
glossaries
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/534,430
Inventor
Viktors Berstis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/534,430 priority Critical patent/US20070016625A1/en
Publication of US20070016625A1 publication Critical patent/US20070016625A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Definitions

  • the present invention is related to application entitled “METHOD AND APPARATUS FOR ACRONYM CHECKER AND AUTODEFINER”, Ser. No. ______, attorney docket no. AT9-98-922, assigned to the same assignee, and incorporated herein by reference.
  • the present invention relates generally to an improved data processing system and, in particular, to a method and apparatus for processing documents and text streams.
  • Jargon is the bane of one's life in the modern world.
  • scientists and engineers are confronted with journals and papers that are filled with technical jargon.
  • Government agencies produce voluminous reports with special terms and acronyms.
  • the present invention is a method and apparatus for providing a central dictionary and glossary server.
  • An application executing on a client is able to access a local copy of a dictionary or glossary.
  • a master dictionary or glossary is updated at a server, and the update to the master dictionary or glossary is served to the application on the client to update the local copy of the dictionary or glossary.
  • a datastream may also be processed by automatically scanning a datastream and automatically detecting, in the datastream, a word that cannot be matched to a word in a dictionary or glossary. The unmatched word is identified as an acronym, and in response, data associated with the acronym, selected from a hierarchical set of glossaries, is inserted into the datastream in close proximity to the acronym.
  • a dictionary or glossary in response to an indication that the unmatched word is a properly spelled new term, may be updated with the new term, and the dictionary or glossary is a member of a hierarchically ordered set of dictionaries and/or glossaries.
  • the system may also contain an organizational database comprising information for organizational units associated with a data processing system, and each glossary in the hierarchical set of glossaries is associated with an organizational unit.
  • FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented
  • FIG. 2 is a block diagram depicting a data processing system, which may be implemented as a server;
  • FIG. 3 is a block diagram illustrating a data processing system in which the present invention may be implemented
  • FIG. 4 is a diagram depicting an example for configuring a dictionary/spell checker and an acronym/glossary tool among other software components in relation to the storage of data files and information that may be accessed by each of the software components;
  • FIG. 5 is a diagram depicting a standard document window within a graphical user interface
  • FIG. 6 is a pictorial representation of an application window depicting a manner in which an acronym/glossary tool may be invoked in another application;
  • FIG. 7 is a pictorial document window depicting an acronym and its expansion within a datastream
  • FIG. 8 is a pictorial representation depicting a dialog box for a tool that combines spell checking capabilities and glossary term processing capabilities
  • FIG. 9 is a pictorial representation depicting a set of hierarchically arranged glossaries
  • FIG. 10 is a pictorial representation depicting a specific user's preference list for the manner in which a set of hierarchically arranged glossaries are to be searched.
  • FIG. 11 is a diagram depicting a standard document window within a graphical user interface in which a user is presented with a choice of information retrieved from multiple glossaries.
  • FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented.
  • Distributed data processing system 100 is a network of computers in which the present invention may be implemented.
  • Distributed data processing system 100 contains a network 102 , which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system 100 .
  • Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • a server 104 is connected to network 102 along with storage unit 106 .
  • clients 108 , 110 , and 112 also are connected to a network 102 .
  • These clients 108 , 110 , and 112 may be, for example, personal computers or network computers.
  • a network computer is any computer, coupled to a network, which receives a program or other application from another computer coupled to the network.
  • server 104 provides data, such as boot files, operating system images, and applications to clients 108 - 112 .
  • Clients 108 , 110 , and 112 are clients to server 104 .
  • Distributed data processing system 100 may include additional servers, clients, and other devices not shown.
  • distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another.
  • At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages.
  • distributed data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN).
  • FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
  • Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206 . Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208 , which provides an interface to local memory 209 . I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212 . Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • SMP symmetric multiprocessor
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216 .
  • PCI bus 216 A number of modems may be connected to PCI bus 216 .
  • Typical PCI bus implementations will support four PCI expansion slots or add-in connectors.
  • Communications links to network computers 108 - 112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228 , from which additional modems or network adapters may be supported.
  • a memory-mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • FIG. 2 may vary.
  • other peripheral devices such as optical disk drives and the like, also may be used in addition or in place of the hardware depicted.
  • the depicted example is not meant to imply architectural limitations with respect to the present invention.
  • the data processing system depicted in FIG. 2 may be, for example, an IBM RISC/System 6000 system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • IBM RISC/System 6000 system a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • AIX Advanced Interactive Executive
  • Data processing system 300 is an example of a client computer.
  • Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture.
  • PCI peripheral component interconnect
  • Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308 .
  • PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302 . Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards.
  • local area network (LAN) adapter 310 SCSI host bus adapter 312 , and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection.
  • audio adapter 316 graphics adapter 318 , and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots.
  • Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320 , modem 322 , and additional memory 324 .
  • SCSI host bus adapter 312 provides a connection for hard disk drive 326 , tape drive 328 , and CD-ROM drive 330 .
  • Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3 .
  • the operating system may be a commercially available operating system such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation.
  • An object oriented programming system such as Java may run in conjunction with the operating system and provides calls to the operating system from Java programs or applications executing on data processing system 300 .
  • Java is a trademark of Sun Microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326 , and may be loaded into main memory 304 for execution by processor 302 .
  • FIG. 3 may vary depending on the implementation.
  • Other internal hardware or peripheral devices such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3 .
  • the processes of the present invention may be applied to a multiprocessor data processing system.
  • data processing system 300 may not include SCSI host bus adapter 312 , hard disk drive 326 , tape drive 32 B, and CD-ROM 330 , as noted by dotted line 332 in FIG. 3 denoting optional inclusion.
  • the computer to be properly called a client computer, must include some type of network communication interface, such as LAN adapter 310 , modem 322 , or the like.
  • data processing system 300 may be a stand-alone system configured to be bootable without relying on some type of network communication interface, whether or not data processing system 300 comprises some type of network communication interface.
  • data processing system 300 may be a Personal Digital Assistant (PDA) device which is configured with ROM and/or flash ROM in order to provide nonvolatile memory for storing operating system files and/or user-generated data.
  • PDA Personal Digital Assistant
  • the present invention uses a distributed data processing system similar to that shown in FIG. 1 to organize a set of hierarchically related glossaries.
  • the various glossaries may be stored throughout an organizational network yet managed by a single server that is responsible for tracking, searching, and sorting the information stored in these glossaries.
  • FIG. 4 a diagram depicts an example for configuring an dictionary/spell checker tool and acronym/glossary tool among other software components in relation to the storage of data files and information that may be accessed by each of the software components.
  • Client 400 contains applications 402 - 406 and data files 408 - 418 .
  • Word processor 402 reads and writes documents and text files 408 .
  • Spell checker 404 may access a variety of databases against which words in a datastream may be compared.
  • Word processor 402 may invoke spell checker 404 to check the spelling of words within a datastream generated by reading documents and text files 408 .
  • a datastream is an undifferentiated byte-by-byte flow of data.
  • Streams may be input and output from a variety of devices, including storing the stream as a file or sending the stream to a display device so that the content of the stream may be presented to the user in a content window.
  • a datastream may represent content retrieved from a file.
  • a datastream may be derived from a variety of sources.
  • a datastream may be content retrieved according to a specific network protocol across a network or the Internet.
  • a datastream may also be piped-output from a batch-processing program.
  • Spell checker 404 reads Standard Dictionary 410 , User Dictionary A 412 , and User Dictionary B 414 , which provide lists of properly spelled words. Spell checker 404 may also store user-specified spellings of words in User Dictionary A 412 and User Dictionary B 414 . User Dictionary A 412 and User Dictionary B 414 are editable and customizable to user preferred spellings of words and standard spellings of words not stored in Standard Dictionary 410 .
  • Acronym/glossary tool 406 may be invoked by word processor 402 to perform processing on acronyms detected in datastreams generated by reading documents and text files 408 .
  • Acronym/glossary tool 406 may read and write User Glossary A 416 and User Glossary B 418 .
  • a glossary is an indexed list of terms or words found in or relating to a specific subject or text with explanatory words or phrases.
  • Acronym/glossary tool 406 uses these glossaries to provide lists of previously defined acronyms.
  • a standard glossary could be provided to acronym/glossary tool 406 in a manner similar to the provision of Standard Dictionary 410 .
  • User Glossary A 416 and User Glossary B 418 may be user-customizable and user-editable so that the content of the glossary may be tailored to the specific use required by a user of the data processing system.
  • one of these glossaries may be a standard glossary that contains acronyms used by the general public in a manner similar to Standard Dictionary 410 providing commonly used words.
  • Acronym/glossary tool 406 may provide one glossary per document so that each glossary is tailored to the specific content of a single document.
  • Client 400 may communicate with server 450 to retrieve other glossary and dictionary information.
  • Server 450 may respond to requests from client 400 by retrieving other information from databases 452 - 458 .
  • Corporate glossary 454 may store all acronyms used within an enterprise or organization. As users at various client computers throughout the organizational network preferentially store acronyms in user glossaries, the acronym/glossary tool on each computer may send the new acronym to server 450 for storage in Corporate Glossary 454 . The definitions and expansions of these newly stored acronyms may then be shared with other users throughout the organizational network.
  • Department A Glossary 456 may store all acronyms used within Department A of an organization. As users at various client computers throughout Department A preferentially store acronyms in user glossaries, the acronym/glossary tool on each computer may send the new acronym to server 450 for storage in Department A Glossary 456 . The definitions and expansions of these newly stored acronyms may then be shared with other users throughout Department A. Department B Glossary 458 operates in a similar manner.
  • databases 452 - 458 are shown as glossaries, these databases may be alternatively configured as dictionaries. In that situation, unusual words, new words, special terms, and uncommon spellings may be stored and retrieved in a variety of locations within dictionaries stored on clients and servers.
  • Server 450 uses Corporate Organizational Database 452 to assist in the storage and retrieval of information in databases 452 - 458 from various users within the organizational network. Server 450 ensures that databases 452 - 458 are logically associated such that users view the information in the databases in a manner which reflects the corporate organization stored in Corporate Organizational Database 452 .
  • Document window 500 contains title bar 502 , scrollbars 504 and 512 , and content area 526 .
  • Scroll bar 504 contains up arrow indicator 506 , elevator 510 and down arrow 508 for scrolling the content area in a vertical direction in response to user manipulation of a pointing device such as a mouse.
  • Scrollbar 512 contains left arrow 516 and right arrow 514 for scrolling the content area in a horizontal direction in response to user manipulation of a pointing device.
  • Content area 526 has text that contains acronyms 520 and 522 .
  • acronyms are a word derived from the letters, a group of letters, or selected letters in a multi-word descriptive noun or other expression that often serves as a mnemonic.
  • Acronyms may be used for corporate names, such as “IBM” for “International Business Machines”.
  • Other acronyms become common words in the vernacular, such as “PC” for “personal computer” and “RAM” for “Random Access Memory”.
  • acronym 522 is “PBX”, which stands for “Private Branch Exchange”.
  • Acronym 520 is “PSTN”, which stands for “Public Switch Telephone Network”.
  • FIG. 6 a pictorial representation of an application window depicts a manner in which an acronym/glossary tool may be invoked in another application.
  • Window 600 shows an application window for a word processor, which includes title bar 602 , menus 604 - 614 , and content area 622 .
  • File menu 604 contains menu items that provide file manipulation functions.
  • Edit menu 606 contains menu items that provide editing functions.
  • View menu 608 contains items that provide formatting functions for the content displayed in document windows.
  • Tools menu 610 provides menu item access to various functions that may operate in conjunction with the word processor.
  • Window menu 612 contains menu items that allow a user to manipulate various document windows within the word processor.
  • Help menu 614 provides a user with access to help files.
  • Tools menu 610 contains “Spell Checker” menu items 616 , “Acronym/Glossary Tool” menu item 618 , and “Macro” menu item 620 .
  • Menus 616 - 620 may be selected in a manner that is well-known in the art for initiating the depicted function.
  • a spell checker and an acronym/glossary tool are separately invokable functions.
  • the spell checker and acronym/glossary tool may be combined so that the spell checking function and acronym/glossary checking function operate in conjunction within a single tool.
  • the acronym/glossary checking function may operate within an Internet browser.
  • Other well-known manners of invoking various functions within an application may be provided in accordance with the operation of the present invention.
  • FIG. 7 a pictorial document window depicts an acronym and its expansion within a datastream.
  • Window 700 contains content area 702 that presents the content of a document to a user.
  • the content area contains an acronym “PBX” and its expansion “Private Branch Exchange”.
  • Acronym 704 is immediately followed by acronym expansion 706 .
  • the expansion of acronym 704 may have been performed automatically by the acronym tool according to an option specified by a user within an acronym tool.
  • the acronym tool has expanded acronym 704 by immediately following it with its expansion because the occurrence of “PBX” in content area 702 is the foremost occurrence of this acronym within the document of datastream.
  • the expansion of an acronym may be placed in front of the acronym or at some other location in close proximity to the acronym, and the alternative placement may be selectable as an option by the user.
  • a pictorial representation depicts a dialog box for a spell checking tool that may have been invoked in response to a user request.
  • Window 800 may be presented to a user in response to a user selection through a menu similar to that shown in FIG. 6 .
  • Window 800 combines the functionality of a spell checker and an acronym/glossary tool.
  • the spell checker tool has scanned the words present in a document window of a word processor in order to determine whether any of the words are misspelled. Words that have not been identified as correctly spelled words or as previously defined acronyms or special terms are presented to the user within window area 804 .
  • the word “PBX” has been located within the document window but has not been matched with any words in any of the dictionaries or with any acronyms or special terms in any of the glossaries.
  • Properly spelled words are suggested to a user in window area 806 .
  • the word “POX” has been suggested to the user as a replacement word for the unidentified word “PBX”.
  • the spell checker tool identifies potentially misspelled words and suggests to the user properly spelled words.
  • IGNORE button 810 If the user believes that the word is properly spelled or is an undefined acronym or special term, the user may select IGNORE button 810 . Selection of the IGNORE button informs the spell checker that the currently unidentified word, acronym, or term should be ignored by the spell checker, and the spell checking function should continue scanning for misspelled words within the current document.
  • the user may select “ADD TO DICTIONARY” button 814 that informs the spell checker to add the unidentified word to one of the dictionary files as a correctly spelled word. Subsequent comparisons between the current word and the modified dictionary will result in a positive identification of the word so that it is not flagged as a misspelled word.
  • the spell checker may first store the new word in the local dictionary, most likely in a user dictionary associated with the current user.
  • the spell checker may also attempt to disseminate the new word throughout an organization by sending the new word to a server in command of disseminating dictionary and glossary information. The dissemination process is described in greater detail further below.
  • CHANGE button 812 which will replace the unidentified word with the suggested word.
  • the user may select “ADD TO GLOSSARY” button 816 that informs the spell checker to add the unidentified word to one of the glossary files as a correctly spelled acronym/term.
  • the spell checker may then pop up another window in which the user may enter the expansion and definition of the new acronym/term. If no default file has previously been specified, then the user may be prompted to select a particular glossary into which the acronym should be placed. If the user desires to stop the spell checker, then the user may select CANCEL button 808 .
  • Acronym box 830 presents a word that has previously been identified as an acronym and may have been retrieved from a glossary.
  • the acronym box contains the acronym “PCX” which is the closest acronym that approximates the spelling of the currently unidentified word.
  • the acronym box also contains the expansion of the suggested acronym. Alternatively, the expansion of the acronym may be provided in a separate window box.
  • Definition box 850 contains the definition for the acronym presented within acronym box 830 .
  • “VIEW GLOSSARY” button 840 provides the user with the ability to view the remaining contents of the glossary. This may be helpful if the user has misspelled the acronym but believes that the spelling is approximately correct and would like to view the spelling of other acronyms.
  • Window 800 also contains Auto Expand control 820 for allowing the user to specify an option for the automatic expansion of the displayed acronym/term within the current document.
  • Radio buttons 822 and 824 allow the user to toggle the feature on and off. If the user selects this feature, the acronym/glossary tool will insert an expansion of an acronym/term automatically into the current document in close proximity to the foremost occurrence of the acronym/term in the document.
  • “OPTIONS” button 842 may provide the user with the ability to specify rules for resolving conflicts in the retrieval and expansion of acronyms from multiple sources.
  • the acronym “PCX” may be found in several glossaries, and the acronym/glossary tool may provide the user with the ability to specify a ranking for each source.
  • the acronym/glossary tool finds an identical acronym in multiple source files, if the user has previously specified that the ranking for a user glossary is higher than the standard glossary, then the acronym/glossary tool may present the user with an expansion and definition for the acronym from the user glossary, and the user could then request to view the information retrieved from the standard glossary.
  • Drop-down menu 844 displays the source of the acronym in acronym box 830 .
  • “PCX” has been retrieved from User Glossary A. The user may see other sources for identically spelled acronyms by selecting one of the menu items in drop-down menu 844 . For example, if another glossary had an acronym “PCX”, even if the acronym had a different expansion and definition, then the user could view the acronym by selecting the appropriate source file in the drop-down menu.
  • FIG. 9 a block diagram depicts a set of hierarchically arranged glossaries and dictionaries.
  • FIG. 9 describes the files as dictionary/glossaries in a manner in which dictionary-type information for a set of particular words may be combined with glossary-type information so that any information related to a particular word may be found in a single file.
  • glossary-type information and dictionary-type information may be stored in different files.
  • User Dictionary/Glossary A 910 and User Dictionary/Glossary B 908 are depicted as child dictionaries/glossaries of parent dictionary/glossary 906 .
  • Department A Dictionary/Glossary 906 and Department B Dictionary/Glossary 904 are depicted as child dictionaries/glossaries of parent dictionary/glossary 902 .
  • Corporate Dictionary/Glossary 902 is depicted as the root glossary.
  • alternate configurations of dictionaries and glossaries could be depicted in which other organizational entities are depicted within the tree of dictionaries and glossaries, such as subdepartments, divisions, etc.
  • the hierarchical set of dictionaries and glossaries serves as a conceptual representation of the manner in which a user may view the storage of the dictionaries and glossaries.
  • This conceptual representation may reflect the structure of the organization in which the dictionaries and glossaries are being used.
  • a server which maintains these dictionaries and glossaries may retrieve information about the structure of the organization from a corporate organizational database, such as database 452 shown in FIG. 4 .
  • the dictionaries and glossaries may be stored in a data structure that reflects the organizational structure, the dictionaries and glossaries may be stored in any number of different manners, and a dictionary server or a glossary server, through its various interfaces, creates an appearance that the dictionaries or glossaries are stored in a hierarchical manner.
  • the present invention allows a user to share new word, new acronym, or new term information with other persons within the same workgroup, department, division, corporation, etc.
  • the server through appropriate links with the system administration software, such as session management, etc., can determine the appropriate organizational information for each user that is accessing the hierarchical set of words. In this manner, the organizational unit builds a database of information that is specifically tailored to the needs of the users within the organizational unit.
  • the user may specify a file to which the user desires to store the information.
  • the spell checker tool or acronym/glossary tool may already have a default file, the user may specify a file according to the user's preference. If the user believes that the new word should be stored at a department level so that other persons within the department may benefit from the information, then the user may request that the new word be stored in the dictionary or glossary for the department. In a similar manner, the user may request that the new word be stored in the dictionary or glossary for the corporation or some other organizational unit.
  • FIG. 10 a pictorial representation depicts a specific user's preference list for the manner in which a set of hierarchically arranged dictionaries or glossaries are to be searched.
  • FIG. 10 describes the files as dictionary/glossaries in a manner in which dictionary-type information for a set of particular words may be combined with glossary-type information so that any information related to a particular word may be found in a single file.
  • glossary-type information and dictionary-type information may be stored in different files.
  • List 1000 shows a priority list for the manner in which a set of dictionaries or glossaries are to be searched. Although the user may perceive that a set of dictionaries or glossaries are hierarchically arranged, each user may specify a preferential ranking for the manner in which information retrieved from the dictionaries or glossaries are to be presented to the user. Each user's list may be stored in a user profile on the server, on the client, or within the spell checker tool or acronym/glossary tool.
  • Preference list entries 1002 - 1010 allow the user to choose an order for the retrieval of information from the set of hierarchical dictionaries or glossaries. If more than one dictionary or glossary in the set of dictionaries or glossaries has information that may be pertinent to the word that is searched, then the information is presented to the user in the manner previously selected by the user according to the ranking of the entry within the list. If the user has not previously specified a preference list, then the information may be presented in a default manner, for example, according to the informational structure present in a corporate organizational database.
  • FIGS. 11A-11C a diagram depicts a standard document window within a graphical user interface in which a user is presented with a choice of information retrieved from multiple glossaries.
  • FIG. 11A shows a document window 1100 containing multiple acronyms.
  • FIG. 11B shows the selection of acronym 1102 , after which the user is presented with a menu from which the user may choose an appropriate action for the selection. Alternatively, the user clicks the right mouse button to see the menu of actions, or the user simply right-clicks the acronym without selecting the acronym.
  • the application has determined in the background that the word that the user has selected is an acronym. By searching through the available glossaries, the application, either alone or executing in conjunction with the acronym/glossary tool, has found at least one glossary entry for the word, and the application provides the user with the ability to insert the expansion of the acronym in close proximity to the acronym.
  • FIG. 11C shows the selection of the “Expand” menu item by the user.
  • the menu of actions is a hierarchical menu, and after the user has selected the “Expand” menu item, the application presents the choice of acronyms to the user as a submenu. In this case, the application has communicated with a server to retrieve a set of identically spelled acronyms “PBX” that have different meanings.
  • Menu item 1106 contains “PBX: Public Branch Exchange” retrieved from a personal user glossary named “User Glossary A”.
  • Menu item 1108 contains “PBX: Public Bond Transfer” retrieved from a departmental glossary named “Finance Department Glossary”.
  • Menu item 1110 contains “PBX: PolyBiphenylXenochloride” retrieved from a departmental glossary name “Manufacturing Department Glossary”. Alternatively, the name of the glossary file is not shown, or other information pertinent to the acronym may be shown, such as a definition for the acronym. Once the user has selected an expansion for the acronym, then the application may insert the expansion in close proximity to the acronym, as shown in FIG. 7 .
  • the application has presented the retrieved acronyms in the order specified by the user in a hierarchical preference list similar to the list shown in FIG. 10 .
  • the user has specified that information from User Glossary A should be presented before information from the Finance Department Glossary, which should be presented before the information from the Manufacturing Department Glossary.
  • the application may pop-up a dialog box or a menu similar to that shown in FIG. 11C to allow a user to select the acronym expansion that is best associated with the content of the document.
  • a flowchart depicts a manner in which changes to dictionaries and glossaries may be disseminated throughout an organization.
  • the process begins when a user of an application with an associated language tool, either a spell checking tool or acronym/glossary tool, determines that a new word should be added to a dictionary or glossary (step 1202 ).
  • the language tool may need to determine the manner in which the user's update request should be processed (step 1204 ).
  • the language tool may store the new word or acronym, or may request the storage of the new word or acronym, in the specified file. If the specified file is located locally on a client computer, then the language tool may update the local file (step 1206 ). If the specified file is located centrally on a server or elsewhere within the network, then the language tool may send the appropriate update request to the appropriate server (step 1208 ).
  • the user may have the ability to set several options within the language tool for requesting dictionary or glossary updates. For example, each time the user requests an update, the language tool may send an update request to the server, whether or not a specific dictionary or glossary file has been specified. Various selectable options may be chosen by the user or by a system administrator as to the manner in which an update to a dictionary or glossary file is disseminated throughout a network.
  • the server determines the appropriate files to be updated. This may require checking a system administration file or user profile file to lookup any rules for the manner in which update requests from the user are to be processed (step 1212 ). These update rules may reflect a corporate organizational structure or may require lookups in an organizational database.
  • the server may update only a departmental dictionary or glossary for this particular user. In this case, it may have been determined that new terms from this user and similar users are usually only needed or helpful to other people within the same department. If the engineering department frequently uses terms that are only useful to fellow engineers, then the server may not replicate the update to any other dictionaries or glossaries outside of the engineering department. This type of rule may be set as a default for all persons within a department and overridden on a per-user basis, etc.
  • any update requests from another user may require an update to a corporate-level dictionary or glossary. If the human resources department frequently uses terms that must be understood by all employees so that each employee understands a company benefit plan, then these updates may be replicated to a corporate-level file.
  • the update rules for determining which files to update may also specify that an update to a dictionary or glossary at a particular organizational level is to be disseminated to any person within the particular organizational level.
  • the server replicates the update to the appropriate persons at the appropriate client computers that have copies of the dictionary or glossary (step 1214 ). These updates may be sent whenever the client application notifies the server that the application is in use.
  • the client may configured with the appropriate system information so that the client determines which copies of the dictionary or glossary must be updated.
  • New words and terms may be disseminated almost immediately throughout an organization by modifying the rules by which the dictionaries or glossaries are updated. If an update to a central dictionary or glossary is always replicated from a server to other copies of the dictionary or glossary on multiple clients and vice versa, then the copy on the server may be regarded as a master copy, and each copy of the dictionary or glossary may be kept synchronized and coherent with the master dictionary or glossary.
  • the processing methods and tools of the present invention provides a user with a convenient manner for creating a document or datastream that is more readable.
  • New words and acronyms may be stored and retrieved from a dictionary or glossary that may be one of a set of dictionaries or glossaries that are organized hierarchically in a manner similar to the organizational hierarchy of the users which use the dictionaries or glossaries.
  • the dictionaries and glossaries may be configured to the particular needs and purposes of the employees. In this manner, the dictionary or glossary will tend to match the context of the content of the documents that are created and viewed by these employees. The employees may then assist other employees by replicating language information to other dictionaries or glossaries so that other employees may insert the language information into other documents or may use the language information to understand other documents.

Abstract

A method and apparatus provides a central dictionary and glossary server. An application executing on a client is able to access a local copy of a dictionary or glossary. A master dictionary or glossary is updated at a server, and the update to the master dictionary or glossary is served to the application on the client to update the local copy of the dictionary or glossary. A datastream may also be processed by automatically scanning a datastream and automatically detecting, in the datastream, a word that cannot be matched to a word in a dictionary or glossary. The unmatched word is identified as an acronym, and in response, data associated with the acronym, selected from a hierarchical set of glossaries, is inserted into the datastream in close proximity to the acronym. In another aspect of processing a datastream, in response to an indication that the unmatched word is a properly spelled new term, a dictionary or glossary may be updated with the new term, and the dictionary or glossary is a member of a hierarchically ordered set of dictionaries and/or glossaries. The system may also contain an organizational database comprising information for organizational units associated with a data processing system, and each glossary in the hierarchical set of glossaries is associated with an organizational unit.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present invention is related to application entitled “METHOD AND APPARATUS FOR ACRONYM CHECKER AND AUTODEFINER”, Ser. No. ______, attorney docket no. AT9-98-922, assigned to the same assignee, and incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates generally to an improved data processing system and, in particular, to a method and apparatus for processing documents and text streams.
  • 2. Description of Related Art
  • Jargon is the bane of one's life in the modern world. Scientists and engineers are confronted with journals and papers that are filled with technical jargon. Government agencies produce voluminous reports with special terms and acronyms.
  • Many of these documents are written by persons familiar with technology but are not necessarily written by technical writers. Therefore, these documents are not written in a manner sympathetic to one who is unfamiliar with the subject matter. The documents tend to have many undefined terms that may include cryptic and undefined terms and acronyms. It may be difficult or impossible to read and comprehend a document with undefined terms.
  • The problem of simplifying technical papers grows steadily worse as technology marches onward. Although many corporations have attempted to incorporate open standards into their products, which results in some terms for proprietary technology becoming obsolete and unused, the number of special terms continues to increase rather than decrease. Technological growth spurs more technological innovation that requires special words to be coined for new concepts. As a result, more special terms or words are created.
  • The coining of new words and acronyms does not follow any particular rules, and there is no central authority that acts as a clearinghouse for reserving words. This state of affairs compounds the problem of new jargon because identically spelled acronyms may be created that have entirely different meanings. New words may be created within an organization that have different meanings depending on the person using the word and/or the context in which the word appears. It can then be especially difficult to determine which meaning was intended by the author of a document if the user is aware of two identically spelled words with different meanings.
  • Moreover, the definition or description of a new word or acronym for a newly developed concept or product may be slowly disseminated throughout an organization so that some persons understand a new term while others are unaware of its meaning.
  • Therefore, it would be advantageous to have a method and apparatus for rendering documents more readable. It would be further advantageous if the method and apparatus provided a user with the ability to understand documents in a manner that was reconciled to the user's context. It would be particularly advantageous if information about new terms were disseminated throughout an organization in a timely manner.
  • SUMMARY OF THE INVENTION
  • The present invention is a method and apparatus for providing a central dictionary and glossary server. An application executing on a client is able to access a local copy of a dictionary or glossary. A master dictionary or glossary is updated at a server, and the update to the master dictionary or glossary is served to the application on the client to update the local copy of the dictionary or glossary. A datastream may also be processed by automatically scanning a datastream and automatically detecting, in the datastream, a word that cannot be matched to a word in a dictionary or glossary. The unmatched word is identified as an acronym, and in response, data associated with the acronym, selected from a hierarchical set of glossaries, is inserted into the datastream in close proximity to the acronym. In another aspect of processing a datastream, in response to an indication that the unmatched word is a properly spelled new term, a dictionary or glossary may be updated with the new term, and the dictionary or glossary is a member of a hierarchically ordered set of dictionaries and/or glossaries. The system may also contain an organizational database comprising information for organizational units associated with a data processing system, and each glossary in the hierarchical set of glossaries is associated with an organizational unit.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
  • FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented;
  • FIG. 2 is a block diagram depicting a data processing system, which may be implemented as a server;
  • FIG. 3 is a block diagram illustrating a data processing system in which the present invention may be implemented;
  • FIG. 4 is a diagram depicting an example for configuring a dictionary/spell checker and an acronym/glossary tool among other software components in relation to the storage of data files and information that may be accessed by each of the software components;
  • FIG. 5 is a diagram depicting a standard document window within a graphical user interface;
  • FIG. 6 is a pictorial representation of an application window depicting a manner in which an acronym/glossary tool may be invoked in another application;
  • FIG. 7 is a pictorial document window depicting an acronym and its expansion within a datastream;
  • FIG. 8 is a pictorial representation depicting a dialog box for a tool that combines spell checking capabilities and glossary term processing capabilities;
  • FIG. 9 is a pictorial representation depicting a set of hierarchically arranged glossaries;
  • FIG. 10 is a pictorial representation depicting a specific user's preference list for the manner in which a set of hierarchically arranged glossaries are to be searched; and
  • FIG. 11 is a diagram depicting a standard document window within a graphical user interface in which a user is presented with a choice of information retrieved from multiple glossaries.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • With reference now to the figures, FIG. 1 depicts a pictorial representation of a distributed data processing system in which the present invention may be implemented. Distributed data processing system 100 is a network of computers in which the present invention may be implemented. Distributed data processing system 100 contains a network 102, which is the medium used to provide communications links between various devices and computers connected together within distributed data processing system 100. Network 102 may include permanent connections, such as wire or fiber optic cables, or temporary connections made through telephone connections.
  • In the depicted example, a server 104 is connected to network 102 along with storage unit 106. In addition, clients 108, 110, and 112 also are connected to a network 102. These clients 108, 110, and 112 may be, for example, personal computers or network computers. For purposes of this application, a network computer is any computer, coupled to a network, which receives a program or other application from another computer coupled to the network. In the depicted example, server 104 provides data, such as boot files, operating system images, and applications to clients 108-112. Clients 108, 110, and 112 are clients to server 104. Distributed data processing system 100 may include additional servers, clients, and other devices not shown. In the depicted example, distributed data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. Of course, distributed data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention.
  • Referring to FIG. 2, a block diagram depicts a data processing system, which may be implemented as a server, such as server 104 in FIG. 1, in accordance with a preferred embodiment of the present invention. Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
  • Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems may be connected to PCI bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to network computers 108-112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
  • Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI buses 226 and 228, from which additional modems or network adapters may be supported. A memory-mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
  • Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
  • The data processing system depicted in FIG. 2 may be, for example, an IBM RISC/System 6000 system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system.
  • With reference now to FIG. 3, a block diagram illustrates a data processing system in which the present invention may be implemented. Data processing system 300 is an example of a client computer. Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures such as Micro Channel and ISA may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. SCSI host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
  • An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3. The operating system may be a commercially available operating system such as OS/2, which is available from International Business Machines Corporation. “OS/2” is a trademark of International Business Machines Corporation. An object oriented programming system such as Java may run in conjunction with the operating system and provides calls to the operating system from Java programs or applications executing on data processing system 300. “Java” is a trademark of Sun Microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
  • Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. Also, the processes of the present invention may be applied to a multiprocessor data processing system.
  • For example, data processing system 300, if optionally configured as a network computer, may not include SCSI host bus adapter 312, hard disk drive 326, tape drive 32B, and CD-ROM 330, as noted by dotted line 332 in FIG. 3 denoting optional inclusion. In that case, the computer, to be properly called a client computer, must include some type of network communication interface, such as LAN adapter 310, modem 322, or the like. As another example, data processing system 300 may be a stand-alone system configured to be bootable without relying on some type of network communication interface, whether or not data processing system 300 comprises some type of network communication interface. As a further example, data processing system 300 may be a Personal Digital Assistant (PDA) device which is configured with ROM and/or flash ROM in order to provide nonvolatile memory for storing operating system files and/or user-generated data.
  • The depicted example in FIG. 3 and above-described examples are not meant to imply architectural limitations.
  • The present invention uses a distributed data processing system similar to that shown in FIG. 1 to organize a set of hierarchically related glossaries. The various glossaries may be stored throughout an organizational network yet managed by a single server that is responsible for tracking, searching, and sorting the information stored in these glossaries.
  • With reference now to FIG. 4, a diagram depicts an example for configuring an dictionary/spell checker tool and acronym/glossary tool among other software components in relation to the storage of data files and information that may be accessed by each of the software components. Client 400 contains applications 402-406 and data files 408-418. Word processor 402 reads and writes documents and text files 408. Spell checker 404 may access a variety of databases against which words in a datastream may be compared. Word processor 402 may invoke spell checker 404 to check the spelling of words within a datastream generated by reading documents and text files 408.
  • A datastream is an undifferentiated byte-by-byte flow of data. Streams may be input and output from a variety of devices, including storing the stream as a file or sending the stream to a display device so that the content of the stream may be presented to the user in a content window. As noted, a datastream may represent content retrieved from a file. However, a datastream may be derived from a variety of sources. For example, a datastream may be content retrieved according to a specific network protocol across a network or the Internet. A datastream may also be piped-output from a batch-processing program.
  • Spell checker 404 reads Standard Dictionary 410, User Dictionary A 412, and User Dictionary B 414, which provide lists of properly spelled words. Spell checker 404 may also store user-specified spellings of words in User Dictionary A 412 and User Dictionary B 414. User Dictionary A 412 and User Dictionary B 414 are editable and customizable to user preferred spellings of words and standard spellings of words not stored in Standard Dictionary 410.
  • Acronym/glossary tool 406 may be invoked by word processor 402 to perform processing on acronyms detected in datastreams generated by reading documents and text files 408. Acronym/glossary tool 406 may read and write User Glossary A 416 and User Glossary B 418. A glossary is an indexed list of terms or words found in or relating to a specific subject or text with explanatory words or phrases. Acronym/glossary tool 406 uses these glossaries to provide lists of previously defined acronyms. A standard glossary could be provided to acronym/glossary tool 406 in a manner similar to the provision of Standard Dictionary 410.
  • User Glossary A 416 and User Glossary B 418 may be user-customizable and user-editable so that the content of the glossary may be tailored to the specific use required by a user of the data processing system. Alternatively, one of these glossaries may be a standard glossary that contains acronyms used by the general public in a manner similar to Standard Dictionary 410 providing commonly used words. Acronym/glossary tool 406 may provide one glossary per document so that each glossary is tailored to the specific content of a single document.
  • Client 400 may communicate with server 450 to retrieve other glossary and dictionary information. Server 450 may respond to requests from client 400 by retrieving other information from databases 452-458.
  • Corporate glossary 454 may store all acronyms used within an enterprise or organization. As users at various client computers throughout the organizational network preferentially store acronyms in user glossaries, the acronym/glossary tool on each computer may send the new acronym to server 450 for storage in Corporate Glossary 454. The definitions and expansions of these newly stored acronyms may then be shared with other users throughout the organizational network.
  • Department A Glossary 456 may store all acronyms used within Department A of an organization. As users at various client computers throughout Department A preferentially store acronyms in user glossaries, the acronym/glossary tool on each computer may send the new acronym to server 450 for storage in Department A Glossary 456. The definitions and expansions of these newly stored acronyms may then be shared with other users throughout Department A. Department B Glossary 458 operates in a similar manner.
  • Although databases 452-458 are shown as glossaries, these databases may be alternatively configured as dictionaries. In that situation, unusual words, new words, special terms, and uncommon spellings may be stored and retrieved in a variety of locations within dictionaries stored on clients and servers.
  • Server 450 uses Corporate Organizational Database 452 to assist in the storage and retrieval of information in databases 452-458 from various users within the organizational network. Server 450 ensures that databases 452-458 are logically associated such that users view the information in the databases in a manner which reflects the corporate organization stored in Corporate Organizational Database 452.
  • The manner in which the present invention uses the organizational information is explained in greater detail further below.
  • With reference now to FIG. 5, a diagram depicts a standard document window within a graphical user interface. Document window 500 contains title bar 502, scrollbars 504 and 512, and content area 526. Scroll bar 504 contains up arrow indicator 506, elevator 510 and down arrow 508 for scrolling the content area in a vertical direction in response to user manipulation of a pointing device such as a mouse. Scrollbar 512 contains left arrow 516 and right arrow 514 for scrolling the content area in a horizontal direction in response to user manipulation of a pointing device. Content area 526 has text that contains acronyms 520 and 522. An acronym is a word derived from the letters, a group of letters, or selected letters in a multi-word descriptive noun or other expression that often serves as a mnemonic. Acronyms may be used for corporate names, such as “IBM” for “International Business Machines”. Other acronyms become common words in the vernacular, such as “PC” for “personal computer” and “RAM” for “Random Access Memory”. In the example shown in content area 526, acronym 522 is “PBX”, which stands for “Private Branch Exchange”. Acronym 520 is “PSTN”, which stands for “Public Switch Telephone Network”.
  • With reference now to FIG. 6, a pictorial representation of an application window depicts a manner in which an acronym/glossary tool may be invoked in another application. Window 600 shows an application window for a word processor, which includes title bar 602, menus 604-614, and content area 622. File menu 604 contains menu items that provide file manipulation functions. Edit menu 606 contains menu items that provide editing functions. View menu 608 contains items that provide formatting functions for the content displayed in document windows. Tools menu 610 provides menu item access to various functions that may operate in conjunction with the word processor. Window menu 612 contains menu items that allow a user to manipulate various document windows within the word processor. Help menu 614 provides a user with access to help files.
  • Tools menu 610 contains “Spell Checker” menu items 616, “Acronym/Glossary Tool” menu item 618, and “Macro” menu item 620. Menus 616-620 may be selected in a manner that is well-known in the art for initiating the depicted function. In this example, a spell checker and an acronym/glossary tool are separately invokable functions. Alternatively, the spell checker and acronym/glossary tool may be combined so that the spell checking function and acronym/glossary checking function operate in conjunction within a single tool. As another alternative, the acronym/glossary checking function may operate within an Internet browser. Other well-known manners of invoking various functions within an application may be provided in accordance with the operation of the present invention.
  • With reference now to FIG. 7, a pictorial document window depicts an acronym and its expansion within a datastream. FIG. 7 is similar to FIG. 5. Window 700 contains content area 702 that presents the content of a document to a user. The content area contains an acronym “PBX” and its expansion “Private Branch Exchange”. Acronym 704 is immediately followed by acronym expansion 706. The expansion of acronym 704 may have been performed automatically by the acronym tool according to an option specified by a user within an acronym tool. In this example, the acronym tool has expanded acronym 704 by immediately following it with its expansion because the occurrence of “PBX” in content area 702 is the foremost occurrence of this acronym within the document of datastream. Alternatively, the expansion of an acronym may be placed in front of the acronym or at some other location in close proximity to the acronym, and the alternative placement may be selectable as an option by the user.
  • With reference now to FIG. 8, a pictorial representation depicts a dialog box for a spell checking tool that may have been invoked in response to a user request. Window 800 may be presented to a user in response to a user selection through a menu similar to that shown in FIG. 6. Window 800 combines the functionality of a spell checker and an acronym/glossary tool.
  • At the point in time at which a dialog box similar to window 800 appears, the spell checker tool has scanned the words present in a document window of a word processor in order to determine whether any of the words are misspelled. Words that have not been identified as correctly spelled words or as previously defined acronyms or special terms are presented to the user within window area 804.
  • In this case, the word “PBX” has been located within the document window but has not been matched with any words in any of the dictionaries or with any acronyms or special terms in any of the glossaries. Properly spelled words are suggested to a user in window area 806. In this example, the word “POX” has been suggested to the user as a replacement word for the unidentified word “PBX”. The spell checker tool identifies potentially misspelled words and suggests to the user properly spelled words.
  • If the user believes that the word is properly spelled or is an undefined acronym or special term, the user may select IGNORE button 810. Selection of the IGNORE button informs the spell checker that the currently unidentified word, acronym, or term should be ignored by the spell checker, and the spell checking function should continue scanning for misspelled words within the current document.
  • If the user believes that the unidentified word is a correctly spelled word, then the user may select “ADD TO DICTIONARY” button 814 that informs the spell checker to add the unidentified word to one of the dictionary files as a correctly spelled word. Subsequent comparisons between the current word and the modified dictionary will result in a positive identification of the word so that it is not flagged as a misspelled word.
  • When the user requests to add the word to a dictionary, the spell checker may first store the new word in the local dictionary, most likely in a user dictionary associated with the current user. The spell checker may also attempt to disseminate the new word throughout an organization by sending the new word to a server in command of disseminating dictionary and glossary information. The dissemination process is described in greater detail further below.
  • If the user agrees that the unidentified word is a misspelled word and believes that the unidentified word should be replaced with the word suggested by the spell checker, then the user may select CHANGE button 812, which will replace the unidentified word with the suggested word.
  • If the user believes that the unidentified word is a correctly spelled acronym or special term, the user may select “ADD TO GLOSSARY” button 816 that informs the spell checker to add the unidentified word to one of the glossary files as a correctly spelled acronym/term. The spell checker may then pop up another window in which the user may enter the expansion and definition of the new acronym/term. If no default file has previously been specified, then the user may be prompted to select a particular glossary into which the acronym should be placed. If the user desires to stop the spell checker, then the user may select CANCEL button 808.
  • Acronym box 830 presents a word that has previously been identified as an acronym and may have been retrieved from a glossary. In this case, the acronym box contains the acronym “PCX” which is the closest acronym that approximates the spelling of the currently unidentified word. The acronym box also contains the expansion of the suggested acronym. Alternatively, the expansion of the acronym may be provided in a separate window box. Definition box 850 contains the definition for the acronym presented within acronym box 830.
  • “VIEW GLOSSARY” button 840 provides the user with the ability to view the remaining contents of the glossary. This may be helpful if the user has misspelled the acronym but believes that the spelling is approximately correct and would like to view the spelling of other acronyms.
  • Window 800 also contains Auto Expand control 820 for allowing the user to specify an option for the automatic expansion of the displayed acronym/term within the current document. Radio buttons 822 and 824 allow the user to toggle the feature on and off. If the user selects this feature, the acronym/glossary tool will insert an expansion of an acronym/term automatically into the current document in close proximity to the foremost occurrence of the acronym/term in the document.
  • “OPTIONS” button 842 may provide the user with the ability to specify rules for resolving conflicts in the retrieval and expansion of acronyms from multiple sources. For example, the acronym “PCX” may be found in several glossaries, and the acronym/glossary tool may provide the user with the ability to specify a ranking for each source. In the case in which the acronym/glossary tool finds an identical acronym in multiple source files, if the user has previously specified that the ranking for a user glossary is higher than the standard glossary, then the acronym/glossary tool may present the user with an expansion and definition for the acronym from the user glossary, and the user could then request to view the information retrieved from the standard glossary.
  • Drop-down menu 844 displays the source of the acronym in acronym box 830. In this case, “PCX” has been retrieved from User Glossary A. The user may see other sources for identically spelled acronyms by selecting one of the menu items in drop-down menu 844. For example, if another glossary had an acronym “PCX”, even if the acronym had a different expansion and definition, then the user could view the acronym by selecting the appropriate source file in the drop-down menu.
  • With reference now to FIG. 9, a block diagram depicts a set of hierarchically arranged glossaries and dictionaries. FIG. 9 describes the files as dictionary/glossaries in a manner in which dictionary-type information for a set of particular words may be combined with glossary-type information so that any information related to a particular word may be found in a single file. Alternatively, glossary-type information and dictionary-type information may be stored in different files.
  • User Dictionary/Glossary A 910 and User Dictionary/Glossary B 908 are depicted as child dictionaries/glossaries of parent dictionary/glossary 906. Department A Dictionary/Glossary 906 and Department B Dictionary/Glossary 904 are depicted as child dictionaries/glossaries of parent dictionary/glossary 902. Corporate Dictionary/Glossary 902 is depicted as the root glossary. However, alternate configurations of dictionaries and glossaries could be depicted in which other organizational entities are depicted within the tree of dictionaries and glossaries, such as subdepartments, divisions, etc.
  • The hierarchical set of dictionaries and glossaries serves as a conceptual representation of the manner in which a user may view the storage of the dictionaries and glossaries. This conceptual representation may reflect the structure of the organization in which the dictionaries and glossaries are being used. A server which maintains these dictionaries and glossaries may retrieve information about the structure of the organization from a corporate organizational database, such as database 452 shown in FIG. 4. Although the dictionaries and glossaries may be stored in a data structure that reflects the organizational structure, the dictionaries and glossaries may be stored in any number of different manners, and a dictionary server or a glossary server, through its various interfaces, creates an appearance that the dictionaries or glossaries are stored in a hierarchical manner.
  • The present invention allows a user to share new word, new acronym, or new term information with other persons within the same workgroup, department, division, corporation, etc. The server, through appropriate links with the system administration software, such as session management, etc., can determine the appropriate organizational information for each user that is accessing the hierarchical set of words. In this manner, the organizational unit builds a database of information that is specifically tailored to the needs of the users within the organizational unit.
  • Each time that the user requests to save a new spelling of a word, an expansion or definition of a new acronym, or a special term, the user may specify a file to which the user desires to store the information. Although the spell checker tool or acronym/glossary tool may already have a default file, the user may specify a file according to the user's preference. If the user believes that the new word should be stored at a department level so that other persons within the department may benefit from the information, then the user may request that the new word be stored in the dictionary or glossary for the department. In a similar manner, the user may request that the new word be stored in the dictionary or glossary for the corporation or some other organizational unit.
  • With reference now to FIG. 10, a pictorial representation depicts a specific user's preference list for the manner in which a set of hierarchically arranged dictionaries or glossaries are to be searched. FIG. 10 describes the files as dictionary/glossaries in a manner in which dictionary-type information for a set of particular words may be combined with glossary-type information so that any information related to a particular word may be found in a single file. Alternatively, glossary-type information and dictionary-type information may be stored in different files.
  • List 1000 shows a priority list for the manner in which a set of dictionaries or glossaries are to be searched. Although the user may perceive that a set of dictionaries or glossaries are hierarchically arranged, each user may specify a preferential ranking for the manner in which information retrieved from the dictionaries or glossaries are to be presented to the user. Each user's list may be stored in a user profile on the server, on the client, or within the spell checker tool or acronym/glossary tool.
  • Preference list entries 1002-1010 allow the user to choose an order for the retrieval of information from the set of hierarchical dictionaries or glossaries. If more than one dictionary or glossary in the set of dictionaries or glossaries has information that may be pertinent to the word that is searched, then the information is presented to the user in the manner previously selected by the user according to the ranking of the entry within the list. If the user has not previously specified a preference list, then the information may be presented in a default manner, for example, according to the informational structure present in a corporate organizational database.
  • With reference now to FIGS. 11A-11C, a diagram depicts a standard document window within a graphical user interface in which a user is presented with a choice of information retrieved from multiple glossaries. FIG. 11A shows a document window 1100 containing multiple acronyms. FIG. 11B shows the selection of acronym 1102, after which the user is presented with a menu from which the user may choose an appropriate action for the selection. Alternatively, the user clicks the right mouse button to see the menu of actions, or the user simply right-clicks the acronym without selecting the acronym.
  • One of the actions that is presented to the user is “Expand” menu item 1104. The application has determined in the background that the word that the user has selected is an acronym. By searching through the available glossaries, the application, either alone or executing in conjunction with the acronym/glossary tool, has found at least one glossary entry for the word, and the application provides the user with the ability to insert the expansion of the acronym in close proximity to the acronym.
  • FIG. 11C shows the selection of the “Expand” menu item by the user. The menu of actions is a hierarchical menu, and after the user has selected the “Expand” menu item, the application presents the choice of acronyms to the user as a submenu. In this case, the application has communicated with a server to retrieve a set of identically spelled acronyms “PBX” that have different meanings. Menu item 1106 contains “PBX: Public Branch Exchange” retrieved from a personal user glossary named “User Glossary A”. Menu item 1108 contains “PBX: Public Bond Transfer” retrieved from a departmental glossary named “Finance Department Glossary”. Menu item 1110 contains “PBX: PolyBiphenylXenochloride” retrieved from a departmental glossary name “Manufacturing Department Glossary”. Alternatively, the name of the glossary file is not shown, or other information pertinent to the acronym may be shown, such as a definition for the acronym. Once the user has selected an expansion for the acronym, then the application may insert the expansion in close proximity to the acronym, as shown in FIG. 7.
  • The application has presented the retrieved acronyms in the order specified by the user in a hierarchical preference list similar to the list shown in FIG. 10. In this case, the user has specified that information from User Glossary A should be presented before information from the Finance Department Glossary, which should be presented before the information from the Manufacturing Department Glossary.
  • If a user is editing a document, and the user has previously selected an “auto-expand” option similar to that shown in FIG. 8, then each time that the user types a word that the application recognizes as an acronym, then the application may pop-up a dialog box or a menu similar to that shown in FIG. 11C to allow a user to select the acronym expansion that is best associated with the content of the document.
  • With reference now to FIG. 12, a flowchart depicts a manner in which changes to dictionaries and glossaries may be disseminated throughout an organization. The process begins when a user of an application with an associated language tool, either a spell checking tool or acronym/glossary tool, determines that a new word should be added to a dictionary or glossary (step 1202). Depending on options selected by a user on the client computer, the language tool may need to determine the manner in which the user's update request should be processed (step 1204).
  • If the user specifies a particular dictionary or glossary, then the language tool may store the new word or acronym, or may request the storage of the new word or acronym, in the specified file. If the specified file is located locally on a client computer, then the language tool may update the local file (step 1206). If the specified file is located centrally on a server or elsewhere within the network, then the language tool may send the appropriate update request to the appropriate server (step 1208).
  • The user may have the ability to set several options within the language tool for requesting dictionary or glossary updates. For example, each time the user requests an update, the language tool may send an update request to the server, whether or not a specific dictionary or glossary file has been specified. Various selectable options may be chosen by the user or by a system administrator as to the manner in which an update to a dictionary or glossary file is disseminated throughout a network.
  • When the server receives an update request (step 1210), the server determines the appropriate files to be updated. This may require checking a system administration file or user profile file to lookup any rules for the manner in which update requests from the user are to be processed (step 1212). These update rules may reflect a corporate organizational structure or may require lookups in an organizational database.
  • For example, the server may update only a departmental dictionary or glossary for this particular user. In this case, it may have been determined that new terms from this user and similar users are usually only needed or helpful to other people within the same department. If the engineering department frequently uses terms that are only useful to fellow engineers, then the server may not replicate the update to any other dictionaries or glossaries outside of the engineering department. This type of rule may be set as a default for all persons within a department and overridden on a per-user basis, etc.
  • As another example, any update requests from another user may require an update to a corporate-level dictionary or glossary. If the human resources department frequently uses terms that must be understood by all employees so that each employee understands a company benefit plan, then these updates may be replicated to a corporate-level file.
  • The update rules for determining which files to update may also specify that an update to a dictionary or glossary at a particular organizational level is to be disseminated to any person within the particular organizational level. In this case, the server replicates the update to the appropriate persons at the appropriate client computers that have copies of the dictionary or glossary (step 1214). These updates may be sent whenever the client application notifies the server that the application is in use. Alternatively, the client may configured with the appropriate system information so that the client determines which copies of the dictionary or glossary must be updated.
  • New words and terms may be disseminated almost immediately throughout an organization by modifying the rules by which the dictionaries or glossaries are updated. If an update to a central dictionary or glossary is always replicated from a server to other copies of the dictionary or glossary on multiple clients and vice versa, then the copy on the server may be regarded as a master copy, and each copy of the dictionary or glossary may be kept synchronized and coherent with the master dictionary or glossary.
  • The processing methods and tools of the present invention provides a user with a convenient manner for creating a document or datastream that is more readable. New words and acronyms may be stored and retrieved from a dictionary or glossary that may be one of a set of dictionaries or glossaries that are organized hierarchically in a manner similar to the organizational hierarchy of the users which use the dictionaries or glossaries.
  • By storing and retrieving word information in a hierarchical fashion, the dictionaries and glossaries may be configured to the particular needs and purposes of the employees. In this manner, the dictionary or glossary will tend to match the context of the content of the documents that are created and viewed by these employees. The employees may then assist other employees by replicating language information to other dictionaries or glossaries so that other employees may insert the language information into other documents or may use the language information to understand other documents.
  • It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such a floppy disc, a hard disk drive, a RAM, and CD-ROMs and transmission-type media such as digital and analog communications links.
  • The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (26)

1-4. (canceled)
5. A method for processing a datastream, the method comprising the computer-implemented steps of:
detecting an acronym in a datastream; and
automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
6. (canceled)
7. The method of claim 5 further comprising:
automatically scanning the datastream, wherein detecting in acronym in a datastream comprises;
automatically detecting, in the datastream, a word that does not match an indexed term or word in a glossary; and
identifying the unmatched word as an acronym; and wherein automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries, comprises;
in response to identifying the acronym, automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
8. The method of claim 7 further comprising:
an organizational database comprising information for organizational units within the data processing system, wherein each glossary in the hierarchical set of glossaries is associated with an organizational unit.
9. The method of claim 7 wherein the step of selecting data associated with the acronym further comprises retrieving data from each source glossary, wherein a source glossary is a glossary within the hierarchical set of glossaries that contains an entry for the acronym.
10. The method of claim 9 further comprising:
presenting to the user the data retrieved from each source glossary;
selecting a source glossary; and
identifying the retrieved data from the selected source glossary as the inserted data in the datastream.
11. The method of claim 10 further comprising:
an organizational database comprising information for organizational units within the data processing system, wherein each glossary in the hierarchical set of glossaries is associated with an organizational unit;
storing a user preference list for an order of presentation for information from a set of glossaries, wherein entries in the user preference list are associated with the organizational units; and
presenting a list of source glossaries to a user according to an order stored in the user preference list.
12. The method of claim 7 further comprising:
updating a master glossary at a server; and
serving the update to the master glossary to a client to update a local copy of the glossary, wherein the local copy of the glossary is a member of the hierarchical set of glossaries.
13. The method of claim 7 wherein the step of selecting data associated with the acronym further comprises retrieving data from a default glossary, wherein the default glossary is a glossary previously selected from the hierarchical set of glossaries.
14. The method of claim 13 wherein the default glossary is selected based on a predetermined association selected from the group consisting of: an association between a glossary and a user, an association between a glossary and a document or datastream, an association between a glossary and an organizational unit, or an association between a user and an organizational unit.
15-29. (canceled)
30. A data processing system for processing a datastream, the data processing system comprising:
detecting means for detecting an acronym in a datastream; and
inserting means for automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
31. (canceled)
32. The data processing system of claim 30, further comprising:
scanning means for automatically scanning the datastream, wherein the detecting means comprises;
detecting means for automatically detecting, in the datastream, a word that does not match an indexed term or word in a glossary; and
first identifying means for identifying the unmatched word as an acronym, and wherein the inserting means comprises:
inserting means for automatically inserting, in response to identifying the acronym, data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
33. The data processing system of claim 32 further comprising:
an organizational database comprising information for organizational units within the data processing system, wherein each glossary in the hierarchical set of glossaries is associated with an organizational unit.
34. The data processing system of claim 32 wherein selecting data associated with the acronym further comprises retrieving means for retrieving data from each source glossary, wherein a source glossary is a glossary within the hierarchical set of glossaries that contains an entry for the acronym.
35. The data processing system of claim 34 further comprising:
presenting means for presenting to the user the data retrieved from each source glossary;
selecting means for selecting a source glossary; and second identifying means for identifying the retrieved data from the selected source glossary as the inserted data in the datastream.
36. The data processing system of claim 35 further comprising:
an organizational database comprising information for organizational units within the data processing system, wherein each glossary in the hierarchical set of glossaries is associated with an organizational unit;
storing means for storing a user preference list for an order of presentation for information from a set of glossaries, wherein entries in the user preference list are associated with the organizational units; and
presenting means for presenting a list of source glossaries to a user according to an order stored in the user preference list.
37. The data processing system of claim 32 further comprising:
updating means for updating a master glossary at a server; and
server means for serving the update to the master glossary to a client to update a local copy of the glossary, wherein the local copy of the glossary is a member of the hierarchical set of glossaries.
38. The data processing system of claim 32 wherein the selected data associated with the acronym further comprises data retrieved from a default glossary, wherein the default glossary is a glossary previously selected from the hierarchical set of glossaries.
39. The data processing system of claim 38 wherein the default glossary is selected based on a predetermined association selected from the group consisting of: an association between a glossary and a user, an association between a glossary and a document or datastream, an association between a glossary and an organizational unit, or an association between a user and an organizational unit.
40-52. (canceled)
53. A computer program product in a computer-readable medium for use in a data processing system for processing a datastream, the computer program product comprising:
first instructions for detecting an acronym in the datastream; and
second instructions for automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
54. The computer program product of claim 53, further comprising:
third instructions for automatically scanning the datastream, wherein the first instructions for detecting an acronym in the datastream comprises;
fourth instructions for automatically detecting, in the datastream, a word that does not match an indexed term or word in a glossary; and
fifth instructions for identifying the unmatched word as an acronym; and wherein the second instructions for automatically inserting data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries, comprises:
sixth instructions for automatically inserting, in response to identifying the acronym, data associated with the acronym into the datastream in close proximity to the acronym, wherein the data associated with the acronym is selected from a hierarchical set of glossaries.
55-65. (canceled)
US11/534,430 1999-06-17 2006-09-22 Method and Apparatus for Providing a Central Dictionary and Glossary Server Abandoned US20070016625A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/534,430 US20070016625A1 (en) 1999-06-17 2006-09-22 Method and Apparatus for Providing a Central Dictionary and Glossary Server

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/335,295 US6785869B1 (en) 1999-06-17 1999-06-17 Method and apparatus for providing a central dictionary and glossary server
US10/801,736 US7296229B2 (en) 1999-06-17 2004-03-16 Method and apparatus for providing a central dictionary and glossary server
US11/534,430 US20070016625A1 (en) 1999-06-17 2006-09-22 Method and Apparatus for Providing a Central Dictionary and Glossary Server

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/801,736 Division US7296229B2 (en) 1999-06-17 2004-03-16 Method and apparatus for providing a central dictionary and glossary server

Publications (1)

Publication Number Publication Date
US20070016625A1 true US20070016625A1 (en) 2007-01-18

Family

ID=32907571

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/335,295 Expired - Fee Related US6785869B1 (en) 1999-06-17 1999-06-17 Method and apparatus for providing a central dictionary and glossary server
US10/801,736 Expired - Fee Related US7296229B2 (en) 1999-06-17 2004-03-16 Method and apparatus for providing a central dictionary and glossary server
US11/534,430 Abandoned US20070016625A1 (en) 1999-06-17 2006-09-22 Method and Apparatus for Providing a Central Dictionary and Glossary Server

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/335,295 Expired - Fee Related US6785869B1 (en) 1999-06-17 1999-06-17 Method and apparatus for providing a central dictionary and glossary server
US10/801,736 Expired - Fee Related US7296229B2 (en) 1999-06-17 2004-03-16 Method and apparatus for providing a central dictionary and glossary server

Country Status (1)

Country Link
US (3) US6785869B1 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208734A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Link Analysis for Enterprise Environment
US20070208744A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Flexible Authentication Framework
US20070208746A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Secure Search Performance Improvement
US20070208713A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Auto Generation of Suggested Links in a Search System
US20070209080A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Search Hit URL Modification for Secure Application Integration
US20070208714A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Method for Suggesting Web Links and Alternate Terms for Matching Search Queries
US20070208755A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Suggested Content with Attribute Parameterization
US20070208745A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Self-Service Sources for Secure Search
US20070214129A1 (en) * 2006-03-01 2007-09-13 Oracle International Corporation Flexible Authorization Model for Secure Search
US20070220268A1 (en) * 2006-03-01 2007-09-20 Oracle International Corporation Propagating User Identities In A Secure Federated Search System
US20070283425A1 (en) * 2006-03-01 2007-12-06 Oracle International Corporation Minimum Lifespan Credentials for Crawling Data Repositories
US20090006359A1 (en) * 2007-06-28 2009-01-01 Oracle International Corporation Automatically finding acronyms and synonyms in a corpus
US20090006356A1 (en) * 2007-06-27 2009-01-01 Oracle International Corporation Changing ranking algorithms based on customer settings
CN100464308C (en) * 2007-04-20 2009-02-25 北京搜狗科技发展有限公司 Method and system for updating user vocabulary synchronouslly
US20090254817A1 (en) * 2008-04-03 2009-10-08 International Business Machines Corporation Enhanced spell checking utilizing a social network
US20100023476A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Location/event based dictionaries to facilitate communication in a virtual world location
US20100100816A1 (en) * 2008-10-16 2010-04-22 Mccloskey Daniel J Method and system for accessing textual widgets
US20100299589A1 (en) * 2009-05-19 2010-11-25 Studio Ousia Inc. Keyword display method and keyword display system
US20110161359A1 (en) * 2009-12-31 2011-06-30 Cho Aidan Joungil Method and apparatus for searching for subjective analysis according to mental status
US20130061139A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking on a user device
CN102982070A (en) * 2012-10-26 2013-03-20 北京百度网讯科技有限公司 Word bank updating method and system and cloud server used for input method application program
US20140040186A1 (en) * 2012-08-03 2014-02-06 Toshiba Tec Kabushiki Kaisha Information processing system, information processing apparatus and method for updating data
US20140082487A1 (en) * 2011-06-28 2014-03-20 Microsoft Corporation Automatically generating a glossary of terms for a given document or group of documents
US8712931B1 (en) * 2011-06-29 2014-04-29 Amazon Technologies, Inc. Adaptive input interface
US8782058B2 (en) * 2011-10-12 2014-07-15 Desire2Learn Incorporated Search index dictionary
US20170293604A1 (en) * 2016-04-11 2017-10-12 Zhuhai Kingsoft Office Software Co., Ltd Methods and apparatus for spell checking
CN109154940A (en) * 2016-06-12 2019-01-04 苹果公司 Learn new words
WO2019041889A1 (en) * 2017-08-28 2019-03-07 西安中兴新软件有限责任公司 Wording modifying method and device
WO2019118150A1 (en) * 2017-12-13 2019-06-20 Microsoft Technology Licensing, Llc Enhanced processing and communication of file content for analysis
US11769009B2 (en) 2021-02-22 2023-09-26 International Business Machines Corporation Using domain specific vocabularies to spellcheck input strings

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087112A2 (en) 2001-04-18 2002-10-31 Space Data Corporation Unmanned lighter-than-air safe termination and recovery methods
US7356390B2 (en) 1999-06-29 2008-04-08 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US7058944B1 (en) * 2000-04-25 2006-06-06 Microsoft Corporation Event driven system and method for retrieving and displaying information
US7254773B2 (en) * 2000-12-29 2007-08-07 International Business Machines Corporation Automated spell analysis
US20020152064A1 (en) * 2001-04-12 2002-10-17 International Business Machines Corporation Method, apparatus, and program for annotating documents to expand terms in a talking browser
US9643706B2 (en) 2001-04-18 2017-05-09 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US9908608B2 (en) 2001-04-18 2018-03-06 Space Data Corporation Systems and applications of lighter-than-air (LTA) platforms
US7130861B2 (en) * 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
US20030125929A1 (en) * 2001-12-10 2003-07-03 Thomas Bergstraesser Services for context-sensitive flagging of information in natural language text and central management of metadata relating that information over a computer network
JP2005519411A (en) * 2002-03-05 2005-06-30 シーメンス メディカル ソルーションズ ヘルス サーヴィシズ コーポレイション Dynamic dictionary and term storage system
US7130893B2 (en) 2003-05-19 2006-10-31 International Business Machines Corporation System and method for representing MFS control blocks in XML for MFS-based IMS applications
US7421701B2 (en) * 2002-09-16 2008-09-02 International Business Machines Corporation System for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications
CN1300718C (en) * 2002-10-31 2007-02-14 卡西欧计算机株式会社 Information display device and information display processing program
WO2005024604A2 (en) * 2003-09-09 2005-03-17 Siftology, Inc. Dynamic lexicon
US7418508B2 (en) 2004-01-26 2008-08-26 International Machines Corporation System and method to facilitate XML enabled IMS transactions between a remote client and an IMS application program
GB0406451D0 (en) * 2004-03-23 2004-04-28 Patel Sanjay Keyboards
US7366500B1 (en) * 2004-03-23 2008-04-29 Microsoft Corporation SMS shorthand dictionary service
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US20070282607A1 (en) * 2004-04-28 2007-12-06 Otodio Limited System For Distributing A Text Document
US8321786B2 (en) * 2004-06-17 2012-11-27 Apple Inc. Routine and interface for correcting electronic text
US20050283724A1 (en) * 2004-06-18 2005-12-22 Research In Motion Limited Predictive text dictionary population
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US7207004B1 (en) * 2004-07-23 2007-04-17 Harrity Paul A Correction of misspelled words
US7363305B2 (en) * 2004-09-02 2008-04-22 Microsoft Corporation Centralized terminology and glossary management
US20060047637A1 (en) * 2004-09-02 2006-03-02 Microsoft Corporation System and method for managing information by answering a predetermined number of predefined questions
US7617232B2 (en) * 2004-09-02 2009-11-10 Microsoft Corporation Centralized terminology and glossary development
US7451188B2 (en) * 2005-01-07 2008-11-11 At&T Corp System and method for text translations and annotation in an instant messaging session
GB0505942D0 (en) * 2005-03-23 2005-04-27 Patel Sanjay Human to mobile interfaces
GB0505941D0 (en) 2005-03-23 2005-04-27 Patel Sanjay Human-to-mobile interfaces
US7627816B2 (en) * 2005-04-12 2009-12-01 International Business Machines Corporation Method for providing a transient dictionary that travels with an original electronic document
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US20070011160A1 (en) * 2005-07-07 2007-01-11 Denis Ferland Literacy automation software
US7551935B2 (en) * 2005-09-21 2009-06-23 U Owe Me, Inc. SMS+4D: short message service plus 4-dimensional context
US20160344581A9 (en) * 2005-09-21 2016-11-24 Amit Karmarkar Text message including a contextual attribute of a mobile device
US8509826B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc Biosensor measurements included in the association of context data with a text message
US8472985B2 (en) * 2005-09-21 2013-06-25 Buckyball Mobile, Inc Incentive marketing with a context-enriched message
US8515468B2 (en) * 2005-09-21 2013-08-20 Buckyball Mobile Inc Calculation of higher-order data from context data
US9042921B2 (en) * 2005-09-21 2015-05-26 Buckyball Mobile Inc. Association of context data with a voice-message component
US8275399B2 (en) * 2005-09-21 2012-09-25 Buckyball Mobile Inc. Dynamic context-data tag cloud
US8509827B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc. Methods and apparatus of context-data acquisition and ranking
US8775975B2 (en) * 2005-09-21 2014-07-08 Buckyball Mobile, Inc. Expectation assisted text messaging
US9166823B2 (en) * 2005-09-21 2015-10-20 U Owe Me, Inc. Generation of a context-enriched message including a message component and a contextual attribute
US7580719B2 (en) * 2005-09-21 2009-08-25 U Owe Me, Inc SMS+: short message service plus context support for social obligations
US8489132B2 (en) * 2005-09-21 2013-07-16 Buckyball Mobile Inc. Context-enriched microblog posting
US7949714B1 (en) 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US20070174045A1 (en) * 2006-01-25 2007-07-26 International Business Machines Corporation Automatic acronym expansion using pop-ups
US10216733B2 (en) * 2006-04-14 2019-02-26 Gregg S. Homer Smart commenting software
US8849653B2 (en) * 2006-05-09 2014-09-30 International Business Machines Corporation Updating dictionary during application installation
GB0611303D0 (en) * 2006-06-08 2006-07-19 Ibm A method, apparatus and software for selecting terms for a glossary in a document processing system
US8145650B2 (en) * 2006-08-18 2012-03-27 Stanley Hyduke Network of single-word processors for searching predefined data in transmission packets and databases
US20080052272A1 (en) * 2006-08-28 2008-02-28 International Business Machines Corporation Method, System and Computer Program Product for Profile-Based Document Checking
US8201086B2 (en) * 2007-01-18 2012-06-12 International Business Machines Corporation Spellchecking electronic documents
US8082240B2 (en) * 2007-02-28 2011-12-20 Classe Qsl, S.L. System for retrieving information units
US20080215966A1 (en) * 2007-03-01 2008-09-04 Microsoft Corporation Adaptive server-based layout of web documents
US20090100335A1 (en) * 2007-10-10 2009-04-16 John Michael Garrison Method and apparatus for implementing wildcard patterns for a spellchecking operation
US7475342B1 (en) * 2007-11-19 2009-01-06 International Business Machines Corporation Systems, methods and computer program products for automatic dissemination of spelling rules within working groups
US20090248401A1 (en) 2008-03-31 2009-10-01 International Business Machines Corporation System and Methods For Using Short-Hand Interpretation Dictionaries In Collaboration Environments
CN101615182A (en) * 2008-06-27 2009-12-30 西门子公司 Tcm symptom information storage system and tcm symptom information storage means
US8812304B2 (en) 2008-08-12 2014-08-19 Abbyy Infopoisk Llc Method and system for downloading additional search results into electronic dictionaries
US8135581B2 (en) * 2008-08-12 2012-03-13 Abbyy Software Ltd Method and system for downloading additional search results into electronic dictionaries
US9081765B2 (en) 2008-08-12 2015-07-14 Abbyy Infopoisk Llc Displaying examples from texts in dictionaries
US8589370B2 (en) * 2009-07-16 2013-11-19 Hewlett-Packard Development Company, L.P. Acronym extraction
US8489131B2 (en) * 2009-12-21 2013-07-16 Buckyball Mobile Inc. Smart device configured to determine higher-order context data
US8903719B1 (en) 2010-11-17 2014-12-02 Sprint Communications Company L.P. Providing context-sensitive writing assistance
JP5748118B2 (en) * 2010-12-01 2015-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Document creation support method, document creation support device, and document creation support program
US9069580B2 (en) * 2011-06-13 2015-06-30 International Business Machines Corporation Application documentation effectiveness monitoring and feedback
US9009142B2 (en) 2011-07-27 2015-04-14 Google Inc. Index entries configured to support both conversation and message based searching
US8874435B2 (en) * 2012-04-17 2014-10-28 International Business Machines Corporation Automated glossary creation
US9342233B1 (en) * 2012-04-20 2016-05-17 Amazon Technologies, Inc. Dynamic dictionary based on context
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US8983849B2 (en) * 2012-10-17 2015-03-17 Nuance Communications, Inc. Multiple device intelligent language model synchronization
KR102105101B1 (en) * 2012-11-07 2020-04-27 삼성전자주식회사 Display apparatus and Method for correcting character thereof
US9977779B2 (en) * 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US9489372B2 (en) * 2013-03-15 2016-11-08 Apple Inc. Web-based spell checker
US20150088493A1 (en) * 2013-09-20 2015-03-26 Amazon Technologies, Inc. Providing descriptive information associated with objects
US9602449B2 (en) 2013-10-17 2017-03-21 International Business Machines Corporation Correction of incoming messaging
US20150113072A1 (en) * 2013-10-17 2015-04-23 International Business Machines Corporation Messaging auto-correction using recipient feedback
US9936016B2 (en) * 2013-12-15 2018-04-03 Afinos, Inc. Synchronized collaborative user interface
US9633115B2 (en) * 2014-04-08 2017-04-25 International Business Machines Corporation Analyzing a query and provisioning data to analytics
US9703868B2 (en) 2014-06-23 2017-07-11 Microsoft Technology Licensing, Llc Reconciling query results associated with multiple indices
US9922015B2 (en) * 2014-10-09 2018-03-20 International Business Machines Corporation System for handling abbreviation related text using profiles of the sender and the recipient
WO2016105523A1 (en) 2014-12-24 2016-06-30 Space Data Corporation Techniques for intelligent balloon/airship launch and recovery window location
WO2016105522A1 (en) 2014-12-24 2016-06-30 Space Data Corporation Breaking apart a platform upon pending collision
US10059421B2 (en) 2014-12-30 2018-08-28 Space Data Corporation Multifunctional balloon membrane
US10490306B2 (en) 2015-02-20 2019-11-26 Cerner Innovation, Inc. Medical information translation system
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
CN108897842B (en) * 2015-10-27 2021-04-09 上海智臻智能网络科技股份有限公司 Computer readable storage medium and computer system
US10169322B2 (en) * 2016-05-03 2019-01-01 Dinky Labs, LLC Personal dictionary
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. Far-field extension for digital assistant services
US10339150B1 (en) * 2018-10-04 2019-07-02 Capital One Services, Llc Scalable dynamic acronym decoder
US11900926B2 (en) 2020-10-05 2024-02-13 Microsoft Technology Licensing, Llc Dynamic expansion of acronyms in audio content
CN114997118A (en) * 2021-03-02 2022-09-02 北京字跳网络技术有限公司 Document processing method, device, equipment and medium
US20220300701A1 (en) * 2021-03-19 2022-09-22 Anthony Nicholas Kalloo System and user interface for peer review of documents
US20220335229A1 (en) * 2021-04-16 2022-10-20 Bank Of America Corporation Apparatus and methods to contextually decipher and analyze hidden meaning in communications
US11734507B1 (en) * 2022-05-25 2023-08-22 Microsoft Technology Licensing, Llc Acronym identification and definition in messages

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969097A (en) * 1985-09-18 1990-11-06 Levin Leonid D Method of rapid entering of text into computer equipment
US5224038A (en) * 1989-04-05 1993-06-29 Xerox Corporation Token editor architecture
US5303150A (en) * 1989-12-15 1994-04-12 Ricoh Company, Ltd. Wild-card word replacement system using a word dictionary
US5410695A (en) * 1992-03-30 1995-04-25 International Business Machines Corporation Apparatus and method for list management in a coupled data processing system
US5634084A (en) * 1995-01-20 1997-05-27 Centigram Communications Corporation Abbreviation and acronym/initialism expansion procedures for a text to speech reader
US5706496A (en) * 1995-03-15 1998-01-06 Matsushita Electric Industrial Co., Ltd. Full-text search apparatus utilizing two-stage index file to achieve high speed and reliability of searching a text which is a continuous sequence of characters
US5737617A (en) * 1995-06-06 1998-04-07 International Business Machines Corporation Method and system for English text analysis
US5781891A (en) * 1996-01-29 1998-07-14 Epic Systems Corporation Medical transcription system with text expansion
US5819260A (en) * 1996-01-22 1998-10-06 Lexis-Nexis Phrase recognition method and apparatus
US5850561A (en) * 1994-09-23 1998-12-15 Lucent Technologies Inc. Glossary construction tool
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US6047299A (en) * 1996-03-27 2000-04-04 Hitachi Business International, Ltd. Document composition supporting method and system, and electronic dictionary for terminology
US6085206A (en) * 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US6128635A (en) * 1996-05-13 2000-10-03 Oki Electric Industry Co., Ltd. Document display system and electronic dictionary
US6151598A (en) * 1995-08-14 2000-11-21 Shaw; Venson M. Digital dictionary with a communication system for the creating, updating, editing, storing, maintaining, referencing, and managing the digital dictionary
US6212494B1 (en) * 1994-09-28 2001-04-03 Apple Computer, Inc. Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like
US6233581B1 (en) * 1995-02-27 2001-05-15 Ims Health Method for processing and accessing data objects, particularly documents, and system therefor
US6279018B1 (en) * 1998-12-21 2001-08-21 Kudrollis Software Inventions Pvt. Ltd. Abbreviating and compacting text to cope with display space constraint in computer software
US6282508B1 (en) * 1997-03-18 2001-08-28 Kabushiki Kaisha Toshiba Dictionary management apparatus and a dictionary server
US6345245B1 (en) * 1997-03-06 2002-02-05 Kabushiki Kaisha Toshiba Method and system for managing a common dictionary and updating dictionary data selectively according to a type of local processing system
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US6539348B1 (en) * 1998-08-24 2003-03-25 Virtual Research Associates, Inc. Systems and methods for parsing a natural language sentence

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5854431A (en) 1981-09-26 1983-03-31 Toshiba Corp Document input device
AU4532093A (en) 1992-06-11 1994-01-04 Emil Moffa An automated method for checking patent applications

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969097A (en) * 1985-09-18 1990-11-06 Levin Leonid D Method of rapid entering of text into computer equipment
US5224038A (en) * 1989-04-05 1993-06-29 Xerox Corporation Token editor architecture
US5303150A (en) * 1989-12-15 1994-04-12 Ricoh Company, Ltd. Wild-card word replacement system using a word dictionary
US5410695A (en) * 1992-03-30 1995-04-25 International Business Machines Corporation Apparatus and method for list management in a coupled data processing system
US5850561A (en) * 1994-09-23 1998-12-15 Lucent Technologies Inc. Glossary construction tool
US6212494B1 (en) * 1994-09-28 2001-04-03 Apple Computer, Inc. Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like
US5634084A (en) * 1995-01-20 1997-05-27 Centigram Communications Corporation Abbreviation and acronym/initialism expansion procedures for a text to speech reader
US6233581B1 (en) * 1995-02-27 2001-05-15 Ims Health Method for processing and accessing data objects, particularly documents, and system therefor
US5706496A (en) * 1995-03-15 1998-01-06 Matsushita Electric Industrial Co., Ltd. Full-text search apparatus utilizing two-stage index file to achieve high speed and reliability of searching a text which is a continuous sequence of characters
US5737617A (en) * 1995-06-06 1998-04-07 International Business Machines Corporation Method and system for English text analysis
US6151598A (en) * 1995-08-14 2000-11-21 Shaw; Venson M. Digital dictionary with a communication system for the creating, updating, editing, storing, maintaining, referencing, and managing the digital dictionary
US5819260A (en) * 1996-01-22 1998-10-06 Lexis-Nexis Phrase recognition method and apparatus
US5781891A (en) * 1996-01-29 1998-07-14 Epic Systems Corporation Medical transcription system with text expansion
US5970492A (en) * 1996-01-30 1999-10-19 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US6047299A (en) * 1996-03-27 2000-04-04 Hitachi Business International, Ltd. Document composition supporting method and system, and electronic dictionary for terminology
US6128635A (en) * 1996-05-13 2000-10-03 Oki Electric Industry Co., Ltd. Document display system and electronic dictionary
US6085206A (en) * 1996-06-20 2000-07-04 Microsoft Corporation Method and system for verifying accuracy of spelling and grammatical composition of a document
US6345245B1 (en) * 1997-03-06 2002-02-05 Kabushiki Kaisha Toshiba Method and system for managing a common dictionary and updating dictionary data selectively according to a type of local processing system
US6282508B1 (en) * 1997-03-18 2001-08-28 Kabushiki Kaisha Toshiba Dictionary management apparatus and a dictionary server
US6377965B1 (en) * 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US6539348B1 (en) * 1998-08-24 2003-03-25 Virtual Research Associates, Inc. Systems and methods for parsing a natural language sentence
US6279018B1 (en) * 1998-12-21 2001-08-21 Kudrollis Software Inventions Pvt. Ltd. Abbreviating and compacting text to cope with display space constraint in computer software

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725465B2 (en) 2006-03-01 2010-05-25 Oracle International Corporation Document date as a ranking factor for crawling
US8595255B2 (en) 2006-03-01 2013-11-26 Oracle International Corporation Propagating user identities in a secure federated search system
US20070208746A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Secure Search Performance Improvement
US20070208713A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Auto Generation of Suggested Links in a Search System
US20070209080A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Search Hit URL Modification for Secure Application Integration
US20070208714A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Method for Suggesting Web Links and Alternate Terms for Matching Search Queries
US20070208755A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Suggested Content with Attribute Parameterization
US20070208745A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Self-Service Sources for Secure Search
US8626794B2 (en) 2006-03-01 2014-01-07 Oracle International Corporation Indexing secure enterprise documents using generic references
US20070220268A1 (en) * 2006-03-01 2007-09-20 Oracle International Corporation Propagating User Identities In A Secure Federated Search System
US20070250486A1 (en) * 2006-03-01 2007-10-25 Oracle International Corporation Document date as a ranking factor for crawling
US20070283425A1 (en) * 2006-03-01 2007-12-06 Oracle International Corporation Minimum Lifespan Credentials for Crawling Data Repositories
US11038867B2 (en) 2006-03-01 2021-06-15 Oracle International Corporation Flexible framework for secure search
US10382421B2 (en) 2006-03-01 2019-08-13 Oracle International Corporation Flexible framework for secure search
US8601028B2 (en) 2006-03-01 2013-12-03 Oracle International Corporation Crawling secure data sources
US9853962B2 (en) 2006-03-01 2017-12-26 Oracle International Corporation Flexible authentication framework
US9479494B2 (en) 2006-03-01 2016-10-25 Oracle International Corporation Flexible authentication framework
US9467437B2 (en) 2006-03-01 2016-10-11 Oracle International Corporation Flexible authentication framework
US20070214129A1 (en) * 2006-03-01 2007-09-13 Oracle International Corporation Flexible Authorization Model for Secure Search
US20070208744A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Flexible Authentication Framework
US8027982B2 (en) 2006-03-01 2011-09-27 Oracle International Corporation Self-service sources for secure search
US7941419B2 (en) 2006-03-01 2011-05-10 Oracle International Corporation Suggested content with attribute parameterization
US9177124B2 (en) 2006-03-01 2015-11-03 Oracle International Corporation Flexible authentication framework
US9081816B2 (en) 2006-03-01 2015-07-14 Oracle International Corporation Propagating user identities in a secure federated search system
US8005816B2 (en) 2006-03-01 2011-08-23 Oracle International Corporation Auto generation of suggested links in a search system
US9251364B2 (en) 2006-03-01 2016-02-02 Oracle International Corporation Search hit URL modification for secure application integration
US8214394B2 (en) 2006-03-01 2012-07-03 Oracle International Corporation Propagating user identities in a secure federated search system
US8239414B2 (en) 2006-03-01 2012-08-07 Oracle International Corporation Re-ranking search results from an enterprise system
US8875249B2 (en) 2006-03-01 2014-10-28 Oracle International Corporation Minimum lifespan credentials for crawling data repositories
US8332430B2 (en) 2006-03-01 2012-12-11 Oracle International Corporation Secure search performance improvement
US8352475B2 (en) 2006-03-01 2013-01-08 Oracle International Corporation Suggested content with attribute parameterization
US8868540B2 (en) 2006-03-01 2014-10-21 Oracle International Corporation Method for suggesting web links and alternate terms for matching search queries
US8725770B2 (en) 2006-03-01 2014-05-13 Oracle International Corporation Secure search performance improvement
US20070208734A1 (en) * 2006-03-01 2007-09-06 Oracle International Corporation Link Analysis for Enterprise Environment
US8433712B2 (en) 2006-03-01 2013-04-30 Oracle International Corporation Link analysis for enterprise environment
US8707451B2 (en) 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US20100185611A1 (en) * 2006-03-01 2010-07-22 Oracle International Corporation Re-ranking search results from an enterprise system
CN100464308C (en) * 2007-04-20 2009-02-25 北京搜狗科技发展有限公司 Method and system for updating user vocabulary synchronouslly
US8412717B2 (en) 2007-06-27 2013-04-02 Oracle International Corporation Changing ranking algorithms based on customer settings
US7996392B2 (en) 2007-06-27 2011-08-09 Oracle International Corporation Changing ranking algorithms based on customer settings
US20090006356A1 (en) * 2007-06-27 2009-01-01 Oracle International Corporation Changing ranking algorithms based on customer settings
US20090006359A1 (en) * 2007-06-28 2009-01-01 Oracle International Corporation Automatically finding acronyms and synonyms in a corpus
US8316007B2 (en) * 2007-06-28 2012-11-20 Oracle International Corporation Automatically finding acronyms and synonyms in a corpus
US20090254817A1 (en) * 2008-04-03 2009-10-08 International Business Machines Corporation Enhanced spell checking utilizing a social network
US9678940B2 (en) * 2008-07-22 2017-06-13 International Business Machines Corporation Location/event based dictionaries to facilitate communication in a virtual world location
US20100023476A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Location/event based dictionaries to facilitate communication in a virtual world location
US8543913B2 (en) * 2008-10-16 2013-09-24 International Business Machines Corporation Identifying and using textual widgets
US20100100816A1 (en) * 2008-10-16 2010-04-22 Mccloskey Daniel J Method and system for accessing textual widgets
US20100299589A1 (en) * 2009-05-19 2010-11-25 Studio Ousia Inc. Keyword display method and keyword display system
US20110161359A1 (en) * 2009-12-31 2011-06-30 Cho Aidan Joungil Method and apparatus for searching for subjective analysis according to mental status
US10552522B2 (en) * 2011-06-28 2020-02-04 Microsoft Technology Licensing, Llc Automatically generating a glossary of terms for a given document or group of documents
US20140082487A1 (en) * 2011-06-28 2014-03-20 Microsoft Corporation Automatically generating a glossary of terms for a given document or group of documents
US8712931B1 (en) * 2011-06-29 2014-04-29 Amazon Technologies, Inc. Adaptive input interface
US20130061139A1 (en) * 2011-09-01 2013-03-07 Google Inc. Server-based spell checking on a user device
US20140289215A1 (en) * 2011-10-12 2014-09-25 Brian Pearson Systems and methods for generating context specific terms
US9842165B2 (en) * 2011-10-12 2017-12-12 D2L Corporation Systems and methods for generating context specific terms
US8782058B2 (en) * 2011-10-12 2014-07-15 Desire2Learn Incorporated Search index dictionary
US20140040186A1 (en) * 2012-08-03 2014-02-06 Toshiba Tec Kabushiki Kaisha Information processing system, information processing apparatus and method for updating data
CN102982070A (en) * 2012-10-26 2013-03-20 北京百度网讯科技有限公司 Word bank updating method and system and cloud server used for input method application program
US10769370B2 (en) * 2016-04-11 2020-09-08 Beijing Kingsoft Office Software, Inc. Methods and apparatus for spell checking
US20170293604A1 (en) * 2016-04-11 2017-10-12 Zhuhai Kingsoft Office Software Co., Ltd Methods and apparatus for spell checking
CN109154940A (en) * 2016-06-12 2019-01-04 苹果公司 Learn new words
WO2019041889A1 (en) * 2017-08-28 2019-03-07 西安中兴新软件有限责任公司 Wording modifying method and device
WO2019118150A1 (en) * 2017-12-13 2019-06-20 Microsoft Technology Licensing, Llc Enhanced processing and communication of file content for analysis
WO2019118134A1 (en) * 2017-12-13 2019-06-20 Microsoft Technology Licensing, Llc Generating an acronym index by mining a collection of document artifacts
US10698937B2 (en) 2017-12-13 2020-06-30 Microsoft Technology Licensing, Llc Split mapping for dynamic rendering and maintaining consistency of data processed by applications
US10929455B2 (en) 2017-12-13 2021-02-23 Microsoft Technology Licensing, Llc Generating an acronym index by mining a collection of document artifacts
US11061956B2 (en) 2017-12-13 2021-07-13 Microsoft Technology Licensing, Llc Enhanced processing and communication of file content for analysis
US11126648B2 (en) 2017-12-13 2021-09-21 Microsoft Technology Licensing, Llc Automatically launched software add-ins for proactively analyzing content of documents and soliciting user input
US11769009B2 (en) 2021-02-22 2023-09-26 International Business Machines Corporation Using domain specific vocabularies to spellcheck input strings

Also Published As

Publication number Publication date
US7296229B2 (en) 2007-11-13
US20040187084A1 (en) 2004-09-23
US6785869B1 (en) 2004-08-31

Similar Documents

Publication Publication Date Title
US7296229B2 (en) Method and apparatus for providing a central dictionary and glossary server
US8359550B2 (en) Method for dynamically generating a “table of contents” view of the HTML-based information system
US7734577B2 (en) Composite user interface and framework
US7778816B2 (en) Method and system for applying input mode bias
US6708311B1 (en) Method and apparatus for creating a glossary of terms
US8434014B1 (en) System and method for editing information
US6532442B1 (en) System for the facilitation of supporting multiple concurrent languages through the use of semantic knowledge representation
US7992085B2 (en) Lightweight reference user interface
US7788590B2 (en) Lightweight reference user interface
US6327593B1 (en) Automated system and method for capturing and managing user knowledge within a search system
US7165020B2 (en) Multi-language phrase editor and method thereof
US5359514A (en) Method and apparatus for facilitating comprehension of on-line documents
US7398214B2 (en) Method for translating slide presentations into different languages
US20080300859A1 (en) System and Method for Automatic Natural Language Translation of Embedded Text Regions in Images During Information Transfer
EP1280068A2 (en) Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US20080065982A1 (en) User Driven Computerized Selection, Categorization, and Layout of Live Content Components
JP2002520698A (en) How to build a context-sensitive database
JPH09179824A (en) System for backing-up and restoring groupware document and its method
JP2000048016A (en) Format and display method for text executable on computer processor, computer device capable of formatting and displaying text and computer readable storage medium storing program capable of formatting and displaying text, and method for adding new style to text editor capable of formatting and displaying text
US6915303B2 (en) Code generator system for digital libraries
US20050044065A1 (en) Method and apparatus for enabling national language support of a database engine
KR20020005427A (en) System and method for improved spell checking
JP3767763B2 (en) Information retrieval device and computer-readable recording medium recording a program for causing a computer to function as the device
US20020095447A1 (en) System and method for integrating reference material in an electronic document
WO2008150358A1 (en) Method and apparatus for anchoring expressions based on an ontological model of semantic information

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION