10 найкращих практик для зберігання маркованих даних
- 10 найкращих практик для зберігання маркованих даних
- 1. Визначте проблему: чи підходить вона для машинного навчання?
- 2. Зберіть щонайменше 5 000 точок даних для кожного результату.
- 3. Зберігати дані на рівні речень.
- 4. Класифікуйте та маркуйте дані за чітко визначеними категоріями.
- 5. Зберігайте всі репрезентативні дані.
- 6. Зберігати фонові дані.
- 7. Зберігати необроблений текст маркованих даних (практикувати надмірність).
- 8. Складіть карту ваших даних від початку до кінця (значення індексів).
- 9. Створіть резервну копію даних.
- 10. Будуйте і думайте про майбутнє.
10 найкращих практик для зберігання маркованих даних
У вас щойно з'явилася велика ідея. Ви багато читаєте, і ви подумали, що було б цікаво мати класифікатор, який би маркував тон оратора і визначав його політичну приналежність. Як би ви почали розбивати проблему на частини, щоб використовувати машинне навчання для такого прогнозування? Ми використовували це Опитування Pew в якому використовувалися відгуки виборців-демократів і республіканців про газети, яким вони довіряють.
Перш ніж думати про створення готової до використання моделі машинного навчання, вам потрібно подумати про свій конвеєр даних. Це основа, на якій працює модель ML, і без міцного фундаменту ви не можете розраховувати на успішну роботу вашої моделі. Експерти Skim AI зібрали 10 найкращих практик для зберігання маркованих даних, які допоможуть вам досягти успіху.1. Визначте проблему: чи підходить вона для машинного навчання?
Щоб модель машинного навчання можна було застосувати для вирішення проблеми, вона повинна бути визначеною для комп'ютера:
- Чи відповідає цей набір слів шаблону, який більше схожий на ту чи іншу категорію тексту?
- Чи існує база даних з достатньою кількістю репрезентативних даних для того, щоб машина могла виокремити закономірності?
У прикладі, який ми розглядаємо, є два результати: промова з демократичним ухилом або промова з республіканським ухилом. Проблема, безумовно, складніша, оскільки існує багато груп, які складають демократів і республіканців, а також є незалежні і багато градацій. Але для цього прикладу ми спростимо до цих двох варіацій.
2. Зберіть щонайменше 5 000 точок даних для кожного результату.
Зібрати принаймні 5 000 точок даних у вашій базі даних для кожної категорії інформації, яку ви хочете класифікувати. У нашому прикладі ми зберігаємо позначені точки даних зі статей, промов, книг або стенограм телепередач. Оскільки ми хочемо створити бінарний класифікатор, нам потрібно 5 000 прикладів демократичних зразків і 5 000 прикладів республіканських зразків, тобто загалом 10 000 зразків. Хоча 5,000 балів на результат - це рекомендований мінімум, точність покращиться, якщо у вас буде більше даних, тож не стримуйтеся.
3. Зберігати дані на рівні речень.
У нашому випадку метою є класифікація цілих статей як демократичних або республіканських, але ви захочете захистити свої зусилля на майбутнє, зберігаючи кожен ресурс на рівні речень, а не на рівні цілих статей. Таким чином, якщо ви захочете класифікувати більш конкретні об'єкти, наприклад, абзаци або аналітику, пов'язану з певними ключовими словами або об'єктами (людьми, місцями та організаціями), ви зможете використовувати ваші дані з меншими зусиллями для очищення в майбутньому.
Загалом, 50-65% часу, витраченого на будь-який ML-проект, присвячено очищенню та перетворенню даних у формат, придатний для зчитування алгоритмами машинного навчання. Більшість класифікаторів працюють як на рівні речень, так і на рівні цілих документів.
Практичні поради щодо класифікації на рівні речень та абзаців:
- Для початку обмежте свої потреби в класифікації одним реченням, одним абзацом або одним документом (статтею).
- Нестандартні потреби (кілька слів або кілька речень) додають дуже складну проблему створення другої моделі ML, щоб передбачити, який кластер є важливим.
- Спростіть проблему класифікації наскільки це можливо для початку, а потім ускладнюйте її з часом, коли з'являється більше даних.
4. Класифікуйте та маркуйте дані за чітко визначеними категоріями.
Це трохи про методологію. Важливо отримати якомога більше чистих сигналів. Це означає очистити їх від шуму та нюансів ресурсів та інформації. Наприклад, якщо ви зберігаєте марковані дані з центристських джерел, вони міститимуть менше чистого сигналу, а якщо ви додасте дані (статті) з центристського джерела до набору даних республіканців або демократів, це знизить точність і корисність класифікатора республіканських/демократичних висловлювань.
У нашому прикладі це особливо складно, оскільки політичні переконання людей набагато складніші, ніж просто партійна лінія. Крім того, різні письменники, оратори та газети матимуть думки, відмінні від офіційної лінії партії. У цьому прикладі, швидше за все, буде багато шуму, який, наприклад, потрібно придушити:
- Статті будуть відрізнятися за ступенем консервативності чи ліберальності в певних питаннях.
- Окремі журналісти можуть мати різні погляди на певне питання, навіть серед інших журналістів одного видання.
- Акціонери або власники можуть проповідувати догму щодо певного важливого для них питання і давати вказівки редакційній команді висвітлювати його певним чином.
Можна витратити години, визначаючи методологію для врахування всіх можливих змінних. Ми рекомендуємо збирати та зберігати якомога більше даних. Шукайте чисті дані на рівні речень і створюйте поля для відстеження автора, публікації та будь-які інші поля, які можна зафіксувати.
5. Зберігайте всі репрезентативні дані.
Чи можете ви отримати доступ до достатньої кількості даних? У нашому випадку відносно легко отримати доступ до старих статей з цих видань, щоб зібрати набір даних статей і достатню кількість точок даних для кожної класифікаційної категорії.
Якщо ні, ви можете розглянути можливість використання Amazon Mechanical Turk для маркування даних або, якщо ваша методологія вимагає навчання, ви можете навчити і платити людям в Індії або Македонії $1,000 на місяць за створення набору даних.
6. Зберігати фонові дані.
Зберігання маркованих даних, які мають дотичне відношення до того, що ви хочете класифікувати, дозволить вам створювати більш надійні моделі, які, ймовірно, включатимуть більше лексики, людей, місць і тем, що допоможе будь-якій моделі, яку ви створюєте. Це може допомогти, якщо модель класифікації буде працювати з новими словами, темами та об'єктами, а також розуміти взаємозв'язки між цими словами. Це дозволить моделі краще обробляти дані, що виходять за межі початкових даних, з якими ви починали.
Можливо, ви хочете отримати книги, написані конгресменами і конгресвумен, твіти, стенограми інтерв'ю, стенограми кабельних новин, стенограми діалогів у Палаті представників, законопроекти і закони, написані або підтримані конкретними членами Конгресу.
Суть машинного навчання полягає в тому, що вам не потрібно тестувати всі змінні самостійно, достатньо лише отримати достатньо даних для роботи ML і чітко визначити проблему.
7. Зберігайте необроблений текст маркованих даних (практикуйте надмірність).
Для безпеки завжди зберігайте необроблений текст даних, які ви позначаєте. Наприклад, якщо у статті є речення, яке є репрезентативним для даних, які ви хочете позначити, переконайтеся, що ви зберегли необроблений текст цього речення і позначку. Навіть якщо ви просто зберігаєте ці дані як надлишкові, будь ласка, зробіть це. Ваш інженер з машинного навчання або аналітик даних буде вам вдячний.
8. Складіть карту ваших даних від початку до кінця (значення індексів).
Якщо ви використовуєте значення індексів для посилання на позначені дані, зіставте ці дані і добре зрозумійте їхнє зіставлення. Наприклад, якщо ви зберігаєте речення або абзац зі статті, переконайтеся, що значення бази даних для початку речення або абзацу збігаються зі значенням джерела, з якого ви зберігаєте дані. Для безпеки перевірте це з першого речення, початкових і кінцевих значень, а також останнього речення.
9. Створіть резервну копію даних.
Це має бути зрозуміло. Регулярно створюйте резервні копії даних.
10. Будуйте і думайте про майбутнє.
За деяких обставин на збір достатньої кількості мічених даних можуть піти роки. Якщо ви знаєте, що хочете вирішити проблему в певній галузі, почніть збирати якомога більше немічених і мічених даних, пов'язаних з проблемою, яку ви хочете вирішити, а також даних, що стосуються конкретної галузі.
Готові розпочати? Ознайомтеся з нашими інші статті про машинне навчання.