nltkAan de slag met nltk


Opmerkingen

NLTK is een toonaangevend platform voor het bouwen van Python- programma's om te werken met gegevens in de menselijke taal. Het biedt eenvoudig te gebruiken interfaces voor meer dan 50 corpora en lexicale bronnen zoals WordNet, samen met een reeks tekstverwerkingsbibliotheken voor classificatie, tokenization, stemming, tagging, parsing en semantisch redeneren, wrappers voor NLP-bibliotheken van industriële sterkte, en een actief discussieforum .

Het boek

Natuurlijke taalverwerking met Python biedt een praktische inleiding tot programmeren voor taalverwerking. Geschreven door de makers van NLTK, het leidt de lezer door de basisprincipes van het schrijven van Python-programma's, het werken met corpora, het categoriseren van tekst, het analyseren van de taalstructuur, en meer. Het boek wordt bijgewerkt voor Python 3 en NLTK 3. (De originele Python 2-versie is nog steeds beschikbaar op http://nltk.org/book_1ed .)

versies

NLTK-versiegeschiedenis

Versie Publicatiedatum
3.2.4 ( laatste ) 2017/05/21
3.2 2016/03/03
3.1 2015/10/15

Basisvoorwaarden

Corpus

Tekstgedeelte, enkelvoud. Corpora is het meervoud hiervan. Voorbeeld: een verzameling medische tijdschriften.

Lexicon

Woorden en hun betekenissen. Voorbeeld: Engels woordenboek. Overweeg echter dat verschillende velden verschillende lexicons zullen hebben. Bijvoorbeeld: voor een financiële belegger is de eerste betekenis voor het woord "Bull" iemand die vertrouwen heeft in de markt, in vergelijking met het gebruikelijke Engelse lexicon, waar de eerste betekenis voor het woord "Bull" een dier is. Als zodanig is er een speciaal lexicon voor financiële beleggers, artsen, kinderen, monteurs, enzovoort.

blijk

Elke "entiteit" die deel uitmaakt van wat op basis van regels is opgesplitst. Bijvoorbeeld, elk woord is een token wanneer een zin wordt "tokenized" in woorden. Elke zin kan ook een token zijn, als u de zinnen uit een paragraaf tokeniseerde.

Installatie of instellingen

NLTK vereist Python versies 2.7 of 3.4+ .

Deze instructies beschouwen python versie - 3.5


  • Mac / Unix:

    1. NLTK installeren: voer sudo pip install -U nltk
    2. Numpy installeren (optioneel): voer sudo pip install -U numpy
    3. import nltk : voer python en typ vervolgens import nltk

    OPMERKING: Voor oudere versies van Python kan het nodig zijn om setuptools te installeren (zie http://pypi.python.org/pypi/setuptools) en om pip te installeren (sudo easy_install pip).




Referentie: http://www.nltk.org/install.html

NLTK-installatie met Conda.

NLTK installeren met anaconda / conda van Continuum.

Als je Anaconda gebruikt, zou nltk waarschijnlijk al in de root zijn gedownload (hoewel je misschien nog steeds verschillende pakketten handmatig moet downloaden).

conda :

conda install nltk 
 

Om nltk te upgraden met conda :

conda update nltk
 

Met anaconda :

Als u meerdere python-omgevingen in anaconda gebruikt, activeert u eerst de omgeving waarin u nltk wilt installeren. U kunt de actieve omgeving controleren met de opdracht

conda info --envs
 

De omgeving met het * -teken vóór het mappad is de actieve. Gebruik van actieve omgeving wijzigen

activate <python_version>
for eg. activate python3.5
 

Controleer nu de lijst met pakketten die in deze omgeving zijn geïnstalleerd met behulp van commnad

conda list
 

Als u 'nltk' niet in de lijst vindt, gebruikt u

conda install -c anaconda nltk=3.2.1
 

Voor meer informatie kunt u https://anaconda.org/anaconda/nltk raadplegen.


Mini-conda aka conda installeren: http://conda.pydata.org/docs/install/quick.html

Om anaconda te installeren: https://docs.continuum.io/anaconda/install

NLTK's downloadfunctie

U kunt NLTK installeren via pip ( pip install nltk ). Nadat het is geïnstalleerd, zijn veel componenten niet aanwezig en kunt u sommige functies van NLTK niet gebruiken.

Voer vanuit uw Python-shell de functie ntlk.download() om te selecteren welke extra pakketten u wilt installeren met de UI. Als alternatief kunt u python -m nltk.downloader [package_name] .


  • Om alle beschikbare pakketten te downloaden.
nltk.download('all')
 

  • Om een specifiek pakket te downloaden.
nltk.download('package-name')
 

  • Om alle pakketten van een specifieke map te downloaden.
import nltk

dwlr = nltk.downloader.Downloader()

# chunkers, corpora, grammars, help, misc, 
# models, sentiment, stemmers, taggers, tokenizers
for pkg in dwlr.packages():
    if pkg.subdir== 'taggers':
        dwlr.download(pkg.id)
 

  • Om alle pakketten behalve Corpora Folder te downloaden.
import nltk

dwlr = nltk.downloader.Downloader()

for pkg in dwlr.corpora():
    dwlr._status_cache[pkg.id] = 'installed'

dwlr.download('all')
 

Met NLTK

U kunt NLTK (met name het pakket nltk.tokenize ) gebruiken om detectie van de nltk.tokenize te voeren:

import nltk
text = "This is a test. Let's try this sentence boundary detector."
text_output = nltk.tokenize.sent_tokenize(text)
print('text_output: {0}'.format(text_output))
 

Output:

text_output: ['This is a test.', "Let's try this sentence boundary detector."]