Погрузитесь в Извлечение Все аспекты сущности технологии, от подходов, основанных на правилах, до нейронных сетьизглубокое метод обучения, представляет собой серию подробных технических вводных и практических случаи。 Следуйте за TechLead и делитесь всесторонними знаниями об искусственном интеллекте. Автор имеет более чем 10-летний опыт работы в области архитектуры интернет-сервисов, опыт исследований и разработок продуктов искусственного интеллекта, а также опыт управления командой. Он имеет степень магистра Университета Тунцзи в Университете Фудань, член Лаборатории интеллекта роботов Фудань, старший архитектор, сертифицированный Alibaba Cloud. , специалист по управлению проектами, а также занимается исследованиями и разработками продуктов искусственного интеллекта с доходом в сотни миллионов человек.
Извлечение сущности(Named Entity Recognition, NER) занимает незаменимую позицию в области обработки естественного языка (НЛП). Его основная задача — идентифицировать в тексте сущности с определенным значением, такие как имена людей, мест, организаций и т. д., что имеет решающее значение для понимания и анализа больших объемов неструктурированного текста. Глубокое понимание Извлечения Суть технологии заключается не только в освоении ее основных принципов и методов применения, но также в изучении ее технических деталей, проблем и инновационных решений для решения этих проблем.
Извлечение сущности, как основная задача обработки естественного языка (НЛП), направлена на выявление фрагментов информации с определенным значением из текста и классификацию их по заранее определенным категориям, таким как имена людей, места, названия организаций и т. д. Этот процесс обычно включает два основных этапа: распознавание объекта и классификация объекта. Распознавание объектов означает определение границ объектов в тексте, а классификация объектов означает отнесение распознанных объектов к соответствующим категориям. Извлечение Технические методы определения причин можно грубо разделить на три категории: методы, основанные на правилах, методы, основанные на статистике, и методы, основанные на глубоких знаниях. метод обучения.
Ранние системы извлечения причин в основном опирались на рукописные правила и словари. Эти методы идентифицируют и классифицируют объекты в тексте, определяя определенные языковые правила и списки словаря. Хотя эти методы хорошо работают в определенных доменах и ограниченных наборах данных.,Но им не хватает универсальности.,Существуют огромные проблемы с расширением масштабов и адаптируемостью предметной области.
С машинным С развитием технологий обучения для Извлечения стали применяться признаки, основанные на методах. сущности По заданию。这一阶段из方法通常нуждаться要手工设计特征,Например, теги части речи, контекстная информация, грамматические зависимости и т. д.,Эти функции затем используются для обучения модели классификации (например, машины опорных векторов SVM, дерева решений и т. д.) для идентификации объектов в тексте. Этот тип метода является значительным улучшением по сравнению с методами чистого правила и словаря.,Но он по-прежнему требует трудоемкой разработки функций и большого объема знаний в предметной области.
С глубоким обучение Расцвет технологий, Извлечение Фокус исследований миссии сущности стал смещаться в сторону использования модели нейронной сеть. По сравнению с традиционными методами, более глубокие Метод обучения может автоматически изучать сложные представления функций на основе данных, уменьшая зависимость от ручного проектирования функций. Первые дни модели нейронной сети,Такие как свертканейронная сеть(CNN)и циклнейронная сеть(RNN),Уже в Извлечение Он показывает лучшую производительность в задаче по изучению веществ.
Особенно сочетание сети длинной краткосрочной памяти (LSTM) и условного случайного поля (CRF), для Извлечения. Такие задачи приносят значительное улучшение производительности. Эта комбинация использует преимущества мощных возможностей моделирования последовательностей LSTM и эффективную производительность CRF в задачах аннотации последовательностей и на какое-то время стала популярным выбором. Стандартная практика для задач по определению.
в последние годы,Предварительно обученная языковая Появление моделей (таких как BERT, GPT и т. д.) еще больше способствовало Извлечению. Развитие технологии веществ. Эти Модели усвоили богатые языковые возможности и знания посредством предварительного обучения на крупномасштабных корпусах, а затем адаптировались к последующим задачам НЛП посредством тонкой настройки, включая Извлечение. сущности. Применение Предтренировочной Модели не только в Извлечении Это позволило достичь беспрецедентной точности в задаче определения веществ и значительно сократить Модельное сложность и сложность обучения.
Подход, основанный на правилах, – это Извлечение Одна из самых ранних технологий обнаружения, она опирается на предопределенные языковые правила и словари для идентификации конкретных объектов в тексте. Хотя с машинным обучениеиглубокое Обучение Технологическое развитие, подход, основанный на правилах, может показаться примитивным и ограниченным, но в конкретных сценариях и приложениях этот подход обусловлен своей высокой Его легко понять и реализовать, и он по-прежнему имеет определенную прикладную ценность.
Извлечение на основе правил сущности方法主要依赖于手工编写из规则。Эти правила могут быть регулярными выражениями.、шаблон тега части речи、词汇匹配列表或它们из组合。Например,Сопоставление номеров телефонов и адресов электронной почты с помощью регулярного выражения,или черезшаблон тега части речи来识别名词短语作为潜существоватьиз实体。
кроме правил,Подходы, основанные на правилах, также часто используют словари (или списки сущностей) для сопоставления сущностей. Эти словари содержат большое количество названий для конкретных типов объектов.,Например, имена людей, мест, организаций и т. д. Автор: Сопоставление словарь, система способна идентифицировать известные объекты, встречающиеся в тексте.
На практике правила и словари часто интегрируются в конвейер обработки для идентификации и извлечения объектов из текста. Этот процесс может включать предварительную обработку текста, маркировку частей речи, синтаксический анализ и другие шаги, способствующие сопоставлению правил и распознаванию объектов.
Предположим, нам нужно извлечь названия компаний из статей финансовых новостей. Язык финансовых новостей относительно стандартизирован, а порядок появления названий компаний относительно фиксирован, что обеспечивает применимые сценарии для метода, основанного на правилах.
import re
# Правила регулярных выражений, определяющие названия компаний
company_pattern = re.compile(r'\b(?:\w+\s){0,2}\w*?(?:Inc|Ltd|Corporation|Group)\b')
# образец текста
text = "GlobalTech
Inc. announced a merger with Innovate Ltd. today."
# Применить правила
matches = company_pattern.findall(text)
print("Identified Companies:", matches)
Identified Companies: ['GlobalTech Inc.', 'Innovate Ltd.']
С помощью этого простого Практические Иногда мы можем увидеть эффективность подхода, основанного на правилах, в конкретных сценариях. Однако важно отметить, что в более сложных или разнообразных текстовых средах подходы, основанные на правилах, возможно, придется сочетать с другими методами для улучшения Извлечения. точность и охват содержания.
С развитием технологий обработки естественного языка Извлечение Миссия по поиску источников началась с Методов машинного обучения на основе функции. Эти методы работают путем ручного извлечения функций из текстовых данных, а затем использования этих функций для обучения машинных данных. обучение Модель для идентификации и классификации сущностей. Этот переход знаменует собой важный шаг от статических правил к динамическому обучению, обеспечивая основу для Извлечения. Развитие технологии веществ дает новый импульс.
Извлечение признаковда Методы машинного обучения на основе Ключевой шаг в функциях, который включает в себя извлечение информации, которая может представлять характеристики объекта, из исходных текстовых данных. Эти функции обычно включают теги части речи, именованные типы объектов, префиксы и суффиксы слов, корни слов, контекстную информацию. информация, зависимость и т. д.
Используя извлеченные функции, можно обучить различные типы моделей машинного обучения распознаванию и классификации объектов, включая деревья решений, случайные леса, машины опорных векторов (SVM), логистическую регрессию и т. д. Эти модели изучают взаимосвязи между функциями и типами объектов для эффективного распознавания объектов в новых текстовых данных.
В методах, основанных на функциях, способ выбора и извлечения функций напрямую влияет на производительность модели. Общие признаки технологии извлечения включают в себя:
Рассмотрим сценарий,Нам нужно извлечь упоминания названий продуктов из текстов социальных сетей. Такие тексты обычно очень неформальны.,и полно интернет-сленга и сокращений,Давать Извлечение Существа создают дополнительные проблемы.
Предполагая, что мы завершили этапы предварительной обработки и структурирования, вот упрощенный пример обучения с использованием SVM из библиотеки Scikit-learn:
from sklearn.svm import LinearSVC
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.pipeline import Pipeline
from sklearn.datasets import load_files
# Загрузка обучающие
data = load_files('data/product_names', encoding='utf-8')
X, y = data.data, data.target
# Создайте простой конвейер, включающий векторизацию TF-IDF и классификатор SVM.
pipeline = Pipeline([
('tfidf', TfidfVectorizer()),
('clf', Linear
SVC()),
])
# Модель обучения
pipeline.fit(X, y)
# Пример прогноза
predictions = pipeline.predict(["Check out the new smartphone from TechCo!"])
print("Predicted entity:", predictions[0])
Predicted entity: PRODUCT_NAME
По этому Практические иногда мы можем видеть Методы машинного обучения на основе функций Обработка Извлечение В чем заключается гибкость и эффективность при выполнении задач. Однако процессы выбора функций и настройки модели часто требуют большого опыта и экспериментов, что также является серьезной проблемой, с которой сталкивается этот тип метода. С глубоким Возникновение метода обучения, автоматическое Извлечение становится возможным, для Извлечения Развитие технологии веществ открыло новые пути.
С глубоким Быстрое развитие технологий обучения основано на нейронных Метод сети стал Извлечением Мейнстрим в области сущностей. Эти методы значительно улучшают извлечение за счет автоматического изучения сложных представлений функций из больших объемов данных. Производительность веществ.
существовать Извлечение Наиболее часто используемая модель в задачах сущности. нейронной сетивключая сверткунейронная сеть(CNN)、циклнейронная сеть(RNN)、Сеть долгосрочной краткосрочной памяти (LSTM) и вентилируемая рекуррентная единица (GRU). Эти модели способны фиксировать локальные функции (CNN) и зависимости на расстоянии (RNN) в текстовых данных.、LSTM、GRU),Чрезвычайно эффективно справляется со сложностью естественного языка.
в последние годы,Предварительно обученная языковая модели, такие как BERT, GPT и RoBERTa и т. д., усвоили богатые языковые функции и знания посредством предварительного обучения на крупномасштабных корпусах, а затем адаптировались к конкретным задачам НЛП посредством тонкой настройки, включая Извлечение. сущности. Появление этой модели еще больше усилило извлечение. Улучшения производительности технологии веществ.
Учитывая, что комментарии пользователей в социальных сетях содержат большое количество необработанных текстовых данных, содержащих богатые эмоции и мнения пользователей, наша цель — автоматически извлекать из этих комментариев упомянутые названия брендов и продуктов.
Для достижения этой цели мы решили использовать модель BERT для точной настройки. БЕРТ (Двунаправленный Encoder Representations from Transformers)да一个基于Transformerиз预Модель обучения,Он понимает семантику текста путем двунаправленного обучения модели языка.,очень подходит Извлечение сущности и другие задачи НЛП.
Сначала нам нужно подготовить размеченный набор данных, который содержит текст и соответствующие аннотации к объектам. Для упрощения объяснения мы предполагаем, что такой набор данных уже существует.
Использование Python и библиотеки PyTorch,Мы можем легко настроить BERTМодель,以适应我们из Извлечение суть миссии. Вот упрощенный пример процесса тонкой настройки:
from transformers import BertTokenizer, BertForTokenClassification, Trainer, TrainingArguments
from torch.utils.data import DataLoader
import torch
# Инициализировать токенизатор BERT
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# Загрузите предварительно обученную модель BERT для классификации токенов (Извлечение сущности)
model = BertForTokenClassification.from_pretrained('bert-base-uncased', num_labels=number_of_entity_types)
# Подготовьте данные и параметры обучения (при условии, что данные уже подготовлены)
train_dataset = ... # Ваш набор данных для обучения
training_args = TrainingArguments(
output_dir='./models',
num_train_epochs=3,
per_device_train_batch_size=16,
warmup_steps=500,
weight_decay=0.01,
logging_dir='./logs',
)
# Инициализировать трейнер
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
)
# Начать обучение
trainer.train()
Этот код показывает, как использовать объятия Библиотека трансформеров Face для загрузки модели BERT, а затем ее точной настройки в соответствии с конкретным извлечением. сущности Задача。
нуждаться Следует отметить, что,这里изnumber_of_entity_types
应该根据你из По заданию实体из类型数量来设置。
Модельное После завершения обучения мы можем использовать обученную Модель для выполнения Извлечения новых текстовых данных. сущности:
# образец текста
text = "I love the new iPhone that was released by Apple last week."
# Сегментация слов и преобразование во входной формат модели
input_ids = tokenizer.encode(text, return_tensors="pt")
# Прогнозирование с помощью модели
with torch.no_grad():
output = model(input_ids)[0]
predictions = torch.argmax(output, dim=2)
# Преобразуйте результаты прогнозирования в метки объектов (логика преобразования здесь опущена)
# ...
С помощью этого упрощенного Практические случаях мы можем видеть на основе предварительного обученная языковая модельизглубокое обучение方法существовать Извлечение сущности Задача上из应用。Этот тип метода работает путем извлечения из большого количестваданные Автоматически изучать представления объектов в,Значительно снижает потребность в ручном проектировании функций.,Это также обеспечивает большую точность и гибкость.