кочан Как работи класификацията на текст? - Обединете.AI
Свържете се с нас
AI майсторски клас:

AI 101 г

Как работи класификацията на текст?

mm
Обновено on

Класификацията на текста е процесът на анализиране на текстови поредици и присвояването им на етикет, поставянето им в група въз основа на тяхното съдържание. Класификацията на текст е в основата на почти всяка задача за изкуствен интелект или машинно обучение, включваща обработка на естествен език (NLP). С класификацията на текст компютърната програма може да изпълнява голямо разнообразие от различни задачи като разпознаване на нежелана поща, анализ на настроения и функции на чатбот. Как точно работи класификацията на текст? Какви са различните методи за извършване на класификация на текст? Ще проучим отговорите на тези въпроси по-долу.

Дефиниране на текстова класификация

Важно е да отделите малко време и да се уверите, че разбираме какво е класификация на текста, като цяло, преди да се задълбочим в различните методи за класифициране на текст. Текстовата класификация е един от онези термини, които се прилагат към много различни задачи и алгоритми, така че е полезно да се уверим, че разбираме основната концепция за текстова класификация, преди да преминем към изследване на различните начини, по които тя може да бъде извършена.

Всичко, което включва създаване на различни категории за текст и след това етикетиране на различни текстови примери като тези категории, може да се счита за текстова класификация. Докато една система изпълнява тези основни стъпки, тя може да се счита за текстов класификатор, независимо от точния метод, използван за класифициране на текста и независимо от това как текстовият класификатор в крайна сметка се прилага. Откриването на имейл спам, организирането на документи по тема или заглавие и разпознаването на настроението на рецензията за даден продукт са примери за класифициране на текст, тъй като се осъществяват чрез приемане на текст като вход и извеждане на етикет на клас за тази част от текста.

Как работи класификацията на текст?

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

Повечето методи за класифициране на текст могат да бъдат поставени в една от три различни категории: методи, базирани на правила, или методи за машинно обучение.

Методи за класификация, базирани на правила

Методите за класифициране на текст, базирани на правила, работят чрез използването на изрично проектирани езикови правила. Системата използва правилата, създадени от инженера, за да определи към кой клас трябва да принадлежи дадена част от текста, търсейки улики под формата на семантично релевантни текстови елементи. Всяко правило има шаблон, на който текстът трябва да отговаря, за да бъде поставен в съответната категория.

За да бъдем по-конкретни, да речем, че искате да проектирате текстов класификатор, способен да разграничава общи теми на разговор, като времето, филмите или храната. За да позволите на вашия текстов класификатор да разпознава дискусията за времето, можете да му кажете да търси думи, свързани с времето, в тялото на текстовите проби, които му се подават. Ще имате списък с ключови думи, фрази и други подходящи модели, които могат да се използват за разграничаване на темата. Например, можете да инструктирате класификатора да търси думи като „вятър“, „дъжд“, „слънце“, „сняг“ или „облак“. След това можете да накарате класификатора да прегледа въведения текст и да преброи колко пъти тези думи се появяват в основната част на текста и ако се появяват по-често от думите, свързани с филми, ще класифицирате текста като принадлежащ към метеорологичния клас.

Предимството на базираните на правила системи е, че техните входове и изходи са предвидими и интерпретируеми от хората и могат да бъдат подобрени чрез ръчна намеса от инженера. Въпреки това методите за класификация, базирани на правила, също са донякъде крехки и често им е трудно да обобщят, тъй като могат да се придържат само към предварително дефинираните модели, които са били програмирани. Като пример, думата „облак“ може да се отнася до влага в небе или може да се отнася до цифров облак, където се съхраняват данни. За системите, базирани на правила, е трудно да се справят с тези нюанси, без инженерите да отделят доста време, опитвайки се ръчно да предвидят и коригират тези тънкости.

Системи за машинно обучение

Както бе споменато по-горе, системите, базирани на правила, имат ограничения, тъй като техните функции и правила трябва да бъдат предварително програмирани. Обратно, системите за класификация, базирани на машинно обучение, работят чрез прилагане на алгоритми, които анализират набори от данни за модели, които са свързани с определен клас.

Алгоритмите за машинно обучение се захранват с предварително етикетирани/предварително класифицирани екземпляри, които се анализират за подходящи функции. Тези предварително маркирани екземпляри са данните за обучение.

Класификаторът за машинно обучение анализира данните за обучение и научава модели, които са свързани с различните класове. След това невидимите екземпляри се лишават от техните етикети и се подават към алгоритъма за класификация, който присвоява етикет на екземплярите. Присвоените етикети след това се сравняват с оригиналните етикети, за да се види колко точен е бил класификаторът за машинно обучение, като се измерва колко добре моделът е научил какви модели предсказват кои класове.

Алгоритмите за машинно обучение работят чрез анализиране на числени данни. Това означава, че за да се използва алгоритъм за машинно обучение върху текстови данни, текстът трябва да бъде преобразуван в цифров формат. Има различни методи за кодиране на текстови данни като числови данни и създаване на методи за машинно обучение около тези данни. По-долу ще разгледаме някои от различните начини за представяне на текстови данни.

Торба с думи

Торба с думи е един от най-често използваните подходи за кодиране и представяне на текстови данни. Терминът „торба с думи“ идва от факта, че по същество вземате всички думи в документите и ги поставяте всички в една „торба“, без да обръщате внимание на реда на думите или граматиката, като обръщате внимание само на честота на думите в чантата. Това води до дълъг масив или вектор, съдържащ едно представяне на всички думи във входните документи. Така че, ако във входните документи има общо 10000 10000 уникални думи, векторите на характеристиките ще бъдат дълги XNUMX XNUMX думи. Ето как се изчислява размерът на вектора на думата bag/feature.

Снимка: 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 черпи от най-доброто от двата подхода, създавайки контекст на думи, базиран на глобална текстова статистика.

Блогър и програмист със специалности в Machine Learning намлява Дълбоко обучение теми. Даниел се надява да помогне на другите да използват силата на ИИ за социално благо.