Text Analysis System, and Characteristic Evaluation System for Message Exchange Using the Same
20230237258 · 2023-07-27
Inventors
Cpc classification
G06F21/50
PHYSICS
International classification
Abstract
Aspects of this disclosure provide a device, system, and method for analyzing text. In an embodiment, a system is configured to convert characters of the text into a numerical time series signal. The numerical time series signal includes a time series conversion of the characters in numerical format. The system is further configured to generate a waveform with extracted information from the numerical time series signal. The extracted information having features based on politeness in language, a quantifiable use of punctuations, a quantifiable use of conjunctions, use of idioms, or a combination thereof. The system is additionally configured to determine whether the text is written by a specific user based on an analysis of the waveform against a threshold.
Claims
1. A system for analyzing text, the system comprising: a converter circuit configured to convert characters of the text into a numerical time series signal, wherein the numerical time series signal comprises a time series conversion of the characters in numerical format; a feature extractor circuit configured to generate a waveform comprising extracted information from the numerical time series signal, wherein the extracted information comprises features based on politeness in language, a quantifiable use of punctuations, a quantifiable use of conjunctions, use of idioms, or a combination thereof; and a determination circuit configured to determine whether the text is written by a specific user based on an analysis of the waveform against a threshold.
2. The system of claim 1, wherein the feature extractor circuit is configured to generate the waveform based on a trained neural network, wherein the trained neural network is trained using text previously written by the specific user.
3. The system of claim 1, wherein the system further comprises: an acquisition circuit configured to acquire the characters of the text; and a detector circuit configured to detect anomalous text different from the extracted information based on a determination result from the determination circuit.
4. The system of claim 1, wherein the converter circuit is configured to convert the characters of the text into the numerical time series signal based on a predetermined conversion table or using Unicode.
5. The system of claim 1, wherein the converter circuit is configured to normalize the numerical time series signal to a range between “0” and “1,” inclusive.
6. The system of claim 1, wherein the converter circuit is configured to attenuate a value of the numerical time series signal that is more than a set threshold to normalize the numerical time series signal.
7. The system of claim 1, wherein the feature extractor circuit is configured to encode the extracted information using an auto-encoder, and wherein the feature extractor circuit learns to extract the extracted information using a neural network.
8. The system of claim 1, wherein the system is part of a message exchange system, wherein the text is part of a message communicated using the message exchange system, and wherein the message exchange system is configured to determine whether to communicate the message based on the determining as to whether the message is written by the specific user.
9. The system of claim 8, wherein the message exchange system is configured to halt transmission of the message when an anomaly is detected based on an analysis of the waveform against the threshold.
10. The system of claim 8, wherein the message exchange system is configured to generate a notification message in response to halting the transmission.
11. A method for analyzing text, the method comprising: converting characters of the text into a numerical time series signal, wherein the numerical time series signal comprises a time series conversion of the characters in numerical format; generating a waveform comprising extracted information from the numerical time series signal, wherein the extracted information comprises features based on politeness in language, a quantifiable use of punctuations, a quantifiable use of conjunctions, use of idioms, or a combination thereof; and a determination circuit configured to determine whether the text is written by a specific user based on an analysis of the waveform against a threshold.
12. The method of claim ii, further comprising converting the characters of the text into the numerical time series signal based on a predetermined conversion table or using Unicode.
13. A device for analyzing text, the device comprising: a non-transitory memory storage comprising instructions; and a processor in communication with the non-transitory memory storage, the instructions, when executed by the processor, cause the processor to: convert characters of the text into a numerical time series signal, wherein the numerical time series signal comprises a time series conversion of the characters in numerical format, generate a waveform comprising extracted information from the numerical time series signal, wherein the extracted information comprises features based on politeness in language, a quantifiable use of punctuations, a quantifiable use of conjunctions, use of idioms, or a combination thereof, and determine whether the text is written by a specific user based on an analysis of the waveform against a threshold.
14. The device of claim 13, wherein the instructions, when executed by the processor, cause the processor to convert the characters of the text into the numerical time series signal based on a predetermined conversion table or using Unicode.
15. The device of claim 13, wherein the extracting of the information is performed by a neural network trained on previous texts generated by the specific user.
16. The device of claim 13, wherein the instructions, when executed by the processor, cause the processor to normalize the numerical time series signal to a range between “0” and “1,” inclusive.
17. The device of claim 13, wherein the instructions, when executed by the processor, cause the processor to: detect an anomaly in the text based on a threshold difference in the features of a typical text written by the specific user and the text under analysis, wherein the detection is based on a learning model of a neural network trained using a plurality of previously written text by the specific user; and halt the transmission of the text under analysis based on the detection of an anomaly.
18. The device of claim 13, wherein the waveform includes a classification of the extracted information, and wherein the analysis of the waveform corresponds to an analysis of the waveform to a threshold set using a plurality of previously written text by the specific user.
19. The device of claim 13, wherein the threshold is determined based on a second waveform generated using a plurality of previously written text by the specific user.
20. The device of claim 13, wherein the device is part of a message exchange system, wherein the text is part of a message communicated using the message exchange system, and wherein the message exchange system is configured to determine whether to communicate the message based on the determining as to whether the message is written by the specific user.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040] Embodiments can be implemented in hardware, software, or in any combination thereof.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0041] The following reference numerals can be used in conjunction with the drawings:
[0042] 100: text analysis system
[0043] 110: text acquisition circuit
[0044] 120: feature extraction circuit
[0045] 130: feature storage circuit
[0046] 140: anomalous text detection circuit
[0047] 200: outgoing email monitoring system
[0048] 210: outgoing email acquisition circuit
[0049] 220: feature extraction circuit
[0050] 230: feature storage circuit
[0051] 240: anomalous email detection circuit
[0052] 250: output control circuit
[0053] A text analysis system according to the present disclosure may be applied to any electronic devices having functions to electronically process text, such as computer devices, mail servers, client terminals, smartphones, and the like.
[0054]
[0055] In embodiments, the text analysis system 100 is implemented by software such as a mail server and a client terminal etc., hardware, or the combination of software and hardware. The text acquisition circuit 110 acquires text data (for example, electronic mail etc.) written by a user. In the case where text data is an electronic mail (e.g., an electronic mail in HTML form written using a mailing software loaded in a client terminal), an electronic mail sent from a client terminal to a mail server through the internet, or an electronic mail in a message exchange system is acquired.
[0056] The text acquisition circuit 110 may acquire text data written by multiple users. To provide a learning function to the text analysis system 100 in advance, text data acquired by the text acquisition circuit 110 is normal text data that is written in accordance with the user's normal behaviors, i.e., written with a normal expressive feature or structural feature.
[0057] The feature extraction circuit 120 extracts a feature included in normal text data written with the normal expressive feature or structural feature of the user and learns the feature of the user's text. After learning by the text analysis system 100, the text acquisition circuit 110 acquires optional text data and the text analysis system 100 identifies whether a feature of the optional text data corresponds to the feature of text written with the normal expressive feature or structural feature.
[0058] For example, for a text written by one user, it is identified whether the text is written with the normal expressive feature or structural feature or whether the text is written by another user.
[0059]
[0060] The character signalizing circuit 122 converts a series of characters described in a text into one-dimensional time series signals. In one preferred example, the character signalizing circuit 122 converts each of the characters in the text into numerical data based on Unicode. Unicode is one of the international standards for character code, where codes are assigned to characters, numbers, or symbols of various languages in the world.
[0061]
[0062] In another example, a conversion table may be previously prepared in which the relationship between character, idiom, phrase, etc., and numerical data is uniquely defined. The character signalizing circuit 122 may convert each character or idiom etc. in a text to numerical data by using the conversion table.
[0063] The character signalizing circuit 122 converts characters from the first to the last in a text to numerical data. For example, if the text has the size of P row(s)×Q column(s) (P and Q are any integer number), time series signals including binary value data corresponding to the number of characters in P×Q may be generated.
[0064] In this case, the character is a concept including characters in natural language, numbers, symbols, figures, and blank (space) without any characters. For example, for a text in horizontal writing, characters may be sequentially scanned from the first line to the last line, from left to right, or from right to left. Alternatively, for text in vertical writing, characters may be sequentially scanned from the first line to the last line, from the top to the bottom or from the bottom to the top. Thus, characters from the first to the last may be converted to numerical data. The scanning direction may be optionally determined. If page information configuring text data (the number of lines, the number of characters in one line) is required, the page information may be acquired at the same time. Thus, characters from the first to the last may be identified in reference to the page information.
[0065] The time series signals generated by the character signalizing circuit 122 may be regarded as a non-periodic waveform comprised of characters in the text. Words or idioms included in the text are expressed as a waveform pattern. For example, when a user uses a word or idiom “XX” frequently, a waveform pattern corresponding to “XX” may be included in the time series signals. Alternatively, when the user writes a text in polite language or uses a lot of punctuation or a lot of certain conjunction with a normal expressive feature or structural feature, a waveform pattern expressing them may be included. Such waveform pattern is one feature for identifying the user.
[0066] The character signalizing circuit 122, according to an embodiment herein, converts characters into signals based on Unicode or the conversion table. Thus, it may be applied to multiple languages without depending on a certain language. Language differences may be expressed as the difference in waveforms of time series signals. Further, the character signalizing circuit 122 does not perform morphological analysis or syntax analysis, so dictionaries such as corpus, etc. are not required, which reduces cost.
[0067] The signal normalization circuit 124 normalizes a time series signal generated by the character signalizing circuit 122. When characters are converted into numerical form by Unicode, each numerical value for generating a time series signal is expressed in a discrete value whose range may be extremely large. Thus, the signal normalization circuit 124 performs a process for suppressing outliers of the time series signals and a process for normalizing the range.
[0068] By the process of suppressing outliers, a numerical value that is more than a preset threshold value is attenuated. For example, the process is performed by the following equation, where “avg” is an average, “std” is a standard deviation, “x” is a target value (in this case, a numerical value of a time series signal), “rate” is an attenuation rate, and “d” is a coefficient that is multiplied by a numerical value to be added for raising the overall value.
threshold=|std−avg|×(1−d)
avg+((x−avg)×rate+(|x−avg|×d)):(|x−avg|>threshold)
x:(|x−avg|≤threshold) Equation 1
[0069] The threshold value (threshold) is set inside by an infinitesimal d from a point away from the average by σ, as described above (|standard deviation−average value|×(1−d)). That is, since the degree away from the average value is referenced, the target value is also divided to cases by reference to the degree away from the average value |x−avg|.
[0070] Then, for a signal for which the process of suppressing outliers is performed, the process of normalization of the range is performed. In the process of normalization of the range, the standard deviation (std) is normalized to 1 and the average (avg) is normalized to 0, after that, the minimum value is normalized to 0 and the maximum value is normalized to 1, such that the time series signals are converged into the range of 0-1.
[0071]
[0072]
[0073] Then, the process for suppressing outliers is performed by the signal normalization circuit 124, as shown above in step S104. In the process of suppressing outliers, numerical values more than the threshold value are attenuated. The attenuation may be performed multiple times, at step 106. The number of times of attenuation may be adjusted according to the data. Then, the variance and the average are normalized by the signal normalization circuit 124, after that, the minimum value is normalized to “0” and the maximum value is normalized to “1.” Unless the value of the variance is below a certain threshold value, the processes of steps S104-S108 are repeated. An upper limit may be set to the number of times of the repeated process.
[0074] Now, the signal classification circuit 126 is explained. The signal classification circuit 126 receives a normalized time series signal from the signal normalization circuit 124 to extract a feature included in the time series signal. The extracted feature is the one from which the input can be reproduced. The signal classification circuit 126 learns the feature. The signal classification circuit 126 learns text data only that includes a normal expressive feature or structural feature. For example, a feature is extracted from the normalized input form as shown in
[0075] In one preferred aspect, the signal classification circuit 216 reduces the dimensionality(s) of the feature by an auto-encoder using a neural network and suppresses the amount of information.
[0076] The signal classification circuit 126 also includes a function to inspect the reproducibility of the output waveform. Specifically, the distances between each point in two time series of the input waveform and the output waveform as shown in
[0077] The signal classification circuit 126 calculates a threshold value for classifying waveforms. Specifically, evaluation data, i.e., a feature that is extracted from a text (sentence) written by a normal expressive feature or structural feature and is compressed by the auto-encoder (which is expressed as the weight of the auto-encoder, for example, as coefficients of the equation which each neuron has) is evaluated to calculate identity. Then, the median value and the standard deviation of the identity are obtained and a threshold value is calculated by the following equation. The threshold value means that almost 95% of waveforms are included within the range from the median value to the standard deviation*2 if the waveforms show generally a normal distribution.
threshold value=median value−standard deviation×2 Equation 2
[0078] The threshold value is not limited to the above equation. If waveforms are closer to a normal distribution, threshold value=mean value−standard deviation*2(2σ) may be employed. When the similarity of waveforms is calculated by another equation, a threshold value may be based on this equation.
[0079]
[0080] The feature storage circuit 130 stores a feature extracted by the feature extraction circuit 120 and its threshold value. Each time text data is learned, the feature and the threshold value are updated.
[0081] After pre-learning by the feature extraction circuit 120 is completed, the anomalous text detection circuit 140 detects anomalous text by using the result of the pre-learning. That is, an arbitrary text A is obtained by the text acquisition circuit 110, then the feature of the text A is extracted by the feature extraction circuit 120. The signal classification circuit 126 compares the feature extracted from text A with a threshold value stored in the feature storage circuit 130. When the feature is more than the threshold value, text A is determined as anomalous text. The result of the determination is provided to the anomalous text detection circuit 140. The anomalous text detection circuit 140 detects that text A determined as anomalous text is not written with a normal expressive feature or structural feature. For example, text A is estimated as a text that is written by another user other than one user or a text that is written by the one user himself with a specific expressive feature or structural feature.
[0082]
[0083] The outgoing email monitoring system 200 includes an outgoing email acquisition circuit 210 for acquiring outgoing mail written by a user; a feature extraction circuit 220 for extracting a feature of the outgoing mail that is acquired by the outgoing email acquisition circuit 210; a feature storage circuit 230 for storing the extracted feature; an anomalous email detection circuit 240 for detecting whether or not the acquired outgoing mail has anomalous; and a transmission control circuit 250 for controlling the transmission of the outgoing mail based on the detection result of the anomalous email detection circuit 240. These functions may be performed by software in a mail server or client terminal, hardware, or the combination of software and hardware.
[0084] The outgoing email acquisition circuit 210 acquires an electronic mail in HTML form written using mailing software that is mounted in a client terminal or acquires an electronic mail for sending uploaded from a client terminal to the mail server.
[0085] The feature extraction circuit 220 operates similarly to the feature extraction circuit 120 of the above-described text analysis system. For simplicity's sake, the feature extraction circuit 220 shall be preliminary learned a feature of an electronic mail that is written by user X with a normal expressive feature or structural feature. Accordingly, if an outgoing email acquired from the outgoing email acquisition circuit 210 is written by user X, the outgoing mail has the feature same as the learned feature. Thus, the outgoing mail is identified as mail that is written by user X with a normal expressive feature or structural feature. If an outgoing mail is written by user X with specific expressive or structural features or written by another user, the outgoing mail does not have the feature same as the learned feature. Thus, outgoing mail is identified as mail that is written by user X with specific expressive or structural features or written by another user. As shown in
[0086] When it is determined that an outgoing mail has no identity, the anomalous email detection circuit 240 detects the outgoing mail as anomalous mail and provides the detection result to the transmission control circuit 250. When anomalous mail is detected, the transmission control circuit 250 instructs, for example, a client terminal or mail server to halt or hold the transmission of the outgoing mail and alerts the user to non-delivery. For example, non-delivery is displayed on the display of the client terminal or voice guidance may be used. When anomalous mail is not detected, the outgoing mail is sent to the client terminal or mail server.
[0087]
[0088] Thus, according to embodiments herein, outgoing mail is determined if the mail is written with usual expressive or structural features. When the mail is written by the user with specific expressive or structural features or written by another user, sending of the outgoing mail is halted. Thus, information leaks by unsolicited outgoing mail may be prevented.
[0089] Now, an example of verification of the text analysis system according to an embodiment herein is described. In an experiment, four types of email magazines were used for evaluation. Only one email magazine A of the four email magazines was learned. It was evaluated whether or not the other three email magazines that were not targeted to learn are identified as the one other than email magazine A (That is, as shown in
[0090] In the experiment, 1000 email magazines A were learned and each 100 email magazines of each of the other three were evaluated whether or not they are identified as the one other than email magazine A.
[0091] In another experiment, emails from three employees were evaluated. Users A and B were with a sales department and User C was with a quality management engineering department. In the experiment, emails by user A were learned.
[0092] For emails, if the text is short, the difference is not sufficiently expressed, which causes low accuracy. Also, if the type of occupation is partially overlapped, the expressions is similar. Thus, it is expected that the difference is not sufficiently expressed.
[0093] While the preferred embodiments are described above in detail, the present disclosure is not limited thereto. Modifications or variations are possible within the scope of the claims.