Hea lugeja!
Selles ajaveebis käsitlen ma tükeldamist nii teoreetiliselt kui ka praktiliselt Pythonis.
Niisiis, alustame…
MÄRKUS: Rakenduseks on parem kasutada Pythoni IDLE-i, kuna väljundiks on puu joonis, mis ilmub eraldi aknas.
päevakord
- Mis on tükeldamine?
- Kus tükeldamist kasutatakse?
- Tükeldamise tüübid
- Tükeldamise rakendamine Pythonis
- Tulemused
Mis on tükeldamine?
Tükeldamist defineeritakse kui loomuliku keele töötlemise protsessi, mida kasutatakse antud lauses esinevate kõneosade ja lühikeste fraaside tuvastamiseks.
Meenutades meie vanu häid inglise keele grammatikatunde kooliajal, pange tähele, et kõnes on kaheksa osa, nimelt nimisõna, tegusõna, omadussõna, määrsõna, eessõna, sidesõna, asesõna ja vahesõna. Samuti viitavad ülaltoodud tükeldamise määratluses lühikesed fraasid fraasidele, mis on moodustatud nende kõneosade kaasamisel.
Näiteks tükeldamist saab teha nimisõnafraaside või üksikute nimisõnade, omadussõnade või omadussõnafraaside jms tuvastamiseks ja seega rühmitamiseks. Mõelge allolevale lausele:
"Hommikusöögiks sõin burgereid ja saiakesi."
Sel juhul, kui soovime nimisõnafraase rühmitada või tükkideks jagada, saame “burgerid”, “küpsetised” ja “lõuna”, mis on lause nimisõnad või nimisõnarühmad.
Kus tükeldamist kasutatakse?
Miks me peaksime tahtma midagi õppida, teadmata, kus seda laialdaselt kasutatakse?! Blogi selles jaotises käsitletud rakenduste vaatamine aitab teil uudishimulikuna püsida kuni lõpuni!
Tükeldamist kasutatakse antud lausest vajalike fraaside saamiseks. POS-märgistamist saab aga kasutada ainult nende kõneosade tuvastamiseks, millesse lause iga sõna kuulub.
Kui konkreetse sõna või meid huvitava fraasi ümber on palju kirjeldusi või muudatusi, kasutame tükkideks, et haarata ainult nõutud fraasist, jättes tähelepanuta ülejäänud selle ümber. Järelikult sillutab tükeldamine võimaluse rühmitada nõutud fraasid ja välistada kõik nende ümber olevad modifikaatorid, mis pole meie analüüsi jaoks vajalikud. Kokkuvõtteks võib öelda, et tükkideks tükeldamine aitab meil pikkadest kirjeldustest välja tuua ainuüksi olulised sõnad. Seega on tükeldamine teabe hankimise samm.
Huvitaval kombel laieneb see NLP-s tükeldamise protsess mitmetele teistele rakendustele; näiteks rühmitada teatud kategooria puuvilju, näiteks valgurikkaid puuvilju rühmana, vitamiinirikkaid puuvilju teise rühmana jne. Peale selle saab tükeldamist kasutada ka sarnaste autode rühmitamiseks, näiteks autod, mis toetavad automaatset käiku, ja teised, mis toetavad manuaalkäiku, teise gruppi ja nii edasi.
Tükeldamise tüübid
Laias laastus on kahte tüüpi tükeldamist:
- Tükeldamine
- Tükeldab alla
Tükeldamine:
Siin me ei sukeldu sügavale; selle asemel oleme rahul teabe ülevaatega. See lihtsalt aitab meil antud andmetest lühikese ettekujutuse saada.
Tükeldamine:
Erinevalt eelmisest tükeldamise tüübist aitab allapoole tükeldamine saada üksikasjalikku teavet.
Seega, kui soovite lihtsalt ülevaadet, kaaluge "tükeldamist", muidu eelistage "tükeldamist".
Tükeldamise rakendamine Pythonis
Kujutage ette olukorda, kus soovite analüüsi jaoks etteantud tekstist kõik verbid välja võtta. Seega peame sel juhul arvestama verbifraaside tükeldamisega. Seda seetõttu, et meie eesmärk on eraldada antud tekstiosast kõik verbifraasid. Tükeldamine toimub regulaaravaldiste abil.
Ärge muretsege, kui kohtate esimest korda terminit "tavalised väljendid". Allolev tabel on siin teie päästmiseks:
|
|
|
|
|
|
|
|
|
|
|
|
Ülaltoodud tabel sisaldab kõige sagedamini kasutatavaid regulaaravaldisi. Regulaaravaldised on käsureal väga kasulikud, eriti failide kustutamisel, asukoha määramisel, ümbernimetamisel või teisaldamisel.
Igatahes kasutame selle teostuse jaoks ainult *. Sümboliga tutvumiseks vaadake julgelt ülaltoodud tabelit!
Tükeldame kõige populaarsema NLP teegi nltk abil. Niisiis, impordime selle esmalt.
import nltk
Vaatleme allolevat näidisteksti, mille ma ise lõin. Asendage allolev mis tahes näidistekstiga, mida soovite tükeldamiseks rakendada!
sample_text=""" Rama tappis Ravana, et päästa Sita Lankalt. Ramayani legend on India populaarseim eepos. Paljud filmid ja seriaalid on juba ilmunud. on siin Indias Ramayana põhjal filmitud mitmes keeles. """
On selge, et enne jätkamist tuleb andmed lausemärgistada ja seejärel sõna märgistada. Tokeniseerimine pole midagi muud kui antud tekstiosa jagamine väiksemateks üksusteks, näiteks lauseteks, lause tokeniseerimise ja sõnade puhul, sõnade märgistamise korral.
Pärast märgistamist tehakse iga sõna jaoks POS (kõneosa) sildistamine, milles tuvastatakse iga sõna kõneosa. Nüüd oleme huvitatud ainult verbist kõneosa ja soovime seda välja võtta.
Seetõttu määrake meid huvipakkuv kõneosa nõutava regulaaravaldise abil järgmiselt:
VB: {}
tokenized=nltk.sent_tokenize(sample_text) for i in tokenized: words=nltk.word_tokenize(i) # print(words) tagged_words=nltk.pos_tag(words) # print(tagged_words) chunkGram=r"""VB: {}""" chunkParser=nltk.RegexpParser( chunkGram) chunked=chunkParser.parse(silditud_sõnad) chunked.draw()
Regulaaravaldis (RE) on ümbritsetud nurksulgudega (), mis omakorda on suletud nurksulgudesse ({ ja }).
MÄRKUS: Määrake RE vastavalt nõutavale POS-ile
VB tähistab verbi POS. VB-le järgnev punkt tähendab, et see vastab mis tahes VB-le järgnevale märgile. Punkti järel olev küsimärk täpsustab, et mis tahes tähemärk pärast B peab esinema ainult üks kord või ei tohi üldse esineda. Varem nähtud tabelis on see märk aga valikuline. Oleme regulaaravaldise sel viisil raaminud, kuna NLTK-s sisaldavad verbifraasid järgmisi POS-silte:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Seega võivad verbifraasid kuuluda ükskõik millisesse ülaltoodud POS-i. Sellepärast on regulaaravaldis raamitud kui VB.? mis hõlmab kõiki ülaltoodud kategooriaid. RegexpParseri paketti kasutatakse selleks, et kontrollida, kas POS vastab meie nõutavale mustrile, mida oleme varem RE abil maininud.
Kogu koodi saab näha järgmiselt:
import nltk nltk.download('averaged_perceptron_tagger') sample_text=""" Rama tappis Ravana, et päästa Sita Lankalt. Ramayani legend on India populaarseim eepos. Paljud filmid ja seriaalid on juba ilmunud. on siin Indias Ramayana põhjal filmitud mitmes keeles. """ tokenized=nltk.sent_tokenize(sample_text) for i in tokenized: words=nltk.word_tokenize(i) # print(words) tagged_words=nltk.pos_tag(words) # print(tagged_words) chunkGram=r"""VB: {}""" chunkParser=nltk.RegexpParser( chunkGram) chunked=chunkParser.parse(silditud_sõnad) chunked.draw()
Tulemused
Lõpuks saame sõnade POS-i puuvormi koos sõnadega, mille POS vastab antud RE-le. Meie poolt edastatud näidisteksti jaoks saadud väljundi hetktõmmis on näha ülaltoodud joonistel.
Pange tähele, et sõnad, mis rahuldavad meie RE-d ainult verbifraaside puhul, on väljundis selgelt esile tõstetud. Seetõttu on verbifraaside tükeldamine õnnestunud.
Loodetavasti leidsite minu artiklist kasu.
Aitäh!
viited
1. Tükeldamise rakendamine Pythonis
3. NLP-s saadaolevate müügikohtade täielik loend
Minust
Olen Nithyashree V, BTech arvutiteaduse ja inseneriteaduse viimase aasta üliõpilane. Mulle meeldib selliseid lahedaid tehnoloogiaid õppida ja neid praktikas rakendada, eriti jälgida, kuidas need aitavad meil lahendada ühiskonna keerulisi probleeme. Minu huvivaldkonnad on tehisintellekt, andmeteadus ja loomuliku keele töötlemine.
Siin on minu LinkedIn profiil: Minu LinkedIn
Saate lugeda minu teisi artikleid Analytics Vidhya kohta aadressilt siin.
- "
- 7
- Materjal: BPA ja flataatide vaba plastik
- analüüs
- analytics
- rakendused
- ümber
- artikkel
- kaubad
- tehisintellekti
- Blogi
- hommikusöök
- autod
- kood
- tulevad
- ühine
- Arvutiteadus
- andmed
- andmeteadus
- Inseneriteadus
- Inglise
- kaevandamine
- esimene
- Esimest korda
- vorm
- tasuta
- Käik
- hea
- rüütama
- Grammatika
- Grupp
- siin
- Esiletõstetud
- Kuidas
- HTTPS
- idee
- identifitseerima
- Kaasa arvatud
- India
- info
- teabe väljavõtmine
- Intelligentsus
- huvi
- IT
- keel
- Keeled
- Õppida
- õppimine
- Raamatukogu
- joon
- nimekiri
- armastus
- märk
- Vastama
- Meedia
- Populaarseim
- Filmid
- nimelt
- Loomulik keel
- Natural Language Processing
- nlp
- Muu
- teised
- Muster
- fraasid
- populaarne
- PoS
- esitada
- profiil
- Python
- RE
- lugejad
- REST
- Kool
- teadus
- Lühike
- Snapshot
- So
- LAHENDAGE
- Kaubandus-
- jääma
- õpilane
- toetama
- Tehnoloogiad
- aeg
- Tokeniseerimine
- us
- Mis on
- jooksul
- sõnad
- aasta
- null