WO2023048589A1 - Система получения векторного представления электронного документа - Google Patents

Система получения векторного представления электронного документа Download PDF

Info

Publication number
WO2023048589A1
WO2023048589A1 PCT/RU2021/000411 RU2021000411W WO2023048589A1 WO 2023048589 A1 WO2023048589 A1 WO 2023048589A1 RU 2021000411 W RU2021000411 W RU 2021000411W WO 2023048589 A1 WO2023048589 A1 WO 2023048589A1
Authority
WO
WIPO (PCT)
Prior art keywords
skip
grams
gram
document
clusters
Prior art date
Application number
PCT/RU2021/000411
Other languages
English (en)
French (fr)
Inventor
Кирилл Евгеньевич ВЫШЕГОРОДЦЕВ
Иван Александрович ОБОЛЕНСКИЙ
Максим Сергеевич ГОЛОВНЯ
Original Assignee
Публичное Акционерное Общество "Сбербанк России"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" filed Critical Публичное Акционерное Общество "Сбербанк России"
Priority to PCT/RU2021/000411 priority Critical patent/WO2023048589A1/ru
Publication of WO2023048589A1 publication Critical patent/WO2023048589A1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • the present invention relates to computing systems in a broad sense. More specifically, to systems and methods for processing natural language, artificial language, any sign systems. It can be used in information processing systems, databases, electronic storages.
  • Automatic processing, transmission, storage of documents may include the classification of source documents, their clustering and other actions by correlating a vector representation of a document with another vector representation of a document, any set or group of documents.
  • Embodiments of this invention may be similar to the solutions described earlier in patents RU 2701995 C2, RU 2583716 C2, RU 2254610 C2.
  • Methods for obtaining a vector representation and further classification - BERT, GPT networks, recurrent networks (RNN) and the like, require large computing resources.
  • RNN recurrent networks
  • the vast majority of users have weak personal computers (stationary PCs, laptops) that do not contain special computing devices - multi-core processors, graphics computers (GPUs).
  • Tf-Idf Methods that do not require large capacities (Tf-Idf) do not have high efficiency of vector representation of documents for their further processing, for example, classification. Thus, at present, it is not possible to effectively implement the receipt of a vector representation and/or classification of a document on the user's side.
  • the claimed invention is aimed at solving the technical problem of reducing the processing time of text data on the user's computer (user's office PC) and the possibility of using it on non-specialized computers by converting them into vector form without directly using neural network models.
  • the technical result is to increase the speed of processing documents on the user's computer to classify the confidential information contained in it, by using vector representations of m-skip-n-gram words and using them to calculate the frequencies of pre-trained semantic clusters in a text document to convert it into vector view.
  • An additional result of the claimed solution is also not only the classification of documents into specified categories of confidential information, but also the possibility of clustering documents within each category, due to the resulting vector form of the document, which makes sense of the frequencies of semantic (semantic) characteristics.
  • the claimed technical result is achieved by performing a computer-implemented method of vector representation of an electronic text document to determine the category of confidential information contained in it, performed using a processor and containing the steps in which: - at least one model of placing m-skip-n-grams in clusters is formed, while the m-skip-n-gram represents at least a single word, and when forming the said model, the following is carried out:
  • a fuzzy partitioning of the list of m-skip-n-grams into clusters is used.
  • each m-skip-n-gram belongs to several clusters.
  • each m-skip-n-gram has a weight characterizing its proximity to a given cluster.
  • the clustering of m-skip-n-grams according to their vector representations is performed more than once.
  • weights are additionally used for m-skip-n-gram clusters, characterizing the significance of clusters for the vector representation of the document.
  • the vector representations of m-skip-n-grams that are not included in the list are additionally obtained and their correlation according to vector representations to at least one cluster.
  • the list or part of the list of used m-skip-n-grams is formed based on the occurrence of m-skip-n-grams in text data obtained from external data sources.
  • the claimed solution is also implemented using a system for obtaining a vector representation of an electronic document, which contains at least one processor and at least one memory storing machine-readable instructions that, when executed by the processor, implement the above method.
  • m-skip-n-gram of words (or simply “m-skip-n-gram” // http://www.machinelearning.rU/wiki/images/7/78/2017 417 DrapakSN.pdf) is understood as a set of a sequence of n words, which is obtained from a sequence of words from some text, keeping in it a sequence of words in texts, while m words are removed from the original sequence of words after each one of n words.
  • O-skip- 1-gram words are just single words from a text.
  • 0-skip-2-gram is a bigram of words (a pair of consecutive words in a text)
  • O-skip-3-gram is a trigram of words (three consecutive words in a text).
  • the vector data can be obtained, for example, by a neural network that implements a mathematical transformation from space with one dimension per word to some vector space with a higher dimension.
  • clustering is understood as a grouping of a set of objects into subsets (clusters) in such a way that objects from one cluster are more similar to each other than to objects from other clusters according to a given criterion.
  • weight of an element for example, “cluster weight” or “m-skip-n-gram weight”, can be understood as a mathematical construction, coefficients, multipliers used when summing, integrating or averaging, etc., in order to give some elements more significance in the resulting value compared to other elements. "Weight” can also be defined as an additional factor, coefficient or number associated with individual terms or other factors in the scalar product of the elements of the vector space used.
  • FIG. 1 schematically shows an example of a process for automatically obtaining a vector representation of a document.
  • FIG. 2 schematically shows an example of a process for obtaining a plurality of cluster sets, with weights for each cluster in each cluster set.
  • FIG. 3 schematically shows an example of a process for obtaining a plurality of m-skip-n-gram words, where each m-skip-n-gram word is loosely related to each cluster in each set of clusters.
  • FIG. 4 schematically shows an example of a document feature extraction process.
  • FIG. Figure 5 schematically shows an example of matching word clusters with positions of the document vector, for the two-dimensional case of the vector representation of words and a clear correlation of the word to one cluster.
  • FIG. 6 illustrates the general layout of a computing device. IMPLEMENTATION OF THE INVENTION
  • Automatic processing, transmission, storage of documents may include the classification of source documents, their clustering and other actions by correlating a vector representation of a document with another vector representation of a document, any set or group of documents.
  • FIG. 1 shows a general block diagram of the claimed method for obtaining the vector form of a document.
  • a model for placing m-skip-n-grams in clusters is obtained.
  • Such a model is a list of m-skip-n-grams, each of which is assigned to at least one of the clusters.
  • An example of such a model for a particular case, when m-skip-n-grams are symbols and words from the Russian language, and a breakdown into 1000 clusters is shown in the table below:
  • Table 1 An example of the model for placing m-skip-n-grams in clusters The process of obtaining a placement model of m-skip-n-grams by clusters.
  • a list of m-skip-n-grams to be used is first determined.
  • this can be an explanatory dictionary of the language, dictionaries of word embeddings (Word2Vec, Glove, FastText and others), a list of all words from articles from the Wikipedia site.
  • the word list must be large to cover a sufficient number of words from the analyzed documents.
  • this list goes through the normalization of words - the process when they receive lemmas (https://ru.wikipedia.org/wiki/JIeMMaTH3an ⁇ ), stemmings
  • the list may include punctuation marks, numbers, abbreviations, common nouns, proper names, abbreviations, special characters (@”;#No$%% l *()_ ⁇ ⁇
  • any sequence of printed characters in the sign system can be considered with the introduced word separation sign.
  • the size of the list, specific m-skip-n-grams, the use of normalization are chosen based on the problem being solved, available computing resources, and other factors.
  • each m-skip-n-gram from the list is converted to a vector representation with or without a natural language model.
  • the present description does not limit the method of obtaining, the dimension or the form of the vector representation. To do this, you can use methods that are based on algorithms and natural language models Word2Vec, Glove, FastText, Universal Sentence Encoder, addition with transformation through singular value decomposition, Tf-Idf.
  • the m-skip-n-gram vector is a concatenation of several vectors of this m-skip-n-gram obtained by different methods.
  • At least one of the following neural networks is used as a pretrained natural language model: ELMO, GPT, GPT-2, GPT-3, LM-FiT, BERT-BASE, BERT-LARGE, RuBERT , CamemBERT, SciBERT, ROBERTA, R-Net, Semi-supervised Sequence learning, GloVe, Word2Vec, FastText, InferSent, OpenAI Transformer, USE-Transformer (Universal sentence encoder), USE-DAN, T-NLG (Turing Natural Language Generation) or models inherited from them, including the use of neural network shortcuts (https://blog.rasa.com/compressing-bert- for-faster-prediction-2/#overview-of-model-compression) methods: distillation (https://habr.com/ru/company/avito/ blog/485290/), pruning (https://neurohive.io/ru/novosti/kak-sokrati
  • the above models are used as a pre-trained natural language model, followed by additional training of m-skip-n-gram embeddings on a set of texts based on banking documents (data, materials) or another set of text documents.
  • the m-skip-n-gram vectors are clustered.
  • the present description does not limit the way the m-skip-n-gram list is clustered.
  • the end result of clustering is the assignment of each m-skip-n-gram to at least one cluster.
  • processing of text documents is performed at step (102) using it.
  • step (102) Upon completion of the application of the model, we obtain a vector view of the document (103). If there are still unprocessed documents, then go to the next document. So until each document is processed.
  • FIG. Figure 2 shows an example of the stages of formation of the m-skip-n-gram placement model by clusters (101).
  • a set of cluster sets is obtained with weights for each cluster in each set.
  • the present description does not limit in any way the list, the form of m-skip-n-grams and the values of the parameters m and n in them.
  • a distinctive part of the invention is the very possibility of using not only separate, single words of the language, but any m-skip-n-gram of words. This does not limit the possibility of choosing such n and m that the resulting m-skip-n-grams will coincide, for example, with individual words, bigrams of words, trigrams of words, and so on.
  • This stage can be implemented by using ready-made dictionaries (Word2Vec, Glove, FastText and others), defining all kinds of or only m-skip-n-grams of interest exclusively in the class of analyzed text documents (according to the available database or training set) or in any other way.
  • Word2Vec ready-made dictionaries
  • Glove Glove
  • FastText Universal Sentence Encoder
  • Tf-Idf and others singular value transformation
  • This clustering is performed by any known method of object clustering, in which the required number of clusters is initially fixed.
  • a distinctive feature of the invention is that the clustering can be carried out several times. At the same time, it can be performed for a different number of clusters by the same clustering algorithm, for the same number of clusters by the same clustering algorithm, but with different initial initializations, for the same number of clusters by different clustering algorithms, or in any other way to obtain different sets of object clusterings.
  • the description of the invention does not limit methods for obtaining the weighting coefficients q and their values.
  • a distinctive part of the invention is the very possibility of using weighting coefficients for clusters, which allows characterizing the significance of each cluster for the vector representation of the document.
  • a “garbage” cluster can be clusters with a high proportion of "stop words", common words that do not carry the information content of words for a specific problem of text data analysis being solved.
  • the values of the weight coefficients can be obtained by any automated calculations, determined by an expert assessment, in any other way. In this case, a situation is possible when all clusters are equivalent or, as noted above, when any clusters are generally excluded from use.
  • the result of this step is a plurality of cluster sets with weights for each cluster in each set (step 1015).
  • FIG. 3 shows an example of the stages of obtaining a fuzzy correlation of words from the list.
  • clustering N times we perform clustering N times (step 1013) as follows: for each clustering, a certain number of clusters can be selected; some clustering method is chosen, which allows cluster objects into a given or indefinite number of clusters, and clustering is performed.
  • K ⁇ ki, kg, ky-i, kN ⁇ .
  • Each i-th clustering ki will be a set of Mi clusters.
  • the word-to-cluster correlation indicator allows you to determine the fuzzy distribution of words by clusters.
  • the distance from m-skip-n-grams to the center of the cluster can be. This distance can be normalized by the distances to the center of all clusters, or by the distances to only a few (possibly closest) clusters.
  • Another possible implementation of the invention is to determine the distance to a fixed number of nearest objects with a clear clustering and calculate the proportion of objects from each cluster in this adjusted number.
  • the description of the invention does not limit in any way the method, measure and indicator of obtaining a fuzzy assignment of an object to a cluster.
  • a distinctive feature of the invention is the ability to use the fuzzy mapping of m-skip-n-grams to clusters.
  • some indicator w (s j) is determined, which characterizes the degree to which the s-oe word belongs to the cluster Su (step 302).
  • each word can attribute to any number of clusters.
  • Such a clustering with fuzzy clustering can be obtained, for example, using the “C-means” fuzzy clustering method, or using an expert's assessment.
  • indicators can be chosen such that each word will belong to only one cluster, for example, in the case when the value of the correlation indicator is equal to one for one cluster (not necessarily the word closest to the vector) and equal to zero for all others.
  • the results of such a choice will characterize a clear clustering, but embodiments of the invention are possible when m-skip-n-gram will not always refer to the closest cluster.
  • Steps (201) and (202) have common preceding steps with steps (1014) and (1015). These steps are steps (1011, 1012, 1013).
  • the description of the invention does not limit the mutual implementation of the mentioned stages of the steps and their combined use, but only provides explanations for them.
  • step (102) An exemplary disclosure of step (102) is shown in FIG. 4.
  • stage (102) At the input of stage (102) is a document with data in text form.
  • the m-skip-n-grams that are present in the document and that are present in the list of m-skip-n-grams of the placement model are first determined (step 1021).
  • step (1021) When implementing step (1021), the number of occurrences of t-skip-n-grams from the generated list in the document is counted. Then it looks to which clusters these m-skip-n-grams belong. The number of m-skip-n-grams from the document within each cluster is counted.
  • cluster 457 occurs 1 time (“minister”), cluster 537 - 1 time (“speak”), cluster 737 - 2 times (“on”, “this”), cluster 368 - 1 time ("week”).
  • the final document vector will be a vector with the value 1 at positions 457, 537 and 368, the value 2 at position 737, and the value 0 at all other positions.
  • subsequent normalization of this vector is used.
  • m-skip-n-grams from the list occur 5 times.
  • the normalized vector will be a vector with the value 0.2 at positions 457, 537 and 368, the value 0.4 at position 737, and the value 0 at all other positions.
  • each position in this vector corresponds to a specific cluster.
  • an m-skip-n-gram is taken from the document, for subsequent determination to which cluster it belongs according to the generated m-skip-n-gram placement model.
  • the value at the position corresponding to the cluster in the document vector is then incremented by the number of that m-skip-n-gram in the document (step 1022).
  • the value in the position of the vector is increased not by the number of m-skip-n-grams, but by the product of the number and weight of the m-skip-n-gram for this cluster (step 1022).
  • the obtained values at the positions of the document vector are multiplied by the corresponding weights of the clusters.
  • the result is a vector representation of the document (block 1024).
  • an example of a method for automatically obtaining a vector representation an electronic document may include the following steps.
  • a vector is selected whose dimension coincides with the total number of clusters obtained in all clusterings.
  • This vector is initialized with arbitrary initial values. The description of the invention does not limit the values used for the initial initialization of the vector.
  • Each position of the vector strictly corresponds to a certain cluster (Fig. 5).
  • the words are extracted from the document. This extraction can be obtained, for example, by a sequential pass through the document, use some representation of the document, which already has the extracted words and their numbers, in any other way. For each word, ratio weights are used for each cluster in each set (step 202).
  • the invention it is also possible for the invention to increase the values at a position in the vector by a fixed value, which is then multiplied by the weight of the word ratio.
  • the description of the present solution does not limit methods for changing values at positions in a vector that are associated with a given word. It is also possible to take into account the fuzzy correlation of the word to different clusters in the final change in the values in the vector. In this case, the values of the change in values are not limited, which, in the general case, can be negative. To calculate the values by which the values in the positions of the vectors change, you can use various methods that allow you to take into account any other characteristics of the words.
  • TF-IDF Term Frequency - Inverse Document Frequency
  • the obtained values can be used for the vector view of the document, or any set and subset of them can be used in data processing, in an independent form or in combination with other data, to obtain a new vector view of the document.
  • An example of such cumulative usage would be concatenation with a TF-IDF method vector.
  • the vector representation of the document is compiled using the TF-IDF method.
  • Compilation of the document vector can be carried out by performing the claimed method. Two vectors are concatenated (the operation of joining, gluing vectors). The result of the concatenation will be the document vector. Additionally, it is possible to carry out further algebraic transformations on the resulting document vector.
  • fuzzy partitioning of the list of m-skip-n-grams into clusters is used.
  • each m-skip-n-gram corresponds to more than one cluster.
  • Each m-skip-n-gram has its own correlation to a cluster depending on the distance to this cluster. In this case, both the coordinates of the cluster center and the coordinates of m-skip-n-grams from this and other clusters can be used to calculate this distance.
  • the m-skip-n-gram applies to all clusters.
  • An example of an algorithm for implementing this particular clustering variant is C-Means.
  • each m-skip-n-gram belongs to several clusters.
  • the m-skip-n-gram can refer to one or more clusters to the same extent.
  • each m-skip-n-gram has a weight characterizing its correlation to a given cluster.
  • the weight can characterize not only the proximity of the m-skip-n-gram to the cluster.
  • the density of clusters can be taken into account in order to correlate the m-skip-n-gram more to a less dense close cluster.
  • the weight is a multiplier that is used for each m-skip-n-gram with each cluster. Weight can also be zero.
  • clustering a list of m-skip-n-grams over their vector representations is performed more than once.
  • clustering is performed several times for a different number of clusters by the same clustering algorithm.
  • the resulting document vector will be a concatenation of the vectors for each of the clusterings (example in Fig. 5).
  • different clustering algorithms are used to partition into the same number of clusters or into a different number of clusters.
  • the same number of clusters is used, and the same algorithm, but with different initial initializations, if the algorithm implies the possibility of different results with different initializations (K-Means, C-Means, Spectral clustering, Gaussian mixtures, and others).
  • the number of clusterings, the number of clusters in each clustering and the clustering algorithm are selected depending on the problem being solved. In a particular case, if the list of m-skip-n-grams is more than 10000, you can use a breakdown into clusters with sizes: 50, 100, 200, 300, 500, 700, 1000, 1500, 2000, 3000, 5000.
  • weights are used for each m-skip-n-gram cluster in each clustering (if there is more than one). These weights characterize the significance of clusters for the vector representation of the document.
  • the weights can also be zero. In this case, the number of occurrences of m-skip-n-grams in this cluster is reset to zero.
  • This approach is useful when it is required to exclude from the vector of a cluster that contain stop words - words that do not carry a thematic meaning (i, k, y, o, at, on, and others).
  • the weights for clusters can be calculated by machine learning methods and given as an expert estimate.
  • the m-skip-n-gram can be expanded with new m-skip-n-grams.
  • the method for calculating the m-skip-n-gram vector is selected. If the document encounters an m-skip-n-gram that is not in the list, then a vector representation (vector) is calculated for it. Further, this vector is related to the clusters that are obtained at the stage of clustering the list of m-skip-n-grams. In this case, the new m-skip-n-gram corresponds to at least one cluster. Further steps of the method are similar to the case if this m-skip-n-gram is present in the model for placing m-skip-n-grams in clusters.
  • the list of used m-skip-n-grams can be formed based on the occurrence of m-skip-n-grams in text data obtained from external data sources.
  • a set of texts can be any external array of text data. This can be, for example, a set of analyzed texts on various topics, collected, for example, through news sites. Processing, classification and clustering collected information allows you to find semantic similarities, analogues, implement the ranking of search results or solve any other language processing problem.
  • the application of the claimed solution does not limit the source and nature of the set of test data used.
  • An example of the implementation of such an option is the case of solving the problem of classifying text documents. Then the list of m-skip-n-grams is formed according to the initial set of documents. For example, all single words and bigrams that occur in these texts are taken. Or 200,000 most frequent bigrams. For these lists, their vector representations are calculated. Further, these vectors are fed to clustering, which is implemented by the described methods.
  • a distinctive feature of the invention is the ability to account for previously unknown m-skip-n-grams. Without limiting the invention, the following approach can be given to account for new m-skip-n-grams. For example, when passing through the textual representation of the document, when an m-skip-n-gram is found that is not in the used dictionary, a subsequent vector representation of this m-skip-n-gram is formed. After which the m-skip-n-gram refers to a certain cluster, the center of which is closest to it.
  • the acceleration of the computational algorithm is achieved due to the fact that the implementation of the proposed solution does not directly use a neural network (GPT, BERT, and others). It is not required to pass the text of the document through a huge number of layers of the neural network, which causes a long time for the neural network to work in several minutes.
  • the neural network itself is used at the training stage to obtain m-skip-n-gram embeddings. These embeddings include a high quality vector representation of phrases for a given neural network. Next, they are produced association into various semantic groups by means of diverse clustering.
  • the trained model used in the operation of the present solution is a simple m-skip-n-gram dictionaries, where each m-skip-n-gram corresponds to a cluster number. And when a vector representation of the document is received, m-skip-n-grams are searched in the dictionary.
  • the claimed solution reduces the need for RAM.
  • a neural network For the operation of a neural network, it requires about 10 L 2-10 L 3 MB of memory (RAM or video memory).
  • RAM or video memory
  • neural networks can take up both 680 MB (BERT) and 1.8 GB (LaBSE).
  • the model of the invention is m-skip-n-gram dictionaries with cluster numbers. For 100,000 words (O-skip-1-grams), such a dictionary occupies a little more than 1 MB in memory. For 100000 bigrams (m-skip-2-grams) less than 3 MB. Thus, even when using 10 different clusterings for words, bigrams and trigrams, the total model will take less than 100 MB, which is several times less than neural network models.
  • the claimed solution can be implemented on public computers. Since the stages of obtaining a vector view of a text document are a search in tables and simple vector normalization operations, these operations do not require special graphics computers (GPUs). The functioning of the invention does not require a huge number of matrix calculations, as in the case of the functioning of neural networks, but can be efficiently performed on the central computer processor (CPU). Obtaining a vector view and performing the classification of an electronic document takes about 10 L -1 seconds even on office personal computers (laptops) released up to 5 years ago.
  • the stage of obtaining a vector view of an electronic document and the stage of its classification can be separated on the user's computer.
  • the generated vector can be sent to the server for centralized classification.
  • the size of such a vector is 1-10 KB.
  • this document is classified according to the classification model located there (m-skip-n-gram placement model). This allows you to centrally update the classification model.
  • the implementation of such an approach is effectively impossible in the case of the functioning of neural networks, since on the user's side the calculation is performed over the entire model, which has inseparable (inseparable) parts of obtaining a vector representation and classification.
  • Extracting separate classification layers from the neural network and outputting them to the server does not make sense, since they are firmly connected by the logic of work and with the values of the entire neural network. Effective retraining of clustering layers is possible only if the entire network is retrained.
  • the described approach of the centralized functioning of the classifier on the server can be implemented if the entire text of the document is sent to the server. But the size of such data can be more than 100 MB and requires high computing power on the server, including graphics.
  • a sub-part of the document may be unpresentable and not correspond to the meaning and content of the entire document.
  • the described invention has a linear dependence of the processing time on the size document. Can process the entire document, given the semantics of each sub-part of the document. This is achieved by taking into account each used m-skip-n-gram, and the processing time depends only on their number. Thus, the processing time of a document with a content on the order of 10 L 5 will be on the order of 1 second. And in the resulting vector representation, the content of the beginning of the document will be equivalent to the content of its middle or its ending.
  • the claimed method (100) can be used in particular for searching and selecting similar banking documents or for clustering.
  • the effect of the invention, after classifying a document (textual information) as containing confidential information may be one or more of the following:
  • the control action in relation to the user's computer may also include direct blocking of the computer with notification of an established violation, for example, by displaying the appropriate notification on the screen of the workstation and generating data packets or a signal on the computer of a security officer.
  • Each fact of violation of the established access to confidential information can be stored in the database for keeping a log book.
  • the presented examples are only special cases of the formation of the final impact in the implementation of the claimed solution and do not limit other possible examples of its use for the purpose of preventing the leakage of sensitive data.
  • FIG. 6 shows a general view of a computing device (400) suitable for implementing the claimed solution.
  • the device (400) may be, for example, a server or other type of computing device that can be used to implement the claimed technical solution. Including being part of a cloud computing platform /
  • the computing device (400) contains one or more processors (401), memory facilities such as RAM (402) and ROM (403), input / output interfaces (404), input devices connected by a common information exchange bus /output (405), and a device for networking (406).
  • processors 401
  • memory facilities such as RAM (402) and ROM (403
  • input / output interfaces 404
  • a device for networking (406).
  • the processor (401) may be selected from a variety of devices currently widely used, such as IntelTM, AMDTM, AppleTM, Samsung ExynosTM, MediaTEKTM, Qualcomm SnapdragonTM, and etc.
  • the processor (501) can also be a graphics processor such as Nvidia, AMD, Graphcore, etc.
  • RAM (402) is a random access memory and is designed to store machine-readable instructions executable by the processor (401) to perform the necessary data logical processing operations.
  • the RAM (402) typically contains the executable instructions of the operating system and associated software components (applications, program modules, etc.).
  • a ROM (403) is one or more persistent storage devices such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
  • I/O interfaces are used to organize the operation of device components (400) and organize the operation of external connected devices.
  • the choice of appropriate interfaces depends on the particular design of the computing device, which can be, but not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
  • various means (405) of I/O information are used, for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification means (retinal scanner, fingerprint scanner, voice recognition module), etc.
  • the networking means (406) enables the communication of data by the device (400) via an internal or external computer network, such as an Intranet, Internet, LAN, and the like.
  • one or more means can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module and others
  • satellite navigation tools in the device (400) can also be used, for example, GPS, GLONASS, BeiDou, Galileo.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в повышении скорости обработки документов на ЭВМ пользователя для классификации, содержащейся в нем конфиденциальной информации. Компьютерно-реализуемый способ векторного представления электронного текстового документа для определения категории конфиденциальной информации, содержащейся в нем, выполняемый с помощью процессора и содержащий этапы (100), на которых: формируют модель размещения m-skip-n-грамм по кластерам (101), при этом при формировании упомянутой модели осуществляют: определение списка используемых m-skip-n-грамм; преобразование в векторное представление каждой m-skip-n- граммы из списка; кластеризацию m-skip-n-грамм; выполняют обработку текстового документа с помощью полученной модели (102), в ходе которой: осуществляют подсчет встречаемости m-skip- n-грамм в документе; определяют кластеры документа на основании встречаемости m-skip-n- грамм; суммируют количество встречаемости m-skip-n-грамм из каждого кластера; формируют векторное представление документа (ЮЗ); определяют категорию конфиденциальной информации в текстовом документе.

Description

СИСТЕМА ПОЛУЧЕНИЯ ВЕКТОРНОГО
ПРЕДСТАВЛЕНИЯ ЭЛЕКТРОННОГО ДОКУМЕНТА
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к вычислительным системам в широком смысле. Более конкретно - к системам и способам обработки естественного языка, искусственного языка, любых знаковых систем. Может использоваться в системах обработки информации, базах данных, электронных хранилищах.
УРОВЕНЬ ТЕХНИКИ
[0002] Автоматическая обработка, передача, хранение документов, может включать классификацию исходных документов, их кластеризацию и иные действия путем соотнесения векторного представления документа с другим векторным представлением документа, любого множества или группы документов. Варианты реализации данного изобретения могут быть схожи с решениями, изложенными ранее в патентах RU 2701995 С2, RU 2583716 С2, RU 2254610 С2. Методы получения векторного представления и дальнейшей классификации - сети BERT, GPT, рекуррентные сети (RNN) и подобные, требуют больших вычислительных ресурсов. Вместе с этим подавляющее большинство пользователей имеют слабые персональные ЭВМ (стационарный ПК, ноутбуки), которые не содержат в себе специальных вычислительных устройств - многоядерных процессоров, графических вычислителей (GPU). Способы, которые не требует больших мощностей (Tf-Idf), не обладают высокой эффективностью векторного представления документов для их дальнейшей обработки, например, классификации. Таким образом, в настоящее время, невозможно эффективно реализовывать получение векторного представления и/или классификацию документа на стороне пользователя.
[0003] Основные недостатки существующих решений обусловлены следующим:
- решения с высоким качеством классификации требуют специальных вычислительных устройств (многоядерных процессоров, GPU), которые отсутствуют у простых ПК;
- требуется хранить в памяти (оперативной или графической) всю предобученную модель нейронной сети. Стандартная версия «BERT» занимает 680 мегабайт (мультиязычная от Google: https://huggingface.co/bert-base-multilingual-cased; русскоязычная от DeepPavlov: https://huggingface.co/DeepPaylov/rubert-base-cased- sentence), расширенные версии 1,8 Гб (LaBSE: https://huggingface.co/sentence- transformers/LaBSE; от Сбербанка: http://sberbank-ai/sbert_large_nlu_ru);
- очень медленная скорость обработки для пользователя - несколько минут на текст из порядка 10Л3 слов;
- ускорение обработки путём использования только части документа неминуемо ведёт к потери семантической целостности документа и неполноте информации о нём;
- организация работы на стороннем сервере требует передачи документа (часто и большого размера) и работы мощного вычислительного центра, что делает такой подход очень дороги, поскольку количество документов, подлежащих обработке, составляет десятки миллионов документов в месяц.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Заявленное изобретение направлено на решение технической проблемы, заключающейся в сокращении времени обработки текстовых данных на ЭВМ пользователя (офисный ПК пользователя) и возможности применения на неспециализированных ЭВМ с помощью их преобразовании в векторную форму без непосредственного использования моделей нейронных сетей.
[0005] Техническим результатом является повышение скорости обработки документов на ЭВМ пользователя для классификации содержащейся в нем конфиденциальной информации, за счёт применения векторных представлений m-skip-n-грамм слов и их использовании для подсчёта частот предобученных семантических кластеров в текстовом документе для преобразования его в векторный вид.
[0006] Дополнительным результатом заявленного решения является также не только классификации документов на заданные категории конфиденциальной информации, но и возможность кластеризации документов внутри каждой категории, за счёт получаемого векторного вида документа, который имеет смысл частот семантических (смысловых) характеристик.
[0007] Заявленный технический результат достигается за счет выполнения компьютерно-реализуемого способа векторного представления электронного текстового документа для определения категории конфиденциальной информации, содержащейся в нем, выполняемого с помощью процессора и содержащего этапы, на которых: - формируют по меньшей мере одну модель размещения m-skip-n-грамм по кластерам, при этом m-skip-n-грамма представляет по меньшей мере отдельное слово и при формировании упомянутой модели осуществляют:
• определение списка используемых m-skip-n-грамм;
• преобразование в векторное представление каждой m-skip-n-граммы из списка;
• кластеризацию m-skip-n-грамм по их векторным представлениям;
- выполняют обработку по меньшей мере одного текстового документа с помощью полученной модели размещения m-skip-n-грамм, в ходе которой:
• осуществляют подсчет встречаемости m-skip-n-грамм в текстовом документе;
• определяют кластеры текстового документа на основании встречаемости m-skip-n-грамм;
• суммируют количество встречаемости m-skip-n-грамм из каждого кластера;
• формируют векторное представление текстового документа на основании упорядоченной последовательности сумм m-skip-n-грамм; определяют категорию конфиденциальной информации в текстовом документе на основании модели размещения m-skip-n-грамм.
[0008] В одном частном варианте реализации способа используют нечеткое разбиение списка m-skip-n-грамм на кластеры.
[0009] В другом частном варианте реализации способа каждая m-skip-n-грамма относится к нескольким кластерам.
[0010] В другом частном варианте реализации способа каждая m-skip-n-грамма имеет вес, характеризующий ее близость к заданному кластеру.
[ООН] В другом частном варианте реализации способа кластеризация m-skip-n-грамм по их векторным представлениям выполняется более одного раза.
[0012] В другом частном варианте реализации способа дополнительно используются веса для кластеров m-skip-n-грамм, характеризующие значимость кластеров для векторного представления документа.
[0013] В другом частном варианте реализации способа дополнительно производится получение векторных представлений m-skip-n-грамм, не входящих в список, и их соотнесение по векторным представлениям к по меньшей мере одному кластеру. [0014] В другом частном варианте реализации способа список или часть списка используемых m-skip-n-грамм формируется исходя из встречаемости m-skip-n-грамм в текстовых данных, получаемых из внешних источников данных.
[0015] Заявленное решение также осуществляется с помощью системы получения векторного представления электронного документа, которая содержит по меньшей мере один процессор и по меньшей мере одну память, хранящую машиночитаемые инструкции, которые при их исполнении процессором реализуют вышеуказанный способ.
[0016] Заявленный технический результат также достигается за счет компьютернореализуемого способа определения категории конфиденциальной информации в текстовом документе, выполняемый с помощью процессора и содержащий этапы, на которых выполняют:
- предварительное формирование по меньшей мере одной модели размещения т- skip-n-грамм по кластерам по заданной тематике, при этом m-skip-n-грамма представляет по меньшей мере отдельное слово и при формировании упомянутой модели осуществляют:
• определение списка используемых m-skip-n-грамм;
• преобразование в векторное представление каждой m-skip-n-граммы из списка;
• кластеризацию m-skip-n-грамм по их векторным представлениям;
- получают по меньшей мере один электронный текстовый документ;
- выполняют обработку полученного текстового документа с помощью полученной модели размещения m-skip-n-грамм, в ходе которой:
• осуществляют подсчет встречаемости m-skip-n-грамм в текстовом документе;
• определяют кластеры текстового документа на основании встречаемости т- skip-n-грамм;
• суммируют количество встречаемости m-skip-n-грамм из каждого кластера;
• формируют векторное представление текстового документа на основании упорядоченной последовательности сумм m-skip-n-грамм;
- определяют категорию конфиденциальной информации в электронном текстовом документе с помощью модели размещения m-skip-n-грамм.
[0017] В настоящем документе под «m-skip-n-граммой слов» (или просто «m-skip-n- граммой» // http://www.machinelearning.rU/wiki/images/7/78/2017 417 DrapakSN.pdf) понимается совокупность последовательности из п слов, которая получена из последовательности слов из некоторого текста, сохраняя в ней последовательность слов в текстах, при этом из исходной последовательности слов удалено m слов после каждого одного из п слов. Например, O-skip- 1 -грамма слов это просто отдельные слова из текста. 0- skip-2 -грамма это биграммы слов (пара подряд идущих слов в тексте), O-skip-З -грамма это триграммы слов (тройка подряд идущих слов в тексте). Для построения 1 -skip-2-граммы берется последовательность из трех слов, в которой удаляется второе слово - то есть, это первое и третье слово. Для построения 2-skip-4-rpaMMbi берется последовательность из 10 слов, в ней берется первое слов, затем 2 слова удаляется, затем берется следующее слово, далее удаляется 2 следующих слова, и так, пока не будет получена последовательность из 4 слов. Например, имеем предложение «в соответствии с одним или более вариантами реализации настоящего изобретения». В ней удаляются слова «соответствии с», «или более», «реализации настоящего». Тогда 2-skip-4-rpaMMa для данного предложения будет выглядеть как «в одним вариантами изобретения». При этом при построении m-skip-n- грамм за «слово» могут приниматься, как только слова языка, так и любой знак препинания, предлог, союз или любая самостоятельная единица языка. Всюду далее, без потери общности для упрощения изложения, под «словом» («словами» и прочим) будет понимать любую возможную m-skip-n-грамму слов и последовательность m-skip-n-грамм слов, если не сказано иное, например, «отдельных слов», «одиночных слов» и подобное. При этом также будем использовать и сам исходный термин m-skip-n-грамма.
[0018] Под «эмбедингом» слова (от англ, embedding - вложение) или же «векторным представлением» слова или просто «вектором» слова будем понимать такой числовой вектор, который получены из слов или других языковых сущностей, и который определён для слова, и имеет фиксированную размерность для метода его получения. Другими словами, векторным представлением слова является упорядоченная последовательность чисел - числовой вектор некоторого размера, когда каждое слово имеет свой определённый числовой вектор. В самом простом случае эмбеддинги слов можно получить нумерацией слов в некотором словаре и постановкой значения равного 1 в векторе, размерность которого равна числу слов в этом словаре. При этом на остальных позициях будут находиться значения равные 0. Например, для русского языка можно использовать Толковый словарь Даля. В нём пронумеруем все слова от первого до последнего. Так слово «абажур» будет иметь значение 1 на позиции 3, «абанат» - иметь значение 1 на позиции 7, и так далее. Если в словаре 200000 слов, то эмбединг будет иметь размерность 200000. Подобный метод построения эмбеддингов называют - one-hot encoding. Описание изобретения не ограничивает способ получения векторов слов. Данные вектора могут быть получены, например, нейронной сетью, реализующей математическое преобразование из пространства с одним измерением на слово в некоторое пространство вектора с большей размерностью. Иными методами, позволяющими сопоставить каждой m-skip-n-грамме свой вектор чисел заданной размерности. Данное векторное представление слов можно получать из уже известных набор векторизированных слов (Word2Vec, Glove, FastText и другие), модифицируя их или без такового. При этом под кластеризацией понимается группировка множества объектов на подмножества (кластеры) таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по заданному критерию. Под «весом» элемента, например, «вес кластера» или «вес m-skip-n-граммы», можно понимать математическую конструкцию, коэффициенты, множители, используемые при проведении суммирования, интегрирования или усреднения и прочего с целью придания некоторым элементам большей значимости в результирующем значении по сравнению с другими элементами. «Вес» можно определить и как дополнительный множитель, коэффициент или число, сопоставляемое отдельным слагаемым или другим факторам, в скалярном произведении элементов используемого векторного пространства.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0019] Настоящее изобретение иллюстрируется на примерах, без каких бы то ни было ограничений; его сущность становится понятной при рассмотрении приведенного ниже подробного описания изобретения в сочетании с чертежами, при этом:
[0020] На Фиг. 1 схематически показан пример процесса автоматического получения векторного представления документа.
[0021 ] На Фиг. 2 схематически показан пример процесса получения множества наборов кластеров с весами для каждого кластера в каждом наборе кластеров.
[0022] На Фиг. 3 схематически показан пример процесса получения множества m-skip- n-грамм слов, где каждая m-skip-n-грамм слова нечетко относится к каждому кластеру в каждом наборе кластеров.
[0023] На Фиг. 4 схематически показан пример процесса извлечения признаков документа.
[0024] На Фиг. 5 схематически показан пример сопоставления кластеров слов с позициями вектора документа, для двумерного случая векторного представления слов и четким соотнесением слова к одному кластеру.
[0025] Фиг. 6 иллюстрирует общую схему вычислительного устройства. ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0026] В настоящем документе описываются способы получения векторного представления электронного документа для дальнейшей обработки, передачи и хранения. Изобретение может быть применено к любым естественным языкам, искусственным языкам, любым знаковым система, при этом, далее в настоящем документе, все это будем называть просто «языком». Таким образом, далее, под «языком» понимаются естественные языки, искусственные языки, любые знаковые системы.
[0027] Автоматическая обработка, передача, хранение документов, может включать классификацию исходных документов, их кластеризацию и иные действия путем соотнесения векторного представления документа с другим векторным представлением документа, любого множества или группы документов.
[0028] На Фиг. 1 представлена общая блок-схема заявленного способа получения векторной формы документа. На первом этапе (101) реализации изобретения производится получение модели размещения m-skip-n-грамм по кластерам. Такая модель представляет собой список m-skip-n-грамм каждая из которых соотнесена по меньшей мере к одному из кластеров. Пример такой модели для частного случая, когда m-skip-n-граммы являются символами и словами из русского языка, и разбивки на 1000 кластеров приведён в таблице ниже:
Таблица 1. Пример модели размещения m-skip-n-грамм по кластерам
Figure imgf000009_0001
Процесс получения модели размещения m-skip-n-грамм по кластерам.
[0029] Для формирования модели сначала определяется список используемых m-skip- n-грамм. В частном случае это может быть толковый словарь языка, словари эмбедингов слов (Word2Vec, Glove, FastText и другие), список всех слов из статей с сайта «Википедия». В таком случае список слов должен быть большим, чтобы покрыть достаточное количество слов из анализируемых документов. В другом частном случае данный список проходит еще через нормализацию слов - процесс, когда получают леммы (https://ru.wikipedia.org/wiki/JIeMMaTH3an^), стемминги
(https://ru.wikipedia.org/wiki/CTeMMHHr), морфологические корни, морфологические основы слов. В частном случае заглавные (прописные) и строчные буквы не различаются при формировании m-skip-n-грамм. В другом частном случае заглавные буквы различаются от строчных и их наличие образовывает разные m-skip-n-граммы. Помимо слов естественного, формального, искусственного языков в список могут включаться знаки препинания, цифры, аббревиатуры, нарицательные имена, имена собственные, сокращения, специальные символы (@”;#№$%%л*()_} {|\ и прочие), математические символы и любые другие печатные последовательности символов. В частном случае можно рассматривать любую последовательность печатных знаков в знаковой системе при введённом знаке разделения слов. Размер списка, конкретные m-skip-n-граммы, использование нормализации выбираются исходя из решаемой задачи, доступных вычислительных ресурсов и других факторов.
[0030] Далее каждая m-skip-n-грамма из списка преобразовывается в векторное представление с помощью модели естественного языка или без таковой. Настоящее описание не ограничивает способ получения, размерность или вид векторного представления. Для этого можно использовать способы, которые основаны на алгоритмах и моделях естественного языка Word2Vec, Glove, FastText, Universal Sentence Encoder, дополнение с трансформацией через сингулярное разложение, Tf-Idf. В одном частном варианте реализации вектор m-skip-n-граммы представляет собой конкатенацию нескольких векторов этой m-skip-n-граммы, полученных по разным способам.
[0031] В одном частном варианте реализации способа в качестве предобученной модели естественного языка используют по крайней мере одну из следующих нейронных сетей: ELMO, GPT, GPT-2, GPT-3, LM-FiT, BERT-BASE, BERT-LARGE, RuBERT, CamemBERT, SciBERT, ROBERTA, R-Net, Semi-supervised Sequence learning, GloVe, Word2Vec, FastText, InferSent, OpenAI Transformer, USE-Transformer (Universal sentence encoder), USE-DAN, T-NLG (Turing Natural Language Generation) или наследуемые от них модели, в том числе и применение сокращений нейронных сетей (htps://blog.rasa.com/compressing-bert- for-faster-prediction-2/#overview-of-model- compression) методами: дистилляции (https://habr.com/ru/company/avito/blog/485290/), прунинга (https://neurohive.io/ru/novosti/kak-sokratit-razmer-nejroseti-na-10-20-i-ne-proigrat- v-tochnosti/, https://openreview.net/pdf?id=rJl-b3RcF7), квантизации
(https://www.researchgate.net/publication/342938169 KVANTIZACIA VESOV GLUBOKIH
NEJRONNYH SETEJ POSLE OBUCENIA, htps://www.hse.ru/data/2019/07/12/1477568723/Tpa4eB_pe3ioMe.pdf ) . [0032] В другом частном варианте реализации способа в качестве предобученной модели естественного языка используют вышеуказанные модели с последующем дообучением эмбедингов m-skip-n-грамм на наборе текстов по банковским документам (данным, материалам) или ином наборе текстовых документов.
[0033] Далее выполняется кластеризация векторов m-skip-n-грамм. Настоящее описание не ограничивает способ кластеризации списка m-skip-n-граммы. Можно использовать такие алгоритмы кластеризации как К-Means, Affinity propagation, Mean-shift, Spectral clustering, Ward hierarchical clustering, Agglomerative clustering, DBSCAN, OPTICS, Gaussian mixtures, Birch. Конечным результатом кластеризации является соотнесение каждой m-skip-n-граммы по меньшей мере к одному кластеру.
[0034] По завершению получения модели размещения m-skip-n-грамм выполняется обработка текстовых документов на этапе (102) с ее применением. По завершению применения модели получаем векторный вид документа (103). Если остались еще необработанные документы, то переходим ко следующему документу. Так пока не будет обработан каждый документ.
[0035] На Фиг. 2 приведен пример этапов формирования модели размещения m-skip-n- грамм по кластерам (101). Здесь осуществляется получение множества наборов кластеров с весами для каждого кластера в каждом наборе. В начале производим выбор базового списка m-skip-n-грамм, затем получаем их вектора (1011). Настоящее описание не ограничивает как-либо список, вид m-skip-n-грамм и значения параметров m и п в них. Отличительной частью изобретения являет сама возможность использования не только отдельных, одиночных слов языка, но любых m-skip-n-грамм слов. При этом не ограничивается возможность выбора таких п и т, что полученные m-skip-n-граммы будут совпадать, например, с отдельными словами, биграммами слов, триграммами слов и прочим.
[0036] Этот этап может реализовываться путём использования готовых словарей (Word2Vec, Glove, FastText и другие), определением всевозможных или только интересующих m-skip-n-грамм исключительно в классе анализируемых текстовых документов (по имеющиеся базе данных или учебном наборе) или любым иным способом. Далее получаем векторное представление выбранных m-skip-n-грамм любым способом (алгоритмы и модели Word2Vec, Glove, FastText, Universal Sentence Encoder, дополнение c трансформацией сингулярным разложением, Tf-Idf и другие) (1011). На этапе 1012 проводим многократную кластеризацию векторного представления m-skip-n-грамм слов. Данная кластеризация производится любым известным способом кластеризации объектов при котором изначально фиксируется требуемое количество кластеров. Отличительной особенностью изобретения является то, что кластеризация может проводиться несколько раз. При этом она может производиться на разное количество кластеров одним и тем же алгоритмом кластеризации, на одинаковое количество кластеров одним и тем же алгоритмом кластеризации, но с разными начальными инициализациями, на одинаковое количество кластеров различными алгоритмами кластеризации или любым иным способом получения различных совокупностей кластеризаций объектов.
[0037] Таким образом формируется множество наборов кластеров K={ki, кг, ..., кн-i, км} (этап 1013). Для каждого Су кластера -j -ого кластера в i-ом разбиении на кластеры, где i = 1, N, j = l,Mt, задается свой весовой коэффициент qy, который может характеризовать значимость этого кластера для векторного представления документа (этап 1014). Описание изобретения не ограничивает методы получения весовых коэффициентов q и их значения. Отличительной частью изобретения являет сама возможность использования весовых коэффициентов для кластеров, что позволяет характеризовать значимость каждого кластера для векторного представления документа. Одной из возможных реализаций является подход, когда производится выделение «мусорных» кластеров и исключение данного кластера, например, обнулением его веса. При этом «мусорным» кластером могут являться кластеры с высокой долей «стоп-слов», общих слов, не несущих информативность слов для конкретной решаемой задачи анализа текстовых данных. Значения весовых коэффициентов можно получить какими-либо автоматизированными вычислениями, определить экспертной оценкой, любым иным способом. При этом возможна ситуация, когда все кластеры являются равнозначными или, как отмечено выше, когда какие-либо кластеры вообще исключаются из использования. Результатом данного этапа является множество наборов кластеров с весами для каждого кластера в каждом наборе (этап 1015).
[0038] На Фиг. 3 приведен пример этапов получения нечеткого соотнесения слов из списка. Для всех или части слов из словаря проводим разбиение на кластеры N раз (этап 1013) следующим образом: для каждой кластеризации может выбираться определенное количество кластеров; выбирается некоторый метод кластеризации, который позволяет кластеризовать объекты на заданное или неопределенное количество кластеров, и производится кластеризация. Каждую кластеризацию обозначим ki , где i = 1, N. Тогда общее множество наборов кластеров обозначим K={ki, кг, кы-i, kN}. Каждая i-ая кластеризация ki будет представлять собой набор из Mi кластеров. Каждый j-ый кластер в i- ом разбиении на кластеры обозначим Су , где i = 1,N, j = 1, Mt. Далее, для данного множество наборов кластеров K={ki, кг, ..., kN-i, kN} выбираем показатели соотнесения слова к кластерам (этап 201). Показатель соотнесения слова к кластерам позволяет определить нечеткое распределение слов по кластерам. В качестве такого показателя может быть расстояние от m-skip-n-грамм до центра кластера. Данное расстояние может нормироваться по расстояниям до центра всех кластеров, или по расстояниям только до нескольких (возможен вариант ближайших) кластеров. Другой возможный вариант реализации изобретения состоит в том, чтобы определять расстояние до оправленного количества ближайших объектов при четкой кластеризации и рассчитывать долю объектов из каждого кластера в этом оправленном количестве. При этом описание изобретение никак не ограничивает способ, меру и показатель получения нечеткого соотнесения объекта к кластеру. Отличительной особенностью изобретения является возможность использовать нечеткое соотнесение m-skip-n-грамм к кластерам. Таким образом для каждого используемого s-ro слова определяется некоторый показатель w(s j, который характеризует в какой степени s-oe слово относится к кластеру Су (этап 302).
[0039] Каждое слово мы можем отнести к любому количеству кластеров. Подобную разбивку на кластеры с нечетким разбиением по кластерам можно получить, например, методом нечеткой кластеризации «С-средних», или с использованием оценки специалиста. При этом могут быть выбраны такие показатели, что каждое слово будет относиться только к одному кластеру, например, в случае, когда значение показателя соотнесения равно единице для одного кластера (не обязательно самого близкого к вектору слова) и равно нулям для всех остальных. В некоторых случаях результаты такого выбора будут характеризовать четкую кластеризацию, но возможны варианты реализации изобретения, когда m-skip-n-грамм не всегда будет относится к самому близкому кластеру. То есть, при этом результаты такого выбора показателей соотнесения, в общем случае, не обязательно будут соответствовать результатам работы алгоритмов четкой кластеризации слов. Описание изобретения не ограничивает количество разбивок на кластеры, которых, очевидно, должно быть больше нуля (>0). Описание изобретения не ограничивает метрику и математические пространства для произведения кластеризации, и соотнесения слов с кластерами.
И [0040] Этапы (201) и (202) имеют общие предшествующие шаги с этапами (1014) и (1015). Данными этапами являются этапы (1011, 1012, 1013). Описание изобретения не ограничивает взаимную выполнения упомянутых этапов шагов и их совокупное использование, а дает только пояснения к ним.
[0041] Пример раскрытия этапа (102) представлен на Фиг. 4. На вход этапа (102) подается документ с данными в текстовом виде. В частном варианте реализации способа сначала производится определение m-skip-n-грамм, которые присутствуют в документе и которые присутствуют в списке m-skip-n-грамм модели размещения (этап 1021).
[0042] При реализации этапа (1021) выполняется подсчет количества встречаемости т- skip-n-грамм из сформированного списка в документе. Затем смотрится к каким кластерам относятся эти m-skip-n-граммы. Подсчитывается количество m-skip-n-грамм из документа внутри каждого кластера.
Например, имеем следующее предложение: «министр выступит на этой неделе». В нём, в соответствии с примером из таблицы 1, кластер 457 встречается 1 раз («министр»), кластер 537 - 1 раз («выступит»), кластер 737 - 2 раза («на», «этой»), кластер 368 - 1 раз («неделе»). Тогда итоговый вектор документ будет представлять собой вектор, у которого на позициях 457, 537 и 368 будет стоять значение 1, на позиции 737 значение 2, на всех остальных позициях - значение 0. В другом частном варианте реализации способа используется последующая нормировку данного вектора. В рассмотренном примере m-skip-n-граммы из списка встречаются 5 раз. Тогда нормированный вектор будет представлять собой вектор, у которого на позициях 457, 537 и 368 будет стоять значение 0,2, на позиции 737 значение 0,4, на всех остальных позициях - значение 0.
[0043] Далее начинается формирование вектора документа. Каждая позиция в этом векторе соответствует определенному кластеру. Сначала берётся m-skip-n-грамма из документа, для последующего определения к какому кластеру она относится по сформированной модели размещения m-skip-n-грамм. Затем значение, на соответствующей кластеру позиции в векторе документа, увеличиваем на количество этой m-skip-n-граммы в документе (этап 1022). В одном из частных вариантов способа реализации значение в позиции вектора увеличиваем не на количество m-skip-n-грамм, а на произведение количества и веса m-skip-n-граммы для этого кластера (этап 1022). На следующем этапе (1023) полученные значения на позициях вектора документа умножаем на соответствующие веса кластеров. Результатом является векторное представление документа (этап 1024).
[0044] В соответствии с одним или более вариантами реализации настоящего изобретения, пример способа автоматизированного получения векторного представления электронного документа может включать в себя следующие этапы. Выбирается вектор, размерность которого совпадает с общим количеством полученных кластеров во всех кластеризациях. Данный вектор инициализируем произвольными начальными значениями. Описание изобретения не ограничивает значения, используемые для начальной инициализации вектора.
[0045] Возможно также использовать, например, нулевые значения. Каждая позиция вектора строго соответствует определенному кластеру (Фиг. 5). Осуществляется извлечение слов из документа. Данное извлечение можно получить, например, последовательный проходом по документу, использовать некоторое представление документа, которое уже имеет извлеченные слова и их количества, любым иным способом. Для каждого слова используют веса соотношения для каждого кластера в каждом наборе (этап 202).
[0046] Для примера рассмотрим последовательное извлечение слов из текста, не ограничивая варианты реализации изобретения. Выполняется получение слова из текста. По весам соотношения слова с каждым кластером выполняется поиск позиции в векторе документа, значения в которых необходимо увеличить. Осуществляем увеличение данных значений в выявленных позициях на некоторое значение. Это значение может быть фиксированным, либо изменяемым в зависимости от условий в процессе обработки документа. Данное значение уже может учитывать в себе вес соотношения слова с каждым кластером.
[0047] Возможен также вариант изобретения, когда увеличение значений на позиции в векторе происходит на фиксированное значение, которое затем умножается на вес соотношения слова. Описание настоящего решения не ограничивает методы изменения значений на позициях в векторе, которые связаны с данным словом. Возможно также учитывать в итоговом изменении значений в векторе нечеткое соотнесение слова к различным кластерам. При этом не ограничиваются значения изменений значений, которые, в общем случае, могут быть и отрицательными. Для расчета значений, на которые изменяются значения в позициях векторов, можно использовать различные методы, которые позволяют учитывать и любые иные характеристики слов. Таким примером может быть использование метода «частоты использования слов - обратной частоты документа» (TF-IDF, Term Frequency - Inverse Document Frequency), или просто частоты слов. Также, для расчета значений, можно учитывать вес кластера, характеризующий значимость кластера для векторного представления документа. Проходя так по всему тексту, производим увеличение соответствующих позиций в векторе документа. Итогом прохода может стать векторный вид документа. [0048] Настоящее описание не ограничивает подходы по использованию весов кластеров, характеризующие значимость каждого кластера для векторного представления документа, и весов соотношения слова для каждого кластера в каждом наборе. Заявленное решение дает возможность использовать данные веса при составлении векторного вида документа. Полученные значения могут использоваться для векторного вида документа или любое их множество и подмножество использоваться в обработке данных, в самостоятельном виде или в совокупности с другими данными, для получения нового векторного вида документа. Примером такого совокупного использования может служить конкатенация с вектором метода TF-IDF. В данном случае осуществляется составление векторного представления документа по методу TF-IDF. Составление вектора документа может осуществляться с помощью выполнения заявленного способа. Производится конкатенация двух векторов (операцию соединения, склеивания векторов). Результатом конкатенации и будет являться вектор документа. Дополнительно возможно дальнейшее проведение алгебраических преобразований над полученным вектором документа.
[0049] В одном частном варианте реализации способа используется нечеткое разбиение списка m-skip-n-грамм на кластера. В этом варианте каждая m-skip-n-грамм соотносится больше чем к одному кластеру. Каждая m-skip-n-грамм имеет своё соотнесение к кластеру в зависимости от расстояния до этого кластера. При этом для расчета данного расстояния могут использоваться и координаты центра кластера, и координаты m-skip-n-грамм из этого и других кластеров. В частном случае такого способа кластеризации m-skip-n-грамма относится ко всем кластерам. Примером алгоритма для реализации данном частном варианте кластеризации является С -Means.
[0050] В одном из частных вариантов реализации каждая m-skip-n-грамма относится к нескольким кластерам. При этом m-skip-n-грамма может относиться к одному или более кластерам в одинаковой степени.
[0051] В другом частном варианте реализации каждая m-skip-n-грамма имеет вес, характеризующий ее соотнесение к заданному кластеру. В отличие от предыдущих частных вариантов в данном случае вес может характеризовать не только близость m-skip-n-граммы к кластеру. При расчете данного веса может учитываться, например, плотность кластеров, чтобы m-skip-n-грамму соотносить в большей степени к менее плотному близкому кластеру. Вес является множителем, который используется для каждой m-skip-n-граммы с каждым кластером. Вес может принимать и нулевое значение.
[0052] Еще в одном частном варианте реализации кластеризация списка m-skip-n- грамм по их векторным представлениям выполняется более одного раза. В таком варианте кластеризация производится несколько раз на разное количество кластеров одним и тем же алгоритмом кластеризации. Итоговый вектор документа будет представлять собой конкатенацию векторов по каждой из кластеризации (пример на Фиг. 5). В другом случае используются разные алгоритмы кластеризации для разбиения на одинаковое количество кластеров или на разное количество кластеров. В еще одном случае используется одинаковое количество кластеров, и один и тот же алгоритм, но с разными начальными инициализациями, если алгоритм подразумевает возможность различного результата при разных инициализациях (K-Means, С-Means, Spectral clustering, Gaussian mixtures и другие). Количество кластеризаций, количество кластеров в каждой кластеризации и алгоритм кластеризации подбирается в зависимости от решаемой задачи. В частном случае, если список m-skip-n-грамм более 10000, можно использовать разбивку на кластера размерами: 50, 100, 200, 300, 500, 700, 1000, 1500, 2000, 3000, 5000. В ином частном случае составляются отдельные списки, например, для O-skip- 1 -грамм (одиночных слов), 0-skip-2- грамм (биграмм слов), O-skip-З -грамм (триграмм слов). Каждый из этих списков отдельно кластеризуется несколько раз. Итоговым вектором документа будет являться конкатенация векторов по каждой из кластеризации для каждого списка.
[0053] В другом частном варианте реализации для каждого кластера m-skip-n-грамм в каждой кластеризации (если их несколько) используются веса. Эти веса характеризуют значимость кластеров для векторного представления документа. Веса могут иметь и нулевые значения. В таком случае количество встречаемости m-skip-n-грамм в этом кластере обнуляется. Этот подход полезен, когда требуется исключить из вектора кластера, которые содержат стоп-слова - слова, не несущие тематического смысла (и, к, у, о, при, на и прочие). В частных случаях веса для кластеров могут рассчитываться методами машинного обучения, задаваться как экспертная оценка.
[0054] Также, m-skip-n-грамма может расширяться новыми m-skip-n-граммами. В таком варианте выбирается способ расчета вектора m-skip-n-граммы. Если в документ встречается m-skip-n-грамма, которой нет в списке, то для нее рассчитывается векторное представление (вектор). Далее этот вектор соотносится к кластерам, которые получены на этапе кластеризации списка m-skip-n-грамм. При этом новая m-skip-n-грамма соотносится по меньшей мере к одному кластеру. Дальнейшие шаги способа аналогичны случаю, если эта m-skip-n-грамма присутствует в модели размещения m-skip-n-грамм по кластерам.
[0055] Список используемых m-skip-n-грамм может формироваться исходя из встречаемости m-skip-n-грамм в текстовых данных, получаемых из внешних источников данных. Таким множеством текстов может быть любой внешний массив текстовых данных. Это может быть, например, множество анализируемых текстов различной тематики, собираемых, например, через новостные сайты. Обработка, классификация и кластеризация собираемой информации позволяет найти семантические сходства, аналоги, реализовать ранжирование результатов поиска или решить любую другую задачу обработки языка. Применение заявленного решения не ограничивает источник и природу используемого множества тестовых данных.
[0056] Примером реализации такого варианта является случай решения задачи классификации текстовых документов. Тогда список m-skip-n-грамм формируется по исходному набору документов. Например, берутся все одиночные слова и биграммы, которые встречаются в этих текстах. Или 200000 самых частых биграмм. Для этих списков рассчитываются их векторные представления. Далее эти вектора подаются на кластеризацию, которая реализуется описанными способами.
[0057] При реализации настоящего изобретения все описанные варианты можно использовать в любой возможной совокупности и сочетании. Примером такого частного варианта является случай, когда по имеющемуся набору данных выбираются все встречающиеся одиночные слова, биграмм слов, триграмм слов. В каждом списке рассчитываются вектора n-грамм слов. Далее каждый список векторов подаётся на многократную кластеризацию. В каждой кластеризации для каждой n-граммы выбирается вес соотнесения ее к кластеру. Затем берём каждый анализируемый документ. По встречаемости n-грамм получаем вектор по каждой кластеризации. Значения в кластерах умножаются на веса кластеров. Каждый такой вектор нормируется. Все вектора конкатенируются в общий вектор. Описание патента не ограничивает совокупности использования различных подходов.
[0058] Отличительной особенностью изобретения является предоставление возможности учёта ранее неизвестных m-skip-n-грамм. Не ограничивая изобретение можно привести следующий подход для учёта новых m-skip-n-грамм. Например, проходя по текстовому представлению документа при выявлении m-skip-n-граммы, которой нет в используемом словаре, формируется последующее векторное представление данной т- skip-n-граммы. После чего m-skip-n-грамма относится к определенному кластеру, центр которого является ближайший к ней.
[0059] Ускорение работы вычислительного алгоритма достигается за счёт того, что при реализации заявленного решения непосредственно не используется нейронная сеть (GPT, BERT и прочие). Не требуется пропускать текст документа через огромное множество слоёв нейронной сети, что и обуславливает длительное время работы нейронной сети в несколько минут. Сама нейронная сеть применяется на этапе обучения для получения эмбедингов m-skip-n-грамм. Эти эмбединги включают в себя высокое качество получения векторного представления фраз для данной нейронной сети. Далее производится их объединение в различные семантические группы путём многообразной кластеризации. Таким образом, используемая при функционировании настоящего решения обученная модель представляет собой простые словари m-skip-n-грамм, где каждой m-skip-n-грамм соответствует номер кластера. А при получении векторного представления документа осуществляется поиск m-skip-n-грамм в словаре.
[0060] При использовании хранения словарей m-skip-n-грамм, например, в виде хешированных таблиц, сложность такого поиска составляет 0(1) и является самым быстрым поиском в общем случае. Поскольку при реализации заявленного решения используется не целиком текст документа, как в случае нейронных сетей, а его разбиение на m-skip-n-граммы, то возможно некоторое падение точности анализа. Однако падение крайне мало и несущественно за счет того, что используются важные, семантически значимые m-skip-n-граммы, которые объединяются в многообразный семантический кластер, частоты которых и представляют векторный вид документа, тем самым сохраняя большинство семантических связей слов в документе. Таким образом достигается сокращение время обработки текста, содержащий порядка 10Л4 слов, с нескольких минут (порядка 10Л2 секунд), до десятых долей секунд (порядка 10Л-1 - 1). Ускорение вычислений может доходит до 1000 раз. При этом падение точности классификации является незначительным и приемлемым при таком увеличении скорости обработки. Малое падение точности отличает изобретение от методов с использованием известных методов классификации на основе только Tf-Idf.
[0061] Также, заявленное решение позволяет снизить потребность в оперативной памяти. Для работы нейронной сети требует порядка 10Л2-10Л3 Мбайт памяти (оперативной или видео памяти). Как указано ранее в описании нейронные сети могут занимать и 680 Мбайт (BERT) и 1,8 Гбайт (LaBSE). Модель изобретения представляет собой словари m-skip-n-граммы с номерами кластеров. Для 100000 слов (O-skip- 1 -граммы) такой словарь занимает в памяти чуть больше 1 Мбайта. Для 100000 биграмм (m-skip-2- граммы) менее 3 Мбайт. Таким образом, даже при использовании по 10 различных кластеризаций для слов, биграмм и триграмм общая модель будет занимать менее 100Мбайт, что в несколько раз меньше моделей нейронных сетей.
[0062] Заявленное решение может быть реализовано на общедоступных ЭВМ. Поскольку этапы получения векторного вида текстового документа представляют собой поиск в таблицах и простые операции нормировки вектора, то для данных операций не требуется специальных графических вычислителей (GPU). Функционирование изобретения не требуются огромного множества матричных вычислений, как в случае функционирования нейронных сетей, а способно эффективно выполняться на центральном процессоре (CPU) ЭВМ. Получение векторного вида и выполнение классификации электронного документа занимает порядка 10Л-1 секунд даже на офисных персональных ЭВМ (ноутбуках) выпуском до 5 лет назад.
[0063] В заявленном решении также существует возможность разделения этапа получения векторного вида электронного документа и этапа его классификации. Векторный вид документа возможно получать на ЭВМ пользователя. Сформированный вектор можно отправлять на сервер для проведения централизованной классификации. При этом размер такого вектора составляет 1-10 Кбайт. На сервере проводится классификация данного документа по располагающейся там модели классификации (модели размещения m-skip-n-грамм). Это позволяет централизовано выполнять обновлении модели классификации. Реализация такого подхода эффективно невозможна в случае функционирования нейронных сетей, поскольку на стороне пользователя производится расчёт по всей модели, которая имеет неотделимые (неразрывные) части получения векторного представления и классификации. Выделения из нейронной сети отдельно слоев классификации и их вывод на сервер не имеет смысла, поскольку они прочно связаны логикой работы и со значениями всей нейронной сети. Эффективное переобучении слоёв кластеризации возможно только при переобучении всей сети. Описываемый подход централизованного функционирования классификатора на сервере возможно реализовать если отсылать весь текст документа на сервер. Но размер таких данных может составлять и более 100 Мбайт и требует высоких вычислительных мощностей на сервере, в том числе и графических.
[0064] При реализации настоящего решения появляется возможность обработки всего документа и в случае размера его содержания порядка 10Л5 слов. Методы, основанные на нейронных сетях, очень долго обрабатывают длинные документы. Документ с содержание в 100000 слов могут обрабатываться в течении десятков минут. Для определённых нейронных сетей требуется равномерное распределение смыслового содержания документа, поскольку конечное содержание будет являться более значимым. Время обработки нелинейно возрастает от размера документа. Это связано с архитектурами внутренних слоёв нейронных сетей, использовании им рекуррентных подходов, или использовании «механизма внимания» (англ, attention mechanism, attention model) в архитектуре-трансформере. Для возможности обработки такого документы в приемлемое время берётся только часть документа. Обычно такая часть составляет порядка 1000 слов. Недостатком такого подхода является то, что подчасть документа может быть непрезентабельной и не соответствовать смыслу и содержанию всего документа. Описываемое изобретение имеет линейную зависимость времени обработки от размера документа. Может обрабатывать весь документ, учитывая семантику каждой подчасти документа. Это достигается тем, что учитывается каждая используемая m-skip-n-грамма, а время обработки зависит только от их количества. Таким образом, время обработки документа с содержанием порядка 10Л5 будет составлять порядка 1 секунды. А в получаемом векторном представлении содержание начала документа будет равнозначно содержанию его середины или его концовки.
[0065] Заявленный способ (100) может применяться в частности для поиска и отбора схожих банковских документов или для кластеризации. Эффектом работы изобретения, после классификации документа (текстовой информации) как содержащий конфиденциальную информацию, может быть одно или несколько действий из следующих:
- блокировка ЭВМ и иных доступов пользователя, если пользователь не имеет права обработки или ознакомления с конфиденциальной информацией;
- сбор с ЭВМ пользователя, или другой электронной системы, данных о его учётных записях, ip-адресе, сетевом окружении, геолокации, используемом оборудовании, программном обеспечении или иных данных, позволяющих идентифицировать пользователя, с дальнейшей пересылкой собранных данных и сигнала о требуемом внимании в уполномоченное подразделение для проведения проверочных мероприятий и расследований;
- блокировка пересылки электронного сообщения и/или документов, если содержащийся в нём контент или вложение содержит конфиденциальную информацию, а отправка осуществляется на внешний почтовый ящик (вне защищаемого периметра организации), или в адресатах есть сотрудники, не имеющие доступа к конфиденциальной информации с учетом установленных политик доступа.
[0066] По итогам классификации конфиденциальной информации, управляющее воздействие в отношении ЭВМ пользователя может также включать непосредственную блокировку ЭВМ с оповещением об установленном нарушении, например, с помощью отображения соответствующего уведомления на экране АРМ и формировании пакетов данных или сигнала на ЭВМ сотрудника службы безопасности. Каждый факт нарушения установленного доступа к конфиденциальной информации может сохраняться в базе данных для ведения журнала учета. Представленные примеры являются лишь частными случаями формирования итогового воздействия при реализации заявленного решения и не ограничивают иные возможные примеры его использования для целей предотвращения утечки чувствительных данных. [0067] На Фиг. 6 представлен общий вид вычислительного устройства (400), пригодного для реализации заявленного решения. Устройство (400) может представлять собой, например, сервер или иной тип вычислительного устройства, который может применяться для реализации заявленного технического решения. В том числе входить в состав облачной вычислительной платформы/
[0068] В общем случае вычислительное устройство (400) содержит объединенные общей шиной информационного обмена один или несколько процессоров (401), средства памяти, такие как ОЗУ (402) и ПЗУ (403), интерфейсы ввода/вывода (404), устройства ввода/вывода (405), и устройство для сетевого взаимодействия (406).
[0069] Процессор (401) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. В качестве процессора (501) может также применяться графический процессор, например, Nvidia, AMD, Graphcore и пр.
[0070] ОЗУ (402) представляет собой оперативную память и предназначено для хранения исполняемых процессором (401) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (402), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).
[0071] ПЗУ (403) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш- память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD- R/RW, BlueRay Disc, MD) и др.
[0072] Для организации работы компонентов устройства (400) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (404). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/ Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0073] Для обеспечения взаимодействия пользователя с вычислительным устройством (400) применяются различные средства (405) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [0074] Средство сетевого взаимодействия (406) обеспечивает передачу данных устройством (400) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (406) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0075] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (400), например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0076] Таким образом, заявленное решение позволяет достичь следующих преимуществ:
• Повысить скорость обработки текстовых данных банковского документа.
• Уменьшить ресурсозатраты по оперативной памяти на реализацию обработки текстовых данных банковского документа.
• Реализовать обработку документа на ЭВМ пользователя с приемлемым временем работы и высоким качеством классификации.
• Возможность обработки очень больших документов (порядка 10л5 слов) за время порядка секунды.
• Реализовать обработку на общедоступных персональных ЭВМ только с центральным процессором (CPU), без использования графических процессоров (GPU).
• Повысить сохранность семантического смысла путём кластеризации m-skip-n-грамм слов, а не только отдельных слов как производится в известных патентах.
• Повысить точность представления текста с помощью латентных тематик через осуществление многократной кластеризация одних и тех же m-skip-n-грамм слов, в отличии от известных патентов, где нигде не указано, что может производиться многократная или повторная кластеризация. В подходе нашего патента, например, можно производить кластеризация на 100, 200, 357, 500, 500 (снова на 500, но с новой инициализацией), 1000, 5000, 10000 кластеров.
• Сохранить различную семантику слов, производя сопоставление слов к нескольким кластерам, тем самым сохраняется неоднозначность терминов, в отличие от известных патентов, где имеем отнесение каждого слова только к одному (ближайшему) кластеру. • Путём использования весов (априорных или апостериорных) для кластеров возможно снизить значимость или вообще исключить кластера с общими словами, тем самым повысить качество анализа, в частности расчёта близости двух текстов, в отличие от известных патентов, где нет никаких весов кластеров. • Повысить точность анализа через обработку новых, ранее неизвестных слов.
• Расширить применение получаемого векторного представления и непосредственное использование получаемого вектора, без обучения классификаторов, для задач выявления семантических сходств, поиска аналогов, ранжирование результатов поиска и прочих. [0077] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.

Claims

ФОРМУЛА
1. Компьютерно-реализуемый способ векторного представления электронного текстового документа для определения категории конфиденциальной информации, содержащейся в нем, выполняемый с помощью процессора и содержащий этапы, на которых:
- формируют по меньшей мере одну модель размещения m-skip-n-грамм по кластерам, при этом m-skip-n-грамма представляет по меньшей мере отдельное слово и при формировании упомянутой модели осуществляют:
• определение списка используемых m-skip-n-грамм;
• преобразование в векторное представление каждой m-skip-n-граммы из списка;
• кластеризацию m-skip-n-грамм по их векторным представлениям;
- выполняют обработку по меньшей мере одного текстового документа с помощью полученной модели размещения m-skip-n-грамм, в ходе которой:
• осуществляют подсчет встречаемости m-skip-n-грамм в текстовом документе;
• определяют кластеры текстового документа на основании встречаемости m-skip-n-грамм;
• суммируют количество встречаемости m-skip-n-грамм из каждого кластера;
• формируют векторное представление текстового документа на основании упорядоченной последовательности сумм m-skip-n-грамм; определяют категорию конфиденциальной информации в текстовом документе на основании модели размещения m-skip-n-грамм.
2. Способ по п. 1, отличающийся тем, что используют нечеткое разбиение списка т- skip-n-грамм на кластера.
3. Способ по п. 1, отличающийся тем, что каждая m-skip-n-грамма относится к нескольким кластерам.
4. Способ по п. 1, отличающийся тем, что каждая m-skip-n-грамма имеет вес, характеризующий ее соотнесение к заданному кластеру.
5. Способ по п. 1, отличающийся тем, что кластеризация m-skip-n-грамм по их векторным представлениям выполняется более одного раза.
23
6. Способ по п. 1, отличающийся тем, что дополнительно используются веса для кластеров m-skip-n-грамм, характеризующие значимость кластеров для векторного представления документа.
7. Способ по п. 1, отличающийся тем, что дополнительно производится получение векторных представлений m-skip-n-грамм, не входящих в список, и их соотнесение по векторным представлениям к по меньшей мере одному кластеру.
8. Способ по п. 1, отличающийся тем, что список или часть списка используемых ш- skip-n-грамм формируется исходя из встречаемости m-skip-n-грамм в текстовых данных, получаемых из внешних источников данных.
9. Система получения векторного представления электронного документа, содержащая по меньшей мере один процессор и по меньшей мере одну память, хранящую машиночитаемые инструкции, которые при их исполнении процессором реализуют способ по любому из пп. 1-8.
10. Компьютерно-реализуемый способ определения категории конфиденциальной информации в текстовом документе, выполняемый с помощью процессора и содержащий этапы, на которых:
- выполняют предварительное формирование по меньшей мере одной модели размещения m-skip-n-грамм по кластерам по заданной тематике, при этом m-skip-n- грамма представляет по меньшей мере отдельное слово и при формировании упомянутой модели осуществляют:
• определение списка используемых m-skip-n-грамм;
• преобразование в векторное представление каждой m-skip-n-граммы из списка;
• кластеризацию m-skip-n-грамм по их векторным представлениям;
- получают по меньшей мере один электронный текстовый документ;
- выполняют обработку полученного текстового документа с помощью полученной модели размещения m-skip-n-грамм, в ходе которой:
• осуществляют подсчет встречаемости m-skip-n-грамм в текстовом документе;
• определяют кластеры текстового документа на основании встречаемости т- skip-n-грамм;
• суммируют количество встречаемости m-skip-n-грамм из каждого кластера;
• формируют векторное представление текстового документа на основании упорядоченной последовательности сумм m-skip-n-грамм; - определяют категорию конфиденциальной информации в электронном текстовом документе с помощью модели размещения m-skip-n-грамм.
PCT/RU2021/000411 2021-09-24 2021-09-24 Система получения векторного представления электронного документа WO2023048589A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000411 WO2023048589A1 (ru) 2021-09-24 2021-09-24 Система получения векторного представления электронного документа

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000411 WO2023048589A1 (ru) 2021-09-24 2021-09-24 Система получения векторного представления электронного документа

Publications (1)

Publication Number Publication Date
WO2023048589A1 true WO2023048589A1 (ru) 2023-03-30

Family

ID=85719567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2021/000411 WO2023048589A1 (ru) 2021-09-24 2021-09-24 Система получения векторного представления электронного документа

Country Status (1)

Country Link
WO (1) WO2023048589A1 (ru)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280747B1 (en) * 2015-05-27 2016-03-08 Sas Institute Inc. Normalizing electronic communications using feature sets
RU2583716C2 (ru) * 2013-12-18 2016-05-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Метод построения и обнаружения тематической структуры корпуса
RU2634180C1 (ru) * 2016-06-24 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ определения сообщения, содержащего спам, по теме сообщения, отправленного по электронной почте
US9852337B1 (en) * 2015-09-30 2017-12-26 Open Text Corporation Method and system for assessing similarity of documents
RU2701995C2 (ru) * 2018-03-23 2019-10-02 Общество с ограниченной ответственностью "Аби Продакшн" Автоматическое определение набора категорий для классификации документа
US10891699B2 (en) * 2015-02-09 2021-01-12 Legalogic Ltd. System and method in support of digital document analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2583716C2 (ru) * 2013-12-18 2016-05-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Метод построения и обнаружения тематической структуры корпуса
US10891699B2 (en) * 2015-02-09 2021-01-12 Legalogic Ltd. System and method in support of digital document analysis
US9280747B1 (en) * 2015-05-27 2016-03-08 Sas Institute Inc. Normalizing electronic communications using feature sets
US9852337B1 (en) * 2015-09-30 2017-12-26 Open Text Corporation Method and system for assessing similarity of documents
RU2634180C1 (ru) * 2016-06-24 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ определения сообщения, содержащего спам, по теме сообщения, отправленного по электронной почте
RU2701995C2 (ru) * 2018-03-23 2019-10-02 Общество с ограниченной ответственностью "Аби Продакшн" Автоматическое определение набора категорий для классификации документа

Similar Documents

Publication Publication Date Title
US11514235B2 (en) Information extraction from open-ended schema-less tables
JP5936698B2 (ja) 単語意味関係抽出装置
US10025819B2 (en) Generating a query statement based on unstructured input
US9183274B1 (en) System, methods, and data structure for representing object and properties associations
US20130007020A1 (en) Method and system of extracting concepts and relationships from texts
CN106663124A (zh) 生成和使用知识增强型模型
Cagliero et al. ELSA: A multilingual document summarization algorithm based on frequent itemsets and latent semantic analysis
US20210049169A1 (en) Systems and methods for text based knowledge mining
Hossny et al. Feature selection methods for event detection in Twitter: a text mining approach
CN111414763A (zh) 一种针对手语计算的语义消歧方法、装置、设备及存储装置
US20130232147A1 (en) Generating a taxonomy from unstructured information
US20240028650A1 (en) Method, apparatus, and computer-readable medium for determining a data domain associated with data
WO2015004006A1 (en) Method and computer server system for receiving and presenting information to a user in a computer network
Kimelfeld Database principles in information extraction
Dinov et al. Natural language processing/text mining
RU2775358C1 (ru) Способ и система получения векторного представления электронного текстового документа для классификации по категориям конфиденциальной информации
Kelebercová et al. Search queries related to COVID-19 based on keyword extraction
Pokharana et al. A Review on diverse algorithms used in the context of Plagiarism Detection
RU2775351C1 (ru) Способ и система получения векторного представления электронного документа
Pilaluisa et al. Contextual word embeddings for tabular data search and integration
WO2023048589A1 (ru) Система получения векторного представления электронного документа
Lai et al. An unsupervised approach to discover media frames
WO2021221535A1 (ru) Система и способ аугментации обучающей выборки для алгоритмов машинного обучения
EA043467B1 (ru) Способ и система получения векторного представления электронного текстового документа для классификации по категориям конфиденциальной информации
WO2022255902A1 (ru) Способ и система получения векторного представления электронного документа

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21958523

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE