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

Предположения: Предварителни познания за Python и основно машинно обучение

Стъпка 1: Започнете с изучаването на основите на естествения език, т.е. съществителни имена, местоимения, глаголи, активно-пасивни речи и други основни езикови модели. Разбирам, че всеки е наясно с тези неща, но задълбочените познания са плюс. Не губете твърде много време за това, просто го прегледайте за няколко минути, ще бъде достатъчно
Справка: Връзка

Стъпка 2: Сега преминете към друго ниво. Започнете да изучавате техники на НЛП по следния начин:
-› Токенизиране на думи
Разделяне на думи и изречения на токени.
Напр. Котките и Кучетата са страхотни домашни любимци =› [‘Котки’,’и’,’Кучета’,’са’,’страхотни’,’домашни любимци’]

-› Стоп думи на език
Стоп думата е често използвана дума като „the“, „a“, „an“, „in“

-› Корен корен на думите
Идеята за коренния корен е вид нормализиращ метод. Много вариации на думи носят едно и също значение, освен когато е включено време.

-› Маркиране на част от речта
Това означава етикетиране на думи в изречение като съществителни, прилагателни, глаголи… и т.н. Още по-впечатляващо, то също така етикетира по време и много повече.

-› Разкъсване
Групирайте думите в надявам се смислени парчета.

-› Chinking
Chinking много прилича на chunking, това е основно начин за премахване на част от част. Частта, която премахвате от вашата част, е вашата дупка.

-› Наименувани обекти в естествените езици
Основните форми на групиране в обработката на естествен език се наричат ​​„Разпознаване на наименувани обекти“. Идеята е машината незабавно да може да извлича „същества“ като хора, места, неща, местоположения, парични цифри и други.

-› Лематизиране (усъвършенствана концепция за стеминг) на думи
Много подобна операция на лематизиране се нарича лематизиране. Основната разлика между тях е, както видяхте по-рано, че коренът често може да създаде несъществуващи думи, докато лемите са действителни думи.

За прилагане на тези неща бих препоръчал NLTK- Natural Language Toolkit, мощна библиотека на естествен език в Python. NLTK включва обширен софтуер, данни и документация, всички за свободно изтегляне. Предлагат се дистрибуции за платформи Windows, Macintosh и Unix. Горещо ви препоръчвам да изтеглите Python и NLTK и да изпробвате примерите и упражненията по пътя.
Ресурси-
- Инструкции за инсталиране на NLTK и python
- Основни реализации с HandsOn

Стъпка 2: Сега, когато знаем как да обработваме предварително думи за машината. Сега ще преминем към Word Representations. Тъй като машината може да разбира и обработва само числа, ние трябва да конвертираме думи/изречения във векторни представяния в хиперпространството. С други думи, представяне на дума чрез реално число. За да се постигне това, има определени библиотеки в python и ресурси.
Ресурси:
- Gensim: уроци, word2vecblog,
- Spacy: уроци
- Блог

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

Някои различни ресурси, както и препоръчани -
- Групиране на документи с Python
- Ресурси на Станфорд - хранилище, съдържащо тематични ресурси и статии

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

Следва - Внедряване на някои статистически техники като tf-idf и bm25 при обработка на текст, сходство на документи с използване на косинусово сходство и Doc2vec