Парсинг через нейронки и LangChain

топ 100 блогов kvisaz21.09.2023 Я наверное точно не смогу этим заняться эффективно, но кто занимается парсингом данных - обратите внимание на новый подход через нейронки.

Раньше парсинг сайта выглядел так
1. скачать страницу через браузер без интерфейса (headless)
2. пропустить ее через ряд правил CSS и регулярных выражений, чтобы вычленить нужные данные.

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

Теперь парсинг сайта выглядит так - https://www.youtube.com/watch?v=0gPh18vRghQ (туториал на 24 минуты), код из туториала на GitHub - https://github.com/trancethehuman/entities-extraction-web-scraper

0. (один раз) раскуриваем LangChain - этакий фреймворк-кукловод, под которым могут плясать нейронки
1. скачать страницу...
2. тупо кинуть ее в нейронку со словами - "вот схема данных, пожалуйста вычлени из этой страницы все подходящие данные и забей массив с такой схемой".

LangChain нужен, чтобы не делать все это вручную - хотя вручную похожий подход работает. Я проверил его как теорию, закинул в Клода страницу с Википедией и сказал "Act like data extractor, read this text and fill array of objects in format { character: string; actor: number; }" - и он на первый взгляд провел адекватную экстракцию.

Помню, как вздрогнул, когда увидел это - это что же получается, эпоха императивного программирования все же близится к финалу, будем теперь только описания желаемого результата закидывать? Прощай, немытый CSS и страна регулярных выражений-господ, просто кидаем в топку нейронок пожелания!

Парсинг через нейронки и LangChain

В общем, как я баловался с 12 стульями, извлекая списки персонажей - так можно баловаться и с неформатированными данными, извлекая массивы с нужным форматом.

Я предполагаю, что точность такого "парсинга" не идеальная, в отличие от старомодных регулярок и CSS. Зато диапазон форматов чудовищный, и нет предела автоматизации. Для серьезной науки не подойдет, но для каких-то практических задач - хм.

pS: проверил, закидывая голый HTML, только кусок страницы, так как, вы не поверите, со всей разметкой страница Вики весит около мегабайта. Для того и нужен LangChain, чтобы нарезать данные по окну промпта. Собственно в туториале по ссылке вверху показан пример работы с нейронкой очень узкого окна контекста.

PPS: самое интересное, что LangChain можно подключить к локальной нейронке, а 7B-модели будут шустро работать почти на любой машине благодаря llama.cpp. А если еще и натаскать модель специально на парсинг!!!

ppps: Если вы внимательно прочтете мой промпт, то увидите там ошибку в описании формата. Нейронка в данном случае восприняла все так, как и было надо. Но следует учесть, что точно так же она сможет "исправить" и какой-то редкий случай, который не поймет.

Оставить комментарий

Архив записей в блогах:
В Черном море 9 марта начнутся военно-морские учения флотов стран — членов НАТО, говорится на сайте организации. В маневрах около берегов Болгарии примут участие корабли США, Италии, Германии, Канады, Турции, Болгарии и Румынии. «Наши моряки рады посетить Варну и взаимодействовать с насе ...
"Jamming with Edward!" - альбом трех участников группы The Rolling Stones (Мика Джаггера, Чарли Уоттса и Билла Уаймена) в сопровождении Ники Хопкинса (клавишные) и Рая Кудера (гитара). Альбом был записан в лондонской Olympic Studio весной 1969 года во время сессий альбома The ...
Мечта всех маньяков! Более 10 видов оружия, включая: снайперскую винтовку, коктейль Молотова, полицейскую дубинку, а также глушитель из живой кошки! Более того, самое главное и безумнейшее оружие — половой член! О какой игре идет ...
Подробности гибели Виктора Януковича-младшего. Чехов написал о Сибири: «Фраза «Человек есть царь природы» нигде не звучит так робко и фальшиво, как здесь». Сталин, отбывавший ссылку на Енисее, ярко описывал ужас, который вселяют эта река и местность. «Отец народов ...
И еще несколько фотографий с фотосета в Херсонесе, в рамках нашего прошедшего арт-тура. Управлять процессом при большом количестве участников получалось не очень, но немного хороших картинок все равно есть. ...