Питхон

Водич за НЛТК у Питхону

Водич за НЛТК у Питхону
Ера података је већ овде. Брзина којом се подаци генеришу данас је већа него икад и увек расте. Већина људи који се свакодневно баве подацима углавном раде са неструктурираним текстуалним подацима. Неки од ових података имају повезане елементе попут слика, видео записа, звука итд. Неки од извора ових података су веб странице, дневни блогови, веб странице са вестима и многи други. Анализа свих ових података бржим темпом је неопходна, а такође је и много времена пресудно.

На пример, предузеће може покренути механизам за анализу текста који обрађује твитове о свом послу помињући име компаније, локацију, процес и анализирајући емоције повезане са тим твитом. Исправне радње могу се предузети брже ако то предузеће сазна за растуће негативне твеетове за њега на одређеној локацији како би се спасило од грешке или било чега другог. Још један уобичајени пример ће за ЈуТјуб. Иоутубе администратори и модератори се упознају са ефектом видео записа, у зависности од врсте коментара на видео запис или порука видео ћаскања. То ће им помоћи да много брже пронађу неприкладан садржај на веб локацији, јер су сада искорениле ручни рад и запослиле аутоматизоване ботове за паметну анализу текста.

У овој лекцији ћемо проучити неке концепте који се односе на анализу текста уз помоћ НЛТК библиотеке у Питхону. Неки од ових концепата ће укључивати:

НЛП ће бити главна област фокуса у овој лекцији, јер је применљив на огромне реалне сценарије где може да реши велике и кључне проблеме. Ако мислите да ово звучи сложено, добро јесте, али концепте је једнако лако разумети ако испробате примере раме уз раме. Кренимо у инсталирање НЛТК на вашу машину да започнемо с њом.

Инсталирање НЛТК

Само напомену пре почетка, за ову лекцију можете користити виртуелно окружење које можемо направити следећом командом:

питхон -м виртуаленв нлтк
извор нлтк / бин / активирај

Једном када је виртуелно окружење активно, можете инсталирати НЛТК библиотеку у виртуелно окружење тако да се могу извршити примери које следећи креирамо:

пип инсталл нлтк

У овој лекцији ћемо користити Анаконду и Јупитер. Ако га желите инсталирати на машину, погледајте лекцију која описује „Како инсталирати Анацонда Питхон на Убунту 18.04 ЛТС “и поделите своје повратне информације ако се суочите са било којим проблемом. Да бисте инсталирали НЛТК са Анацондом, користите следећу команду у терминалу из Анацонде:

цонда инсталл -ц анацонда нлтк

Нешто слично видимо када извршимо горњу команду:

Једном када су сви потребни пакети инсталирани и готови, можемо започети употребу НЛТК библиотеке са следећом изјавом о увозу:

импорт нлтк

Кренимо са основним примерима НЛТК сада када смо инсталирали пакете са предусловима.

Токенизација

Започећемо са токенизацијом која је први корак у извођењу анализе текста. Токен може бити било који мањи део текста који се може анализирати. Постоје две врсте токенизације које се могу изводити са НЛТК:

Можете погодити шта се дешава на свакој од токенизација, па заронимо у примере кода.

Токенизација реченице

Како назив одражава, токенизатори реченица дели текст у реченице. Покушајмо са једноставним исечком кода за исти где користимо текст који смо изабрали из водича за Апацхе Кафка. Обавићемо неопходни увоз

импорт нлтк
од нлтк.токенизе импорт сент_токенизе

Имајте на уму да бисте се могли суочити са грешком због недостајуће зависности за позвани нлтк пункт. Додајте следећи ред одмах након увоза у програм да бисте избегли упозорења:

нлтк.преузимање ('пункт')

За мене је дао следећи резултат:

Даље, користимо токенизер реченица који смо увезли:

тект = "" "Тема на Кафки је нешто где се шаље порука. Потрошач
апликације које занима та тема увлаче поруку у то
тему и може учинити било шта са тим подацима. До одређеног времена, било који број
потрошачке апликације могу повући ову поруку било који број пута."" "
реченице = послат_токенизе (текст)
штампати (реченице)

Нешто слично видимо када извршимо горњу скрипту:

Очекивано, текст је био правилно организован у реченице.

Токенизација речи

Како назив одражава, Ворд Токенизерс дели текст на речи. Покушајмо са једноставним исечком кода за исти са истим текстом као у претходном примеру:

