Input support device, method, and program
The input support device adjusts the display of classification codes based on cluster similarity and user input characteristics to improve usability and reliability in sequential processing, addressing the misalignment issue in existing devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-11
- Publication Date
- 2026-03-24
AI Technical Summary
Existing input assistance devices using sequential processing automatic classification functions often display classification codes that do not align with the user's intuition due to rapid changes without considering the user's input unit and speed, leading to reduced usability and diminished value of automated classification systems.
The input support device includes an input detection unit, code estimation unit, cluster space construction unit, cluster space search unit, and output adjustment unit to adjust the display method of classification codes based on cluster similarity, taking into account morphological and syntactic boundaries, and adjusting display effects such as timing, rate, color, and size to align with user intuition.
The solution provides a more convincing and usable output by aligning the display of classification codes with user intuition, reducing frequent changes and enhancing the perceived reliability and accuracy of the classification results, even with fragmented user input.
Smart Images

Figure 2026052419000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an input support device, method, and program.
Background Art
[0002] An automatic classification function that automatically estimates the classification of input data such as documents and outputs a classification code is known. The classification code includes numbers, symbols, character strings, and the like. In the automatic classification function, for example, a machine learning model (hereinafter referred to as an estimation model) that is learned to receive an input of a document and estimate the classification code of a target classification system and output the estimated classification code is used. Hereinafter, the classification code output by the estimation model is referred to as an estimated code.
[0003] The processing method in automatic classification can be divided into a batch processing method and a sequential processing method according to the input method of input data and the output timing of the estimation result. The batch processing method is a method in which the entire input document is input at once, the content of the input document is processed in a batch, and a classification code is output. The sequential processing method is a method in which, during the input of an input document by the user, the classification code estimated using the input data at that time is output at any time.
[0004] In addition, an input support device that uses the automatic classification function of the sequential processing method as a user input support means is known. The input support device displays an estimated code in conjunction with the input of a character string by the user. The user can interactively change the input while checking the estimated code during input, and can input to the automatic classification system according to the intention, and can appropriately change the input content while observing the reaction of the system.
[0005] In such input assistance devices, usability can be significantly reduced and the value of the automated classification system diminished if the displayed classification code differs from the user's intuition or intent. For example, an input assistance device that helps create fault report documents automatically estimates an industry-standard fault code number from hundreds of candidates each time the user enters a string of characters and presents the estimation result to the user. In such input assistance devices, the estimated code displayed may change with each character entered because the user's input unit and speed are not taken into consideration. In this case, the output information changes rapidly for the user, which may result in a code that does not align with the user's intuition and is not convincing to the user. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] International Publication No. 2020-021845 [Overview of the project] [Problems that the invention aims to solve]
[0007] The problem that the present invention aims to solve is to provide an input support device, method, and program that improve the display method of classification codes in input support using a sequential processing automatic classification function. [Means for solving the problem]
[0008] The input support device according to the embodiment comprises an input detection unit, a code estimation unit, a cluster space construction unit, a cluster space search unit, and an output adjustment unit. The input detection unit detects the division positions in the input data and divides the input data into a plurality of division units. The code estimation unit receives data input and obtains an estimated code by estimating the classification code in the classification system of the data to be classified using a classification model. The cluster space construction unit uses the descriptive information of the classification code to classify the classification code into a plurality of clusters and constructs a cluster space using an embedded representation. The cluster space search unit uses the cluster space to calculate the cluster similarity between the input data and the clusters. The output adjustment unit adjusts the output method of the estimated code based on the cluster similarity. [Brief explanation of the drawing]
[0009] [Figure 1] A diagram showing an example of the configuration of an input support device. [Figure 2] A flowchart illustrating the pre-processing procedure using an input support device. [Figure 3] A diagram showing an example of a classification code. [Figure 4] Figure 3 shows an example of the vocabulary extraction results. [Figure 5] Figure 4 shows an example of a cluster constructed using the vocabulary. [Figure 6] A flowchart illustrating the processing procedure for input assistance by an input assistance device. [Figure 7] A diagram showing an example of an input screen. [Figure 8] This figure shows an example of a calculation result in input assistance processing. [Figure 9] A flowchart illustrating the processing procedure for output adjustment by an input support device. [Figure 10] A diagram showing an example of an input screen. [Figure 11] A diagram showing an example of an input screen. [Figure 12] A diagram showing an example of an input screen. [Figure 13] A diagram showing an example of an input screen. [Figure 14] A diagram showing an example of the configuration of an input support device related to an application example. [Modes for carrying out the invention]
[0010] The input support device, method, and program according to the embodiment will be described below with reference to the drawings.
[0011] (First embodiment) Figure 1 shows an example configuration of the input support device 100. The input support device 100 is a device that automatically classifies data using a sequential processing method and supports user input. The input support device 100 is connected via a network or the like to an input unit where the user inputs data and a display unit that displays a classification code for the input data. The network is, for example, a LAN (Local Area Network). The connection to the network can be wired or wireless. Furthermore, the network is not limited to a LAN, but can also be the Internet or a public communication line.
[0012] The input support device 100 sequentially acquires input data entered in the input unit, inputs the acquired input data into the estimation model, and presents the classification results output from the estimation model to the user via the display unit. Furthermore, the input support device 100 adjusts the display method of the estimation results in response to sequential input, taking into account the accuracy and changes in the estimation results of automatic classification. For example, the input support device 100 is a device that estimates and displays classification codes when creating an abnormality report for a machine or system.
[0013] The input data is the data input by the user. The input data is, for example, text data including sequence information or a group of image data. In this embodiment, a case where an input sentence of text data is used as the input data will be described as an example. The user inputs the input sentence in units such as a character string, a morpheme, or a sentence by operating an input interface such as a keyboard. The input support device 100 adjusts the display of the estimated code based on the delimiters of clauses and the syntactic structure delimiters of the input sentence that has been input. In addition, the input support device 100 constructs a vocabulary space using the explanatory information regarding the classification system for the classification target, and adjusts the likelihood of change of the estimated code to be displayed using the similarity between the cluster on the vocabulary space and the input sentence.
[0014] The input support device 100 includes a processing circuit that controls the entire input support device 100 and a storage medium (memory). The processing circuit is a processor that executes the functions of the input detection unit 101, the code estimation unit 102, the cluster space construction unit 103, the cluster space search unit 104, and the output adjustment unit 105 by calling and executing a program in the storage medium. The processing circuit is formed from an integrated circuit including a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array), etc. The processor may be formed from one integrated circuit or may be formed from a plurality of integrated circuits.
[0015] The storage medium stores a processing program used by the processor, as well as parameters, tables, etc. used in the operations of the processor. The storage medium is a storage device such as a HDD (Hard Disk Drive), SSD (Solid State Drive), or integrated circuit that stores various types of information. In addition to HDDs and SSDs, the storage device may also be a portable storage medium such as a CD (Compact Disc), DVD (Digital Versatile Disc), or flash memory, or it may be a drive device that reads and writes various types of information between semiconductor memory elements such as flash memory and RAM (Random Access Memory).
[0016] Note that each function of the input detection unit 101, code estimation unit 102, cluster space construction unit 103, cluster space search unit 104, and output adjustment unit 105 may be realized by a single processing circuit, or a processing circuit may be configured by combining a plurality of independent processors, and each function may be realized by each processor executing a program. Also, each function of the input detection unit 101, code estimation unit 102, cluster space construction unit 103, cluster space search unit 104, and output adjustment unit 105 may be implemented as an individual hardware circuit.
[0017] The input detection unit 101 acquires the input data input by the user, detects the division positions in the input data, and divides the input data into a plurality of division units. For example, the input detection unit 101 receives the input sentence input by the user, detects the morphological boundaries in the input sentence, and uses the morphological boundaries to divide the input sentence into a plurality of division units. The division unit is, for example, a token. Hereinafter, the division unit will be referred to as a token. A token may also be referred to as a vocabulary or a morpheme. For example, the input detection unit 101 detects the morphological boundaries by performing morphological analysis on the input sentence, and uses the morphological boundaries to divide the input sentence into a plurality of tokens. Also, the input detection unit 101 analyzes the part-of-speech of each token by morphological analysis.
[0018] Furthermore, the input detection unit 101 detects syntactic boundaries by performing syntactic analysis on the input sentence, assigns weights to each token according to the syntactic boundaries, and determines the weight value of each token (hereinafter referred to as boundary weight). Syntactic boundaries are divisions of syntactic meaning in the input sentence. For example, the input detection unit 101 detects punctuation marks or the last token in a series of tokens that have undergone a specific change in part of speech as syntactic boundaries.
[0019] Subsequently, the input detection unit 101 sets boundary weights for each token according to default conditions regarding syntactic delimiters. For example, the boundary weight is increased when a token is a punctuation mark or when the preceding token is a noun and the boundary token is a particle. Weighting may also be performed according to a statistical measure. As a statistical measure, for example, the frequency of occurrence of parts of speech in the input sentence can be used. In this case, it is preferable to increase the boundary weight when the frequency of occurrence is low. Alternatively, the syntactic classification of each token may be analyzed by syntactic analysis, and the frequency of occurrence of that classification in the input sentence may be used as a statistical measure. Furthermore, the boundary weight may be adjusted according to the number of characters or tokens in the input sentence up to the target token.
[0020] The code estimation unit 102 obtains an estimated code by estimating the classification code of the input data using a classification model. The classification model is a pre-trained machine learning model that has been trained to accept data input and estimate the classification code in the classification system to be classified. As the classification model, a publicly known document classification model can be used. As the classification system, for example, a classification system used for document classification tasks for business purposes can be used. The classification system only needs to be one that is applicable to tasks that sequentially classify input data such as text data in conjunction with the input of that data.
[0021] The code estimation unit 102 reads the classification model and inputs the input data to the read classification model. The classification model accepts the input data and outputs the estimated result of the classification code. The code estimation unit 102 obtains the classification code output by the classification model as the estimated code. The classification code includes numbers, symbols, strings, etc. The classification code may be interpreted as a classification label.
[0022] The cluster space construction unit 103 classifies the classification codes of the classification system into multiple clusters using the descriptive information of the classification codes and constructs a cluster space using an embedded representation. The descriptive information includes, for example, the descriptive text and supplementary text set for each classification code in the classification system. In classification systems used for business document classification tasks, descriptive texts that explain the definition of each classification code and supplementary texts that supplement the descriptive texts are generally prepared in advance. The cluster space is a vocabulary embedding space constructed using vocabulary extracted from the descriptive texts and supplementary texts. For constructing the cluster space, known techniques such as the (Sentence-)BERT model or existing embedding models can be used. The cluster space construction unit 103 also classifies the classification codes into multiple clusters by converting the descriptive information of each classification code into feature vectors of a fixed number of dimensions and clustering each feature vector. The number of clusters is set to be smaller than the number of classification codes. This makes it possible to group multiple classification codes with similar meanings into one cluster. The cluster space construction unit 103 transmits the constructed cluster space to the cluster space search unit 104.
[0023] The cluster space search unit 104 calculates the cluster similarity of the input data using the cluster space. Cluster similarity is the similarity between the input data and the clusters. For example, the cluster space search unit 104 obtains the embedding representation of the input data and calculates the cluster similarity for each cluster when the embedding representation is placed in the cluster space. In this case, the embedding representation of the input data is obtained using only a portion of the data, including the latest token in the input data. Subsequently, the cluster space search unit 104 identifies the cluster with the highest cluster similarity as a similar cluster (hereinafter referred to as a similar cluster). For the similar cluster, the cluster space search unit 104 transmits identification information such as the cluster number and the cluster similarity to the output adjustment unit 105.
[0024] The output adjustment unit 105 adjusts the output method of the estimated code based on the cluster similarity of similar clusters and outputs the adjusted output method to the display unit. The estimated code is output to the display unit based on the adjusted output method. For example, the estimated code is displayed on the display unit based on the adjusted display method.
[0025] For example, the output adjustment unit 105 makes it less likely for the display of the estimated code to change if the similar cluster does not change. The output adjustment unit 105 also adjusts the appearance time, appearance rate, character color, background color, or character size when the estimated code is displayed, based on the cluster similarity. For example, the output adjustment unit 105 adjusts the display effect of the estimated code displayed according to the cluster similarity and adjusts the emphasis of the estimated code according to the display effect. Hereinafter, the displayed estimated code will be referred to as the display code. The output adjustment unit 105 increases the display effect of the display code when the cluster similarity is high and decreases the display effect when the similar cluster changes. When the display effect is high, for example, the characters of the display code may be made larger, and when the display effect is low, the characters of the display code may be made smaller. Alternatively, the character color may be made darker when the display effect is high and lighter when the display effect is low.
[0026] Furthermore, the output method may be adjusted according to the accuracy of the displayed code. For example, the color of the displayed code text may be darker when the accuracy is high, and lighter when the accuracy is low.
[0027] Furthermore, the output method may be adjusted according to the boundary weight of the token. For example, if the boundary weight of the token is small, the timing of changing the display code may be delayed, and if the boundary weight of the token is large, the timing of changing the display code may be advanced.
[0028] Next, we will describe the operation of the preprocessing performed by the cluster space construction unit 103 of the input support device 100. Preprocessing is a process of constructing a cluster space in advance as preparation for outputting estimated codes for input data. Figure 2 is a flowchart of an example of the preprocessing procedure. Note that the processing procedures for each process described below are merely examples, and each process can be modified as appropriate as possible. In addition, steps in the processing procedures described below can be omitted, replaced, or added as appropriate depending on the embodiment.
[0029] Here, we will explain using the example of assisting in the creation of failure report documents in a document classification task for business use. The input support device 100 automatically estimates the code number of the industry-standard classification code that needs to be entered in the failure report document from hundreds of candidate codes in conjunction with the string input from the user, and presents the estimated classification code to the user.
[0030] (Input assistance processing) (Step S101) In the preprocessing stage, the cluster space construction unit 103 first obtains descriptive information for the target classification system. Figure 3 shows a classification code table for the target classification system. In the classification system shown in Figure 3, the descriptive text for the classification codes includes differences such as belt, heat generation, large slip, and small slip. It is desirable that each classification code in the classification system be independent. However, in the definition of classification codes as shown in Figure 3, there are similar classification codes and conflicting classification codes.
[0031] (Step S102) Next, the cluster space construction unit 103 performs morphological analysis on the description text of the classification code and removes unnecessary vocabulary such as particles to obtain the vocabulary for each classification code. Figure 4 shows the results of vocabulary extraction from the description text of the classification code shown in Figure 3.
[0032] (Step S103) Next, the cluster space construction unit 103 obtains vocabulary embedding representations using the extracted vocabulary.
[0033] (Step S104) Next, the cluster space construction unit 103 vectorizes each vocabulary word extracted from the explanatory text to obtain a feature vector for each vocabulary word, and generates clusters that classify each vocabulary word according to its feature vector. Figure 5 shows the result of classifying the vocabulary words shown in Figure 4 into 10 clusters. Each cluster contains vocabulary words with similar meanings. For example, cluster 1 in Figure 5 contains similar vocabulary words such as "belt heating," "welding," and "cutting." The number of clusters to be created is set to be less than the number of classification codes.
[0034] (Step S105) Next, the cluster space construction unit 103 generates a vocabulary embedding space using vocabulary embedding representations and constructs a cluster space by integrating the cluster distribution to which each vocabulary belongs into the vocabulary embedding space. At this time, the number of dimensions of the cluster space is set to an arbitrary number of dimensions according to the embedding model.
[0035] Next, the operation of the input support process performed by the input support device 100 will be described. The input support process sequentially acquires the input data to be classified, inputs the acquired input data into an estimation model, and presents the classification results output by the estimation model to the user. Figure 6 is a flowchart showing an example of the input support process procedure. Note that the processing procedures for each process described below are merely examples, and each process can be modified as appropriate as possible. Furthermore, depending on the embodiment, steps in the processing procedures described below can be omitted, replaced, or added as appropriate.
[0036] The input support process begins with an input screen for creating an anomaly report displayed on the display unit. Figure 7 shows an example of the input screen 200 displayed on the display unit. The input screen 200 in Figure 7 includes an information input unit 201 and an estimated code display unit 202. The information input unit 201 displays information about the anomaly entered by the user. The estimated code display unit 202 displays an estimated code estimated using the string entered in the information input unit 201. Here, as an example, we will explain how to display the estimated code of the input text using the classification system shown in Figure 3 and the cluster shown in Figure 5.
[0037] (Input assistance processing) (Step S201) In the input support process, the input detection unit 101 first detects user input and determines whether or not there is new user input.
[0038] (Step S202) If a new string is entered (step S201-Yes), the input detection unit 101 acquires the input sentence entered into the information input unit 201 as input data. At this time, the information input unit 201 acquires all the strings contained in the input sentence as input data. Here, we will explain using the case where the input sentence "Irregular lighting and electric field strength" is entered into the information input unit 201 as an example. Figure 8 is a diagram showing the processing result when the input sentence "Irregular lighting and electric field strength" is entered.
[0039] (Step S203) Next, the input detection unit 101 performs morphological analysis on the input sentence to detect morphological delimiters in the input sentence and divides the input sentence into multiple tokens using the morphological delimiters. It also identifies the part of speech of each token through morphological analysis.
[0040] (Step S204) Next, the input detection unit 101 performs syntactic analysis on the input sentence and detects syntactic boundaries. In this process, punctuation marks and changes in specific parts of speech are detected as syntactic boundaries.
[0041] (Step S205) Next, the input detection unit 101 uses syntax delimiters to weight each token and determines the boundary weight for each token. In this process, past data is read for tokens that have been input in the past. In the example shown in Figure 8, if a token is a punctuation mark, the boundary weight is set to "0.8". Also, if the part of speech changes from a noun to a particle, and then changes from a particle to a different part of speech in the next token, the boundary weight for the token of the different part of speech is set to "0.4". The boundary weight for all other tokens is set to "0.1".
[0042] (Step S206) Next, the code estimation unit 102 estimates the classification code using the classification model and obtains the estimated code and accuracy for the token. In this process, the code estimation unit 102 reads the classification model, inputs the input sentence into the classification model, obtains the classification code and accuracy output by the classification model, and saves them in association with the latest token. For tokens that have been input in the past, it obtains the estimated code and accuracy created in the past.
[0043] (Step S207) Next, the cluster space search unit 104 searches the cluster space and identifies the position of the input statement within the cluster space. At this time, the cluster space search unit 104 positions the input statement at one of the predefined points in the cluster space. The input statement uses a subset of tokens, including the most recent token.
[0044] (Step S208) Next, the cluster space search unit 104 calculates the cluster similarity between the input sentence and each cluster by calculating the distance from the position indicating the input sentence to each cluster in the cluster space. It also identifies the cluster with the highest cluster similarity among the clusters as the similar cluster.
[0045] In the example in Figure 8, the estimated code is the result of an estimation model trained using paragraph-level training data, while the similar cluster is the result of an estimation using only a portion of the token sequences that are sequentially input in the input sentence. Therefore, the timing of the changes in the output results differs.
[0046] (Step S209) Next, the output adjustment unit 105 executes the output adjustment process. The output adjustment process adjusts the output method of the estimation code based on cluster similarity using the cluster space. Figure 9 is a flowchart showing an example of the output adjustment process procedure. Note that the processing procedures for each process described below are merely examples, and each process can be modified as appropriate as possible. Furthermore, depending on the embodiment, steps in the processing procedures described below can be omitted, replaced, or added as appropriate.
[0047] (Step S301) In the output adjustment process, the output adjustment unit 105 first obtains each token contained in the input sentence and the boundary weight of each token. At this time, it also obtains sequence information indicating the order in which the tokens were entered. For tokens that have been entered in the past, past data is read out.
[0048] (Step S302) Next, the output adjustment unit 105 obtains the estimated code, accuracy, cluster number of similar clusters, and cluster similarity of similar clusters for each token. In this process, past data is read for tokens that have been input in the past.
[0049] (Step S303) Next, the output adjustment unit 105 obtains the storage amount S and update parameter u for each token. In this case, past data is read for tokens that have been input in the past. The storage amount S is an example of the first indicator, and the update parameter u is an example of the second indicator. The storage amount S is an indicator that shows the length of time that the cluster number of similar clusters does not change. The output adjustment unit 105 calculates the cumulative value of cluster similarity since the time the cluster number changed as the storage amount S. In this case, the output adjustment unit 105 calculates the storage amount S of the latest token by, for example, reading the storage amount S of the previous token and summing it with the cluster similarity of the latest token. Also, if the cluster number of the token to be calculated has changed with respect to the cluster number of the previous token, the output adjustment unit 105 sets the storage amount S to 0. In addition, a maximum value is set for the storage amount S, and if the storage amount S exceeds the maximum value, the storage amount S is converted to the value of the maximum value. In Figure 8, "1.0" is set as the maximum value.
[0050] For example, in Figure 8, for the token "electric field," the cluster number changes from "1" to "8," so the storage amount S becomes "0." Also, for the token "intensity," the cluster number does not change, so the storage amount S is the cumulative value of cluster similarity from "electric field" to "intensity," where the cluster number changes, which is "1.0 (=0.4 + 0.6)." Furthermore, for the token "of," the cluster number does not change, so the storage amount S is the cumulative value of cluster similarity from "electric field" to "of" (1.4) converted to the maximum value, which is "1.0."
[0051] Furthermore, the output adjustment unit 105 sets the update parameter u to the cluster similarity value if the cluster number has not changed, and sets the update parameter u to 0 if the cluster number has changed. For example, in the token labeled "Electric Field" in Figure 8, the cluster number has changed from "1" to "8", so the update parameter u becomes "0". Also, in the token labeled "Intensity", the cluster number has not changed, so the update parameter u becomes the cluster similarity value of "0.4".
[0052] Subsequently, the output adjustment unit 105 determines the display code to be displayed by processing steps S304 to S308 below.
[0053] (Step S304) The output adjustment unit 105 determines whether the estimated code has changed from the previous token.
[0054] (Step S305) If the estimated code has not changed (step S304-No), the output adjustment unit 105 sets that estimated code as the output code.
[0055] (Step S306) If the estimated code has changed (step S304-Yes), the output adjustment unit 105 compares the storage amount S and the update parameter u with thresholds and determines whether to display the estimated code before the change or the estimated code before the change. Here, the threshold for the storage amount S is set to "0.8" and the threshold for the update parameter u is set to "0.3". The output adjustment unit 105 determines whether the storage amount S is 0.8 or greater and the update parameter u is 0.3 or less.
[0056] (Step S307) If at least one of the storage amount S and the update parameter u does not satisfy the above conditions (step S306-No), that is, if the storage amount S is less than the threshold (0.8) or if the update parameter u is greater than the threshold (0.3), the output adjustment unit 105 determines the estimated code before the change as the display code. In this case, the displayed estimated code does not change.
[0057] (Step S308) On the other hand, if both the storage amount S and the update parameter u satisfy the above conditions (step S306-Yes), that is, if the storage amount S is greater than or equal to the threshold (0.8) and the update parameter u is less than or equal to the threshold (0.3), the output adjustment unit 105 determines the changed estimated code as the display code. In this case, the displayed estimated code changes.
[0058] (Step S309) The output adjustment unit 105 adjusts the display conditions for the display code determined in the above process according to the update parameter u, boundary weight, and accuracy. At this time, the output adjustment unit 105 sets the display effect of the display code for each token according to the update parameter u. In the example in Figure 8, four levels of display effect are set: "weak weak," "weak," "normal," and "strong," with the display effect increasing in the order of "weak weak," "weak," "normal," and "strong." Here, the display effect is set to "strong" when the update parameter u is 0.8 or higher, to "strong" when the update parameter u is 0.3 or higher, to "normal" when the update parameter u is 0.3 or higher and less than 0.8, to "weak" when the update parameter u is 0.1 or higher and less than 0.3, and to "weak weak" when the update parameter u is less than 0.1.
[0059] The output adjustment unit 105 adjusts the display conditions of the tokens according to the display effect. In this case, the output adjustment unit 105 sets the display conditions so that the estimated code is emphasized more when the display effect is high. For example, the characters of the display code may be made larger when the display effect is high, and smaller when the display effect is low. Alternatively, the color of the characters may be made darker when the display effect is high, and lighter when the display effect is low.
[0060] Subsequently, the output adjustment unit 105 outputs the display code and the adjusted display conditions to the display unit. The display unit displays the display code according to the adjusted display conditions.
[0061] For example, when the input phrase "lighting" is entered, the estimated code remains "413" as shown in Figure 8, and therefore the displayed code is "413". Also, because the update parameter u is 0.8, the display effect is set to "strong," and the estimated code and accuracy displayed in the estimated code display unit 202 are displayed with maximum emphasis. In the example in Figure 10, the text is displayed in bold.
[0062] Furthermore, when the input text "lighting abnormality" is entered, the estimated code changes from "413" to "414" as shown in Figure 8. However, since the storage amount S is 1.0, which is above the threshold (0.8), and the update parameter u is 0.2, which is below the threshold (0.3), the estimated code before the change, "413," is selected as the display code and is displayed in the estimated code display unit 202 as shown in Figure 11. Also, because the update parameter u is 0.2, the display effect is set to "weak," and as shown in Figure 11, the estimated code and accuracy displayed in the estimated code display unit 202 are displayed with the third level of emphasis from the top. In the example in Figure 11, the text is displayed faintly.
[0063] Furthermore, when the input sentence "lighting abnormality and electric field" is entered, the estimated code remains "413" as shown in Figure 8, since it has not changed from "413". Also, the cluster similarity has changed from "1" to "8", and the update parameter u is 0, so the display effect is set to "very weak", and as shown in Figure 12, the estimated code and accuracy displayed in the estimated code display unit 202 are displayed with the lowest level of emphasis. In the example in Figure 12, the text is small and faintly displayed.
[0064] Furthermore, when the input text "Illumination abnormality and electric field strength" is entered, as shown in Figure 8, the estimated code changes from "413" to "497". Although the storage amount S is 1.0, which is above the threshold (0.8), the update parameter u is 0.4, which is greater than the threshold (0.3). Therefore, the changed estimated code "497" is selected as the display code and is displayed in the estimated code display unit 202 as shown in Figure 13. Also, because the update parameter u is 0.4, the display effect is set to "normal", and the estimated code and accuracy displayed in the estimated code display unit 202 are displayed with the second highest level of emphasis. The timing of the display change from "413" to "497" may also be set to the second highest level of speed. In the example in Figure 13, the text is displayed under normal conditions.
[0065] Furthermore, the display conditions may be adjusted according to the accuracy of the display code. For example, the text color may be darker when the accuracy is high and lighter when the accuracy is low. Also, the timing of the display code change and the duration of the effect may be adjusted according to the boundary weight. For example, the timing of updating the display code may be delayed when the boundary weight is low and the timing of updating the display code may be advanced when the boundary weight is high. Also, the time for applying the above display effects may be adjusted according to the accuracy and boundary weight.
[0066] Furthermore, each parameter used in the processing from step S301 to step S309 is stored as a parameter for each token and is read and used in the processing when the next string is entered.
[0067] (Step S310) Next, the output adjustment unit 105 multiplies the storage amount S by a divergence parameter. The divergence parameter is set to a value less than 1 (for example, 0.9). The storage amount S is stored in a reduced state due to the divergence parameter. When the next string is input, the storage amount S of the latest token is calculated by adding the cluster similarity of the latest token to the read storage amount S. After the output adjustment process, the storage amount S of the latest token is further multiplied by the divergence parameter and stored. The above process is repeated each time a new string is input, so the longer the string has been input, the less influence it has on the storage amount S. As the input sentence becomes longer, the more likely the context is to change, so it is good to use the divergence parameter as described above to reduce the influence of previously input strings on the storage amount. Note that in the example in Figure 8, for the sake of simplicity, the calculation result of the divergence parameter is not reflected. Also, as described above, a maximum value is set for the storage amount S, and if the storage amount S exceeds the maximum value, the storage amount S is converted to the value of the maximum value. This allows for an appropriate reduction in the impact of previously entered strings on the storage amount S, even if the storage amount S is too large.
[0068] (Step S210) When the processing in step S310 is completed, the output adjustment unit 105 terminates the output adjustment processing in step S209. After that, the input support device 100 determines whether or not to terminate the input support processing. For example, if the user performs an operation to end the input of an input sentence (step S210-Yes), the input support device 100 terminates the input support processing. If the input support processing is not terminated (step S210-No), the process returns to step S201, and each time a new character is entered by the user, the processes from step S201 to step S209 are repeatedly executed.
[0069] Next, the configuration and operation of the input support device 100 of this embodiment will be described. The input support device 100 of this embodiment is a device that presents estimated codes to the user in conjunction with the sequential input of input data to be classified, and comprises an input detection unit 101, a code estimation unit 102, a cluster space construction unit 103, a cluster space search unit 104, and an output adjustment unit 105. The input detection unit 101 detects the division positions in the input data and divides the input data into multiple division units. The code estimation unit 102 obtains estimated codes by estimating the classification codes of the input data using an estimation model. The cluster space construction unit 103 classifies the classification codes into multiple clusters using explanatory information of the classification codes and constructs a cluster space using an embedded representation. The cluster space search unit 104 calculates the cluster similarity between the input data and the clusters using the cluster space. The output adjustment unit 105 adjusts the output method of the estimated codes based on the cluster similarity.
[0070] For example, the output adjustment unit 105 makes it difficult to change the display code if the period of time during which similar clusters do not change is long. By doing so, the change in the display code can be adjusted using the similarity to clusters in the lexical space, which utilizes the explanatory text of the classification code, thereby giving the changeability of the display code elasticity and viscosity.
[0071] The output adjustment unit 105 of this embodiment makes it difficult to change the display code when the stored amount is large. The stored amount increases when the similar cluster does not change. Therefore, the longer the period during which the similar cluster does not change, the larger the stored amount becomes, and the less likely the display code is to change. As a result, even if the estimated code changes, if the change is small enough that the similar cluster does not change, the display code is less likely to change. In other words, the frequency of changes in the display code can be suppressed when the similar cluster does not change. On the other hand, immediately after the similar cluster changes, the stored amount becomes small, and changes in the display code are not suppressed. Therefore, if a large change occurs that causes the similar cluster to change, the display code can be changed appropriately.
[0072] Furthermore, the output adjustment unit 105 adjusts the appearance time, appearance rate, text color, background color, or text size when the estimated code is displayed, based on update parameters calculated using cluster similarity. For example, the output adjustment unit 105 increases the display effect of the displayed code when the update parameter is large, thereby increasing the display effect of the displayed code when the cluster similarity is large. As a result, the estimated code is highlighted when the cluster similarity is high. In this case, the user can determine that the displayed estimated code has high reliability. Also, if the similar cluster changes, the output adjustment unit 105 sets the update parameter to 0 and decreases the display effect of the displayed code. The reliability of the estimated code decreases when the similar cluster changes. By decreasing the display effect of the displayed code when the similar cluster changes, the user can determine that the displayed estimated code has low reliability.
[0073] Furthermore, the output adjustment unit 105 adjusts the output method using clustering results based on a portion of the input sentence to detect local similarities not used in the estimation model. For example, it uses an explanatory sentence describing a classification system to construct an embedding space using the vocabulary in the explanatory sentence, clusters the vocabulary of the explanatory sentence, and searches the vocabulary-based embedding space using the embedding representations of the input sentences that are input sequentially to identify similar clusters and cluster similarity. Subsequently, by adjusting the display timing, display speed, color, font, etc., of the estimated code displayed to the user according to the similar clusters and cluster similarity, the visual effect of the displayed code can be changed, and an output that is convincing to the user can be presented. For example, the output adjustment unit 105 increases the display effect of the displayed code when the cluster similarity is large, and decreases the display effect of the displayed code when the cluster similarity is small or when the similar clusters change.
[0074] In sequential display of estimated codes using an estimation model, the classification accuracy may decrease because the input data consists of partial strings. With the above configuration, the method of changing the displayed codes reflects changes in similar clusters, and the display effect reflects cluster similarity. Therefore, compared to simply displaying the estimated codes output from the estimation model, the estimated codes can be presented in a more convincing way for the user, improving the usability of the input support device 100. In addition, even for fragmented user input, the output can be presented with greater validity and at a more precise timing.
[0075] Furthermore, the accuracy of the estimated code and the display of the estimated code may be adjusted according to the morphological analysis results and syntactic punctuation in the input string. For example, by setting boundary weights according to grammatical and syntactic punctuation and adjusting the output according to the boundary weights, it is possible to generate output that is convincing to the user. In this way, by highlighting and displaying classification codes at grammatical and sentence structure boundaries, the displayed codes can be updated at a time that is convincing to the user. This makes it possible to more closely link the local context in the input sentence with the consistency of the classification system.
[0076] In this way, by considering the consistency between the estimated code and the clustering results, as well as changes in the clustering results, it is possible to output estimation results that are convincing to the user, even when applying a classification model used in batch processing to sequential automated classification processing.
[0077] Furthermore, if the system does not produce the expected code when the user enters "unusual sound," the user may change "unusual sound" to "abnormal sound" or similar to produce the expected code. In this way, trial and error on the user's part may be required, which can reduce the usability of the automatic estimation function. To solve the above problem, the classification code selected as the estimation code may be changed according to the cluster similarity. For example, when using a classification model that outputs multiple classification codes in descending order of accuracy, it is good practice to change the classification code adopted as the estimation code according to the magnitude of the cluster similarity. In this case, if the cluster similarity meets certain conditions, it is good practice to use the second most accurate classification code as the estimation code instead of the most accurate classification code.
[0078] The input data may also be a group of image data containing sequence information. For example, video data composed of a group of image data can be used as input data. As a division unit, for example, an image unit that makes up the video data, a part of a partial image, or a part of a stroke can be used. For example, the input support device 100 sequentially acquires the image data contained in the video data in chronological order, and predicts and outputs a classification code in the classification system each time image data is acquired.
[0079] Even when the input data is image data, by utilizing a cluster space constructed using explanatory information about the classification system and adjusting the output method of the estimated code according to similar clusters and cluster similarity, the estimated code can be displayed in a way that is highly convincing to the user.
[0080] (Examples of application) Figure 14 is a block diagram illustrating the hardware configuration of the input support device 100 according to the application example. The application example is a specific example of the embodiment and each modified example, in which the input support device 100 is implemented using a computer.
[0081] The input support device 100 comprises a processor 1, memory 2, communication device 3, input device 4, and display device 5 as hardware. The processor 1 communicates with the memory 2, communication device 3, input device 4, and display device 5 via a bus. In other words, the input support device 100 of this embodiment is implemented by a computer with such a hardware configuration.
[0082] Processor 1 is an integrated circuit that controls the overall operation of the input support device 100. For example, processor 1 has a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), and / or an FPU (Floating-Point Unit). Processor 1 may also have internal memory and I / O interfaces. Processor 1 performs various processes by interpreting and calculating programs pre-stored in memory 2. Processor 1 may be partially or entirely implemented by hardware such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
[0083] Memory 2 is a storage medium that includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and auxiliary storage. ROM is a non-volatile memory that stores various types of data. For example, ROM stores data and settings used by processor 1 when executing various processes. ROM may also have a non-temporary computer-readable storage medium that stores programs executed by processor 1. RAM is a volatile memory used for reading and writing data. RAM temporarily stores data used by processor 1 when executing various processes. RAM provides the work area for processor 1. Auxiliary storage is a non-volatile memory that stores various types of data. For example, auxiliary storage stores data and settings used by processor 1 when executing various processes, data generated by various processes on processor 1, etc. Auxiliary storage consists of HDD (Hard Disk Drive), SSD (Solid State Drive), integrated circuit storage, etc. Auxiliary storage may also have a non-temporary computer-readable storage medium that stores programs executed by processor 1.
[0084] The communication device 3 includes a communication interface such as a network interface card (NIC) for data communication with various devices connected to the input support device 100 via a network. Operation signals may be supplied from a computer connected via the communication device 3 or from an input unit of that computer, and various data may be displayed on a display unit of a computer connected via the communication device 3.
[0085] The input support device 100 does not need to include all of the memory 2, communication device 3, input device 4, and display device 5. Some of the memory 2 and communication device 3 may be omitted if necessary. The input support device 100 may be equipped with any additional hardware devices useful for executing the processing according to this embodiment. The input support device 100 does not need to consist of a single physical computer; it may consist of a computer system having multiple computers connected via wired or network lines for communication. The assignment of the series of processes according to this embodiment to the multiple processors 1 implemented in each of the multiple computers can be arbitrarily configured. All processors 1 may execute all processes in parallel, or specific processes may be assigned to one or some of the processors 1, and the series of processes according to this embodiment may be executed by the entire computer system.
[0086] Thus, according to this embodiment, it is possible to provide an input support device, method, and program that improve the method of displaying classification codes in input support using a sequential processing automatic classification function.
[0087] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]
[0088] 100...Input support device, 101...Input detection unit, 102...Code estimation unit, 103...Cluster space construction unit, 104...Cluster space search unit, 105...Output adjustment unit, 1...Processor, 2...Memory, 3...Communication equipment, 4...Input equipment, 5...Display equipment.
Claims
1. An input detection unit that detects the division position in the input data and divides the input data into multiple division units, A code estimation unit that receives data input and uses a classification model to estimate classification codes in a classification system to obtain estimated codes by estimating the classification codes of the input data, A cluster space construction unit that uses the descriptive information of the classification code to classify the classification code into multiple clusters and constructs a cluster space using an embedded representation, A cluster space search unit calculates the cluster similarity between the input data and the cluster using the aforementioned cluster space, An output adjustment unit that adjusts the output method of the estimation code based on the cluster similarity, An input support device equipped with the following:
2. The aforementioned input data is an input text in sentence format. The input detection unit performs morphological analysis and syntactic analysis on the input sentence to divide the input sentence into units and determines the boundary weights of the units. The input support device according to claim 1.
3. The descriptive information includes the vocabulary in the description of the classification code. The input support device according to claim 1.
4. The aforementioned division unit is a token, The code estimation unit estimates the classification code of the input data for each token by inputting the tokens into the classification model. The input support device according to claim 1.
5. The output adjustment unit adjusts the appearance time, appearance rate, character color, background color, or character size when the estimated code is displayed, based on the cluster similarity. The input support device according to claim 1.
6. The cluster space search unit determines similar clusters based on the cluster similarity, The output adjustment unit is, If the similar clusters do not change, a first index is calculated that is the cumulative value of cluster similarity since the change in the similar clusters, and becomes 0 when the similar clusters change. A second index is calculated, which is the cluster similarity value when the similar clusters do not change, and which becomes 0 when the similar clusters change. If the estimation code changes and the first indicator is small or the second indicator is large, the estimation result after the change is output. If the estimation code changes, and the first indicator is large, and the second indicator is small, the estimation result before the change is output. The input support device according to claim 1.
7. The output adjustment unit increases the display effect of the estimated code when the second index is large, and decreases the display effect when the second index changes. The input support device according to claim 6.
8. The input detection unit detects the division position in the input data and divides the input data into multiple division units. The code estimation unit receives data input and uses a classification model that estimates the classification code in the classification system to obtain the estimated code, which is the classification code of the input data. The cluster space construction unit uses the descriptive information of the classification code to classify the classification code into multiple clusters and constructs a cluster space using an embedded representation. The cluster space search unit calculates the cluster similarity between the input data and the cluster using the cluster space, The output adjustment unit outputs an estimation result showing the estimation result of the classification code by the classification model, The output adjustment unit adjusts the output method of the estimation code based on the cluster similarity, A method that includes the following.
9. In the processor, A function that detects the division position in the input data and divides the input data into multiple division units, This function obtains the estimated code by using a classification model that accepts data input and estimates the classification code in the classification system, and by estimating the classification code of the input data. A function to classify the aforementioned classification code into multiple clusters using the descriptive information of the classification code and construct a cluster space using an embedded representation, A function to calculate the cluster similarity between the input data and the cluster using the aforementioned cluster space, A function to output estimation results showing the estimation results of the classification code by the classification model, A function to adjust the output method of the estimation code based on the cluster similarity, A program to achieve this.
Citation Information
Patent Citations
Document classification device and trained model
WO2020021845A1