Як ви застосовуєте SMOTE для класифікації тексту?


14

Техніка синтезу синтетичних меншин (SMOTE) - техніка пересимплінгу, яка використовується при незбалансованій задачі набору даних. Поки що у мене є ідея, як це застосувати до загальних, структурованих даних. Але чи можна застосувати його до проблеми класифікації тексту? Яка частина даних вам потрібна для вибірки? Є вже інше питання щодо цього, але на нього немає відповіді. Де я можу навчитися розпочинати це?

Відповіді:


11

Насправді НЛП є однією з найпоширеніших областей, в якій потрібно перекомпонувати дані, оскільки існує багато завдань класифікації тексту, які стосуються незбалансованої проблеми (подумайте про фільтрацію спаму, виявлення образливих коментарів, класифікацію статті тощо). Але SMOTE здається проблематичним тут з якихось причин:

  • SMOTE працює в просторі функцій. Це означає, що вихід SMOTE не є синтетичними даними, які є реальним представником тексту всередині його простору.
  • З одного боку SMOTE працює з KNN, а з іншого боку, можливостей для NLP проблеми надзвичайно багато. KNN легко вийде з ладу в тих величезних розмірах.

Тож я можу запропонувати вам два підходи:

  1. Небайдуже до реального подання тексту нових синтетичних зразків, які, на мою думку, мають бути чудовими. Потрібно збалансувати розподіл для вашого класифікатора, а не для читача текстових даних. Тому застосовуйте SMOTE як традиційне (однак я зазвичай використовую рішення 2 нижче, щоб не гарантувати результат!) З деяким кроком зменшення розмірності.

1) Припустимо, ви хочете зробити свої зразки даних з другорядного класу подвійними за допомогою 3-NN. Ігноруйте основні класи та зберігайте лише зразки другорядних класів.

2) Для кожної вибіркової точки в просторі вибору виберіть 5 найближчих сусідів. Потім вибирайте 3 з них випадковим чином (чи не зайве це складно? Якщо б я не хотів пояснювати оригінальний алгоритм, я б сказав просто вибрати 3 сусідів!)

3) Для кожного виміру обчисліть відстань між вибіркою та сусідами та помножте її на випадкове число між 0-1 та додайте до вихідного значення вибірки в цьому вимірі. (Цей складний абзац просто означає, що для кожного виміру вибирається випадкове значення між початковою вибіркою та сусідом!)

  1. Але, як правило, я роблю ще один надмірний розмір, який є в тексті (таким інтуїтивнішим) і виглядає як SMOTE.

1) Ігноруйте основний клас. Отримайте розподіл за довжиною всіх документів на другорядний клас, щоб ми генерували нові зразки відповідно до справжньої довжини документа (кількість слів / фраз). Ми припускаємо, що ми хочемо зробити розмір класу потрійним (тому виробляючи синтетичних документа на оригінальний документ)к=2

2) Утворіть послідовність з випадкових цілих чисел відповідно до цього розподілу. Він використовується для визначення довжини нового синтетичного документа.н

3) Для кожного документа: Виберіть одне ціле число з випадкової послідовності довжини і випадкового документа, довжина якого близька до цілого числа. Покладіть жетони всіх документів у набір і випадковим чином виберіть лексем разів. це ваші нові документи.ммнкк


Дякую за відповідь, але чи можна застосувати SMOTE до зразків, якщо вони представлені за допомогою однокольорового кодування? або вони повинні бути представлені по-іншому ?.
adnanmuttaleb

Привіт Касре, чи можете ви поділитися деякою реалізацією, пов'язаною з кроками, про які ви згадали
Payal Bhatia

2

Якщо ви хочете додати більше даних про відстеження тексту / речень, ви можете використовувати заздалегідь підготовлені слова. Переглянуті моделі на зразок забезпечують векторне слово для кожного словника. Він також містить слова "most_smiliar".

Ви можете просто використовувати зразкове речення та генерувати нові зразки, роблячи перестановки кожного і кожного слова з його найбільше TOP_N подібних слів.

наприклад, якщо у вашому реченні є 3 слова, і якщо ви обираєте 3 найбільш подібних для кожного слова, ви можете збільшити вибірку в 27 разів.


Привіт Yashodhan, як ми можемо використовувати цей процес, якщо він залежить від домену? Спасибі
Payal Bhatia
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.