преди да е станало късно

машинно

Какво е обработка на естествен език?

Обработката на естествен език (NLP) е областта на изследване, която се фокусира върху разбирането чрез компютър на човешкия език. Той обхваща част от науката за данни, изкуствения интелект (машинно обучение) и лингвистиката.

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

Голямото предизвикателство

НЛП се счита за едно от големите предизвикателства на изкуствения интелект, тъй като е една от най-сложните и предизвикателни задачи: как да се разбере Наистина ли значението на текст? Как да интуитираме неологизми, ирония, шеги или поезия? Ако използваната от нас стратегия/алгоритъм не преодолее тези трудности, получените резултати няма да ни бъдат от полза.

Модели, умалени модели и света

В НЛП не е достатъчно просто да се разбере думи, трябва да разбере Набор от думи които съставят изречение, а при набор от линии които съдържат параграф. Даване на глобално значение на анализа на текста/дискурса, за да се направят добри изводи.

Нашият език е пълен с неясноти, с думи с различни значения, обрати и различни значения в зависимост от контекста. Това прави НЛП една от най-трудните задачи за овладяване.

За какво е НЛП? Приложения

Ще коментираме някои от най-честите употреби:

  • Резюме на текста: Алгоритъмът трябва да намери централната идея на дадена статия и да игнорира това, което не е от значение.
  • Чат ботове: те трябва да могат да поддържат плавен чат с потребителя и да отговарят автоматично на въпросите му.
  • Автоматично генериране на ключови думи Y. генериране на текст следвайки определен стил
  • Признаване на субекти: намерете Хора, търговски или държавни субекти или държави, градове, марки ...
  • Анализ на настроението: трябва да разберете дали туит, рецензия или коментар е положителен или отрицателен и в какъв мащаб (или неутрален). Широко се използва в социалните мрежи, в политиката, мненията за продукти и в механизмите за препоръки.
  • Автоматичен езиков превод
  • Автоматично класифициране на текст в съществуващи категории или от пълни текстове, откривайте повтарящи се теми и създавайте категории.

Как компютърът може да разбира езика?

Е, ще трябва да съставим различни модели с език, да създадем структури и с тях да подадем алгоритми за машинно обучение:

Можем да започнем например като вземем дълъг текст. Ще използваме регулярни изрази, за да подразделим текста на думи. Можем да преброим думите, тяхната честота. Ако има модел, например ако винаги след X дума, винаги идва дума Y. Можем да анализираме как завършват думите, например „глаголи, завършващи на„ ar, er, go “и да открием корена на думата. Бихме могли да групираме думи със сходни значения, за разлика от техните думи-антоними.

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

Често използвани техники в НЛП

(Спойлер: има инструменти за изпълнение на тези техники и не е необходимо да програмирате всичко на ръка)

Инструменти, използвани в Python за NLP

В бъдещи статии ще видим по-подробно примери за NLP с python, но ето и кратък преглед на инструментите, използвани в Python:

  • NLTK: Това е библиотеката, с която всички започват, много е полезна за предварителна обработка, създаване на токени, извличане, маркиране на POS и т.н.
  • TextBlob - Той е построен върху NLYK и е лесен за използване. Включва някои допълнителни функционалности като анализ на настроенията и проверка на правописа.
  • Gensim: създаден специално за моделиране на теми и включва множество техники (LDA и LSI). Той също така изчислява сходство на документи.
  • SpaCy: Може да направи много неща в стила на NLTK, но е много по-бързо.
  • WebScraping: Получавайте текстове от различни уеб страници

Заключения

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

Трябва да можем да разберем различните инструменти и техники, използвани в НЛП, и да знаем как да ги използваме за решаване на подходящия проблем. НЛП обхваща много - много - спектър и е пътуване, което започва, но никога не свършва ... продължават да се появяват нови документи и нови инструменти за действие. Чрез комбинирането на тези „традиционни“ техники на НЛП с Дълбоко обучение, комбинацията от нови възможности е експоненциална.!

Абонамент за блог

Получавайте нови статии за машинно обучение, невронни мрежи, NLP и Python код веднъж месечно. АКО има късмет 2 пъти 😉

Бъдещ НЛП и ресурси

Докато ви оставям списък с интересни статии също с NLP упражнения в Python: