Какво е NLP в Python?

Изкуственият интелект се развива изключително силно през последното десетилетие и това е едно от подполите му - Обработка на естествен език. Напредъкът в AI е резултат от огромния изчислителен капацитет на съвременните системи и големите обеми от неструктурирани данни, които се генерират от множество източници. Обработка на естествен език или NLP е проучването на AI, което позволява на компютрите да обработват необработени текстови данни и да извличат скрити прозрения от тях.

дефиниция

За разлика от хората, компютрите не са достатъчно умни, за да обработват неструктурирани данни. Човешките същества биха могли да извлекат значения от такива данни, докато компютрите могат да го правят само със структурираните данни, съхранявани в базите данни. За да намерят модели и да извлекат смисъл от естествени данни, компютрите използват инструментите и техниките, участващи в NLP, за да обработват такива данни.

Как работи NLP в Python?

Много е сложно да се чете и разбира английски. По-долу изречението е един такъв пример, при който компютърът наистина е труден да разбере действителната мисъл зад изречението.

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

В този параграф има няколко факта. Нещата щяха да са лесни, ако самите компютри биха могли да разберат какво е Лондон, но за да го направят, компютрите трябва да бъдат обучени с основни понятия на писмен език.

1. Сегментиране на изречението - Корпусът е разбит на няколко изречения като по-долу.

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

2. Токенизация на думи - Изречение може допълнително да бъде разделено на символа на думите, както е показано по-долу.

След токенизация горното изречение се разделя на -

3. Части от речевото предсказване - Този процес е свързан с генериране на частите на речта за всеки знак. Това би ни позволило да разберем значението на изречението и темата, за която се говори в изречението.

4. Лематизация - дума в изречение може да се появи под различни форми. Лематизацията проследява една дума обратно към нейния корен, т.е. лемата на всяка дума.

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

Въз основа на приложението думите за стоп може да варират. Съществува обаче предварително дефиниран списък със стоп работи, към които бихте могли да се обърнете.

6. Разпознаване на наименование на субекта - NER е процесът на намиране на образувания като име, място, лице, организация и т.н., от изречение.

Тук се използва контекста на появата на дума в изречение. За да извлекат структурирани данни от текст, NER системите използват много приложения.

Пример за NLP в Python

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

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

Няколко стъпки в тръбопровод за класифициране на текст, който трябва да се спазват, са -

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

Pandas, Scikit-learn, XGBoost, TextBlog, Keras са няколко от необходимите библиотеки, които трябва да инсталираме. Тогава бихме импортирали библиотеките за подготовка на база данни, инженеринг на функции и т.н.

Данните са огромни, като оттук могат да бъдат изтеглени почти 3, 6 милиона отзива. Използва се част от данните. Тя се изтегля и чете в рамка от данни на Pandas.

Целевата променлива се кодира и данните се разделят на влакове и тестови групи.

Функционалният инженеринг се извършва с помощта на по-долу различни методи.

1. Count Vectors - Представянето на документ, термин и неговата честота от корпуса се постига от преброяващите вектори.

2. TF-IDF вектори - В документ относителното значение на термина е представено от термина честота (TF) и обратната документална честота (IDF). TF-IDF може да се изчисли по -

TF-IDF векторите могат да бъдат генерирани от Word ниво, което представя резултата на всеки термин, и N-грам ниво, което е комбинация от n-термини.

3. Вграждане на думи - Представянето на документи и думи под формата на плътен вектор са известни като вграждане на думи. Има предварително обучени вграждане като Glove, Word2Vec, които могат да се използват или могат да бъдат обучени също.

4. Модели на теми - Това е групата думи от документ, която носи най-много информация. Разпределението за латентна дирихле се използва тук за моделиране на теми.

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

5. Naive Bayes - Базира се на теорията на Bayes и алгоритъмът смята, че няма връзка между функциите в набор от данни.


6. Логистична регресия - измерва линейната връзка между характеристиките и целевата променлива се измерва въз основа на сигмоидна функция, която оценява вероятностите.


7. Vector Support Machine - Хиперпланът разделя два класа в SVM.


8. Random Forest model - Ансамбъл модел, при който се намалява дисперсията и се събират няколко дървета на решения заедно.


9. XG Boost - Пристрастието е намалено и слабите учащи се превръщат в силни.

Как NLP би ви помогнал в кариерата ви?

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

Заключение: NLP в Python

В тази статия започнахме с въведение в NLP в Python и след това внедрихме един случай на използване в Python, за да покажем как да работим с NLP в Python.

Препоръчителни статии

Това е ръководство за NLP в Python. Тук обсъдихме Примера, Използвайте случаи и как да работите с NLP в Python. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Използване на Python
  2. Какво е WBS?
  3. Python vs Scala
  4. Какво е Tableau?

Категория: