Загальний підхід до попередньої обробки текстових даних

  • Блог/Новини
  • Думки
  • Підручники
  • Найкращі історії
  • Компанії
  • Курси
  • Набори даних
  • Освіта
  • Події (онлайн)
  • Робота
  • Програмне забезпечення
  • Вебінари

Нещодавно ми подивились основу для текстових завдань з обробки даних у цілому. Тепер ми зосереджуємося на узагальненому підході до нападу на попередню обробку текстових даних, незалежно від конкретного завдання науки про текстові дані, яке ви маєте на увазі.

загальний

Нещодавно ми розглянули основу для вирішення завдань з текстових даних. Ми згадали цей фреймворк настільки загальним, щоб він міг бути корисним і застосовним до будь-якого завдання з видобутку тексту та/або обробки природної мови.

Кроки на високому рівні для фреймворку були такими:

  1. Збір або збір даних
  2. Попередня обробка даних
  3. Дослідження та візуалізація даних
  4. Побудова моделі
  5. Оцінка моделі

Хоча така структура за своєю природою була б ітеративною, ми спочатку продемонстрували її візуально як досить лінійний процес. Це оновлення має поставити його справжню природу в перспективі (з очевидним кивком процесу KDD):


Переглянута (але все ще проста) структура текстових даних.

Очевидно, що будь-яка структура, орієнтована на попередню обробку текстових даних, повинна бути синонімом етапу № 2. Розширюючи цей крок, ми, зокрема, мали сказати наступне про те, що цей крок, ймовірно, передбачає:

У більш загальному плані ми зацікавлені взяти якийсь заздалегідь визначений текст і виконати на ньому певний базовий аналіз та перетворення, щоб залишитися з артефактами, які будуть набагато кориснішими для подальшого, більш значущого аналітичного завдання. Це подальше завдання буде нашою основною роботою з видобутку тексту або обробки природної мови.

Отже, як згадувалося вище, здається, що є 3 основні компоненти попередньої обробки тексту:

  • токенізація
  • нормалізація
  • заміщення

Розкладаючи основи для наближення до попередньої обробки, ми повинні пам’ятати про ці концепції високого рівня.

Фреймворк попередньої обробки тексту


Ми введемо цю структуру концептуально, незалежно від інструментів. Потім ми продовжимо практичну реалізацію цих кроків наступного разу, щоб побачити, як вони будуть виконуватися в екосистемі Python.


Фреймворк попередньої обробки текстових даних.

1 - Токенізація

Токенізація - це крок, який розбиває довші рядки тексту на менші шматки або лексеми. Більші фрагменти тексту можна токенізувати у речення, речення - у слова тощо. Подальша обробка, як правило, виконується після того, як фрагмент тексту був відповідним чином маркований. Токенізація також називається сегментацією тексту або лексичним аналізом. Іноді сегментація використовується для розбиття великої частини тексту на шматки, більші за слова (наприклад, абзаци або речення), тоді як токенізація зарезервована для процесу розбиття, результатом якого є виключно слова.

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

Звичайно, це речення легко ідентифікувати з деякими основними правилами сегментації:

Швидкий бурий лис стрибає через ледачого собаку.

Але як щодо цього:

Доктор Форд не запитав у полковника Горчиці ім’я собаки містера Сміта.

"У чому вся суєта?" - спитав містер Пітерс.

І це лише речення. А як щодо слів? Легко, правда? Правильно?

Ця денна студентка не живе в приміщенні кампусу, і вона не хоче відвідувати Гаваї.

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