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