заглушки Як працює класифікація тексту? - Об'єднуйтесь.AI
Зв'язатися з нами
Майстер-клас ШІ:

AI 101

Як працює класифікація тексту?

mm
оновлений on

Класифікація тексту – це процес аналізу текстових послідовностей і присвоєння їм міток, поміщення їх у групи на основі їхнього вмісту. Класифікація тексту лежить в основі майже будь-якого завдання ШІ або машинного навчання, пов’язаного з обробкою природної мови (NLP). Завдяки класифікації тексту комп’ютерна програма може виконувати широкий спектр різноманітних завдань, таких як розпізнавання спаму, аналіз настроїв і функції чат-бота. Як саме працює класифікація тексту? Які існують методи класифікації тексту? Нижче ми розглянемо відповіді на ці запитання.

Визначення класифікації тексту

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

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

Як працює класифікація тексту?

Фото: Квінн Домбровскі через Flickr, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

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

Методи класифікації на основі правил

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

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

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

Системи машинного навчання

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

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

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

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

Сумка слів

Сумка-слів є одним із найбільш часто використовуваних підходів для кодування та представлення текстових даних. Термін «мішок слів» походить від того, що ви, по суті, берете всі слова в документах і поміщаєте їх усі в один «мішок», не звертаючи уваги на порядок слів чи граматику, звертаючи увагу лише на частота слів в сумці. Це призводить до довгого масиву або вектора, що містить єдине представлення всіх слів у вхідних документах. Отже, якщо у вхідних документах загальна кількість унікальних слів становить 10000 10000, вектори ознак матимуть довжину в XNUMX XNUMX слів. Ось як розраховується розмір мішка слова/вектора ознак.

Фото: gk_ через Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Після визначення розміру вектора ознак кожному документу в списку загальної кількості документів призначається власний вектор, заповнений числами, які вказують, скільки разів відповідне слово з’являється в поточному документі. Це означає, що якщо слово «їжа» з’являється вісім разів в одному текстовому документі, відповідний вектор ознак/масив ознак матиме вісімку у відповідній позиції.

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

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

Періодичність терміну – зворотна частота документа (TF-IDF)

Інший спосіб представлення документа на основі слів у ньому – дублювання Періодичність терміну – зворотна частота документа (TF-IDF). Підхід TF-IDF також створює вектор, який представляє документ на основі слів у ньому, але на відміну від Bag-of-words ці слова зважені не тільки їх частотою. TF-IDF враховує важливість слів у документах, намагаючись кількісно визначити, наскільки це слово стосується теми документа. Іншими словами, TF-IDF аналізує релевантність замість частоти, а кількість слів у векторі ознак замінюється балом TF-IDF, який обчислюється щодо всього набору даних.

Підхід TF-IDF працює, спочатку обчислюючи частоту термінів, кількість разів, коли унікальні терміни з’являються в конкретному документі. Однак TF-IDF також піклується про те, щоб обмежити вплив надзвичайно поширених слів, таких як «the», «or» і «and», оскільки ці «stopwords» дуже поширені, але передають дуже мало інформації про вміст документа. Від цих слів слід відмовитися, оскільки йдеться про «частоту інверсних документів» у TF-IDF. Це зроблено тому, що чим більше документів містить конкретне слово, тим менш корисним є це слово для відрізнення його від інших документів у списку всіх документів. Формула, яку TF-IDF використовує для обчислення важливості слова, призначена для збереження слів, які є найчастішими та найбільш семантично багатими.

Вектори ознак, створені підходом TF-IDF, містять нормалізовані значення, сума яких дорівнює одиниці, призначаючи кожному слову зважене значення, обчислене за формулою TF-IDF.

Вбудовані слова

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

Вкладання слів працювати за допомогою «векторизації» слів, що означає, що вони представляють слова як дійсні вектори у векторному просторі. Вектори існують у сітці або матриці, і вони мають напрямок і довжину (або величину). При представленні слів у вигляді векторів слова перетворюються на вектори, що складаються з дійсних значень. Кожне слово відображається в одному векторі, а слова, подібні за значенням, мають подібний напрямок і величину. Цей тип кодування дає змогу алгоритму машинного навчання вивчати складні зв’язки між словами.

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

Як результат, вбудовані слова краще вловлюють контекст слів у реченні.

Для створення вставок слів використовуються різні алгоритми та підходи. Деякі з найпоширеніших і надійних методів вбудовування слів включають: вбудовування шарів, word2vec і GloVe.

Вбудовування шарів

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

У підході вбудовування слів схожі слова матимуть подібні представлення та будуть ближче одне до одного, ніж до несхожих слів.

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

Word2Vec

Word2Vec це ще один поширений метод вбудовування слів. Word2Vec використовує статистичні методи для перетворення слів у вбудовування та оптимізовано для використання з моделями на основі нейронної мережі. Word2Vec був розроблений дослідниками Google, і це один із найпоширеніших методів вбудовування, оскільки він надійно забезпечує корисні, багаті вбудовування. Представлення Word2Vec корисні для виявлення семантичних і синтаксичних спільностей у мові. Це означає, що представлення Word2Vec фіксують зв’язки між подібними поняттями, маючи можливість розрізнити, що спільність між «королем» і «королевою» — це королівська сім’я, а «король» означає «мужчину», а королева — «жіночість».

Рукавичка

GloVE, або глобальний вектор для представлення слів, будується на основі алгоритмів вбудовування, які використовує Word2Vec. Методи вбудовування GloVe поєднують аспекти як Word2Vec, так і методи матричної факторизації, такі як Latent Semantic Analysis. Перевага Word2Vec полягає в тому, що він може фіксувати контекст, але в якості компромісу він погано фіксує глобальну текстову статистику. І навпаки, традиційні векторні представлення добре підходять для визначення глобальної текстової статистики, але вони не корисні для визначення контексту слів і фраз. GloVE використовує найкраще з обох підходів, створюючи контекст слів на основі глобальної текстової статистики.

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