„Машинно обучение“
въведение
Това е част от поредицата публикации в блогове, свързани с внедряването на изкуствен интелект. Ако се интересувате от предисторията на историята или как се развива:
#1) Как да изтриете Google Local Results с изкуствен интелект?
#2) Пример за машинно обучение на релси в реалния свят
#3) Съвети и сравнения за обучение на AI
#4) Машинно обучение при скрапинг с Rails
#5) Внедряване на ONNX модели в Rails
#6) Как ML Hybrid Parser побеждава традиционния Parser
Тази седмица ще споделим сравненията с нашия проблемен анализатор и как моделът ML-Hybrid
ще подобри нашия анализ. Избрах API на Google Local Pack Scraper на SerpApi като тестова площадка. Ще използваме само Desktop
резултата в обхвата на това сравнение
Правила за сравнение
Нека дефинираме някои правила за сравняване на два парсера:
- Правилният разбор дава
+3
точки - Неправилният анализ дава
-2
точки - Частичният правилен анализ все още е неправилен анализ, така че
-2
точки - Ако правилно анализирана стойност се появи на друг ключ, второто появяване ще се счита за
-2
отделно, така че в крайна сметка ще се равнява на+1
(минус за объркване) - Ако повече от един елемент се появи на нежелан ключ, те отделно ще имат
-2
точки - Ако текст в част от HTML не е изтрит в нито един от ключовете, той ще има
-1
точки, за да не причинява объркване
Примери
Опитахме се да използваме заявки от различни заявки от различни сектори на бизнеса, за да елиминираме пристрастията в сравнението. Няма никакви проблеми с изчисляването на ML-Hybrid Model
. Въпреки това, читателят трябва да вземе предвид невалидността на Traditional Parser
, същите проблеми се появяват при различни стойности. Като се има предвид това, традиционният анализатор използва голям и сложен набор от условия, за да анализира резултатите. Трудно е да се поддържа и целите на CSS се променят почти на всеки две седмици. Моделът ML-Hybrid
от друга страна използва прости CSS цели като div:has(text())
, за да събере необходимите текстове в целевите полета.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Запитване: ЗъболекарTraditional Parser Score
: -10ML-Hybrid Parser Score
: 14
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Запитване: ЗъболекарTraditional Parser Score
: -10ML-Hybrid Parser Score
: 10
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: ЗъболекарTraditional Parser Score
: -8 (всички неправилни)ML-Hybrid Parser Score
: 1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КнижарницаTraditional Parser Score
: -10ML-Hybrid Parser Score
: 14
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КнижарницаTraditional Parser Score
: -10ML-Hybrid Parser Score
: 21 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КнижарницаTraditional Parser Score
: -3ML-Hybrid Parser Score
: 17
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: Мексикански ресторантTraditional Parser Score
: -9ML-Hybrid Parser Score
: 15 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: Мексикански ресторантTraditional Parser Score
: -7ML-Hybrid Parser Score
: 12 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: Мексикански ресторантTraditional Parser Score
: -7ML-Hybrid Parser Score
: 12
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Запитване: Застрахователна агенцияTraditional Parser Score
: -9ML-Hybrid Parser Score
: 15 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Запитване: Застрахователна агенцияTraditional Parser Score
: -6ML-Hybrid Parser Score
: 11
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Запитване: Застрахователна агенцияTraditional Parser Score
: -9ML-Hybrid Parser Score
: 12 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КафеTraditional Parser Score
: -9ML-Hybrid Parser Score
: 15 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КафеTraditional Parser Score
: -12ML-Hybrid Parser Score
: 15 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Заявка: КафеTraditional Parser Score
: -8ML-Hybrid Parser Score
: 18 (Всички верни)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Как работи ML-Hybrid Parser?
Първо, трябва да заявя, че все още не съм разширил речника, използван за поддържане на модела n-gram classifier
зад анализатора. Исках да видя как се справя с подаването на данни от ниско ниво и къде става червен. Това означава, че може да се подобри в бъдеще.
Две основни помощни средства за формиране на ML модел са:
- Може да предвиди единичен низ
- Може да реши дали даден низ трябва да бъде разделен от разделител (с незначителни случаи на отклонение, които се обработват като традиционния анализатор)
Начинът, по който решава дали даден низ трябва да бъде разделен, е прост:
- Той разделя низа от определени точки и получава максималната изходна вероятност за предсказване на всеки отделен текст. Какво означава това:
Означава, че ако дадете на модела низ, той ви дава изход като масив, състоящ се от различни числа с плаваща единица. Размерът на масива е броят на целевите ключове, които искате да предвидите. Този масив се състои от плаващи стойности, които представляват вероятностни стойности, а индексът на максимума на тези плаващи стойности ще ви даде ключа, който искате да предвидите. В момента обаче се интересуваме от стойността на максимума на тези плаващи стойности.
Пример: изход за „5540 N Lamar Blvd #12“ = [0.6, 0.4]
изход за „Austin, TX 78756 ” = [0,8, 0,2] - Моделът взема средната стойност на тези максимални вероятностни стойности
Пример: средна продукция за разделяне = (0,6 + 0,8)/2 = 0,7 - След това взема максималната вероятност на комбинирания текст
Пример: изход за „5540 N Lamar Blvd #12 ⋅ Austin, TX 78756“ = [0,9, 0,1] - Накрая той сравнява и двете, за да вземе решение дали е по-разумно да раздели текста. Тъй като
0.9
е по-голямо от0.1
, той ще избере да не разделя текста. Забележете, че и трите текста ще ни дадатaddress
ключ.
В допълнение към тях, основната разлика от traditional parser
е как събира текстовете на първо място. В traditional parser
имате определен набор от цели, в които навигирате през различни условия, за да анализирате необходимия елемент. ML-Hybrid
се поддържа и с много условия на регулярни изрази. В крайна сметка обаче това е мрежа от текст и надпревара за ключ. Полезен е за две неща:
- Не е нужно да пишете сложен анализатор за един ключ, първоначалният анализатор вероятно ще бъде достатъчен.
- Не е нужно да актуализирате CSS цели или да преминавате през комбинация от условия, можете да актуализирате ключовете и да обучите отново модела с две прости команди, ако се появи нов ключ. Не е нужно да го правите със стари ключове.
Заключение
Тази публикация в блога е категорично доказателство, че моделът ML-Hybrid
може да се прилага за целите на анализирането с много по-голяма ефективност и устойчивост. Бих искал да благодаря на читателя за вниманието и бих искал да благодаря на брилянтните хора от SerpApi
за цялата им подкрепа при носенето на знамето в нови области, дори в тези trying times
. Следващата седмица ще говорим за това как ще подобрим допълнително модела, сравнителни показатели за време на изпълнение, а също и General Testing Purposes for Machine Learning.
Първоначално публикувано в https://serpapi.com на 9 март 2022 г.