Output candidate suggestions
By receiving user input, selecting corpus and suggesting highly similar output candidates, the problem of difficult communication of complex ideas and styles in the prior art is solved, and a more natural and unique text creation is achieved.
Patent Information
- Application Number
- CN202010779822.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-06
- Filing Date
- 2020-08-05
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2040-08-05
AI Technical Summary
Existing input assistive functions are difficult to effectively convey vague or complex ideas or ideas, especially in chats or conversations, and it is difficult to create complex words and expressions with a specific style or taste.
By receiving user input, selecting corpus of similar expressions, finding seed words in the dictionary, and referring to definition statements in the corpus, suggesting output candidates with high similarity, combining user vocabulary rating and corpus selection, providing more academic or complex phrases or Expression.
It realizes explicitly conveying vague ideas in chat or conversation, creating text with a specific style or taste, and improving the naturalness and uniqueness of the output.
Smart Images

Figure CN112462952B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to input support functionality, and more particularly to techniques for suggesting output candidates. Background Art
[0002] Conventional input assistance functions that have been proposed are limited to functions such as: a "learning function", a "prediction function", a "spelling correction" and a "kana-to-kanji conversion function", which are specific to Japanese characters. As a candidate, the "learning function" preferably outputs words previously input by the user. The "prediction function" predicts a word or expression that supplements the word being input or will follow the word being input. The "spelling correction" (also called a "spelling checker") checks for spelling errors in the text. The "kana-to-kanji conversion function" is used for the kana-to-kanji conversion (KKC) technology of the Japanese input method (JIM), which is based on the fact that each Kanji character or set of Kanji characters has one or more phonetic sounds that can be expressed in Katakana or Hiragana characters. Summary of the invention
[0003] Aspects of the present disclosure relate to methods, systems, and computer program products for suggesting output candidates. According to one aspect of the present disclosure, a computer-implemented method for suggesting output candidates is provided. The method includes: receiving user input; selecting a corpus containing expressions similar to the user input in a plurality of corpora; finding a seed word in a definition sentence of an entry that can exist in a dictionary in the user input; referring to the selected corpus, identifying an entry in the dictionary that contains the seed word or a definition sentence within a threshold similarity to the seed word; and suggesting the identified entry as an output candidate.
[0004] According to another aspect of the present disclosure, a system, such as a computer system, is provided. The system may include one or more computer processors and a memory storing a program, the program being executed on the processor to perform the operations of the method disclosed herein.
[0005] According to another aspect of the present disclosure, a computer program product is provided. The computer program product may include a computer-readable storage medium having program instructions embodied therewith. The program instructions are executable by a computer to cause a computer system to perform the method disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The present disclosure will provide details in the following description of preferred embodiments with reference to the following drawings. These drawings are not necessarily drawn to scale. The drawings are only schematic representations and are not intended to depict specific parameters of the present disclosure. The drawings are only intended to depict typical embodiments of the present disclosure. In the drawings, the same reference numerals represent the same elements.
[0007] Figure 1 An exemplary system architecture of a system that may be used in accordance with embodiments of the present disclosure is illustrated.
[0008] Figure 2 A schematic diagram of preparing a dictionary index from a dictionary according to an embodiment of the present disclosure is illustrated.
[0009] Figure 3 A schematic diagram of suggesting output candidates based on seed words found in user input according to an embodiment of the present disclosure is illustrated.
[0010] Figure 4 A schematic diagram of suggesting output candidates based on neighboring words of a seed word found in a user input according to an embodiment of the present disclosure is illustrated.
[0011] Figure 5 A schematic diagram of suggesting output candidates based on an estimated user level according to an embodiment of the present disclosure is illustrated.
[0012] Figure 6 A schematic diagram of suggesting a plurality of output candidates based on an estimated user level according to an embodiment of the present disclosure is illustrated.
[0013] Fig. 7A A schematic diagram of suggesting multiple output candidates in an example of chatting according to an embodiment of the present disclosure is illustrated.
[0014] Figure 7B A schematic diagram illustrating suggesting a plurality of output candidates after changing a corpus to be used according to an embodiment of the present disclosure is illustrated.
[0015] Fig. 8A A flow chart depicting a process for preparing a lexicon index from a lexicon is illustrated according to an embodiment of the present disclosure.
[0016] Figure 8B A flow chart depicting a process for preparing a lexicon index from text of past or historical writers to be cited is illustrated in accordance with an embodiment of the present disclosure.
[0017] Figure 8C A flow chart describing a process for suggesting output candidates based on seed terms found in user input is illustrated according to an embodiment of the present disclosure.
[0018] Fig.8DIllustrated is a flow chart depicting a process for suggesting output candidates based on neighboring terms of a seed term found in a user input, according to an embodiment of the present disclosure.
[0019] Fig. 8E A flow chart depicting a process for allowing a user to select a seed word among a plurality of seed words found in a user input is illustrated according to an embodiment of the present disclosure.
[0020] Fig.8F A flowchart describing a process for suggesting output candidates when another corpus is selected according to an embodiment of the present disclosure is illustrated.
[0021] Figure 8G A flow chart describing a process for replacing a seed term present in a user input with an output candidate or suggestion entry is illustrated.
[0022] Fig. 9 The diagram illustrates a diagram of an embodiment according to the present disclosure. FIG. 8A to FIG. 8G The overall functional block diagram of the system hardware related to the process.
[0023] Fig.10 A cloud computing environment is depicted according to an exemplary embodiment.
[0024] Fig.11 Abstract model layers are depicted according to an exemplary embodiment. DETAILED DESCRIPTION
[0025] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications or technical improvements of technologies found in the marketplace, or to enable other persons of ordinary skill in the art to acutely understand the embodiments disclosed herein.
[0026] As will be appreciated by those skilled in the art, embodiments of the present disclosure may be embodied as methods, computer systems, or computer program products. Thus, embodiments of the present disclosure may take the form of fully hardware-based embodiments, fully software-based embodiments, including, for example, firmware, resident software, and microcode, or may take the form of examples of embodiments combining software-based aspects and hardware-based aspects, which may be collectively referred to herein as "circuits," "modules," or "systems."
[0027] As used herein, the expression "a / an" should be understood as "at least one". The expression "comprise / comprising one / a" should be understood as "including / comprising at least one". The expression "including / including" should be understood as "including at least". The expression " / " should be understood as "and / or".
[0028] In order to more clearly define the terms used herein, exemplary definitions of the terms are provided below, which should be broadly interpreted as commonly known to those skilled in the art or technical field to which the present disclosure belongs.
[0029] As used herein, the term "corpus" may include a large and structured collection of texts. In the embodiments of the present disclosure, any known corpus or a newly created corpus may be used.
[0030] As used herein, the term "seed word" may refer to any word, term, phrase or expression that can be used to search for adjacent words of the seed word or adjacent words of lower, upper or same level concepts of the seed word; or a word that can be used to search for entries in a dictionary.
[0031] As used herein, the term "neighboring words" may refer to any words, terms, phrases or expressions that may be associated with a seed word, for example in view of the meaning or frequency of co-occurrence. Neighboring words may be, for example but not limited to, neighboring words of a seed word or neighboring words of a lower, upper or same level concept of a seed word. Neighboring words may be found from any context, such as a dictionary, a corpus or the Internet or an intranet. Neighboring words may be used to expand the scope of a seed word. For example, the neighboring words of a seed word may be words within a threshold distance from the seed word, such as a character count or a word.
[0032] As used herein, the term "dictionary" may refer to any resource having at least one set of entries and definition statements for the entries or having multiple entries and definition statements for the multiple entries. The dictionary may be any electronic dictionary, such as a language dictionary or an encyclopedia. The dictionary may be any dictionary available in the market, on the Internet, or on an intranet, or any dictionary such as used in a limited environment of an organization, such as a company, department, school, or government. When implementing the embodiments of the present disclosure, the type of dictionary may not be limited.
[0033] As used herein, the term "entry" may refer to an index in a dictionary, such as, but not limited to, a word, a term, a phrase, an expression, or a pictograph, such as a sentiment or an emoticon.
[0034] As used herein, the term "definition statement" may refer to an explanation of an index. The explanation may be made using common words, common expressions, or a combination thereof. A definition statement may include, for example, but not limited to, a sentence, a word list, and an example sentence.
[0035] The idea of the embodiments of the present disclosure is based on the following recognition.
[0036] There is a need to facilitate searches for single words that clearly convey vague or ambiguous thoughts or ideas in a conversation or dialogue. For example, when someone proposes to brainstorm in a chat; when a copywriter or writer is presented with a complex, elegant, or sophisticated word "steep" as a description of a mountain; and when someone proposes a pictogram that fits the context, such as "My oldest son finally chose the high school he would attend" and the proposed pictogram is a bouquet of flowers.
[0037] Furthermore, there is a need to create unique sentences with more academic or complex words, terms, phrases or expressions that can have the same meaning as the input string.
[0038] Furthermore, there is a need to create expressions and texts with a specific style or taste using phrases and expressions that writers actually used in the past.
[0039] In the following, reference will be made to the Figures 1 to 6 , FIG. 7A to FIG. 7B , FIG. 8A to FIG. 8G and Fig. 9 Various embodiments of the present disclosure are described.
[0040] Reference now Figure 1 , Figure 1 An exemplary system architecture of a system, such as a computer system, that can be used in accordance with embodiments of the present disclosure is illustrated.
[0041] The system (101) may be, for example, but not limited to, a desktop computer, a laptop computer, a notebook computer, or a server computer. The server computer may be, for example, but not limited to, a workstation, a rack server, a blade server, a mainframe server, or a cloud server, and may run, for example, a hypervisor for creating and running one or more virtual machines. The system (101) may include one or more CPUs (102) and a main memory (103) connected to a bus (104). The CPU (102) may preferably be based on a 32-bit or 64-bit architecture. The CPU (102) may be, for example, but not limited to, an IBM® 64-bit ... series; Intel's Core i TM Series, Core 2 TM Series, Atom TM Series, Xeon TM series, Series or series; or Phenom from Advanced MicroDevices, Inc. TM series, Athlon TM series, Turion TM Series, Sempron TM series or Ryzen TM series. (“Power” is a registered trademark of International Business Machines Corporation in the United States, other countries, or both; “Core i,” “Core 2,” “Atom,” and “Xeon” are trademarks, and “Pentium” and “Celeron” are registered trademarks of Intel Corporation in the United States, other countries, or both; “Phenom,” “Athlon,” “Turion,” “Sempron,” and “Ryzen” are trademarks of Advanced Micro Devices, Inc. in the United States, other countries, or both).
[0042] A display (106) such as a liquid crystal display (LCD) can be connected to the bus (104) via a display controller (105). The display (106) can be used to display: information about computers connected to the network via a communication line and information about software running on the computer for management of (multiple) computers by using an appropriate graphical interface. The display can have a touch screen or a non-touch screen. The display can be, for example, but not limited to, an LCD, a PDP, an OEL, or a projection type display. A disk (108) such as a hard disk or a solid state drive (SSD), and a drive (109) such as a CD, DVD, or BD (Blu-ray Disc) drive can be connected to the bus (104) via a SATA or IDE controller (107). Moreover, a keyboard (111) and a mouse (112) can be connected to the bus (104) via a keyboard-mouse controller (110) or a USB bus (not shown).
[0043] Operating system, providing Mac or Processing environment, application, Virtual machines (VMs) and of The program of the just-in-time (JIT) compiler, other programs, and any data may be stored in the disk (108) to be loadable into the main memory. ("Windows" is a registered trademark of Microsoft Corporation in the United States, other countries, or both; "UNIX" is a registered trademark of the Open Group in the United States, other countries, or both; "Mac OS" is a registered trademark of Apple Inc. in the United States, other countries, or both; "Linux" is a registered trademark of Linus Torvalds in the United States, other countries, or both; and "Java" and "J2EE" are registered trademarks of Oracle America, Inc. in the United States, other countries, or both).
[0044] The drive (109) can be used to install a program readable from a CD-ROM, DVD-ROM, or BD (such as a computer program of an embodiment of the present disclosure) to the disk (108), or, if necessary, load any data readable from a CD-ROM, DVD-ROM, or BD into the main memory (103) or the disk (108).
[0045] The communication interface (114) may be based on, for example but not limited to, The communication interface (114) can be connected to the bus (104) via the communication controller (113), physically connect the system (101) to the communication line (115), and can provide a network interface layer to the TCP / IP communication protocol of the communication function of the operating system of the system (101). In this case, the communication line (115) can be a wired LAN environment or a wireless LAN environment based on a wireless LAN connectivity standard, such as but not limited to 802.11a / b / g / n (“IEEE” is a registered trademark of the Institute of Electrical and Electronics Engineers, Inc. in the United States, other countries, or both).
[0046] Reference now Figure 2 , Figure 2 A schematic diagram of preparing a dictionary index from a dictionary according to an embodiment of the present disclosure is illustrated.
[0047] Figure 2 The diagram shows a portion (201) of the above-mentioned dictionary (241). The portion (201) of the dictionary (241) has two entries "Precipitous" (211) and "Alp." (212).
[0048] The item "steep" (211) has or is associated with a definition sentence "a mountain is high and rises steeply.", and an example sentence of the item is "steep mountain".
[0049] The entry "high mountain" (212) has or is associated with the definition sentence "high mountain".
[0050] The definition sentence of the entry "precipitous" (211) is "the state of a mountain being high and rising steeply." is decomposed into (multiple) terms using, for example, a text mining technique for extracting (multiple) definition terms. The definition terms taken up or identified from the aforementioned definition sentence may be "mountain", "high" and "rising".
[0051] The aforementioned definition words "mountain", "high" and "rise" are associated with the item "precipitous" (211), which serves as a keyword to prepare a set of keywords and definition words (261).
[0052] The definition sentence "high mountain" of the entry "high mountain" (212) is decomposed into term(s) using, for example, text mining techniques to extract definition term(s). The definition terms selected or identified / extracted from the aforementioned definition sentence may be "mountain" and "high".
[0053] The aforementioned definition words "mountain" and "high" are associated with the entry "high mountain" (212), which serves as a keyword to prepare a set of keywords and definition words (262).
[0054] The dictionary index (251) may include a collection of keywords and definition terms (261 and 262). The dictionary index (251) allows references from definition term(s) to keywords.
[0055] According to an embodiment of the present disclosure, the generated dictionary index (251) may be used as a kind of dictionary.
[0056] Hereinafter, the term "dictionary" may include a dictionary index, such as the generated dictionary index (251).
[0057] Reference now Figure 3 , Figure 3 A schematic diagram of suggesting output candidates based on seed words found in user input according to an embodiment of the present disclosure is illustrated.
[0058] Let's assume that the user types on the device "No one will not be mesmerized by the beauty of the sea of clouds overlooking Mount Yarigatake, which pierces the azure sky so steeply in autumn. Everyone can enjoy mountain climbing in the company of an experienced hiker or a guide." (381).
[0059] The system receives the aforementioned user input from a device, for example, via the Internet (311).
[0060] In response to receiving user input (311), the system selects a corpus from a plurality of corpora (390) that contains expressions similar to the user input (311). The corpora (390) include a business corpus (391) that can be customized or optimized for use in a business context; and a literary corpus (392) that can be customized or optimized for use in a literary context. The system analyzes the user input (311) and determines that the user input (311) is related to a literary context as opposed to a business context. Therefore, the system selects the literary corpus (392) from the plurality of corpora (390).
[0061] The system finds a seed word in the user input (311) that may appear in a definition sentence of an entry in the dictionary (351), such as Figure 2 The system finds the word "mountain" as a seed word (312).
[0062] After extracting the seed word (312), the system extracts entries in the dictionary (351) that contain the seed word (312) or a definition sentence that has a high similarity to the seed word (312). The system extracts the following two sets (361 and 362): a set (361) having the definition word "mountain"; and a set (362) having the definition word "mountain".
[0063] The system may suggest the following two keywords as output candidates: the keyword "precipitous" in the selection set (361); and the keyword "high mountain" in the selection set (362). Alternatively, the system may select a keyword from the two selected keywords with reference to the literary corpus (392). Compared with the keyword "high mountain", the keyword "precipitous" is more likely to appear in the literary corpus (392). Therefore, the system may select the keyword "precipitous" and then suggest the selected keyword "precipitous" as an output candidate.
[0064] According to the aforementioned embodiments of the present disclosure, the device can present more academic or complex phrases or expressions as output candidates by identifying the user's vocabulary level based on user input, thereby making it possible to use the text creator's various vocabularies, idioms, and phraseologies to support the creation of more unique and characteristic texts.
[0065] Furthermore, if the dictionary has more complex or elegant words and expressions with the same meaning as the input string in the user input, it is possible to create expressions and text with a specific style or taste using phrases and expressions actually used by writers in the past.
[0066] In addition, the aforementioned embodiment can associate words (such as "high mountain" and "precipitous") that have different vocabulary levels and do not appear in the same sentence with each other according to their meanings. The aforementioned embodiment ensures "naturalness as a sentence", which can be ensured based on concurrent probability by comparing the keywords themselves in the dictionary with the corpus that meets the vocabulary level in the conventional scheme.
[0067] Reference now Figure 4 , Figure 4 A schematic diagram of suggesting output candidates based on neighboring words of a seed word found in a user input according to an embodiment of the present disclosure is illustrated.
[0068] Let's assume that the user types on the device "No one will not be mesmerized by the beauty of the sea of clouds overlooking Mount Yarigatake, which pierces the azure sky so steeply in autumn. Everyone can enjoy mountain climbing in the company of an experienced hiker or a guide." (481).
[0069] The system receives the aforementioned user input from a device, for example, via the Internet (411).
[0070] In response to receiving user input (411), the system selects a corpus from a plurality of corpora (490) that contains expressions similar to the user input (411). The corpus (490) includes a business corpus (491) that can be customized or optimized for use in a business context and a literary corpus (492) that can be customized or optimized for use in a literary context. The system analyzes the user input (411) and determines that the user input (411) is related to a literary context as compared to a business context. Therefore, the system selects the literary corpus (492) from the plurality of corpora (490).
[0071] The system finds a seed word in the user input (411) that may appear in a definition sentence of an entry in the dictionary (451), such as Figure 2 The system finds the word "mountain" as a seed word (412).
[0072] After extracting the seed word (412), the system further finds the adjacent words of the seed word (412) or the adjacent words of the lower, upper or same level concepts of the seed word (412). The system finds the words "high", "autumn" and "beautiful" as adjacent words (413) from a dictionary, a corpus, the Internet or an intranet.
[0073] After extracting the seed word (412), the system extracts an entry in the dictionary (451) that contains the definition sentence of the adjacent word (413) and the seed word (412). The system uses the adjacent word (413) and the seed word (412) to extract the following two sets (461 and 462): a set (461) having the definition words "mountain" and "high"; and a set (462) having the definition words "mountain" and "high".
[0074] The system may suggest the following two keywords as output candidates: the keyword "precipitous" in the selection set (461); and the keyword "high mountain" in the selection set (462). Alternatively, the system may select a keyword from the two selection keywords with reference to the literary corpus (492). Compared with the keyword "high mountain", the keyword "precipitous" is more likely to appear in the literary corpus (492). Therefore, the system may select the keyword "precipitous" and then suggest the selected keyword "precipitous" as an output candidate.
[0075] According to the aforementioned embodiments of the present disclosure, by identifying the user's vocabulary level based on user input and using adjacent words of the seed word, the device can present more academic or complex phrases or expressions as output candidates, thereby possibly using the text creator's various vocabulary, idioms, and phrases, thereby supporting the creation of more unique and characteristic text.
[0076] Reference now Figure 5 , Figure 5 A schematic diagram of suggesting output candidates based on an estimated user level according to an embodiment of the present disclosure is illustrated.
[0077] In the aforementioned Figure 3 and Figure 4 In the embodiment, the system selects a corpus containing expressions similar to the user input from among the multiple corpora (390 and 490). Alternatively, the system may select two or more corpora from among the multiple corpora provided.
[0078] Figure 5 The diagram shows three corpora (590) including the following three corpora: Corpus_Level-1 (591), Corpus_Level-2 (592) and Corpus_Level-3 (593). The numerical symbols "-1", "-2" and "-3" in these corpora (590) represent the vocabulary level of the user. The higher the number, the higher the vocabulary level of the user.
[0079] In the first embodiment of the present disclosure, let us assume that the user inputs "Mt. Yarigatake in Autumn - The sea of clouds viewed from the famous mountain that pierces the heavens is breathtakingly beautiful." (521) on the device, as seen in table (501).
[0080] The system receives the aforementioned user input from the device, for example, via the Internet.
[0081] In response to receiving the user input (521), the system selects one or more corpora from a plurality of corpora (590) having vocabulary levels similar to or higher than the vocabulary levels corresponding to expressions similar to the user input (521). The system analyzes the user input (521) and determines that the user input (521) has an estimated user level of "2" (522). Therefore, the system selects Corpus_Level-2 (592) and Corpus_Level-3 (593) in the corpus (590) whose vocabulary levels are similar to or higher than the vocabulary levels corresponding to expressions similar to the user input (521).
[0082] The system finds seed words in the user input (521) in the definition sentence of an entry that may be present in the dictionary. The system finds the word "piercing the heavens" as a seed word.
[0083] After extracting the seed word, the system refers to Corpus_Level-2 (592) and Corpus_Level-3 (593) to extract entries in the dictionary that contain the seed word or a definition sentence with a high similarity to the seed word. The system may suggest the keyword "steep" as an output candidate (523), which may appear in Corpus_Level-3 (593).
[0084] In the second embodiment of the present disclosure, let us assume that the user inputs on the device “spectacular scenery especially at sunset, where the carpet of clouds is tinted red in one’s eyes, the azure sky and the endlessly scattered mountains…” (531), as seen in table (501).
[0085] The system receives the aforementioned user input from a device, for example, via the Internet (531).
[0086] In response to receiving user input (531), the system selects one or more corpora from a plurality of corpora (590) having a vocabulary level similar to or higher than the vocabulary level corresponding to an expression similar to the user input (531). The corpora (590) include the following three corpora: Corpus_Level-1 (591), Corpus_Level-2 (592), and Corpus_Level-3 (593). The numerical symbols "-1", "-2", and "-3" in these corpora (590) represent the vocabulary level of the user. The higher the number, the higher the vocabulary level of the user. The system analyzes the user input (531) and determines that the user input (531) has an estimated user level "2" (532). Therefore, the system selects Corpus_Level-2 (592) and Corpus_Level-3 (593) in the corpus (590) whose vocabulary levels are similar to or higher than the vocabulary level (531) corresponding to the expression similar to the user input.
[0087] The system finds a seed word in the user input (531) that may appear in a definition sentence of an entry in the dictionary. The system finds the word "endlessly spreading" as a seed word.
[0088] After extracting the seed word, the system refers to Corpus_Level-2 (592) and Corpus_Level-3 (593) to extract entries in the dictionary that contain the seed word or a definition sentence with a high similarity to the seed word. The system may suggest the keyword "the blue sky spreads endlessly" as an output candidate (533), which may appear in Corpus_Level-3 (593).
[0089] In the aforementioned embodiment, Corpus_Level-2 (592) and Corpus_Level-3 (593) having vocabulary levels similar to or higher than the vocabulary level corresponding to the expression similar to the user input (531) are used. In an alternative embodiment, Corpus_Level-3 (593) having a vocabulary level lower than the vocabulary level corresponding to the expression similar to the user input (531) may be used.
[0090] Figure 5 An example of a screen on which output candidates are displayed is further illustrated.
[0091] Screen (571) shows an example of a chat software running on a device, on which a user chats with another person through the chat software. When the user inputs a sentence (572) such as user input (521 and 531) on the chat software, the device can display output candidates such as output candidates (523 and 533) on a box (573).
[0092] Screen (581) shows an example of a word processor software running on a device, such as a document generation app, on which a user creates a sentence on the word processor software. When the user inputs a sentence (582) such as user input (521 and 531) on the word processor software, the device can display output candidates such as output candidates (523 and 533) on a box (583).
[0093] Reference now Figure 6 , Figure 6 A schematic diagram of suggesting a plurality of output candidates based on an estimated user level according to an embodiment of the present disclosure is illustrated.
[0094] In the aforementioned Figure 3 and Figure 4 In the example, the system suggests one or more output candidates or one output candidate is selected by the system. Alternatively, the system suggests multiple output candidates and allows the user to select one output candidate.
[0095] Figure 6 Illustrated are three corpora (690) including: Engineering_Corpus (691), which may be customized or optimized for the engineering domain; Sales_Corpus (692), which may be customized or optimized for the sales domain; and Legal_Corpus (693), which may be customized or optimized for the legal domain.
[0096] Let's assume that a user starts a chat with a colleague, such as a contract worker, through a chat software. Screen (601) shows a chat interaction between the user and the colleague. The chat completed by the user is shown in the right frame (621 and 622), and the chat completed by the colleague is shown in the left frame (611 and 612).
[0097] First, the user enters the sentence "Regarding Field A of the Contract Review Form..." (621) on the device, followed by the sentence "Regarding the copyrighted material..." (622).
[0098] Next, the user now enters the sentence “Is it necessary to record…?” (631).
[0099] The system receives the aforementioned user input ( 631 ) as the latest user input ( 661 ) from the device, for example, via the Internet.
[0100] In response to receiving the user input (621, 622, and 631), the system selects a corpus in a plurality of corpora (690) that contains expressions similar to the user input (621, 622, and 631). The system analyzes the user input (621, 622, and 631) and then extracts the terms "contract" and "copyright". The system then determines, based on the selected terms, that the user input (621, 622, and 631) is related to the legal field as compared to the engineering field and the sales field. Therefore, the system selects Legal_Corpus (693) in the corpus (690).
[0101] The system may also use input from colleagues (611 and 612) to determine which corpus to select.
[0102] The system finds seed words in the user input (661) that may exist in the definition sentence of the entry in the dictionary. The system finds the terms "necessary" and "record" as seed words (662).
[0103] If necessary or desired, the system may also find neighboring words (663) among these seed words (662).
[0104] After extracting the seed word (662), the system extracts entries in the dictionary that contain the seed word (662) or definition sentences that have a high similarity to the seed word (662). The system extracts the following three keywords as output candidates (641) based on the seed word (662) "record": "evidence", "DCO" (DCO: Developer Certificate of Origin), and "attached file", and then sends these output candidates (641) to the device so as to suggest these output candidates (641) to the user.
[0105] Alternatively, the system extracts entries in the dictionary that contain the adjacent words (663) and the optional seed words (662) or definition sentences that have a high similarity to the adjacent words (663) and the optional seed words (662).
[0106] After receiving the output candidates (641), the device displays the received output candidates on a display (651).
[0107] The device allows the user to select an output candidate from these output candidates (651).
[0108] During sentence input (631), the user can select a candidate from these output candidates (651), and then copy the selected candidate to the sentence the user is now entering. After the user has finished entering the sentence including the selected output candidate, the user can press the icon "SEND" (632) to upload the sentence to the chat system.
[0109] According to the aforementioned embodiment of the present disclosure, the user can use the output candidate to input complex, elegant or exquisite words. Therefore, the aforementioned embodiment makes it possible for the user to use various vocabularies, idioms and phrases of the text creator, thereby supporting the creation of more unique and special text.
[0110] Reference now Fig. 7A , Fig. 7A A schematic diagram of suggesting multiple output candidates in an example of chatting according to an embodiment of the present disclosure is illustrated.
[0111] The schematic diagram shown in FIG. 7 is different from the schematic diagram shown in FIG. 8 in that the user can intentionally select or change the corpus to be used.
[0112] Let us assume that the user is now entering the sentence “Is it necessary to record…?” (731).
[0113] and Figure 6 In a similar manner as described in , in response to user input ( 731 ), the system prepares and then suggests the following three keywords as output candidates ( 741 ): “evidence”, “DCO”, and “additional documents”.
[0114] The system sends these output candidates (741) to the device. After receiving these output candidates (741), the device displays these received output candidates on the display (751). In addition, the device displays icons (754 and 755) for selecting or changing the corpus to be used in the corpus (790).
[0115] When the user presses the icon (754), the device notifies the system that the corpus to be used will be changed. In response to receiving the notification, the system changes the current corpus, Legal_Corpus (793), to Sales_Corpus (792), and then uses Sales_Corpus (792) to suggest output candidates.
[0116] In the case where the user presses the icon (755), the device notifies the system that the corpus to be used will be changed. In response to receiving the notification, the system changes the current corpus, Legal_Corpus (793) to Engineering_Corpus (791), which is then used to suggest output candidates.
[0117] Reference now Figure 7B , Figure 7B A schematic diagram illustrating suggesting a plurality of output candidates after changing a corpus to be used according to an embodiment of the present disclosure is illustrated.
[0118] Let us assume that the user presses the icon (754) and changes the corpus to Sales_Corpus (792), the system refers to Sales_Corpus (792) and re-suggests the following three keywords as output candidates (742) based on the seed word (762) "record": "brochure", "chart" and "contract", and then sends these output candidates (742) to the device so that these output candidates (742) are suggested to the user.
[0119] After receiving the output candidates (742), the device displays the received output candidates on a display (752).
[0120] During the sentence input (731), the user can select a candidate from these output candidates (752), and then copy the selected candidate to the sentence the user is now entering. After the user finishes entering the sentence including the selected output candidate, the user can press the icon "Send" (732) to upload the sentence to the chat system.
[0121] According to the aforementioned embodiment of the present disclosure, the user can select the corpus to be used, and thus input complex, elegant or sophisticated words selected based on the corpus selected by the user. Therefore, the above embodiment makes it possible for the user to use various vocabularies, idioms and phrases of the text creator, thereby supporting the creation of more unique and characteristic texts.
[0122] The following Fig. 8A and Figure 8B Each illustrates a flow chart depicting a process for preparing a dictionary index. Figure 8C and Fig.8D Each illustrates a flow chart depicting a process for suggesting output candidates. FIG. 8E to FIG. 8G Each illustrates an optional flow chart that depicts a process for suggesting output candidates. A system such as the computer system mentioned below can be used with Figure 1 The system (101) described in may be the same as or different from that described in the present invention.
[0123] Reference now Fig. 8A , Fig. 8A A flow chart depicting a process for preparing a lexicon index from a lexicon is illustrated according to an embodiment of the present disclosure.
[0124] In step 801, the system starts the aforementioned process.
[0125] In step 802, the system collects electronically stored dictionaries. The dictionary has at least one set of an entry and a definition statement of the entry, or has multiple entries and definition statements of the multiple entries. The type of dictionary can be selected according to the environment in which the embodiment of the present disclosure is used.
[0126] In step 804, the system decomposes the definition sentence in the dictionary into (multiple) words, and then extracts (multiple) words that can be used as (multiple) definition words. The extraction of (multiple) words can be performed using, for example, but not limited to, text mining technology.
[0127] At step 805, the system associates definition term(s) with the entry to prepare a dictionary index.
[0128] In step 806, the system terminates the aforementioned process. According to an embodiment of the present disclosure, the obtained dictionary index can be used as a dictionary.
[0129] Reference now Figure 8B , Figure 8B Another flow chart is illustrated that describes a process for preparing a lexical index from the text of a past or historical writer to be cited according to an embodiment of the present disclosure.
[0130] In step 811, the system starts the aforementioned process.
[0131] At step 812, the system collects text written by past or historical writers to be cited.
[0132] In step 813, the system collects data such as definition sentences that associate the word(s) or expression(s) that appear in the collected text with the word(s) or expression(s) that are used in everyday life. This data can be found in any dictionary available on the market, any dictionary on the Internet or an intranet, or any dictionary used in a limited environment, such as in an organization, such as a company, department, school, or government.
[0133] In step 814, the system decomposes the collected data into (multiple) terms and extracts (multiple) terms for (multiple) definition terms. The extraction of (multiple) terms can be performed using, for example but not limited to, text mining technology.
[0134] At step 815, the system associates the definition term(s) with the entry to prepare a dictionary index.
[0135] In step 816, the system terminates the aforementioned process. The obtained dictionary index can be used in the embodiments of the present disclosure.
[0136] Reference now Figure 8C , Figure 8C Illustrated is a flow chart depicting a process for suggesting output candidates based on seed terms found in user input, in accordance with an embodiment of the present disclosure.
[0137] In step 821, the system starts the aforementioned process.
[0138] At step 822, the system receives user input. The user input may be performed, for example, by entering a sentence via a hardware or software keyboard or voice input. The system may analyze the representation.
[0139] In step 823, the system selects a corpus containing expressions similar to the user input from the multiple corpora. Depending on the environment in which the embodiments of the present disclosure are implemented, multiple corpora may be provided. The corpora may be prepared, for example but not limited to, according to various vocabulary levels of the user, various profiles of the user, or a combination thereof.
[0140] In step 824, the system finds seed words in the definition sentence of the entry in the dictionary in the user input that may exist. The dictionary can be pre-loaded into the memory in the system. The dictionary can be the dictionary mentioned above. The seed word can be a noun, for example.
[0141] In step 826, the system refers to the selected corpus and extracts entries in the dictionary that contain the seed word or a definition sentence with a high similarity to the seed word. The system can extract one or more entries in the dictionary.
[0142] In the case of selecting multiple seed words, the system may repeat step 826 for each seed word or proceed to step 827. Fig. 8E The steps described in , which illustrate a process for allowing a user to select a seed word from multiple seed words.
[0143] In step 827, the system determines whether multiple items are selected. If the determination is positive, the system proceeds to step 828. If the determination is negative, the system proceeds to step 829.
[0144] At step 828, the system selects an entry among the selected entries with reference to the selected corpus. The selected corpus can be used to select an entry among the selected entries. The system can select an entry to be included in the selected corpus.
[0145] In step 829, the system suggests the selected entry obtained in step 826 or the selected entry obtained in step 828 as an output candidate.
[0146] At step 830, the system terminates the foregoing process.The suggested entries may be presented on a display associated with the user, such as on a display of a computer, smart phone, or tablet computer.
[0147] Reference now Fig.8D , Fig.8D Another flow chart depicting a process for suggesting output candidates based on neighboring terms of a seed term found in a user input is illustrated in accordance with an embodiment of the present disclosure.
[0148] In step 831, the system starts the aforementioned process.
[0149] Steps 832 to 834 correspond to Figure 8C Therefore, the detailed description of steps 832 to 834 will be omitted here.
[0150] In step 835, the system finds neighboring words of the seed word or neighboring words of lower, upper or same level concepts of the seed word.
[0151] In the case of selecting multiple seed words, the system may repeat step 835 for each seed word or proceed to step 836. Fig. 8E , which shows a process for allowing a user to select a seed word among multiple seed words.
[0152] In step 836, the system refers to the selected corpus and extracts entries in the dictionary that contain adjacent words or definition sentences that have a high similarity with the adjacent words and optionally with the seed words.
[0153] Steps 837 to 839 correspond to Figure 8C Therefore, the detailed description of steps 837 to 839 will be omitted here.
[0154] At step 840, the system terminates the foregoing process.The suggested entries may be presented on a display associated with the user, such as on a display of a computer, smart phone, or tablet computer.
[0155] Reference now Fig. 8E , Fig. 8E A flowchart describing a process for allowing a user to select a seed word among a plurality of seed words found in a user input is illustrated according to an embodiment of the present disclosure.
[0156] In step 841, the system Figure 8C Step 824 or Fig.8D The aforementioned process begins after step 834 described in .
[0157] In step 842, the system determines whether multiple seed words are found. If the determination is positive, the system proceeds to step 843. If the determination is negative, the system proceeds to the final step 844 to terminate the aforementioned process.
[0158] At step 843, the system allows the user to select a seed word from the found seed words. The system can display the found seed words on a display associated with the user, such as a display of a computer, smart phone, or tablet computer. The user can select a seed word from the found seed words, for example, by clicking on the seed word to select a seed word.
[0159] In step 844, the system terminates the aforementioned process and then proceeds to Figure 8C Step 826 as described in or Fig.8D Step 835 described in .
[0160] Reference now Fig.8F , Fig.8F A flowchart depicting a process for suggesting output candidates when another corpus is selected is illustrated according to an embodiment of the present disclosure.
[0161] In step 851, the system, for example, Figure 8C Step 829 as described in or Fig.8D The aforementioned process begins after step 839 described in .
[0162] In step 852, the system determines whether another corpus is selected. If the determination is positive, the system proceeds to step 853. If the determination is negative, the system proceeds to the final step 854 to terminate the aforementioned process.
[0163] At step 853, the system replaces the current corpus with another selected corpus.
[0164] In step 854, the system terminates the above process and then proceeds to Figure 8C Step 824 described in order to repeat Figure 8C Steps 824 to 829 described in or Fig.8D Step 834 described in order to repeat the Fig.8D Steps 834 to 839 described in .
[0165] Reference now Figure 8G , Figure 8G A flow chart is illustrated that describes a process for replacing a seed term present in a user input with an output candidate or suggestion entry.
[0166] In step 861, for example, Figure 8C Step 829 as described in or Fig.8D After step 839 described in , the system starts the aforementioned process.
[0167] At step 862, the system determines whether the seed word in the user input is to be replaced by the suggested entry. For example, the determination is made when the user selects an option for such replacement. If the determination is positive, the system proceeds to step 863. If the determination is negative, the system proceeds to final step 865 to terminate the foregoing process.
[0168] At step 863, the system replaces the seed term in the user input with the suggested entry.
[0169] At step 864, the system outputs the replaced user input. The output may be performed by displaying the replaced user input on a display associated with the user, such as on a display of a computer, smart phone, or tablet computer.
[0170] In step 865, the system terminates the aforementioned process.
[0171] Reference now Fig. 9 , Fig. 9 The present invention is described in detail according to an embodiment of the present invention. FIG. 8A to FIG. 8G The overall functional block diagram of the system hardware related to the process.
[0172] The system (901) may correspond to Figure 1 The system (101) described in .
[0173] The system (901) may include a receiving part (911), a corpus selection part (912), a seed word search part (913), an entry selection part (915), and a suggestion part (917). The system (901) may also include an adjacent word search part (914), an entry selection part (916), a presentation part (918), or a combination thereof.
[0174] The receiving section (911) receives user input. The user input may be sent from a device associated with the user.
[0175] The receiving part (911) may execute Figure 8C Step 822 and Fig.8D Step 832 described in .
[0176] The corpus selection section (912) selects a corpus containing expressions similar to the user input from among the plurality of corpora. The corpus selection section (912) may select the corpus based on the user's vocabulary level, the user's profile, or a combination thereof. The corpus selection section (912) may allow the user to change the selected corpus to another corpus from among the plurality of corpora.
[0177] The corpus selection part (912) may perform Figure 8C Steps 823 and Fig.8DStep 833 described in .
[0178] The seed word search section (913) finds seed words in the definition sentence of the entry that may exist in the dictionary in the user input. In the case of selecting multiple seed words, the seed word search section (913) allows the user to select a seed word from the selected seed words.
[0179] The seed word search portion (913) may perform Figure 8C Step 824 described in Fig.8D Step 834 and Fig. 8E Steps 842 and 843 described in .
[0180] The adjacent word search section (914) finds adjacent words of the seed word or adjacent words of the lower, upper or same level concepts of the seed word.
[0181] The adjacent word search section (914) can perform Fig.8D Step 835 described in .
[0182] The entry selection section (915) refers to the selected corpus and extracts entries containing seed words or definition sentences having a high similarity to the seed words in the dictionary. When the adjacent word discovery section (914) finds adjacent words, the entry selection section (915) extracts entries containing the adjacent words or definition sentences having a high similarity to the seed words instead of or together with the selection of the entry containing the seed words or definition sentences having a high similarity to the seed words.
[0183] The item selection part (915) can perform Figure 8C Step 826 described in Fig.8D Step 836 and Fig.8F Steps 852 and 856 described in .
[0184] If a plurality of items are selected, the item selection part (916) selects an item among the selected items with reference to the selected corpus.
[0185] The item selection portion (916) may perform Figure 8C Steps 827 and 828 described in Fig.8D Steps 837 and 838 described in Fig.8F Steps 857 and 858 described in .
[0186] The suggestion section (917) suggests the selected item as an output candidate.
[0187] The suggested part (917) can be executed Figure 8C Step 829 described in Fig.8D Steps 839 and Fig.8F Step 859 described in .
[0188] The presentation part (918) presents the selected item to the user. The presentation part (918) may replace the seed word in the user input with the suggested item and output the user input after the replacement. The suggestion part (917) may replace the seed word in the user input with the item suggested by the suggestion part (917).
[0189] It is to be understood that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. Instead, the exemplary embodiments can be implemented in conjunction with any other type of computing environment now known or later developed.
[0190] Cloud computing is a service delivery model for convenient, on-demand network access to a shared pool of configurable computing resources. Configurable computing resources are resources that can be quickly deployed and released with minimal management cost or interaction with the service provider, such as networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0191] Features include:
[0192] On-demand self-service: Cloud consumers can unilaterally and automatically deploy computing capabilities such as server time and network storage on demand without human interaction with the service provider.
[0193] Broad network access: Computing power can be accessed over the network through standard mechanisms that facilitate the use of the cloud through different types of thin-client or thick-client platforms (e.g., mobile phones, laptops, personal digital assistants (PDAs)).
[0194] Resource pool: The computing resources of the provider are grouped into resource pools and serve multiple consumers through a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated on demand. Generally, consumers cannot control or even know the exact location of the provided resources, but can specify the location (such as country, state or data center) at a higher level of abstraction, so it is location-independent.
[0195] Rapid elasticity: The ability to quickly and elastically (sometimes automatically) deploy computing power to scale up quickly, and quickly release it to scale down quickly. To consumers, the computing power available for deployment often appears to be unlimited, and any amount of computing power can be accessed at any time.
[0196] Measurable services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.
[0197] The service model is as follows:
[0198] Software as a Service (SaaS): The capability provided to consumers is to use the provider's applications running on a cloud infrastructure. Applications can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., web-based email). Aside from limited user-specific application configuration settings, consumers neither manage nor control the underlying cloud infrastructure including networks, servers, operating systems, storage, or even individual application capabilities.
[0199] Platform as a Service (PaaS): The capability provided to consumers is to deploy applications created or acquired by consumers on the cloud infrastructure, which are created using programming languages and tools supported by the provider. Consumers neither manage nor control the underlying cloud infrastructure including networks, servers, operating systems or storage, but have control over the applications they deploy and may also have control over the configuration of the application hosting environment.
[0200] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, network, and other basic computing resources on which consumers can deploy and run arbitrary software including operating systems and applications. Consumers neither manage nor control the underlying cloud infrastructure, but have control over the operating system, storage, and applications they deploy, and may have limited control over selected network components (such as host firewalls).
[0201] The deployment model is as follows:
[0202] Private Cloud: Cloud infrastructure is run solely for an organization. The cloud infrastructure can be managed by the organization or a third party and can exist inside or outside the organization.
[0203] Community Cloud: A cloud infrastructure is shared by several organizations and supports a specific community with common interests (e.g., mission, security requirements, policies, and compliance considerations). A community cloud can be managed by multiple organizations within the community or by a third party and can exist inside or outside the community.
[0204] Public cloud: Cloud infrastructure is provided to the public or to large industry groups and is owned by an organization that sells cloud services.
[0205] Hybrid cloud: A cloud infrastructure consisting of two or more clouds (private, community or public) in a deployment model that remain distinct entities but are bound together by standardized or proprietary technologies (such as cloud burst sharing for load balancing between clouds) that enable data and application portability.
[0206] The cloud computing environment is service-oriented, with characteristics centered on statelessness, low coupling, modularity, and semantic interoperability. The core of cloud computing is the infrastructure that includes a network of interconnected nodes.
[0207] Reference now Fig.10 , depicts an illustrative cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 40, and local computing devices used by cloud consumers, such as, for example, personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N can communicate with the cloud computing nodes 40. The nodes 40 can communicate with each other. They can be physically or virtually grouped in one or more networks (not shown), such as private clouds, community clouds, public clouds, or hybrid clouds as described above, or a combination thereof. This allows the cloud computing environment 50 to provide infrastructure as a service, platform as a service, and / or software as a service, for which cloud consumers do not need to maintain resources on local computing devices. It should be understood that Fig.10 The types of computing devices 54A-54N shown are intended to be illustrative only, and computing nodes 40 and cloud computing environment 50 may communicate with any type of computerized device over any type of network and / or network-addressable connection (eg, using a web browser).
[0208] Reference now Fig.11 , showing the cloud computing environment 50 ( Fig.10 ) provides a set of functional abstraction layers. It should be understood in advance that Fig.11 The components, layers, and functions shown in are intended to be illustrative only, and the exemplary embodiments are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0209] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: host 61; server 62 based on RISC (Reduced Instruction Set Computer) architecture; server 63; blade server 64; storage device 65; network and network components 66. Examples of software components include: network application server software 67 and database software 68.
[0210] The virtualization layer 70 provides an abstraction layer that can provide examples of the following virtual entities: virtual servers 71 , virtual storage 72 , virtual networks 73 (including virtual private networks), virtual applications and operating systems 74 , and virtual clients 75 .
[0211] In one example, the management layer 80 may provide the following functions: Resource provisioning function 81: Provide dynamic acquisition of computing resources and other resources for performing tasks in a cloud computing environment; Metering and pricing function 82: Track the cost of resource usage within the cloud computing environment and provide bills and invoices for this purpose. In one example, the resource may include an application software license. Security function: Provide identity authentication for cloud consumers and tasks, and provide protection for data and other resources. User portal function 83: Provide access to the cloud computing environment for consumers and system administrators. Service level management function 84: Provide allocation and management of cloud computing resources to meet the required service levels. Service level agreement (SLA) planning and fulfillment function 85: Provide pre-arrangement and provision for future demand for cloud computing resources predicted according to the SLA.
[0212] The workload layer 90 provides examples of functionality that can take advantage of a cloud computing environment. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom instruction delivery 93; data analysis processing 94; transaction processing 95; and vocabulary processing 96.
[0213] The present disclosure may be a method, a system and / or a computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to implement aspects of the present disclosure.
[0214] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the above. The computer-readable storage medium used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (such as a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0215] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0216] The computer-readable program instructions for implementing the operation of the present disclosure can be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional process programming languages, such as "C" programming language or similar programming languages. The computer-readable program instructions can be executed completely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer and partly on a remote computer or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In certain embodiments, the electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can be personalized electronic circuits by utilizing the state information of the computer-readable program instructions, thereby executing the computer-readable program instructions, so as to perform aspects of the present disclosure.
[0217] Various aspects of the present invention are described herein with reference to the flow charts and / or block diagrams of the methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each box of the flow chart and / or block diagram and the combination of each box in the flow chart and / or block diagram can be implemented by computer-readable program instructions.
[0218] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0219] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce computer-implemented processing, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0220] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present invention. In this regard, each square frame in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square frame can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square frames can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square frame in the block diagram and / or flow chart, and the combination of the square frames in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
Claims
1. A computer-implemented method for suggesting output candidates, the method comprising: Receive user input; selecting a corpus from a plurality of corpora that contains expressions similar to the user input, wherein the vocabulary rank of the corpus is higher than the vocabulary rank corresponding to the expressions similar to the user input, and wherein the similarity is based on a shared context between the selected corpus and the user input; Finding a seed word in the user input that can be present in a definition sentence of an entry in a dictionary; Referring to the selected corpus, identifying in the dictionary entries that contain the seed term or a definition sentence that is within a threshold similarity to the seed term; as well as The identified entry is suggested as an output candidate.
2. The method according to claim 1, further comprising: Find the adjacent words of the seed word or the adjacent words of the lower, upper or same level concepts of the seed word, wherein the identification of the entries is performed by the following operation: instead of identifying the entries containing the seed word or the definition statement within the threshold similarity to the seed word or together with the identification of the entries containing the seed word or the definition statement within the threshold similarity to the seed word, identify the entries containing the adjacent words or the definition statement within the threshold similarity to the adjacent words.
3. The method according to claim 1, further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
4. The method according to claim 2, further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
5. The method of claim 1, wherein the selection of the corpus is based on a user's vocabulary level, a user's profile, or a combination thereof.
6. The method of claim 5, wherein the corpus selected is a corpus associated with the vocabulary level, the profile, or a combination thereof.
7. The method according to claim 1, further comprising: If multiple seed terms are identified, the user is allowed to select a seed term among the multiple identified seed terms.
8. The method according to claim 1, further comprising: The seed term in the user input is replaced with the suggested entry, and the user input is output after the replacement.
9. The method according to claim 1, further comprising: In response to receiving another user input, repeating finding a seed term from the another user input; Referring to the selected corpus, identifying in the dictionary an entry containing the seed word or a definition sentence within a threshold similarity to the seed word; and suggesting the identified entry as an output candidate.
10. The method according to claim 9, further comprising: A user is allowed to change the selected corpus to another corpus of the plurality of corpora.
11. The method of claim 10, wherein said identifying of entries is performed with reference to said another corpus in response to said change of said selected corpus to said another corpus.
12. A method according to claim 1, wherein the dictionary has one or more definition words instead of the definition sentence; the one or more definition words are associated with entries of the definition sentence; and the identification of the entries is performed by identifying entries associated with definition words shared with the seed words.
13. A system for suggesting output candidates, comprising: one or more processors; as well as A memory storing a program, wherein the program executes an operation of suggesting an output candidate on the processor, the operation comprising: Receive user input; selecting a corpus from a plurality of corpora that contains expressions similar to the user input, wherein the vocabulary rank of the corpus is higher than the vocabulary rank corresponding to the expressions similar to the user input, and wherein the similarity is based on a shared context between the selected corpus and the user input; Finding a seed word in the user input that can be present in a definition sentence of an entry in a dictionary; Referring to the selected corpus, identifying entries in the dictionary that contain the seed term or a definition sentence that is within a threshold similarity to the seed term; and The identified entry is suggested as an output candidate.
14. The system of claim 13, wherein the operations further comprise: Find the adjacent words of the seed word or the adjacent words of the lower, upper or same level concepts of the seed word, wherein the identification of the entries is performed by the following operation: instead of identifying the entries containing the seed word or the definition statement within the threshold similarity to the seed word or together with the identification of the entries containing the seed word or the definition statement within the threshold similarity to the seed word, identify the entries containing the adjacent words or the definition statement within the threshold similarity to the adjacent words.
15. The system of claim 13, the operations further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
16. The system of claim 14, the operations further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
17. A computer program product for suggesting output candidates, the computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions being executable by a computer to cause the computer to perform a method, the method comprising: Receive user input; selecting a corpus from a plurality of corpora that contains expressions similar to the user input, wherein the vocabulary rank of the corpus is higher than the vocabulary rank corresponding to the expressions similar to the user input, and wherein the similarity is based on a shared context between the selected corpus and the user input; Finding a seed word in the user input that can be present in a definition sentence of an entry in a dictionary; Referring to the selected corpus, identifying in the dictionary entries that contain the seed term or a definition sentence that is within a threshold similarity to the seed term; as well as The identified entry is suggested as an output candidate.
18. The computer program product of claim 17, the method further comprising: Find the adjacent words of the seed word or the adjacent words of the lower, upper or same level concepts of the seed word, wherein the identification of the entries is performed by the following operations: replacing the identification of the entries containing the seed word or the definition statement within the threshold similarity to the seed word or together with replacing the identification of the entries containing the seed word or the definition statement within the threshold similarity to the seed word, identifying the entries containing the adjacent words or the definition statement within the threshold similarity to the adjacent words.
19. The computer program product of claim 17, the method further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
20. The computer program product of claim 18, the method further comprising: If a plurality of entries are identified, an entry is selected among the identified plurality of entries with reference to the selected corpus, wherein the suggestion of the entry is performed by suggesting the selected entry instead of the identified plurality of entries.
21. A computer system comprising modules respectively configured to execute the steps of the method according to any one of claims 1 to 12.
