Маркировка последовательности с использованием нейронной модели: учебное пособие

Целью этой задачи является выполнение маркировки последовательности с помощью заполнения слота или тегирования слота. Чтобы быть более конкретным, задача заключается в распознавании биомедицинских именованных объектов (NER) в корпусе BioNLP/NLPBA 2004. Мы внедрим BiLSTM CRF с мини-пакетным обучением и обучим его на обучающих данных, чтобы предсказать наилучшую последовательность меток с использованием декодирования Витерби. Например, когда мы обрабатываем биомедицинский текст, модель сможет идентифицировать пять основных именованных объектов: ДНК, РНК, белок, клеточную линию и тип клетки. Таким образом, основная проблема в задаче заполнения слота состоит в том, чтобы извлечь целевой объект с высокой точностью. Распознавание биомедицинских именованных объектов — это основная задача, которая позволяет нам иметь структурированную информацию, которую можно использовать в более сложных задачах, таких как выделение белка. Набор данных разделен на 3 раздела: обучение, разработка и тестирование. Файлы имеют формат с двумя столбцами, где каждая строка содержит один токен и его тег, разделенные символом табуляции, однако я никогда не использовал этот формат интервала. вместо этого набор данных был повторно загружен в виде файла csv, поэтому он соответствует традиционному формату столбцов и строк csv. В наборе для поездов 18 546 предложений, в наборе для разработчиков — 105 предложений, а в тестовом наборе — 3856 предложений.

Что такое BiLSTM CRF?

Эти модели представляют собой структуру нейронной сети, используемую для моделирования визуального восприятия человека. Чтобы быть более конкретным, CRF содержит одну или несколько входных единиц, которые представляют собой сверточные нейроны. Вот и все! Модель разработана с использованием CRF с использованием объектов черного ящика. Это очень простая модель, но она имеет много возможностей для изучения пространственных структур и структуры лингвистических элементов. Он также имеет много приятных функций, таких как Feature Learning. Функции: функция определяется тегом входного токена, поэтому, если для одного и того же токена имеется много тегов, будет использоваться конкретная функция.

Маркировка последовательности с использованием нейронной модели

class BiLSTM (SupportVectorBatchClassifier): «» BiLSTM — это сверточная нейронная сеть, которая учится обрабатывать набор данных, содержащий тысячи символов, например набор данных Biomedical Words. Задача маркировки последовательности — это то, где сеть будет использоваться для прогнозирования названия заголовка с использованием модели маркировки последовательности. ‘’’ # сверточная нейронная сеть ‘’’ train_latency = 2000 x_train = [] x_test = [] def make_train_dev(rnn, training_data): return rnn.decode(‘utf8’) class BiL

Целью этой задачи является выполнение маркировки последовательности с помощью заполнения слота или тегирования слота. Чтобы быть более конкретным, задача заключается в распознавании биомедицинских именованных объектов (NER) в корпусе BioNLP/NLPBA 2004. Мы внедрим BiLSTM CRF с мини-пакетным обучением и обучим его на обучающих данных, чтобы предсказать наилучшую последовательность меток с использованием декодирования Витерби. Например, когда мы обрабатываем биомедицинский текст, модель сможет идентифицировать пять основных именованных объектов: ДНК, РНК, белок, клеточную линию и тип клетки. Таким образом, основная проблема в задаче заполнения слота состоит в том, чтобы извлечь целевой объект с высокой точностью. Распознавание биомедицинских именованных объектов — это основная задача, которая позволяет нам иметь структурированную информацию, которую можно использовать в более сложных задачах, таких как выделение белка. Набор данных разделен на 3 раздела: обучение, разработка и тестирование. Файлы имеют формат с двумя столбцами, где каждая строка содержит один токен и его тег, разделенные символом табуляции, однако я никогда не использовал этот формат интервала. вместо этого набор данных был повторно загружен в виде файла csv, поэтому он соответствует традиционному формату столбцов и строк csv. В наборе для поездов 18 546 предложений, в наборе для разработчиков — 105 предложений, а в тестовом наборе — 3856 предложений.

Что такое BiLSTM CRF?

Биологическая нейронная сеть — это архитектура компьютерного программного обеспечения, предназначенная для моделирования биологических систем, таких как нервная система и нейронные цепи. Таким образом, он выполняет множество задач, таких как изучение того, какие веса присваивать различным связям между нейронами. По сути, в следующем посте мы продолжим более подробное объяснение работы, проделанной для программирования LSTM.