од нлтк.токенизе увоз ворд_токенизе
вордс = ворд_токенизе (текст)
испис (речи)

Нешто слично видимо када извршимо горњу скрипту:

Као што се и очекивало, текст је правилно организован у речи.

Дистрибуција фреквенције

Сад кад смо преломили текст, такође можемо израчунати учесталост сваке речи у тексту који смо користили. Са НЛТК је врло једноставно, ево исечка кода који користимо:

од нлтк.вероватноћа увоза ФрекДист
дистрибуција = ФрекДист (речи)
штампа (дистрибуција)

Нешто слично видимо када извршимо горњу скрипту:

Даље, у тексту можемо пронаћи најчешће речи са једноставном функцијом која прихвата број речи за приказ:

# Најчешће речи
дистрибуција.мост_цоммон (2)

Нешто слично видимо када извршимо горњу скрипту:

На крају, можемо направити графикон расподеле фреквенција како бисмо рашчистили речи и њихов број у датом тексту и јасно разумели дистрибуцију речи:

Стопвордс

Баш као кад разговарамо са другом особом путем позива, током позива обично се чује нека бука која је нежељена информација. На исти начин, текст из стварног света такође садржи буку која се назива као Стопвордс. Лозинке се могу разликовати од језика до језика, али их је лако препознати. Неке од зауставних речи на енглеском језику могу бити - јесу, јесу, су, су, итд.

Речи које НЛТК сматра енглеским језиком као зауставне речи можемо погледати са следећим исечком кода:

од нлтк.граничне речи за увоз корпуса
нлтк.преузимање ('стопвордс')
језик = "енглески"
стоп_вордс = сет (стопвордс.речи (језик))
испис (стоп_вордс)

Како скуп зауставних речи наравно може бити велик, чува се као засебан скуп података који се може преузети са НЛТК, као што смо горе приказали. Нешто слично видимо када извршимо горњу скрипту:

Ове зауставне речи треба уклонити из текста ако желите да извршите прецизну анализу текста за дати део текста. Уклонимо зауставне речи из наших текстуалних токена:

филтеред_вордс = []
за реч у речима:
ако реч није у стоп_вордс:
филтеред_вордс.додати (реч)
филтеред_вордс

Нешто слично видимо када извршимо горњу скрипту:

Ворд Стемминг

Основа речи је основа те речи. На пример:

Изводићемо темеље на филтрираним речима из којих смо уклонили зауставне речи у последњем одељку. Напишимо једноставан исечак кода где користимо НЛТК-ов матични број за извођење операције:

од нлтк.матични увоз ПортерСтеммер
пс = ПортерСтеммер ()
стеммед_вордс = []
за реч у филтеред_вордс:
стеммед_вордс.додати (пс.стабљика (реч))
принт ("Темељна реченица:", матичне_речи)

Нешто слично видимо када извршимо горњу скрипту:

ПОС таговање

Следећи корак у текстуалној анализи је идентификација и груписање сваке речи у смислу њихове вредности, тј.е. ако је свака од речи именица или глагол или нешто друго. Ово се назива делом означавања говора. Изведимо ПОС означавање сада:

жетони = нлтк.ворд_токенизе (реченице [0])
штампа (жетони)

Нешто слично видимо када извршимо горњу скрипту:

Сада можемо извршити означавање, за шта ћемо морати да преузмемо други скуп података да бисмо идентификовали тачне ознаке:

нлтк.преузимање ('просечан_перцептрон_таггер')
нлтк.пос_таг (токени)


Ево резултата означавања:

Сад кад смо коначно идентификовали означене речи, ово је скуп података на којем можемо извршити анализу сентимента како бисмо идентификовали емоције иза реченице.

Закључак

У овој лекцији смо погледали одличан пакет природног језика, НЛТК који нам омогућава да радимо са неструктурираним текстуалним подацима како бисмо идентификовали било које зауставне речи и извршили дубљу анализу припремајући оштар скуп података за анализу текста са библиотекама попут склеарн.

Пронађите све изворне кодове коришћене у овој лекцији на Гитхуб-у. Молимо поделите повратне информације о лекцији на Твиттеру са @сбмаггарвал и @ЛинукХинт.

5 најбољих аркадних игара за Линук
У данашње време рачунари су озбиљне машине које се користе за игре на срећу. Ако не успете да добијете нови високи резултат, знаћете на шта мислим. У ...
Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...