Обрада природног језика је аспект машинског учења који вам омогућава да обрађујете писане речи у језик прилагођен машини. Такви текстови тада постају прилагодљиви и на њима можете покренути рачунске алгоритме како желите.
Логика иза ове задивљујуће технологије изгледа сложена, али није. Чак и сада, са солидним разумевањем основног Питхон програмирања, можете да креирате нови ДИИ процесор текста са комплетом алата за природни језик (НЛТК).
Ево како да почнете са Питхон -овим НЛТК -ом.
Шта је НЛТК и како функционише?
Написан са Питхон -ом, НЛТК садржи низ функција за манипулисање низовима. То је свестрана библиотека природних језика са огромним складиштем модела за различите апликације на природном језику.
Помоћу НЛТК -а можете обрађивати необрађене текстове и из њих извлачити значајне карактеристике. Такође нуди моделе за анализу текста, граматике засноване на карактеристикама и богате лексичке изворе за изградњу комплетног језичког модела.
Како поставити НЛТК
Прво, креирајте роот директоријум пројекта било где на свом рачунару. Да бисте почели да користите НЛТК библиотеку, отворите свој терминал у основној фасцикли коју сте раније креирали и
створити виртуелно окружење.Затим инсталирајте комплет алата за природни језик у ово окружење помоћу пип:
пип инсталл нлтк
НЛТК, међутим, садржи различите скупове података који служе као основа за нове моделе природног језика. Да бисте им приступили, морате да покренете уграђени програм за преузимање података НЛТК.
Дакле, када успешно инсталирате НЛТК, отворите Питхон датотеку помоћу било ког уређивача кода.
Затим увезите нлтк модул и инстанцујте програм за преузимање података помоћу следећег кода:
пип инсталл нлтк
нлтк.довнлоад ()
Покретање горњег кода путем терминала отвара графичко-корисничко сучеље за одабир и преузимање пакета података. Овде ћете морати да изаберете пакет и кликнете на Преузимање дугме да бисте га добили.
Сваки пакет података који преузмете иде у наведени директоријум написан у Преузмите именик поље. Ово можете променити ако желите. Али покушајте да задржите подразумевану локацију на овом нивоу.
Повезан: Најбољи бесплатни уређивачи кода за писање ваше прве апликације
Белешка: Пакети података се подразумевано додају системским променљивим. Дакле, можете их наставити користити за наредне пројекте без обзира на Питхон окружење које користите.
Како се користе НЛТК токенизатори
На крају, НЛТК нуди обучене моделе токенизације речи и реченица. Помоћу ових алата можете да генеришете листу речи из реченице. Или претворите одломак у разумни низ реченица.
Ево примера како се користи НЛТК ворд_токенизер:
импорт нлтк
из нлтк.токенизе увоз ворд_токенизе
ворд = "Ово је пример текста"
токенВорд = реч_токенизатор (реч)
штампа (токенВорд)
Излаз:
['Ово', 'је', 'ан', 'пример', 'текст']
НЛТК такође користи унапред обучени токенизатор реченице тзв ПунктСентенцеТокенизер. Функционише тако што се одломак дели на листу реченица.
Хајде да видимо како ово функционише са пасусом од две реченице:
импорт нлтк
из нлтк.токенизе увоз ворд_токенизе, ПунктСентенцеТокенизер
реченица = "Ово је пример текста. Ово је водич за НЛТК "
токен = ПунктСентенцеТокенизер ()
токенизед_сентенце = токен.токенизе (реченица)
штампа (токенизед_сентенце)
Излаз:
['Ово је пример текста.', 'Ово је водич за НЛТК']
Можете даље токенизирати сваку реченицу у низу генерисаном из горњег кода помоћу ворд_токенизер и Питхон за петљу.
Примери како се користи НЛТК
Дакле, иако не можемо показати све могуће случајеве употребе НЛТК-а, ево неколико примјера како га можете почети користити за рјешавање проблема из стварног живота.
Добијте дефиниције речи и њихове делове говора
НЛТК садржи моделе за одређивање делова говора, добијање детаљне семантике и могућу контекстуалну употребу различитих речи.
Можете користити ворднет модел за генерисање променљивих за текст. Затим одредите његово значење и део говора.
На пример, хајде да проверимо могуће променљиве за „Монкеи:“
импорт нлтк
из нлтк.цорпус унесите ворднет као вн
принт (вн.синсетс ('мајмун'))
Излаз:
[Синсет ('монкеи.н.01'), Синсет ('имп.н.02'), Синсет ('тампер.в.01'), Синсет ('путтер.в.02')]
Горе наведени код приказује могуће алтернативе речи или синтаксе и делове говора за „Мајмун“.
Сада проверите значење речи „Мајмун“ помоћу дефиниција метода:
Мајмун = вн.синсет ('мајмун.н.01'). Дефиниција ()
Излаз:
било који од разних дугорепих примата (искључујући просимијанце)
Можете заменити низ у заградама другим генерисаним алтернативама да бисте видели шта НЛТК излази.
Тхе пос_таг модел, међутим, одређује делове говора речи. Ово можете користити са ворд_токенизер или ПунктСентенцеТокенизер () ако се бавите дужим пасусима.
Ево како то функционише:
импорт нлтк
из нлтк.токенизе увоз ворд_токенизе, ПунктСентенцеТокенизер
ворд = "Ово је пример текста. Ово је водич о НЛТК -у "
токен = ПунктСентенцеТокенизер ()
токенизед_сентенце = токен.токенизе (ворд)
за ја у токенизед_сентенце:
токенВордАрраи = ворд_токенизе (и)
партсОфСпеецх = нлтк.пос_таг (токенВордАрраи)
штампа (партсОфСпеецх)
Излаз:
[('Тхис', 'ДТ'), ('ис', 'ВБЗ'), ('ан', 'ДТ'), ('екампле', 'НН'), ('тект', 'НН'), ('.', '.')]
[('Тхис', 'ДТ'), ('ис', 'ВБЗ'), ('а', 'ДТ'), ('туториал', 'ЈЈ'), ('он', 'ИН'), ('НЛТК', 'ННП')]
Горњи код упарује сваку токенизирану реч са ознаком говора у парци. Значење ових ознака можете проверити на Пенн Треебанк.
За чистији резултат можете уклонити тачке у испису помоћу заменити() метода:
за ја у токенизед_сентенце:
токенВордАрраи = ворд_токенизе (и.реплаце ('.', ''))
партсОфСпеецх = нлтк.пос_таг (токенВордАрраи)
штампа (партсОфСпеецх)
Чистији излаз:
[('Тхис', 'ДТ'), ('ис', 'ВБЗ'), ('ан', 'ДТ'), ('екампле', 'НН'), ('тект', 'НН') ]
[('Тхис', 'ДТ'), ('ис', 'ВБЗ'), ('а', 'ДТ'), ('туториал', 'ЈЈ'), ('он', 'ИН'), ('НЛТК', 'ННП')]
Визуализација трендова функција помоћу НЛТК заплета
Издвајање функција из сирових текстова често је заморно и одузима време. Али можете видети најснажније одредитеље карактеристика у тексту користећи графикон трендова дистрибуције фреквенције НЛТК.
НЛТК се, међутим, синхронизује са матплотлиб. Ово можете искористити за преглед одређеног тренда у вашим подацима.
Код испод, на пример, упоређује скуп позитивних и негативних речи на графикону расподеле користећи њихова последња два писма:
импорт нлтк
из нлтк увоза ЦондитионалФрекДист
Листе негативних и позитивних речи:
негативи = [
„ненормално“, „укинути“, „одвратно“,
„одвратно“, „одвратно“, „одвратно“
]
позитивно = [
„у изобиљу“, „у изобиљу“, „у изобиљу“,
„обилно“, „приступачно“, „доступно“
]
# Поделите ставке у сваком низу на означене парове туплера
# и комбинују оба низа:
пос_негДата = ([("негативно", нег) за нег у негативима)+[("позитивно", поз) за поз у позитивима])
# Издвојите последња два писма из добијеног низа:
ф = ((поз, и [-2:],) за (поз, и) у пос_негДата)
# Направите дистрибутивни дијаграм ових абецеда
цфд = ЦондитионалФрекДист (ф)
цфд.плот ()
Распоред дистрибуције абецеде изгледа овако:
Помно гледајући графикон, речи завршавају са це, дс, ле, нд, и нт имају већу вероватноћу да буду позитивни текстови. Али они који завршавају са ал, ли, на, и те су вероватније негативне речи.
Белешка: Иако смо овде користили податке који се сами генеришу, можете приступити неким од уграђених скупова података НЛТК-а користећи његов Цорпус читач тако што ћете их позвати са корпус класа нлтк. Можда бисте желели да погледате документација пакета корпуса да видите како га можете користити.
Појавом технологија као што су Алека, откривање нежељене поште, цхатботови, анализа осећања и још много тога, чини се да се обрада природног језика развија у своју под-људску фазу. Иако смо у овом чланку размотрили само неколико примера онога што НЛТК нуди, алат има напредније апликације веће од обима овог водича.
Прочитавши овај чланак, требали бисте имати добру идеју о томе како користити НЛТК на основном нивоу. Сада вам преостаје само да ово знање сами спроведете у дело!
Заинтересовани сте за област машинског учења? Почните са овим библиотекама.
Прочитајте следеће
- Програмирање
- Питхон
- Програмски језици
- Програмирање
Идову је страствен у било чему паметном технологији и продуктивности. У слободно време игра се кодирањем и прелази на шаховску таблу кад му је досадно, али такође воли да се повремено одваја од рутине. Његова страст да људима покаже пут око савремене технологије мотивише га да пише више.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили