RU2760637C1 - Method and system for retrieving named entities - Google Patents

Method and system for retrieving named entities Download PDF

Info

Publication number
RU2760637C1
RU2760637C1 RU2020128709A RU2020128709A RU2760637C1 RU 2760637 C1 RU2760637 C1 RU 2760637C1 RU 2020128709 A RU2020128709 A RU 2020128709A RU 2020128709 A RU2020128709 A RU 2020128709A RU 2760637 C1 RU2760637 C1 RU 2760637C1
Authority
RU
Russia
Prior art keywords
tokens
sequence
indicators
vector representation
vectors
Prior art date
Application number
RU2020128709A
Other languages
Russian (ru)
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 RU2020128709A priority Critical patent/RU2760637C1/en
Priority to PCT/RU2020/000698 priority patent/WO2022045920A1/en
Priority to EA202092862A priority patent/EA202092862A1/en
Application granted granted Critical
Publication of RU2760637C1 publication Critical patent/RU2760637C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

FIELD: computing technology.
SUBSTANCE: disclosed is a method for retrieving named entities from textual information, implemented by at least one computing apparatus, comprising the stages wherein: the textual information is obtained; the text is divided into words; the text is tokenised to obtain a token sequence; a set of vectors is formed by means of a neural network for the obtained token sequence; a vector representation of the token sequence is formed based on the obtained set of vectors; by comparing the indicators of the obtained vector representation of the token sequence with the predefined vector indicators obtained as a result of training of the neural network, named entities are predicted for the vector representation of the token sequence; the named entities obtained at the previous stage are identified by selecting the word mark.
EFFECT: increase in the accuracy of prediction of named entities.
8 cl, 2 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[0001] Представленное техническое решение относится, в общем, к области вычислительной техники, а в частности к способу и системе извлечения именованных сущностей. Техническое решение находит применение во многих областях, связанных с обработкой текстов на естественных языках и извлечением информации из текста.[0001] The presented technical solution relates generally to the field of computing, and in particular to a method and system for extracting named entities. The technical solution finds application in many areas related to the processing of texts in natural languages and the extraction of information from the text.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

[0002] В настоящий момент задача извлечения именованных сущностей из текстовых данных требуется в широком ряде направлений и прикладных задач. В частности, при построении диалоговых систем (чат-ботов, умных помощников) извлечение именованных сущностей необходимо для правильного понимая смысла текста, намерения пользователя и формирования ответа на запросы пользователя.[0002] Currently, the task of extracting named entities from text data is required in a wide range of areas and applications. In particular, when building dialog systems (chat bots, smart assistants), the extraction of named entities is necessary for correctly understanding the meaning of the text, the user's intentions and forming a response to user requests.

[0003] В промышленных областях, где требуется классификация документов, извлечение именованных сущностей может применяться для генерации новых признаков текста, чтобы улучшить качество работы классификации в условиях реального применения.[0003] In industrial areas where document classification is required, named entity extraction can be used to generate new text features to improve the performance of the classification in a real-world environment.

[0004] Задача извлечения именованных сущностей является подзадачей в ряде направлений, таких как анализ текстовых документов, классификация отзывов, кластеризация текстовых коллекций, в диалоговых системах и др.[0004] The task of extracting named entities is a subtask in a number of areas, such as parsing text documents, classifying reviews, clustering text collections, in dialog systems, etc.

[0005] В настоящее время используется ряд подходов для решения задачи извлечения именованных сущностей из текстов на русском языке, каждый из которых обладает своими преимуществами и недостатками:[0005] Currently, a number of approaches are used to solve the problem of extracting named entities from Russian texts, each of which has its own advantages and disadvantages:

- Named Entity Recognition (NER) от DeepPavlov, URL: http://docs.deeppavlov.ai/en/master/features/models/ner.html. Решение основано на дообучении языковой модели RuBERT под задачу извлечения именованных сущностей. Система имеет более 100 млн обучаемых параметров. Обучение с помощью этой модели требуют больших объемов GPU памяти (более 3 GB);- Named Entity Recognition (NER) from DeepPavlov, URL: http://docs.deeppavlov.ai/en/master/features/models/ner.html. The solution is based on additional training of the RuBERT language model for the task of extracting named entities. The system has over 100 million learning parameters. Learning with this model requires large amounts of GPU memory (over 3 GB);

- Application of a Hybrid Bi-LSTM-CRF model to the task of Russian Named Entity Recognition. URL: https://arxiv.org/pdf/1709.09686.pdf. Решение основано на конкатенации Bi-LSTM char слоя, Token Embedding слоя для кодирования входной последовательности и Bi-LSTM-CRF слоя для предсказания сущностей. Данное решение показывает худшее качество, нежели современные модели, основанные на больших языковых моделях, однако в памяти при обучении занимает в разы меньше места;- Application of a Hybrid Bi-LSTM-CRF model to the task of Russian Named Entity Recognition. URL: https://arxiv.org/pdf/1709.09686.pdf. The solution is based on the concatenation of a Bi-LSTM char layer, a Token Embedding layer for encoding the input sequence, and a Bi-LSTM-CRF layer for entity prediction. This solution shows worse quality than modern models based on large language models, however, it takes up much less space in memory during training;

