RU2760637C1 - Method and system for retrieving named entities - Google Patents
Method and system for retrieving named entities Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Abstract
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
[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
[0032] Модуль 30 формирования векторного представления последовательности токенов может быть реализован на базе по меньшей мере одного вычислительного устройства, оснащенного соответствующим программным обеспечением для определения взвешенной сумма или среднего (в зависимости от конфигурации) значения показателей векторов для формирования векторного представления последовательности токенов.[0032] The
[0033] Модуль 40 определения зависимости показателей векторов токенов может быть реализован на базе рекуррентной нейронной сети (RNN), выполненной с возможностью на основе значений показателей векторов, содержащихся в векторном представлении последовательности токенов, определять рекуррентные зависимости между показателями векторов. Граф вычислений рекуррентных нейронных сетей также может содержать циклы, которые отражают зависимости значения переменной в следующий момент времени от ее текущего значения.[0033] The
[0034] Модуль 50 определения типов зависимостей между токенами в последовательности векторного представления токенов может быть реализован на базе нейронной сети, содержащей Multi-Head attention нейросетевой слой. Multi-head attention - это специальный слой, который дает возможность каждому входному вектору взаимодействовать с другими словами через механизм внимания (attention mechanism), вместо передачи параметров «hidden state» как в RNN или соседних слов как в CNN. Ему на вход даются вектора Query, и несколько пар Key и Value (на практике, Key и Value это всегда один и тот же вектор). Каждый из них преобразуется обучаемым линейным преобразованием, а потом вычисляется скалярное произведение Q со всеми K по очереди, прогоняется результат этих скалярных произведений через softmax, и с полученными весами все вектора суммируются в единый вектор.[0034]
[0035] Модуль 60 корректировки размерности векторного представления последовательности токенов может быть реализован на базе линейных слоев нейронной сети, предназначенных для обработки показателей векторов для корректировки их размерностей. Весовые коэффициенты для линейных слоев могут быть заданы разработчиком модуля 60 при его проектировании.[0035] The
[0036] Модуль 70 предсказания именованных сущностей для токенов может быть реализован на базе по меньшей мере одной нейронной сети, заранее обученной на конкретных наборах именованных сущностей и соответствующих им наборах векторов. В частности, для предсказания именованных сущностей может быть использован слой softmax, широко известный из уровня техники (см., например, https://ru.wikipedia.org/wiki/Softmax).[0036] The
[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
[0039] На первом этапе работы системы 100 извлечения именованных сущностей в модуль 10 предобработки и токенизации текста поступает текст, например, от источника данных 1. Источником 1 данных может быть по меньшей мере одна база данных (БД), в которой содержится текстовая информация, либо источником 1 данных может быть устройство пользователя, например, портативный или стационарный компьютер, мобильный телефон или смартфон, планшет и пр.[0039] At the first stage of the operation of the
[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
[0042] Далее полученное модулем 30 векторное представление последовательности токенов направляется в модуль 60 корректировки размерности, который корректирует размерность векторов, содержащихся в полученном векторном представлении последовательности токенов, например, посредством умножения показателей векторов на сгенерированное случайное нецелое число, для получения векторного представления последовательности токенов с заданной размерностью.[0042] Next, the vector representation of the token sequence obtained by the
[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
[0044] Модуль 50 определения типов зависимостей между токенами при получении векторного представления последовательности токенов для каждого вектора известными из уровня техники методами определяет зависимости его показателей от показателей других векторов, входящих векторное представление последовательности токенов, которые также могут выражены в виде векторов, после чего упомянутый модуль 50 корректирует векторное представление последовательности токенов путем генерирования на основе показателей векторного представления последовательности токенов и данных о зависимостях показателей векторов нового векторного представления последовательности токенов. Данные о зависимостях показателей векторов характеризуют типы зависимостей между токенами, содержащимися в векторном представлении последовательности токенов, и могут указывать на наличие семантической или морфологической зависимости между токенами. Соответственно, сформированное векторное представление последовательности токенов модулем 50 направляется в модуль 60 корректировки размерности векторного представления последовательности токенов для его обработки описанным ранее способом.[0044] The
[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
[0046] Далее данные об именованных сущностях упомянутым модулем 70 направляются в модуль 90 распознавания именованных сущностей, который для каждой именованной сущности известными из уровня техники методами подбирает метку слова, причем финальная метка слова может быть определена посредством нейронных сетей методом голосования, а в качестве финальной метки выбирается та, у которой наибольшее их число. Например, для метки «I_DEB_CARD» может быть определено 2 голоса, а для метки «I_O» - 1 голос. Соответственно, финальное предсказание метки именованной сущности для слова также будет "DEB_CARD".[0046] Next, the data on the named entities by said
[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
[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
[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)
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)
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 |
-
2020
- 2020-08-31 RU RU2020128709A patent/RU2760637C1/en active
- 2020-12-16 WO PCT/RU2020/000698 patent/WO2022045920A1/en active Application Filing
- 2020-12-23 EA EA202092862A patent/EA202092862A1/en unknown
Patent Citations (4)
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 |