«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > ETL: извлечение имени человека из текста

ETL: извлечение имени человека из текста

Опубликовано 7 ноября 2024 г.
Просматривать:354

Допустим, мы хотим парсить chicagomusiccompass.com.

Как видите, в нем есть несколько карточек, каждая из которых представляет какое-то событие. Теперь давайте проверим следующее:

ETL: Extracting a Person

Обратите внимание, что название мероприятия:


jazmin bean: the traumatic livelihood tour


Итак, теперь вопрос: Как извлечь имя исполнителя из текста?

Как человек, я могу «легко» сказать, что Джазмин Бин — художник — просто загляните на их вики-страницу. Но написать код для извлечения этого имени может оказаться непросто.

Мы могли бы подумать: «Эй, что-нибудь перед : должно быть именем исполнителя», что кажется умным, не так ли? В этом случае это работает, а как насчет этого:


happy hour on the patio: kathryn & chris


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

Именно здесь могут пригодиться модели Распознавания именованных объектов (NER). Они имеют открытый исходный код и могут помочь нам извлекать имена из текста. Он не сможет отследить все случаи, но в большинстве случаев они предоставят нам необходимую информацию.

Благодаря такому подходу извлечение данных становится намного проще. Я выбираю Python, потому что сообщество, занимающееся машинным обучением на Python, просто непобедимо.


from gliner import GLiNER

model = GLiNER.from_pretrained("urchade/gliner_base")

text = "jazmin bean: the traumatic livelihood tour"
labels = ["person", "bands", "projects"]
entities = model.predict_entities(text, labels)

for entity in entities:
    print(entity["text"], "=>", entity["label"])


Что генерирует выходные данные:


jazmin bean => person


Теперь давайте посмотрим на другой случай:


happy hour on the patio: kathryn & chris


Выход:


kathryn => person
chris => person


источник-GLiNER

Потрясающе, правда? Больше никакой утомительной логики для извлечения имен, просто используйте модель. Конечно, он не охватывает все возможные случаи, но для моего проекта такой уровень гибкости вполне подходит. Если вам нужна большая точность, вы всегда можете:

  • Попробуйте другую модель
  • Внести вклад в существующую модель
  • Развивите проект и настройте его под свои нужды

Заключение

Разработчику программного обеспечения настоятельно рекомендуется быть в курсе инструментов в области машинного обучения. Не все можно решить с помощью простого программирования и логики — некоторые задачи лучше решать с помощью моделей и статистики.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/garciadiazjaime/etl-extracting-a-persons-name-from-text-ahl?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3