Какво е токенизация?
Токенизацията е процес, при който голямо количество текст се разделя на по-малки части, наречени лексеми. Тези символи са много полезни за намиране на модели и се считат за основна стъпка за извличане и лематизиране. Токенизирането също помага за заместване на чувствителни елементи с нечувствителни елементи на данни.
Обработката на естествен език се използва за изграждане на приложения като класификация на текст, интелигентен чат-бот, сантиментален анализ, превод на език и др. Изключително важно е да се разбере моделът в текста, за да се постигне гореспоменатата цел.
Засега не се притеснявайте за стеминг и лематизация, а ги третирайте като стъпки за почистване на текстови данни с помощта на NLP (обработка на естествен език). Ще обсъдим произтичането и лематизацията по-късно в урока. Задачи като класификация на текст или филтриране на нежелана поща използват NLP заедно с дълбоки учебни библиотеки като Keras и Tensorflow.
Natural Language инструментариум е много важен модул NLTK tokenize изречения, които освен това включват и под-модули
- дума токенизира
- изречение tokenize
Токенизация на думите
Използваме метода word_tokenize (), за да разделим изречението на думи. Резултатът от токенизацията на думи може да бъде преобразуван в Data Frame за по-добро разбиране на текста в приложенията за машинно обучение. Може да се предостави и като вход за по-нататъшни стъпки за почистване на текст, като например премахване на пунктуация, премахване на цифрови символи или изравняване. Моделите за машинно обучение се нуждаят от цифрови данни, за да бъдат обучени и да направят прогноза. Токенизирането на думи става ключова част от преобразуването на текст (низ) в числово преобразуване. Моля, прочетете за Bag of Words или CountVectorizer. Моля, обърнете се към долната дума за токенизиране на пример на NLTK, за да разберете теорията по-добре.
from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Обяснение на кода
- модулът word_tokenize се импортира от библиотеката NLTK.
- Променлива "текст" се инициализира с две изречения.
- Текстовата променлива се предава в модула word_tokenize и отпечатва резултата. Този модул разбива всяка дума с пунктуация, която можете да видите в изхода.
Токенизация на изреченията
Подмодулът, наличен за горното, е sent_tokenize. Очевиден въпрос в съзнанието ви би бил защо е необходима токенизация на изреченията, когато имаме възможност за токенизация на думи . Представете си, че трябва да преброите средни думи на изречение, как ще изчислите? За изпълнението на такава задача са ви необходими както токенизатор на изречения NLTK, така и токенизатор на думи NLTK, за да изчислите съотношението. Такъв изход служи като важна характеристика за машинно обучение, тъй като отговорът ще бъде цифров.
Проверете долния пример за токенизатор NLTK, за да научите как токенизацията на изреченията се различава от токенизацията на думи.
from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']
Имаме 12 думи и две изречения за един и същи вход.
Обяснение на програмата:
- В ред като предишната програма е импортиран модулът sent_tokenize.
- Взехме същото изречение. Допълнителен токенизатор на изречения в модул NLTK анализира тези изречения и показва изход. Ясно е, че тази функция разбива всяко изречение.
Примерите за токенизатор на думи на Python са добри камъни за настройка, за да се разбере механиката на токенизацията на думите и изреченията.
Обобщение
- Токенизацията в NLP е процесът, при който голямо количество текст се разделя на по-малки части, наречени символи.
- Обработката на естествен език се използва за изграждане на приложения като класификация на текст, интелигентен чатбот, сантиментален анализ, превод на език и др.
- Инструментариумът за естествен език има много важен модул NLTK за маркиране на изречение, който освен това се състои от подмодули
- Използваме метода word_tokenize (), за да разделим изречението на думи. Изходът на word tokenizer в NLTK може да бъде преобразуван в Data Frame за по-добро разбиране на текста в приложенията за машинно обучение.
- Подмодулът, наличен за горното, е sent_tokenize. Токенизатор на изречения в Python NLTK е важна характеристика за машинно обучение.