- Deep-NER: named entity recognizer based on deep neural networks and transfer learning. Модель имеет в основе ELMO (Matthew Ε. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer. Deep contextualized word representations. 2018. URL: https://arxiv.org/abs/1802.05365) или BERT языковую модель. Далее идет BiLSTM-CRF слой для предсказаний. Система имеет более 100 млн обучаемых параметров и занимает в памяти при обучении более 3-4 GB GPU памяти. Работает хуже, чем модель от DeepPavlov;- Deep-NER: named entity recognizer based on deep neural networks and transfer learning. The model is based on ELMO (Matthew Ε. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer. Deep contextualized word representations. 2018. URL: https://arxiv.org/abs/1802.05365) or BERT language model. Next comes the BiLSTM-CRF prediction layer. The system has more than 100 million training parameters and occupies more than 3-4 GB of GPU memory in memory during training. Works worse than DeepPavlov's model;

- Томита-парсер. URL: https://vandex.ru/dev/tomita/. Томита-парсер создан для извлечения структурированных данных из текста на естественном языке. Вычленение фактов происходит при помощи контекстно-свободных грамматик и словарей ключевых слов. Парсер позволяет писать свои грамматики и добавлять словари для нужного языка. С его помощью можно извлекать именованные сущности. Основной недостаток состоит в сложности написания правил: для каждой новой сущности требуется новая группа правил, что требует затраты времени специалиста. Однако данный инструмент не требует обучающих данных.- Tomita parser. URL: https://vandex.ru/dev/tomita/. Tomita parser is designed to extract structured data from natural language text. Facts are extracted using context-free grammars and keyword dictionaries. The parser allows you to write your own grammars and add dictionaries for the desired language. It can be used to retrieve named entities. The main disadvantage is the complexity of writing the rules: for each new entity, a new group of rules is required, which is time-consuming for a specialist. However, this tool does not require training data.

[0006] Основные недостатки приведенных нейросетевых моделей состоят в том, что они требуют большие объемы памяти при обучении и предсказании и наличия соответствующего оборудования. Использование томита-парсера требует высококвалифицированного специалиста для написания грамматик.[0006] The main disadvantages of the above neural network models are that they require large amounts of memory for training and prediction and the availability of appropriate equipment. Using a tomita parser requires a highly skilled expert to write grammars.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF THE INVENTION

[0007] Технической проблемой или задачей, поставленной в данном техническом решении, является создание нового эффективного, простого и надежного метода извлечения именованных сущностей из текста на русском языке. При этом решение должно обеспечить высокое качество извлечения именованных сущностей и требовать как можно меньше GPU памяти (менее 2 GB). Также решение должно уметь решать задачу классификации именованных сущностей (одновременно - Joint learning (Bing Liu, Lane Ian. 2016. Attention-based recurrent neural network models for joint intent detection and slot filling. arXiv: 1609.01454) или по отдельности).[0007] The technical problem or task posed in this technical solution is to create a new effective, simple and reliable method for extracting named entities from a text in Russian. At the same time, the solution should provide high quality extraction of named entities and require as little GPU memory as possible (less than 2 GB). Also, the solution should be able to solve the problem of classifying named entities (at the same time - Joint learning (Bing Liu, Lane Ian. 2016. Attention-based recurrent neural network models for joint intent detection and slot filling.arXiv: 1609.01454) or separately).

[0008] Техническим результатом является повышение точности предсказания именованных сущностей.[0008] The technical result is to improve the prediction accuracy of named entities.

[0009] Указанный технический результат достигается благодаря осуществлению способа извлечения именованных сущностей из текстовой информации, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:[0009] The specified technical result is achieved by implementing a method for extracting named entities from textual information, performed by at least one computing device, comprising the steps of:

- получают текстовую информацию;- receive text information;

- выполняют разбиение текста на слова;- perform the splitting of the text into words;

- выполняют токенизацию текста для получения последовательности токенов;- tokenize the text to obtain a sequence of tokens;

- формируют посредством нейронной сети для полученной последовательности токенов набор векторов;- a set of vectors is formed by means of a neural network for the received sequence of tokens;

- формируют на основе полученного набора векторов векторное представлений последовательности токенов;- based on the obtained set of vectors, vector representations of the sequence of tokens are formed;

- посредством сравнения показателей полученного векторного представления последовательности токенов с заранее заданными показателями векторов, полученными в результате обучения нейронной сети, осуществляют предсказание именованных сущностей для векторного представления последовательности токенов;- by comparing the indicators of the obtained vector representation of the sequence of tokens with predetermined indicators of the vectors obtained as a result of training the neural network, predicting the named entities for the vector representation of the sequence of tokens;

- распознают полученные на предыдущем этапе именованные сущности посредством подбора метки слова.- Recognize the named entities obtained at the previous stage by selecting a word label.

[0010] В одном из частных примеров осуществления способа векторное представление последовательности токенов на основе набора векторов формируют посредством расчета взвешенной суммы или средних значений показателей векторов, содержащихся в наборе векторов.[0010] In one particular embodiment of the method, a vector representation of a sequence of tokens based on a set of vectors is generated by calculating a weighted sum or average values of the vectors of the vectors contained in the set of vectors.

[0011] В другом частном примере осуществления способа дополнительно выполняют этап, на котором корректируют размерность векторов, содержащихся в полученном векторном представлении последовательности токенов, для получения векторного представления последовательности токенов с заданной размерностью.[0011] In another particular embodiment of the method, the step is additionally performed, at which the dimension of the vectors contained in the obtained vector representation of the sequence of tokens is corrected to obtain a vector representation of the sequence of tokens with a given dimension.

[0012] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:[0012] In another particular embodiment of the method, the steps are additionally performed, in which:

- на основе показателей векторов, содержащихся в векторном представлении последовательности токенов, и показателей предыдущих векторов в упомянутой последовательности посредством рекуррентного слоя нейронной сети определяют зависимости показателей векторов токенов;- based on the indicators of the vectors contained in the vector representation of the sequence of tokens, and the indicators of the previous vectors in the said sequence, the dependences of the indicators of the vectors of tokens are determined by means of the recurrent layer of the neural network;

- добавляют информацию о зависимостях показателей векторов токенов к представлению последовательности токенов посредством формирования нового векторного представления последовательности токенов.- add information about the dependencies of the indicators of the vectors of tokens to the representation of the sequence of tokens by forming a new vector representation of the sequence of tokens.

[0013] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:[0013] In another particular embodiment of the method, the steps are additionally performed, in which:

- определяют для каждого вектора в векторном представлений последовательности токенов зависимости его показателей от показателей других векторов;- for each vector in the vector representations of the sequence of tokens, the dependence of its indicators on the indicators of other vectors is determined;

- генерируют на основе показателей векторного представления последовательности токенов и данных о зависимостях показателей векторов, определенных на предыдущем этапе, новое векторное представление последовательности токенов.- based on the indicators of the vector representation of the sequence of tokens and data on the dependencies of the indicators of the vectors, determined at the previous stage, a new vector representation of the sequence of tokens is generated.

[0014] В другом частном примере осуществления способа финальная метка слова может быть определена посредством нейронных сетей методом голосования.[0014] In another particular embodiment of the method, the final word mark can be determined by means of neural networks by voting.

[0015] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых:[0015] In another particular embodiment of the method, the steps are additionally performed, in which:

- на основе показателей векторного представления последовательности токенов определяют максимальные значения этих показателей по всем векторам и на их основе формируют вектор, содержащий максимальные значения показателей полученного векторного представления последовательности токенов;- based on the indicators of the vector representation of the sequence of tokens, the maximum values of these indicators for all vectors are determined and on their basis a vector is formed containing the maximum values of the indicators of the obtained vector representation of the sequence of tokens;

- на основе показателей векторного представления последовательности токенов определяют средние значения этих показателей по всем векторам и на их основе формируют вектор, содержащий средние значения показателей полученного векторного представления последовательности токенов;- based on the indicators of the vector representation of the sequence of tokens, the average values of these indicators for all vectors are determined and on their basis a vector is formed containing the average values of the indicators of the obtained vector representation of the sequence of tokens;

- на основе показателей вектора, содержащего максимальные значения показателей векторного представления последовательности токенов, вектора, содержащего средние значения показателей полученного векторного представления последовательности токенов, и показателей последнего вектора в векторном представлении последовательности токенов формируют результирующую вектор;- based on the indicators of the vector containing the maximum values of the indicators of the vector representation of the sequence of tokens, the vector containing the average values of the indicators of the obtained vector representation of the sequence of tokens, and the indicators of the last vector in the vector representation of the sequence of tokens, form the resulting vector;

- осуществляют классификацию результирующего вектора для определения класса векторного представления последовательности токенов.- carry out the classification of the resulting vector to determine the class of the vector representation of the sequence of tokens.

[0016] В другом предпочтительном варианте осуществления заявленного решения представлена система извлечения именованных сущностей, содержащая по меньшей мере одно вычислительное устройство и по меньшей мере одно устройство памяти, содержащее машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ.[0016] In another preferred embodiment of the claimed solution, a named entity retrieval system is provided comprising at least one computing device and at least one memory device containing machine-readable instructions that, when executed by at least one computing device, perform the above method.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0017] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:[0017] The features and advantages of the present technical solution will become apparent from the following detailed description of the invention and the accompanying drawings, in which:

