Когда я писал эту статью, мое сердце было взволновано, это потому, что, так как я написал статью в июне прошлого годаПопытка построить граф знаний с использованием извлечения отношенийС тех пор я пытаюсь найти способ извлечения троек в чистом поле.Многие читатели задавали мне этот вопрос.Сегодня автор даст ответ,хотя это не правильный ответ(и не правильный сейчас? ответ), но, по крайней мере, я написал свой собственный ответ.
Я не так давно придумал эту систему извлечения, но мое настроение менялось от волнения и экстаза в начале до отупения и неудовлетворенности до сих пор. Факты доказали,что тройная добыча в чистом поле слишком сложна.Личными усилиями и IQ автора невозможно дать точный ответ.Поэтому название статьи-попытка,и как попытка не может решить эту проблема. Тем не менее, я все еще хочу кое-что написать, надеюсь, это сможет немного вдохновить автора, и в то же время это также подведение итогов моих исследований за последние полгода.
Об основном введении и распространенных методах тройной экстракции автор уже рассказывал во многих статьях, поэтому я не буду здесь слишком много рассказывать, заинтересованные читатели могут обратиться к статьеПопытка построить граф знаний с использованием извлечения отношенийиПопытка извлечь тройки из ограниченных полей НЛП (двадцать шесть). В этой статье будет представлена попытка автора извлечь тройки в чистом поле.
Исходный код этого проекта открыт для Github, и соответствующий URL-адрес будет указан в конце статьи. Структура этого проекта выглядит следующим образом:
- Extract_example: используйте обученную модель для извлечения троек основных романов и новостей, чтобы сформировать пример карты знаний;
- sequence_labeling: обучающая маркировка, которая обучает алгоритм маркировки последовательности на данных помеченного объекта;
- spo_tagged_platform: платформа маркировки, маркировка субъекта, предиката и объекта, а также допустимость триплета;
- text_classification: классификация текста, используемая для определения правильности извлеченного триплета.
Блок-схема системы экстракции этого проекта выглядит следующим образом:
Аннотационная платформа
Автор использует торнадо для создания простой платформы для маркировки. На странице маркировки специалисту по маркировке необходимо ввести помеченное предложение (извлечение на уровне предложения) и подлежащее, сказуемое, объект, нажать «Показать SPO» и отметить допустимую тройку как 1. , недопустимые тройки помечаются 0. Причина этого метода маркировки заключается в том, что мы можем помечать подлежащее, сказуемое, дополнение в предложении, и эти помеченные сущности будут образовывать возможные комбинации триплетов, а затем использовать 0, 1, чтобы отметить, является ли эта тройка допустимой, так что тройное извлечение может быть проводится в открытом поле.
Простой пример аннотации выглядит следующим образом:
Автор использовал свободное время для маркировки в общей сложности более 3200 образцов, для маркировки последовательностей это более 3200 образцов, а для классификации текста - более 9000 образцов.
аннотация последовательности
Для приведенного выше примера аннотаций будет сформирована следующая последовательность аннотаций:
美 B-SUBJ
国 I-SUBJ
疾 I-SUBJ
控 I-SUBJ
中 I-SUBJ
心 I-SUBJ
主 B-PRED
任 I-PRED
雷 B-OBJ
德 I-OBJ
菲 I-OBJ
尔 I-OBJ
德 I-OBJ
( O
左 O
圈 O
) O
和 O
美 B-SUBJ
国 I-SUBJ
国 I-SUBJ
立 I-SUBJ
卫 I-SUBJ
生 I-SUBJ
研 I-SUBJ
究 I-SUBJ
院 I-SUBJ
过 I-SUBJ
敏 I-SUBJ
和 I-SUBJ
传 I-SUBJ
染 I-SUBJ
病 I-SUBJ
研 I-SUBJ
究 I-SUBJ
所 I-SUBJ
主 B-PRED
任 I-PRED
福 B-OBJ
西 I-OBJ
( O
右 O
圈 O
) O
Разделите набор данных на обучающий набор и тестовый набор с соотношением 8: 2. Классическая модель глубокого обучения ALBERT + Bi-LSTM + CRF используется для распознавания сущностей, максимальная длина текста установлена на 128, а обучение выполняется для 100 эпох. Для ознакомления с этой моделью вы можете обратиться к статьеНЛП (25) Реализовать модель ALBERT+Bi-LSTM+CRF. Результаты обучения на тестовом наборе следующие:
accuracy: 93.69%; precision: 76.26%; recall: 82.33%; FB1: 79.18
OBJ: precision: 80.47%; recall: 88.81%; FB1: 84.44 927
PRED: precision: 76.89%; recall: 83.69%; FB1: 80.14 1021
SUBJ: precision: 71.72%; recall: 75.32%; FB1: 73.48 983
Общее значение F1 на тестовом наборе близко к 80%.
Категоризация текста
Что касается классификации текста, то необходимы дополнительные пояснения.
Хотя название этой статьи посвящено попытке извлечь триплеты в области развития, когда я на самом деле комментирую, я по-прежнему отмечаю больше титулов персонажей, отношений между персонажами, отношений компании и человека, главных ролей в фильмах и телевизионных драмах, информации о режиссере и т. д. Существует более 9000 допустимых образцов классификации текста, всего 1365 взаимосвязей, и 20 лучших взаимосвязей с наибольшим числом выглядят следующим образом:
美国疾控中心#主任#雷德菲尔德#1#美国疾控中心主任雷德菲尔德(左圈)和美国国立卫生研究院过敏和传染病研究所主任福西(右圈)
美国疾控中心#主任#福西#0#美国疾控中心主任雷德菲尔德(左圈)和美国国立卫生研究院过敏和传染病研究所主任福西(右圈)
美国国立卫生研究院过敏和传染病研究所#主任#雷德菲尔德#0#美国疾控中心主任雷德菲尔德(左圈)和美国国立卫生研究院过敏和传染病研究所主任福西(右圈)
美国国立卫生研究院过敏和传染病研究所#主任#福西#1#美国疾控中心主任雷德菲尔德(左圈)和美国国立卫生研究院过敏和传染病研究所主任福西(右圈)
В реальном обучении модели субъект в исходном тексте будет заменен на S*len(субъект), предикат будет P, а объект будет O. Разделите набор данных на обучающий и тестовый наборы в соотношении 8:2. Используется классическая модель глубокого обучения ALBERT+Bi-GRU+ATT+FC, задана максимальная длина текста 128, обучается 30 эпох, используется механизм ранней остановки. следующие:
Извлечение троек из новых данных
После обучения приведенной выше модели мы можем инкапсулировать ее в службу HTTP. Для вновь введенного предложения мы сначала используем модель аннотации последовательности, чтобы предсказать субъект, сказуемое и дополнение, объединить их в триплет и соединение предложения, ввести его в модель классификации текста и оценить, является ли триплет действительным. 0 недействителен, 1 действителен.
Глядя на несколько примеров из Интернета, прогнозируемые результаты таковы:
extract_example
Эффект извлечения есть в каталоге, включая несколько романов и некоторые новостные эффекты.Для демонстрации этого аспекта вы можете обратиться к другому проекту:GitHub.com/percent4/может быть…. Также обратите внимание на статьюПример построения графа знанийНесколько примеров построения графа знаний приведены в .
Суммировать
Процесс написания этой статьи относительно прост, и в ней нет кода, потому что автор сделал много предзнаменований в предыдущих статьях, в основном ориентируясь на модель. Кроме того, этот проект относительно большой, и он не подходит для подробного описания здесь.Автор дает здесь только идеи и общий процесс обработки.Для конкретного кода реализации, пожалуйста, обратитесь к адресу Github ниже.
В реальном процессе извлечения некоторые предложения также извлекают большое количество бесполезных троек, что приводит к высокому показателю отзыва. Это связано с тем, что этот проект нацелен на тройное извлечение в открытом поле, поэтому эффект не такой, как ожидалось. улучшить эффект извлечения заключается в следующем:
- Увеличьте количество маркировки данных.В настоящее время существует только более 3200 образцов алгоритма маркировки последовательности;
- С точки зрения модели: теперь он в виде конвейера, и соответствующие эффекты в порядке, но в целом не так хороши, как совместная форма;
- Для других троек, которые вы хотите нарисовать, рекомендуется добавить эту метку;
- Предсказание текста занимает много времени (эта проблема решена).
Данный проект является попыткой автора добывать тройки в чистом поле.До этого было очень мало статей или проектов в этой области,поэтому можно сказать,что это исследовательский этап.
Исходный код и данные предоставлены в проекте Github по адресуGitHub.com/percent4/tickets….
Мой общедоступный номер WeChatPython爬虫与算法
, добро пожаловать, обратите внимание~
использованная литература
- Попытка построить граф знаний с использованием извлечения отношения:Блог Woohoo.cn на.com/decision chain 91/afraid/…
- Попытка тройного извлечения ограниченных полей НЛП (26):blog.CSDN.net/Decision Chain 91/AR…
- NLP (25) реализует модель ALBERT+Bi-LSTM+CRF:blog.CSDN.net/Decision Chain 91/AR…
- Пример построения графа знаний:blog.CSDN.net/Decision Chain 91/AR…
- Реальная битва НЛП (21) извлечения отношений персонажей:blog.CSDN.net/Decision Chain 91/AR…
- «Метод диаграммы знаний, практика и применение» Ван Хаофена, Ци Гуйлиня, Чена Хуацзюня, опубликовано China Industry Information Publishing Group и Electronic Industry Press.