NLP (обработка на естествен език)
Тази работа е ръководство за текстообработка на френски език,

Тази статия ще ви запознае с основния речник и предложения работен процес за изграждане на NLP приложения, за да ви помогне да започнете с най-често срещаните задачи като анализ на настроенията, разпознаване на обекти, вграждане на думи и превод. Автоматичен ... и т.н.
Състои се от общо 4 статии
Класификация на NLP (Обработка на естествен език) - машинно обучение 2
В предишната статия,
medium.com
NLP (Обработка на естествен език) Работен процес на класификация на текста (вземете n-грама като вход)
__ЧАСТ__ 3
medium.com
Съвременният текстов анализ вече е много достъпен с помощта на Python и инструменти с отворен код, които ви позволяват да научите как да анализирате текстовите си данни. Тази статия обяснява понятията за обработка на естествен език (NLP) и анализ на текст. Ще разгледаме накратко различните етапи на предварителната обработка.
Текстови данни, чиито формати са предимно неструктурирани. Неструктурираните данни не могат да бъдат представени в таблична форма. Следователно е от съществено значение да го преобразувате в числова функционалност, тъй като повечето алгоритми за машинно обучение могат да обработват само числа. По-голям акцент ще бъде поставен върху стъпки като токенизация, стеминг, лематизация и спиране на премахването на думи. Също така ще научите два популярни метода за извличане на функции: торбата с думи и TFIDF, както и различни методи за създаване на нови функции от съществуващи функции.
Преди да започнем тази статия, ще инсталираме scikit-learn и другите (просторни) библиотеки, използвани в тази статия. Стъпките за инсталирането им ще намерите тук:
- pip install -U spacy
- pip инсталирайте scikit-learn
През повечето време текстовите данни не могат да се използват такива, каквито са. Това е така, защото наличието на различни неизвестни символи или връзки го прави неподходящ за използване. Почистването на данни е изкуството на извличането на значими части от данни чрез премахване на ненужни детайли. Различни символи, като „_/\ _” и „:),”. Тези символи например не допринасят много за неговото значение. Трябва да премахнем тези нежелани подробности. Това се прави не само за да се съсредоточи повече върху действителното съдържание, но и за намаляване на изчисленията. За да се постигне това, се използват методи като токенизация и стеминг. .Ще обсъдим подробно различни задачи за предварителна обработка и ще ги демонстрираме с примери.
При дадено изречение разбиването му на знаци или думи се нарича токенизация. Има библиотеки, като spaCy, които предлагат сложни решения за токенизация.
Токенизация на текст в изречения.
[Това е 1 първо изречение. ’,„ Тогава пиша второ. “, Накрая е трето, без да се пишат главни букви“]
Токенизация на текст в лексеми.
['Това', 'е', '1', 'първо', 'изречение', '.', 'След това', 'j' ',' в ',' напиши ',' едно ',' второ ', „.“, „за“, „завърши“, „в“, „тук“, „а“, „трети“, „без“, „постави“, „от“, „главни букви“]
Преобразуване на текст в символи
Функцията за списък в Python взема низ и го преобразува в списък с отделни символи. Това превръща текста в символи. Следващият кодов блок показва използвания код.
Обработка на големи обеми текст
Ако трябва да обработите голям брой текстове и да създадете няколко Doc обекта подред, методът nlp.pipe може значително да ускори тази операция. Той третира текстовете като поток и генерира Doc обекти. Това е много по-бързо от извикването на nlp за всеки текст.
[['Това', 'е', '1', 'първо', 'изречение', '.'], ['След това', 'j' ',' en ',' напиши ',' a ',' второ ','. '], [„за“, „завърши“, „в“, „voila“, „едно“, „трето“, „без“, „пут“, „от“, „главни букви“]]
Думите за спиране са често срещани думи, които просто се използват за улесняване на изграждането на изречения. Тъй като те се случват много често и тяхното присъствие не оказва особено влияние върху значението на изречението, те трябва да бъдат заличени. „Спиращите думи“ се установяват като списъци с думи. Тези списъци обикновено се предлагат в книжарница, наречена spacy, и на много различни езици.
Няма универсален списък със спирки с думи за всеки език, голяма част от него зависи от случая на употреба и вида на резултатите, които очаквате. Като цяло това е списък с най-често срещаните думи в езика. С spaCy стоп думите са много лесни за идентифициране, всеки маркер има атрибут IS_STOP, който ни дава информация дали думата е празна дума или не. Също така можем да добавим собствени стоп думи към списъка със стоп думи.
По този начин получаваме достъп до списъците на френски език.
Брой стоп думи: 600
Първите десет думи за спиране: [петдесета ’,‘ тестове ’, наслагване’, рендери ’, разни’, ‘n’ ’,‘ със сигурност ’,‘ сега ’,‘ след ’, les’]
Изтриване на стоп думи
Оригинален текст: [Това е 1 първо изречение. ', „Тогава пиша второ.“, „Накрая ето трето, без главни букви“]
текст без стоп думи: [[1, изречение,], [запис, втора,.], [завършек, поставяне, главна буква]]
Добавете персонализирани стоп думи
Оригинален текст: [„Това е 1 първо изречение.“, „Тогава пиша второ.“, „Най-накрая има трето, без да се пишат главни букви“]
текст без стоп думи: [[‘изречение’], [запис ’,‘ второ ’], [завършване’, поставяне ’, главни букви’]]
Някои думи се пишат, произнасят и представят по различен начин, например Мумбай и Бомбай, както и САЩ и САЩ. Въпреки че са различни, те означават едно и също нещо. Съществуват и различни форми на думи, които трябва да бъдат преобразувани в основни форми. Например думи като „готово“ и „fesait“, когато се преобразуват в основната си форма, стават „направи“. По този начин нормализирането на текста е процес, при който различни варианти на текст се преобразуват в стандартна форма. Трябва да направим нормализиране на текста, защото някои думи могат да означават едно и също нещо. Има различни начини за нормализиране на текста, като например проверка на правописа, извличане и лематизиране. За по-добро разбиране на тази тема ще разгледаме практическото изпълнение.
[['this', 'is', '1', 'first', 'изречение', '.'], ['then', “j '”,' en ',' write ',' a ',' второ ','. '], [„за“, „завърши“, „в“, „voila“, „едно“, „трето“, „без“, „пут“, „от“, „главни букви“]]
Искаме да заменим „САЩ“ със „САЩ“ и „18“ с „2018“. За целта използваме функцията за заместване
Ако трябва да съпоставите големи списъци с терминология, можете също да използвате PhraseMatcher обекти spacy за трансформиране на често срещани изрази от много думи в прости елементи