[0018] на Фиг. 1 представлена общая схема взаимодействия элементов системы извлечения именованных сущностей;[0018] in FIG. 1 shows the general scheme of interaction between the elements of the named entity extraction system;

[0019] на Фиг. 2 представлен пример общего вида системы извлечения именованных сущностей.[0019] in FIG. 2 shows an example of a general view of the named entity extraction system.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯCARRYING OUT THE INVENTION

[0020] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.[0020] The following will describe the concepts and terms necessary to understand this technical solution.

[0021] В данном техническом решении под системой подразумевается, в том числе, компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).[0021] In this technical solution, the system means, inter alia, a computer system, a computer (electronic computer), a CNC (numerical control), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions).

[0022] Под устройством обработки команд подразумевается электронный блок, вычислительное устройство, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).[0022] By a command processing device is meant an electronic unit, a computing device, or an integrated circuit (microprocessor) that executes machine instructions (programs).

[0023] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.[0023] An instruction processor reads and executes machine instructions (programs) from one or more storage devices. The role of data storage devices can be, but are not limited to, hard drives (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.

[0024] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0024] A program is a sequence of instructions for execution by a computer control device or command processing device.

[0025] База данных (БД) - совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения (ISO/IEC 2382:2015, 2121423 «database»).[0025] Database (DB) - a collection of data organized in accordance with a conceptual structure describing the characteristics of this data and the relationship between them, and such a collection of data that supports one or more areas of application (ISO / IEC 2382: 2015, 2121423 " database ").

[0026] Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных.[0026] Entity - any distinguishable object (an object that we can distinguish from another), information about which needs to be stored in a database.

[0027] Экземпляр сущности - это конкретный представитель данной сущности. Например, представителем сущности "Сотрудник" может быть "Сотрудник Иванов". Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности.[0027] An entity instance is a specific representative of a given entity. For example, a representative of the "Employee" entity can be "Employee Ivanov". Entity instances must be distinguishable, i.e. entities must have some properties that are unique to each instance of that entity.

[0028] Именованная сущность - объект определенного типа, имеющий имя, название или идентификатор. Какие типы выделяет система, определяется в рамках конкретной задачи. Для новостного домена обычно это люди (PER), места (LOC), организации (ORG) и разное, объекты широкого спектра: события, слоганы и т.д.[0028] A named entity is an object of a specific type that has a name, title, or identifier. What types the system distinguishes is determined within the framework of a specific task. For a news domain, these are usually people (PER), places (LOC), organizations (ORG) and miscellaneous, objects of a wide range: events, slogans, etc.

[0029] В соответствии со схемой, приведенной на фиг.1, система 100 извлечения именованных сущностей содержит соединенные между собой: модуль 10 предобработки и токенизации текста; модуль 20 формирования векторов; модуль 30 формирования векторного представления последовательности токенов; модуль 40 определения зависимости показателей векторов токенов; модуль 50 определения типов зависимостей между токенами в последовательности векторного представления токенов; модуль 60 корректировки размерности векторов; модуль 70 предсказания именованных сущностей для токенов; модуль 80 предсказания класса последовательности векторного представления токенов; и модуль 90 распознавания именованных сущностей.[0029] In accordance with the diagram shown in Fig. 1, the named entity retrieval system 100 comprises interconnected: a text preprocessing and tokenizing unit 10; module 20 generating vectors; module 30 for generating a vector representation of a sequence of tokens; module 40 for determining the dependence of the indicators of the vectors of tokens; module 50 for determining the types of dependencies between tokens in the sequence of vector representation of tokens; module 60 for adjusting the dimension of vectors; module 70 predicting named entities for tokens; module 80 predicting the class of the vector representation of the tokens; and a named entity recognition module 90.

[0030] Модуль 10 предобработки и токенизации текста может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением, и включать набор моделей для токенизации текста, например, набор моделей WordPiece (см. Yonghui Wu, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Mike Schuster, Zhifeng Chen. 2016. Googles neural machine translation system: Bridging the gap between human and machine translation, volume arXiv:1609.08144).[0030] Text preprocessing and tokenization module 10 may be implemented on at least one computing device equipped with appropriate software and include a set of models for text tokenization, for example, a set of WordPiece models (see Yonghui Wu, Quoc V. Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, Mike Schuster, Zhifeng Chen.2016. Googles neural machine translation system: Bridging the gap between human and machine translation, volume arXiv: 1609.08144).

[0031] Модуль 20 формирования векторов может быть реализован на базе языковой модель BERT. BERT - это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка, отвечать на вопросы, заданные в произвольной форме, создавать чат-боты, автоматические переводчики, анализировать текст и так далее.[0031] The vector generating unit 20 may be implemented based on the BERT language model. BERT is a neural network from Google that has shown by a wide margin state-of-the-art results on a number of problems. With BERT, you can create AI programs for natural language processing, answer freeform questions, create chat bots, automatic translators, analyze text, and more.

[0032] Модуль 30 формирования векторного представления последовательности токенов может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением для определения взвешенной сумма или среднего (в зависимости от конфигурации) значения показателей векторов для формирования векторного представления последовательности токенов.[0032] The module 30 for generating a vector representation of a sequence of tokens can be implemented on the basis of at least one computing device equipped with appropriate software for determining a weighted sum or average (depending on the configuration) values of the vector indicators for generating a vector representation of a sequence of tokens.

