Попередня обробка тексту для завдань НЛП та машинного навчання

Як тільки ви починаєте працювати над завданням з даних, ви розумієте залежність своїх результатів від якості даних. Початковий крок - підготовка даних - будь-якого проекту з науки про дані створює основу для ефективної роботи будь-якого складного алгоритму.

тексту

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

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

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

Іноді сегментація використовується для розбиття тексту на частини, більші за слова, такі як абзаци та речення, тоді як токенізація зарезервована для процесу розбиття, результатом якого є виключно слова.

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

"Покличемо пана Брауна?" може легко поділитися на два речення, якщо не піклуватися про скорочення.

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

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

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

  • встановлення всіх символів у нижній регістр
  • видалення шуму, включаючи видалення цифр та пунктуації (це частина токенізації, але все ще варто пам’ятати на цьому етапі)
  • зупинити видалення слів (залежно від мови)

Нижній регістр

Текст часто має різноманітні великі літери, що відображають початок речень або наголошення власних іменників. Загальноприйнятий підхід полягає в тому, щоб для простоти зменшити все до малих літер. Локалізація застосовується до більшості завдань з видобутку тексту та NLP і суттєво допомагає забезпечити узгодженість результатів. Однак важливо пам’ятати, що деякі слова, такі як «США» та «ми», можуть змінювати значення, якщо їх скоротити до нижнього регістру.

Видалення шуму

Видалення шуму означає видалення цифр символів та фрагментів тексту, які можуть заважати аналізу тексту. Існують різні способи видалення шуму, включаючи видалення розділових знаків, видалення спеціальних символів, видалення чисел, видалення форматування HTML, видалення ключового слова для домену, видалення вихідного коду тощо. Видалення шуму сильно залежить від домену. Наприклад, у твітах шумом можуть бути всі спеціальні символи, крім хештегов, оскільки вони означають поняття, які можуть характеризувати твіт. Також слід пам’ятати, що стратегії можуть відрізнятися залежно від конкретного завдання: наприклад, числа можна або вилучити, або перетворити на текстові подання.

Видалення стоп-слова

Слова зупинки - це набір загальновживаних слів такою мовою, як “a”, “the”, “is”, “are” тощо в англійській мові. Ці слова не мають важливого значення і вилучаються з текстів у багатьох завданнях з обробки даних. Інтуїція такого підходу полягає в тому, що, вилучаючи з тексту малоінформаційні слова, ми можемо зосередитись на важливих словах. Крім того, це зменшує кількість розглянутих функцій, що допомагає збільшити розмір ваших моделей. Зупинення видалення слів зазвичай застосовується в пошукових системах, програмах класифікації тексту, моделюванні тем, вилученні тем та інших. Стоп-списки слів можуть надходити з попередньо встановлених наборів або ви можете створити власний для вашого домену.

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

Штампування

Стеммінг - це процес усунення афіксів (суфіксів, префіксів, інфіксів, циркумфіксів) зі слова, щоб отримати основу слова. Результати можна використовувати для виявлення взаємозв’язків та спільних рис у великих наборах даних. Є кілька основних моделей, включаючи Porter та Snowball. Небезпека тут полягає у можливості надмірного роздумування, коли такі слова, як „всесвіт” та „університет”, зводяться до одного кореня „універ”.

Лемматизація

Лематизація пов’язана із стемінням, але вона здатна фіксувати канонічні форми, засновані на лемі слова. Визначивши частину мови та використовуючи спеціальні засоби, такі як лексична база даних англійської мови WordNet, лематизація може отримати кращі результати:

Пристовбурна форма листя: лист

Пристовбурна форма листя: листя

Лематизованою формою листя є: лист

Лематизованою формою листя є: лист

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

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

Позначення частковою мовою

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

Нарешті, перед фактичним навчанням моделі, ми можемо дослідити наші дані для вилучення функцій, які можуть бути використані при побудові моделей.

Рахувати

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

Чанкування (неглибокий синтаксичний аналіз)

Чанкування - це процес, який визначає складові частини речень, такі як іменники, дієслова, прикметники тощо, та пов’язує їх з одиницями вищого порядку, що мають дискретні граматичні значення, наприклад, групи іменників або фрази, групи дієслів тощо...

Вилучення колокації

Колокації - це більш-менш стійкі словосполучення, наприклад, «порушуй правила», «вільний час», «зроби висновок», «пам’ятай», «готуйся» тощо. Оскільки вони зазвичай передають конкретне встановлене значення, варто їх витягти перед аналізом.

Вбудовування слова/текстові вектори

Вбудовування слів - це сучасний спосіб представлення слів як векторів, щоб перевизначити особливості слова великого розміру у вектори об’єктів низького розміру. Іншими словами, він представляє слова в координатах вектора X та Y, де споріднені слова, засновані на корпусі взаємозв’язків, розташовані ближче один до одного.

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