Маркировка последовательности с использованием нейронной модели

Цель этой задачи — выполнить маркировку последовательностей с помощью заполнения слотов или тегов слотов. Чтобы быть более конкретным, задача заключается в распознавании биомедицинских именованных объектов (NER) в корпусе BioNLP/NLPBA 2004. Мы внедрим BiLSTM CRF с мини-пакетным обучением и обучим его на обучающих данных, чтобы предсказать наилучшую последовательность меток с использованием декодирования Витерби. Например, когда мы обрабатываем биомедицинский текст, модель сможет идентифицировать пять основных именованных объектов: ДНК, РНК, белок, клеточную линию и тип клетки. Таким образом, основная проблема в задаче заполнения слота состоит в том, чтобы извлечь целевой объект с высокой точностью. В наборе для поездов 18 546 предложений, в наборе для разработчиков — 105 предложений, а в тестовом наборе — 3856 предложений.

Создать загрузчик данных

Чтобы избежать повторной загрузки одного и того же набора данных снова и снова, набор данных разделен на два набора данных: train и dev. Набор поездов содержит 18 546 предложений, набор разработчиков — это подмножество набора поездов, содержащее только 105 предложений. Затем набор для разработки обрабатывается путем создания тегов поиска, которые есть в наборе для тестирования. Этот набор данных имеет следующую структуру: ПРИМЕЧАНИЕ. Чтобы иметь возможность прочитать этот набор данных, вам необходимо следовать этим соглашениям о форматировании, вы можете сделать это, просмотрев следующие файлы примеров: Структура имени файла по умолчанию выглядит следующим образом: Train Vdev Папка с примерами c:\rce.csv test 1 2 3 4 c:\rce . csv ‹ Пример имени › test Примечание. Имя файла для набора данных train — c:\rce.csvtrain, а для набора данных dev — c:\rce.csvdev .

Обучите модель на обучающих данных

Откройте предоставленный текстовый файл и давайте запустим этикетировщик биоинформатики, используя пакет openRx. Будет создан следующий набор данных с именем файла enc.csv. #!/usr/bin/env python import binascii import os import re import pandas as pd import numpy as np files = [files for f in os.listdir('./texts')] # Запускаем метку R на обучающем наборе данных dataset = pd.read_csv('enc.csv', header=None, filetype=”csv”) # Создайте csv, заполните его словами и добавьте в набор данных index_df = index_df.load_csv(output_file=data_dir + 'enc.csv ', delimiter="\t") # Разобьем входную строку на строки, и мы сохраним ссылку на все строки (заключенные в угловые скобки). для i слово в перечислении (файлы): if word.startswith(“.”): index_df[i] = слово [word.lower()] index_df.

Прогноз на наборе разработчиков

Прогнозирование набора поездов Прогнозирование набора тестов Я представлю прогнозы только для первых двух столбцов, и мы сможем выяснить разницу в прогнозах между наборами разработчиков и наборов поездов, а также мы сможем выяснить, различаются ли два набора тестов .

Прогноз на тестовом наборе

Во-первых, мы не будем предсказывать каждый токен, на самом деле мы научимся предсказывать каждый, узнав, какое слово используется в токене. Это будет сделано путем анализа токенов и предложений, что позволит нам узнать, как они называются. Пример предложения в наборе для разработчиков: «Собака рыже-коричневая с белыми крапинками». {А. Существительное — Собака} {Б. Глаголы} У нас нет информации ни о том, что такое собака (первая часть), ни о том, как зовут собаку (последняя часть), и поэтому мы можем сказать, что это собака, только выучив слово для собаки, «собака». . Начнем предсказывать слово «собака». Мы будем делать токенизацию и, позже, сортировку слов. Для начала пройдемся по каждому токену и решим, что это за слово (существительное, глагол или невербальная строка).

Вывод

Мы создали набор из 3622 обучающих примеров и 2215 проверочных примеров, из которых мы извлекли и пометили 106 объектов. Мы не можем использовать все примеры, так как в задании также использовался тестовый набор, однако тестовый набор содержит больше всего доказательств по терминам, которые использовались в созданных нами предложениях. Наша модель может быть дополнительно использована в различных задачах, где субъекту присваиваются метки для всех примеров, даже если модель не может генерировать полный набор примеров в данном наборе данных. Некоторые предложения для других функций могут заключаться в использовании функции потерь (как алгоритм Витерби), которая будет использоваться для создания кластеров, исключая немаркированные экземпляры, чтобы уменьшить количество немаркированных экземпляров.