[0033] Модуль 40 определения зависимости показателей векторов токенов может быть реализован на базе рекуррентной нейронной сети (RNN), выполненной с возможностью на основе значений показателей векторов, содержащихся в векторном представлении последовательности токенов, определять рекуррентные зависимости между показателями векторов. Граф вычислений рекуррентных нейронных сетей также может содержать циклы, которые отражают зависимости значения переменной в следующий момент времени от ее текущего значения.[0033] The module 40 for determining the dependence of the indicators of the vectors of tokens can be implemented on the basis of a recurrent neural network (RNN), made with the ability, based on the values of the indicators of the vectors contained in the vector representation of the sequence of tokens, to determine recurrent relationships between the indicators of the vectors. The graph of computations of recurrent neural networks can also contain loops that reflect the dependence of the value of a variable at the next moment in time on its current value.

[0034] Модуль 50 определения типов зависимостей между токенами в последовательности векторного представления токенов может быть реализован на базе нейронной сети, содержащей Multi-Head attention нейросетевой слой. Multi-head attention - это специальный слой, который дает возможность каждому входному вектору взаимодействовать с другими словами через механизм внимания (attention mechanism), вместо передачи параметров «hidden state» как в RNN или соседних слов как в CNN. Ему на вход даются вектора Query, и несколько пар Key и Value (на практике, Key и Value это всегда один и тот же вектор). Каждый из них преобразуется обучаемым линейным преобразованием, а потом вычисляется скалярное произведение Q со всеми K по очереди, прогоняется результат этих скалярных произведений через softmax, и с полученными весами все вектора суммируются в единый вектор.[0034] Module 50 for determining the types of dependencies between tokens in the sequence of vector representation of tokens can be implemented on the basis of a neural network containing a Multi-Head attention neural network layer. Multi-head attention is a special layer that allows each input vector to interact with other words through the attention mechanism, instead of passing "hidden state" parameters like in RNN or neighboring words like in CNN. It is given vectors Query as input, and several pairs of Key and Value (in practice, Key and Value are always the same vector). Each of them is transformed by a trained linear transformation, and then the scalar product Q is calculated with all K in turn, the result of these scalar products is run through softmax, and with the resulting weights, all vectors are summed into a single vector.

[0035] Модуль 60 корректировки размерности векторного представления последовательности токенов может быть реализован на базе линейных слоев нейронной сети, предназначенных для обработки показателей векторов для корректировки их размерностей. Весовые коэффициенты для линейных слоев могут быть заданы разработчиком модуля 60 при его проектировании.[0035] The module 60 for adjusting the dimension of the vector representation of the sequence of tokens can be implemented on the basis of linear layers of the neural network, designed to process the indicators of vectors to adjust their dimensions. The weighting factors for the line layers can be specified by the designer of the module 60 during its design.

[0036] Модуль 70 предсказания именованных сущностей для токенов может быть реализован на базе по меньшей мере одной нейронной сети, заранее обученной на конкретных наборах именованных сущностей и соответствующих им наборах векторов. В частности, для предсказания именованных сущностей может быть использован слой softmax, широко известный из уровня техники (см., например, https://ru.wikipedia.org/wiki/Softmax).[0036] The module 70 predicting named entities for tokens can be implemented on the basis of at least one neural network, pre-trained on specific sets of named entities and their corresponding sets of vectors. In particular, the softmax layer, widely known from the prior art, can be used to predict named entities (see, for example, https://ru.wikipedia.org/wiki/Softmax).

[0037] Модуль 80 предсказания класса векторного представления токенов может быть реализован на базе по меньшей мере одной нейронной сети, выполненной с возможностью осуществления операций подвыборки по максимальному (Мах Pooling) и среднему (Average Pooling) значению, содержащей по меньшей мере один линейный слой для корректировки размерности векторов и слой softmax.[0037] The module 80 predicting the class of vector representation of tokens can be implemented on the basis of at least one neural network configured to perform subsampling operations on the maximum (Max Pooling) and average (Average Pooling) values containing at least one linear layer for vector dimension adjustments and softmax layer.

[0038] Модуль 90 распознавания именованных сущностей может быть реализован на базе по меньшей мере одной вычислительного устройства, выполненного с возможностью преобразования данных о предсказанных именованных сущностях в слова. Упомянутый алгоритм преобразования может быть заранее задан разработчиком упомянутого модуля 90 при его проектировании.[0038] Named entity recognition module 90 may be implemented based on at least one computing device configured to convert predicted named entity data into words. Said transformation algorithm may be predetermined by the developer of said module 90 during its design.

[0039] На первом этапе работы системы 100 извлечения именованных сущностей в модуль 10 предобработки и токенизации текста поступает текст, например, от источника данных 1. Источником 1 данных может быть по меньшей мере одна база данных (БД), в которой содержится текстовая информация, либо источником 1 данных может быть устройство пользователя, например, портативный или стационарный компьютер, мобильный телефон или смартфон, планшет и пр.[0039] At the first stage of the operation of the system 100 for extracting named entities, the text preprocessing and tokenization module 10 receives text, for example, from the data source 1. The data source 1 can be at least one database (DB), which contains text information, or the data source 1 can be a user's device, for example, a laptop or desktop computer, a mobile phone or a smartphone, a tablet, etc.

[0040] Модуль 10 предобработки и токенизации текста выполняет разбиение текста на слова по пробелу между словами и его токенизацию с помощью модели WordPiece для получения последовательности токенов. Например, для текста «Хочу оформить дебетовую карту» последовательность токенов будет представлять: X', '##очу', 'o', '##фοо', '##ми', '##ть', 'де', '##бет', '##овую', 'карт', '##у'. Также упомянутый модуль 10 добавляет специальный токен "[CLS]" в начало последовательности токенов.[0040] Text preprocessing and tokenization unit 10 performs word splitting by space between words and tokenization using the WordPiece model to obtain a sequence of tokens. For example, for the text "I want to issue a debit card" the sequence of tokens will be: X ',' ## ochu ',' o ',' ## fοo ',' ## mi ',' ## th ',' de ', '## bet', '## ovoy', 'cards', '## y'. Also, said module 10 adds a special token "[CLS]" to the beginning of the token sequence.

[0041] Соответственно, сформированная последовательность токенов далее упомянутым модулем 10 передается в модуль 20 формирования векторов, который известными из уровня техники методами (см., например, статью Anton Emelyanov, Ekaterina Artemova. Gapping parsing using pretrained embeddings, attention mechanism and NCRF. 2019. Computational Linguistics and Intellectual Technologies. Papers from the Annual International Conference "Dialogue" (2019). Issue 18. Supplementary volume. Pages 21-30. URL: http://www.dialog-21.ru/media/4870/ -dialog2019scopusvolplus.pdf) формирует для последовательности токенов набор векторов, например, 12 векторных представлений последовательности токенов, после чего полученный набор векторов направляются упомянутым модулем 20 в модуль 30 формирования векторного представления последовательности токенов. На основе полученного набора векторов модуль 30 формирует векторное представление последовательности токенов, например, посредством расчета взвешенной суммы или средних значений показателей 12 упомянутых векторных представлений последовательности токенов.[0041] Accordingly, the generated sequence of tokens by the further mentioned module 10 is transferred to the module 20 of the formation of vectors, which is known from the prior art methods (see, for example, the article by Anton Emelyanov, Ekaterina Artemova. Gapping parsing using pretrained embeddings, attention mechanism and NCRF. 2019 Computational Linguistics and Intellectual Technologies Papers from the Annual International Conference "Dialogue" (2019) Issue 18. Supplementary volume Pages 21-30 URL: http://www.dialog-21.ru/media/4870/ - dialog2019scopusvolplus.pdf) generates a set of vectors for a sequence of tokens, for example, 12 vector representations of a sequence of tokens, after which the resulting set of vectors are sent by said module 20 to a module 30 for generating a vector representation of a sequence of tokens. Based on the obtained set of vectors, the module 30 generates a vector representation of the token sequence, for example, by calculating the weighted sum or average values of the indicators 12 of the aforementioned vector representations of the token sequence.

[0042] Далее полученное модулем 30 векторное представление последовательности токенов направляется в модуль 60 корректировки размерности, который корректирует размерность векторов, содержащихся в полученном векторном представлении последовательности токенов, например, посредством умножения показателей векторов на сгенерированное случайное нецелое число, для получения векторного представления последовательности токенов с заданной размерностью.[0042] Next, the vector representation of the token sequence obtained by the module 30 is sent to the dimension adjustment module 60, which adjusts the dimension of the vectors contained in the obtained vector representation of the token sequence, for example, by multiplying the vector exponents by the generated random non-integer number, to obtain a vector representation of the token sequence with given dimension.

[0043] В альтернативном варианте реализации заявленного решения полученное векторное представление последовательности токенов упомянутым модулем 30 может быть направлено в модуль 40 определения зависимости показателей векторов токенов, который на основе показателей векторов, содержащихся в векторном представлении последовательности токенов, и показателей предыдущих векторов в упомянутой последовательности, посредством рекуррентного слоя определяет зависимости показателей векторов токенов, которые могут быть выражены в виде векторов. Информация о зависимостях показателей векторов токенов добавляется упомянутым модулем 40 к векторному представлению последовательности токенов посредством формирования нового векторного представления последовательности токенов, после чего сформированное модулем 40 векторное представление последовательности токенов с информацией о зависимостях показателей векторов токенов направляется в модуль 50 определения типов зависимостей между токенами, либо в модуль 60 корректировки размерности векторного представления последовательности токенов для его обработки описанным ранее способом.[0043] In an alternative embodiment of the claimed solution, the obtained vector representation of the sequence of tokens by said module 30 can be sent to the module 40 for determining the dependence of the indicators of the token vectors, which, based on the indicators of the vectors contained in the vector representation of the sequence of tokens, and the indicators of the previous vectors in the said sequence, by means of a recurrent layer determines the dependencies of the indicators of the vectors of tokens, which can be expressed in the form of vectors. The information on the dependencies of the indicators of the token vectors is added by the mentioned module 40 to the vector representation of the token sequence by forming a new vector representation of the token sequence, after which the vector representation of the token sequence generated by the module 40 with information on the dependencies of the indicators of the token vectors is sent to the module 50 for determining the types of dependencies between tokens, or into the module 60 for adjusting the dimension of the vector representation of the sequence of tokens for its processing as described earlier.

[0044] Модуль 50 определения типов зависимостей между токенами при получении векторного представления последовательности токенов для каждого вектора известными из уровня техники методами определяет зависимости его показателей от показателей других векторов, входящих векторное представление последовательности токенов, которые также могут выражены в виде векторов, после чего упомянутый модуль 50 корректирует векторное представление последовательности токенов путем генерирования на основе показателей векторного представления последовательности токенов и данных о зависимостях показателей векторов нового векторного представления последовательности токенов. Данные о зависимостях показателей векторов характеризуют типы зависимостей между токенами, содержащимися в векторном представлении последовательности токенов, и могут указывать на наличие семантической или морфологической зависимости между токенами. Соответственно, сформированное векторное представление последовательности токенов модулем 50 направляется в модуль 60 корректировки размерности векторного представления последовательности токенов для его обработки описанным ранее способом.[0044] The module 50 for determining the types of dependencies between tokens when obtaining a vector representation of a sequence of tokens for each vector by methods known from the prior art determines the dependence of its indicators on the indicators of other vectors included in the vector representation of the sequence of tokens, which can also be expressed as vectors, after which the said Module 50 corrects the vector representation of the token sequence by generating a new vector representation of the token sequence based on the indicators of the vector representation of the token sequence and data on the dependencies of the vector indicators. Data on dependencies of vector indicators characterize the types of dependencies between tokens contained in the vector representation of a sequence of tokens, and may indicate the presence of a semantic or morphological relationship between tokens. Accordingly, the generated vector representation of the sequence of tokens by the module 50 is sent to the module 60 for adjusting the dimension of the vector representation of the sequence of tokens for processing in the previously described manner.

[0045] После того, как векторное представление последовательности токенов с заданной размерностью было сформировано упомянутым модулем 60, оно направляется в модуль 70 предсказания именованных сущностей для токенов. Модуль 70 предсказания именованных сущностей для токенов на основе сравнения показателей полученного векторного представления последовательности токенов с заранее заданными показателями векторов, полученными в результате обучения нейронной сети, осуществляет предсказание именованных сущностей для векторного представления последовательности токенов. Например, для слова «дебетовую» может быть определена следующая последовательность меток именованных сущностей в 10 разметке: 'I_DEB_CARD', 'I_DEB_CARD', 'I_Ο'. Метка "О" означает, что сущности нет (в данном случае модель ошиблась на одном токене). Финальное предсказание именованной сущности для слова "дебетовую" будет «DEB_CARD».[0045] After the vector representation of the token sequence with a given dimension has been generated by said module 60, it is sent to the named entity prediction module 70 for tokens. Module 70 predicting named entities for tokens based on comparing the indicators of the obtained vector representation of the sequence of tokens with predetermined indicators of vectors obtained as a result of training the neural network, predicts named entities for the vector representation of the sequence of tokens. For example, for the word "debit", the following sequence of named entity labels in 10 markup can be defined: 'I_DEB_CARD', 'I_DEB_CARD', 'I_Ο'. The "O" label means that there is no entity (in this case, the model was mistaken on one token). The final named entity prediction for the word "debit" will be "DEB_CARD".

[0046] Далее данные об именованных сущностях упомянутым модулем 70 направляются в модуль 90 распознавания именованных сущностей, который для каждой именованной сущности известными из уровня техники методами подбирает метку слова, причем финальная метка слова может быть определена посредством нейронных сетей методом голосования, а в качестве финальной метки выбирается та, у которой наибольшее их число. Например, для метки «I_DEB_CARD» может быть определено 2 голоса, а для метки «I_O» - 1 голос. Соответственно, финальное предсказание метки именованной сущности для слова также будет "DEB_CARD".[0046] Next, the data on the named entities by said module 70 is sent to the named entity recognition module 90, which selects a word label for each named entity using methods known from the prior art, and the final word label can be determined by means of neural networks by voting, and as the final the one with the largest number of labels is selected. For example, 2 votes can be defined for the "I_DEB_CARD" tag, and 1 vote for the "I_O" tag. Accordingly, the final named entity label prediction for the word will also be "DEB_CARD".

[0047] Также дополнительно векторное представление последовательности токенов с заданной размерностью может быть обработано модулем 80 предсказания класса последовательности векторного представления токенов. Упомянутый модуль 80 на основе показателей векторного представления последовательности токенов с заданной размерностью, полученного от упомянутого ранее модуля 60, при помощи операции Max Pooling определяет максимальные значения этих показателей по всем векторам и на их основе формирует вектор, содержащий максимальные значения показателей полученного векторного представления последовательности токенов. Также упомянутый модуль 80 на основе показателей векторного представления последовательности токенов с заданной размерностью при помощи операции Average Pooling определяет средние значения этих показателей по всем векторам и на их основе формирует вектор, содержащий средние значения показателей полученного векторного представления последовательности токенов, после чего на основе показателей вектора, содержащего максимальные значения показателей векторного представления последовательности токенов, вектора, содержащего средние значения показателей полученного векторного представления последовательности токенов, и показателей последнего вектора в векторном представлении последовательности токенов упомянутый модуль 80 формирует результирующую вектор, например, посредством операции конкатенации. Далее результирующий вектор обрабатывается линейным слоем, входящим в состав модуля 80, для корректировки его размерности описанным ранее способом, и слоем softmax для классификации результирующего вектора и определения на основе результата классификации класса для векторного представления последовательности токенов, для которого был сформирован результирующий вектор.[0047] Also additionally, the vector representation of the token sequence with a given dimension can be processed by the unit 80 to predict the class of the vector representation of the token sequence. The mentioned module 80, based on the indicators of the vector representation of a sequence of tokens with a given dimension, obtained from the previously mentioned module 60, using the Max Pooling operation determines the maximum values of these indicators for all vectors and, on their basis, forms a vector containing the maximum values of the indicators of the obtained vector representation of the sequence of tokens ... Also, the mentioned module 80, based on the indicators of the vector representation of a sequence of tokens with a given dimension using the Average Pooling operation, determines the average values of these indicators for all vectors and, on their basis, forms a vector containing the average values of the indicators of the obtained vector representation of the sequence of tokens, after which, based on the indicators of the vector containing the maximum values of the indicators of the vector representation of the sequence of tokens, the vector containing the average values of the indicators of the obtained vector representation of the sequence of tokens, and the indicators of the last vector in the vector representation of the sequence of tokens, said module 80 generates the resulting vector, for example, by means of a concatenation operation. Further, the resulting vector is processed by a linear layer, which is part of module 80, to correct its dimension in the manner described earlier, and a softmax layer to classify the resulting vector and determine, based on the classification result, a class for the vector representation of a sequence of tokens for which the resulting vector was generated.

[0048] Информация о классе векторного представления последовательности токенов может указывать, например, на наличие или отсутствие именованных сущностей в текстовой информации или на вид запроса (намерения) пользователя, содержащемся в текстовой информации, для которой было сформировано упомянутое векторное представление последовательности токенов. Например, если текстовая информация представляет собой текст «на моей дебетовой карте с номером хххх хххх хххх хххх были операции, которых я не делал. Что делать?», в размеченном виде который будет представлен как «О О B_DEB_CARD I_DEB_CARD О B_NUM_CARD I_NUM_CARD О О О О О О О О О О О», то векторному представлению последовательности токенов, сформированному для данной текстовой информации, модулем 80 будет определен класс «позвать_оператора», указывающий на вид запроса пользователя - вызов оператора. Если текстовая информация будет представлять текст «Я хочу дебетовую карту», то класс будет определен как «хочу_карту», указывающий на вид запроса - оформление карты. Также вид запроса пользователя может указывать на желание получить кредит или прочую услугу.[0048] The class information of the vector representation of the token sequence may indicate, for example, the presence or absence of named entities in the textual information or the type of user request (intent) contained in the textual information for which said vector representation of the token sequence has been generated. For example, if the text information is the text “there were transactions on my debit card numbered xxxx xxxx xxxx xxxx that I did not do. What to do? ", Which will be presented as" О О B_DEB_CARD I_DEB_CARD О B_NUM_CARD I_NUM_CARD О О О О О О О О О О О О О О О О О О О О О B_DEB_CARD I_DEB_CARD О О О О О О О », then the vector representation of the sequence of tokens generated for this text information, module 80 will define the class "Call_operator", indicating the type of user request - operator call. If the text information will represent the text "I want a debit card", then the class will be defined as "want_card", indicating the type of request - card design. Also, the type of user request may indicate a desire to receive a loan or other service.

[0049] Данные о метках слов модулем 90 распознавания именованных сущностей и данные классификации векторного представления последовательности токенов модулем 80 предсказания класса последовательности векторного представления токенов далее могут быть направлены в устройство 2 хранения данных, для их последующего отображения пользователю по соответствующему запросу.[0049] The word label data by the named entity recognition module 90 and the classification data of the vector representation of the token sequence by the vector token sequence class prediction module 80 can then be sent to the storage device 2 for subsequent display to the user upon request.

[0050] Таким образом, за счет того, что векторное представление последовательности токенов формируют на основе набора векторов, полученных посредством нейронной сети в результате обработки данных последовательности токенов, а предсказание именованных сущностей для векторного представления последовательности токенов выполняют посредством сравнения показателей полученного векторного представления последовательности токенов с заранее заданными показателями векторов, полученными в результате обучения нейронной сети, повышается точность предсказания именованных сущностей. Также дополнительно точность предсказания именованных сущностей обеспечивается за счет того, что при предсказании учитывается информацию о зависимостях показателей векторов токенов от других векторов, содержащихся в векторном представлении последовательности токенов.[0050] Thus, due to the fact that the vector representation of the sequence of tokens is formed on the basis of a set of vectors obtained by the neural network as a result of processing the data of the sequence of tokens, and the prediction of named entities for the vector representation of the sequence of tokens is performed by comparing the indicators of the obtained vector representation of the sequence of tokens with predetermined indicators of vectors obtained as a result of training a neural network, the accuracy of prediction of named entities is increased. Also, in addition, the accuracy of prediction of named entities is ensured due to the fact that the prediction takes into account information about the dependences of the indicators of token vectors on other vectors contained in the vector representation of a sequence of tokens.

[0051] В общем виде (см. фиг. 2) система (200) извлечения именованных сущностей содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), устройства ввода/вывода (205), и устройство для сетевого взаимодействия (206).[0051] In general (see Fig. 2), the system (200) for extracting named entities contains one or more processors (201) united by a common data exchange bus, memory means such as RAM (202) and ROM (203), interfaces input / output (204), input / output (205), and a device for networking (206).

[0052] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (200) также необходимо учитывать графический процессор, например, GPU NVIDIA с программной моделью, совместимой с CUDA, или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.[0052] The processor (201) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, such manufacturers as: Intel ™, AMD ™, Apple ™, Samsung Exynos ™, MediaTEK ™, Qualcomm Snapdragon ™, etc. Under the processor or one of the processors used in the system (200), it is also necessary to take into account a graphics processor, for example, an NVIDIA GPU with a CUDA compliant programming model, or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used for training and application of machine learning models in various information systems.

[0053] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора.[0053] RAM (202) is a random access memory and is intended for storing machine-readable instructions executed by the processor (201) for performing the necessary operations for logical data processing. RAM (202), as a rule, contains executable instructions of the operating system and corresponding software components (applications, software modules, etc.). In this case, the available memory of the graphics card or graphics processor can act as RAM (202).

[0054] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.[0054] ROM (203) is one or more persistent storage devices such as a hard disk drive (HDD), solid state data storage device (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.

[0055] Для организации работы компонентов системы (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: 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 и т.п.[0055] Various types of I / O interfaces (204) are used to organize the operation of the system components (200) and to organize the operation of external connected devices. The choice of the appropriate interfaces depends on the specific version of the computing device, which can be, but are 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.

[0056] Для обеспечения взаимодействия пользователя с вычислительной системой (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.[0056] To ensure user interaction with the computing system (200), various means (205) I / O information are used, for example, a keyboard, display (monitor), touch display, touch-pad, joystick, mouse manipulator, light pen, stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, light indicators, projector, camera, biometric identification (retina scanner, fingerprint scanner, voice recognition module), etc.

[0057] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.[0057] The means of networking (206) provides data transmission via an internal or external computer network, for example, Intranet, Internet, LAN, etc. One or more means (206) may 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, etc.

[0058] Дополнительно могут применяться также средства спутниковой навигации в составе системы (200), например, GPS, ГЛОНАСС, BeiDou, Galileo.[0058] Additionally, satellite navigation means can be used as part of the system (200), for example, GPS, GLONASS, BeiDou, Galileo.

[0059] Конкретный выбор элементов системы (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.[0059] The specific choice of elements of the system (200) for the implementation of various software and hardware architectural solutions can vary while maintaining the required functionality provided.

[0060] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[0060] Modifications and improvements to the above-described embodiments of the present technical solution will be apparent to those skilled in the art. The foregoing description is provided by way of example only and is not intended to be limiting in any way. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.

Claims (23)

1. Способ извлечения именованных сущностей из текстовой информации, выполняемый по меньшей мере одним вычислительным устройством, содержащий этапы, на которых:1. A method for extracting named entities from textual information, performed by at least one computing device, comprising the steps of: - получают текстовую информацию;- receive text information; - выполняют разбиение текста на слова;- perform the splitting of the text into words; - выполняют токенизацию текста для получения последовательности токенов;- tokenize the text to obtain a sequence of tokens; - формируют посредством нейронной сети для полученной последовательности токенов набор векторов;- a set of vectors is formed by means of a neural network for the received sequence of tokens; - формируют на основе полученного набора векторов векторное представление последовательности токенов;- based on the obtained set of vectors, a vector representation of a sequence of tokens is formed; - посредством сравнения показателей полученного векторного представления последовательности токенов с заранее заданными показателями векторов, полученными в результате обучения нейронной сети, осуществляют предсказание именованных сущностей для векторного представления последовательности токенов;- by comparing the indicators of the obtained vector representation of the sequence of tokens with predetermined indicators of the vectors obtained as a result of training the neural network, predicting the named entities for the vector representation of the sequence of tokens; - распознают полученные на предыдущем этапе именованные сущности посредством подбора метки слова.- Recognize the named entities obtained at the previous stage by selecting a word label. 2. Способ по п. 1, характеризующийся тем, что векторное представление последовательности токенов на основе набора векторов формируют посредством расчета взвешенной суммы или средних значений показателей векторов, содержащихся в наборе векторов.2. The method according to claim 1, characterized in that the vector representation of the sequence of tokens based on the set of vectors is generated by calculating the weighted sum or average values of the indicators of the vectors contained in the set of vectors. 3. Способ по п. 1, характеризующийся тем, что дополнительно содержит этап, на котором корректируют размерность векторов, содержащихся в полученном векторном представлении последовательности токенов, для получения векторного представления последовательности токенов с заданной размерностью.3. The method according to claim 1, characterized in that it further comprises the step of correcting the dimension of the vectors contained in the obtained vector representation of the sequence of tokens to obtain a vector representation of the sequence of tokens with a given dimension. 4. Способ по п. 1, характеризующийся тем, что дополнительно содержит этапы, на которых:4. The method according to claim 1, characterized in that it further comprises the stages, at which: - на основе показателей векторов, содержащихся в векторном представлении последовательности токенов, и показателей предыдущих векторов в упомянутой последовательности посредством рекуррентного слоя нейронной сети определяют зависимости показателей векторов токенов;- based on the indicators of the vectors contained in the vector representation of the sequence of tokens, and the indicators of the previous vectors in the said sequence, the dependences of the indicators of the vectors of tokens are determined by means of the recurrent layer of the neural network; - добавляют информацию о зависимостях показателей векторов токенов к представлению последовательности токенов посредством формирования нового векторного представления последовательности токенов.- add information about the dependencies of the indicators of the vectors of tokens to the representation of the sequence of tokens by forming a new vector representation of the sequence of tokens. 5. Способ по п. 1, характеризующийся тем, что дополнительно содержит этапы, на которых:5. The method according to claim 1, characterized in that it further comprises the stages at which: - определяют для каждого вектора в векторном представлении последовательности токенов зависимости его показателей от показателей других векторов;- for each vector in the vector representation of the sequence of tokens, the dependence of its indicators on the indicators of other vectors is determined; - генерируют на основе показателей векторного представления последовательности токенов и данных о зависимостях показателей векторов, определенных на предыдущем этапе, новое векторное представление последовательности токенов.- based on the indicators of the vector representation of the sequence of tokens and data on the dependencies of the indicators of the vectors defined in the previous step, a new vector representation of the sequence of tokens is generated. 6. Способ по п. 1, характеризующийся тем, что финальная метка слова может быть определена посредством нейронных сетей методом голосования.6. The method according to claim 1, characterized in that the final word mark can be determined by means of neural networks by the voting method. 7. Способ по п. 1, характеризующийся тем, что дополнительно содержит этапы, на которых:7. The method according to claim 1, characterized in that it further comprises the stages at which: - на основе показателей векторного представления последовательности токенов определяют максимальные значения этих показателей по всем векторам и на их основе формируют вектор, содержащий максимальные значения показателей полученного векторного представления последовательности токенов;- based on the indicators of the vector representation of the sequence of tokens, the maximum values of these indicators for all vectors are determined and on their basis a vector is formed containing the maximum values of the indicators of the obtained vector representation of the sequence of tokens; - на основе показателей векторного представления последовательности токенов определяют средние значения этих показателей по всем векторам и на их основе формируют вектор, содержащий средние значения показателей полученного векторного представления последовательности токенов;- based on the indicators of the vector representation of the sequence of tokens, the average values of these indicators for all vectors are determined and on their basis a vector is formed containing the average values of the indicators of the obtained vector representation of the sequence of tokens; - на основе показателей вектора, содержащего максимальные значения показателей векторного представления последовательности токенов, вектора, содержащего средние значения показателей полученного векторного представления последовательности токенов, и показателей последнего вектора в векторном представлении последовательности токенов формируют результирующий вектор;- based on the indicators of the vector containing the maximum values of the indicators of the vector representation of the sequence of tokens, the vector containing the average values of the indicators of the obtained vector representation of the sequence of tokens, and the indicators of the last vector in the vector representation of the sequence of tokens, form the resulting vector; - осуществляют классификацию результирующего вектора для определения класса векторного представления последовательности токенов.- carry out the classification of the resulting vector to determine the class of the vector representation of the sequence of tokens. 8. Система извлечения именованных сущностей, содержащая по меньшей мере одно вычислительное устройство и по меньшей мере одно устройство памяти, содержащее машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-7.8. A system for extracting named entities, comprising at least one computing device and at least one memory device containing machine-readable instructions, which, when executed by at least one computing device, perform the method according to any one of claims. 1-7.
RU2020128709A 2020-08-31 2020-08-31 Method and system for retrieving named entities RU2760637C1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2020128709A RU2760637C1 (en) 2020-08-31 2020-08-31 Method and system for retrieving named entities
PCT/RU2020/000698 WO2022045920A1 (en) 2020-08-31 2020-12-16 Method and system for named entity extraction
EA202092862A EA202092862A1 (en) 2020-08-31 2020-12-23 METHOD AND SYSTEM FOR EXTRACTION OF NAMED ENTITIES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020128709A RU2760637C1 (en) 2020-08-31 2020-08-31 Method and system for retrieving named entities

Publications (1)

Publication Number Publication Date
RU2760637C1 true RU2760637C1 (en) 2021-11-29

Family

ID=79174140

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020128709A RU2760637C1 (en) 2020-08-31 2020-08-31 Method and system for retrieving named entities

Country Status (3)

Country Link
EA (1) EA202092862A1 (en)
RU (1) RU2760637C1 (en)
WO (1) WO2022045920A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170308790A1 (en) * 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks
RU2722571C1 (en) * 2017-05-27 2020-06-01 Чайна Юниверсити Оф Майнинг Энд Текнолоджи Method of recognizing named entities in network text based on elimination of probability ambiguity in neural network
CN111310471A (en) * 2020-01-19 2020-06-19 陕西师范大学 Travel named entity identification method based on BBLC model
CN111353310A (en) * 2020-02-28 2020-06-30 腾讯科技(深圳)有限公司 Named entity identification method and device based on artificial intelligence and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170308790A1 (en) * 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks
RU2722571C1 (en) * 2017-05-27 2020-06-01 Чайна Юниверсити Оф Майнинг Энд Текнолоджи Method of recognizing named entities in network text based on elimination of probability ambiguity in neural network
CN111310471A (en) * 2020-01-19 2020-06-19 陕西师范大学 Travel named entity identification method based on BBLC model
CN111353310A (en) * 2020-02-28 2020-06-30 腾讯科技(深圳)有限公司 Named entity identification method and device based on artificial intelligence and electronic equipment

Also Published As

Publication number Publication date
EA202092862A1 (en) 2022-03-31
WO2022045920A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
Torfi et al. Natural language processing advancements by deep learning: A survey
WO2022007823A1 (en) Text data processing method and device
US10796084B2 (en) Methods, systems, and articles of manufacture for automatic fill or completion for application software and software services
CN110069709B (en) Intention recognition method, device, computer readable medium and electronic equipment
CN112966522A (en) Image classification method and device, electronic equipment and storage medium
US20150095017A1 (en) System and method for learning word embeddings using neural language models
US20230080671A1 (en) User intention recognition method and apparatus based on statement context relationship prediction
Wan et al. Financial causal sentence recognition based on BERT-CNN text classification
US20230130006A1 (en) Method of processing video, method of quering video, and method of training model
CN112632226B (en) Semantic search method and device based on legal knowledge graph and electronic equipment
CN116304748B (en) Text similarity calculation method, system, equipment and medium
EA038264B1 (en) Method of creating model for analysing dialogues based on artificial intelligence for processing user requests and system using such model
KR102608867B1 (en) Method for industry text increment, apparatus thereof, and computer program stored in medium
Shreda et al. Identifying non-functional requirements from unconstrained documents using natural language processing and machine learning approaches
WO2021118462A1 (en) Context detection
RU2760637C1 (en) Method and system for retrieving named entities
KR102215259B1 (en) Method of analyzing relationships of words or documents by subject and device implementing the same
RU2758683C2 (en) System and method for augmentation of the training sample for machine learning algorithms
JP2017538226A (en) Scalable web data extraction
CN111858899B (en) Statement processing method, device, system and medium
CN114676699A (en) Entity emotion analysis method and device, computer equipment and storage medium
EA041027B1 (en) METHOD AND SYSTEM FOR RETRIEVING NAMED ENTITIES
RU2755606C2 (en) Method and system for classifying data for identifying confidential information in the text
KR20220096055A (en) Electronic device for word embedding and method of operating the same
Putra et al. Textual Entailment Technique for the Bahasa Using BiLSTM