'English: Brown Corpus (Humor)': lambda: brown.words(categories='humor'), 'English: NPS Chat Corpus': lambda: nps_chat.words(), 'English: Wall Street Journal Corpus': lambda: treebank.words(), 'Chinese: Sinica Corpus': lambda: sinica_treebank.words(), 'Dutch: Alpino Corpus': lambda: alpino.words(), 'Hindi: Indian Languages Corpus': lambda: indian.words(files='hindi.pos'), 'Portuguese: Floresta Corpus (Portugal)': lambda: floresta.words(), 'Portuguese: MAC-MORPHO Corpus (Brazil)': lambda: mac_morpho.words(), 'Portuguese: Machado Corpus (Brazil)': lambda: machado.words(), 'Spanish: CESS-ESP Corpus': lambda: cess_esp.words() } class CollocationsView: _BACKGROUND_COLOUR = '#FFF' # white def __init__(self): self.queue = q.Queue() self.model = CollocationsModel(self.queue) self.top = Tk() self._init_top(self.top)
print "*** Introductory Examples for the NLTK Book ***" print "Loading ptext1, ... and psent1, ..." print "Type the name of the text or sentence to view it." print "Type: 'texts()' or 'sents()' to list the materials." ptext1 = Text(machado.words('romance/marm05.txt'), name="Memórias Póstumas de Brás Cubas (1881)") print "ptext1:", ptext1.name.decode('latin-1') ptext2 = Text(machado.words('romance/marm08.txt'), name="Dom Casmurro (1899)") print "ptext2:", ptext2.name.decode('latin-1') ptext3 = Text(genesis.words('portuguese.txt'), name="Gênesis") print "ptext3:", ptext3.name.decode('latin-1') ptext4 = Text(mac_morpho.words('mu94se01.txt'), name="Folha de Sau Paulo (1994)") print "ptext4:", ptext4.name.decode('latin-1') def texts(): print "ptext1:", ptext1.name.decode('latin-1') print "ptext2:", ptext2.name.decode('latin-1') print "ptext3:", ptext3.name.decode('latin-1') print "ptext4:", ptext4.name.decode('latin-1') psent1 = "o amor da glória era a coisa mais verdadeiramente humana que há no homem , e , conseqüentemente , a sua mais genuína feição .".split() psent2 = "Não consultes dicionários .".split() psent3 = "No princípio, criou Deus os céus e a terra.".split() psent4 = "A Cáritas acredita que outros cubanos devem chegar ao Brasil .".split() def sents(): print "psent1:", " ".join(psent1).decode('latin-1')
from nltk.corpus import mac_morpho, floresta from collections import Counter import pickle, re palavras = re.findall(r"[\w'-]+", (open('wordlists/palavras.txt', encoding='utf8').read()).lower()) corpus = list(mac_morpho.words()) + list(floresta.words()) corpus = [x.lower() for x in corpus] tudo = corpus + palavras contagem = Counter(tudo) with open("wordlists/dicionario.bin", 'wb') as arq: pickle.dump(contagem, arq)
'English: Brown Corpus (Humor)': lambda: brown.words(categories='humor'), 'English: NPS Chat Corpus': lambda: nps_chat.words(), 'English: Wall Street Journal Corpus': lambda: treebank.words(), 'Chinese: Sinica Corpus': lambda: sinica_treebank.words(), 'Dutch: Alpino Corpus': lambda: alpino.words(), 'Hindi: Indian Languages Corpus': lambda: indian.words(files='hindi.pos'), 'Portuguese: Floresta Corpus (Portugal)': lambda: floresta.words(), 'Portuguese: MAC-MORPHO Corpus (Brazil)': lambda: mac_morpho.words(), 'Portuguese: Machado Corpus (Brazil)': lambda: machado.words(), 'Spanish: CESS-ESP Corpus': lambda: cess_esp.words() } class CollocationsView: _BACKGROUND_COLOUR='#FFF' #white def __init__(self): self.queue = q.Queue() self.model = CollocationsModel(self.queue) self.top = Tk() self._init_top(self.top) self._init_menubar()
# pylint: disable=C0111 # pylint: disable=C0103 import mongo import nltk from nltk.corpus import mac_morpho col_p = mongo.db['palavras'] palavras = [p for p in mac_morpho.words()] freq = nltk.FreqDist(palavras) for p in freq: col_p.insert_one({'Palavra':p.lower()})
print "*** Introductory Examples for the NLTK Book ***" print "Loading ptext1, ... and psent1, ..." print "Type the name of the text or sentence to view it." print "Type: 'texts()' or 'sents()' to list the materials." ptext1 = Text(machado.words('romance/marm05.txt'), name="Memórias Póstumas de Brás Cubas (1881)") print "ptext1:", ptext1.name.decode('latin-1') ptext2 = Text(machado.words('romance/marm08.txt'), name="Dom Casmurro (1899)") print "ptext2:", ptext2.name.decode('latin-1') ptext3 = Text(genesis.words('portuguese.txt'), name="Gênesis") print "ptext3:", ptext3.name.decode('latin-1') ptext4 = Text(mac_morpho.words('mu94se01.txt'), name="Folha de Sau Paulo (1994)") print "ptext4:", ptext4.name.decode('latin-1') def texts(): print "ptext1:", ptext1.name.decode('latin-1') print "ptext2:", ptext2.name.decode('latin-1') print "ptext3:", ptext3.name.decode('latin-1') print "ptext4:", ptext4.name.decode('latin-1') psent1 = "o amor da glória era a coisa mais verdadeiramente humana que há no homem , e , conseqüentemente , a sua mais genuína feição .".split( ) psent2 = "Não consultes dicionários .".split() psent3 = "No princípio, criou Deus os céus e a terra.".split()
print "*** Introductory Examples for the NLTK Book ***" print "Loading ptext1, ... and psent1, ..." print "Type the name of the text or sentence to view it." print "Type: 'texts()' or 'sents()' to list the materials." ptext1 = Text(machado.words('romance/marm05.txt'), name="Mem�rias P�stumas de Br�s Cubas (1881)") print "ptext1:", ptext1.name ptext2 = Text(machado.words('romance/marm08.txt'), name="Dom Casmurro (1899)") print "ptext2:", ptext2.name ptext3 = Text(genesis.words('portuguese.txt'), name="G�nesis") print "ptext3:", ptext3.name ptext4 = Text(mac_morpho.words('mu94se01.txt'), name="Folha de Sau Paulo (1994)") print "ptext4:", ptext4.name def texts(): print "ptext1:", ptext1.name print "ptext2:", ptext2.name print "ptext3:", ptext3.name print "ptext4:", ptext4.name psent1 = "o amor da gl�ria era a coisa mais verdadeiramente humana que h� no homem , e, conseq�entemente , a sua mais genu�na fei��o".split() psent2 = "N�o consultes dicion�rios .".split() psent3 = "No princ�pio , criou Deus os c�us e a terra .".split() psent4 = "A C�ritas acredita que outros cubanos devem chegar ao Brasil ." def sents():
#### Principais dificuldades As principais dificuldades na realização deste processo são: * **Ambiguidade**: uma mesma palavra pode ter papéis diferentes de acordo com o contexto (e.g., "Ele deu um parecer" - "O verbo parecer") * **Palavras fora do vocabulário**: quando nosso corpus não contém alguma palavra, fica difícil para o POS-Tagger "adivinhar" o valor morfológico da palavra. Isso é especialmente comum quando utilizar um POS-Tagger treinado em um domínio em textos de algum domínio específico, por exemplo, utilizar um POS-Tagger treinado em textos jornalísticos para marcação de um texto de prontuários de pacientes. #### Corpus anotado MacMorpho É um corpus de notícias em português, com mais de um milhão de palavras de textos jornalísticos da Folha de São Paulo. Todo o corpus foi taggeado/etiquetado com os valores morfológicos para cada palavra """ from nltk.corpus import mac_morpho #nltk.download('mac_morpho') # Palavras no corpus mac_morpho.words() # Sentenças mac_morpho.sents() # A palavras e suas tags mac_morpho.tagged_words() mac_morpho.tagged_sents() # Vamos contar a quantidade de tokens len(mac_morpho.words()) # Palavras únicas len(nltk.FreqDist(mac_morpho.words()))
import nltk from nltk.corpus import brown from nltk.corpus import mac_morpho suffix_fdist = nltk.FreqDist() for word in mac_morpho.words(): word = word.lower() suffix_fdist[word[-1:]] += 1 suffix_fdist[word[-2:]] += 1 suffix_fdist[word[-3:]] += 1 common_suffixes = [suffix for (suffix, count) in suffix_fdist.most_common(10)] print(common_suffixes) def pos_features(word): features = {} for suffix in common_suffixes: features['endswith({})'.format(suffix)] = word.lower().endswith(suffix) return features tagged_words = mac_morpho.tagged_words(categories='news') featuresets = [(pos_features(n), g) for (n, g) in tagged_words] size = int(len(featuresets) * 0.1) train_set, test_set = featuresets[size:], featuresets[:size] classifier = nltk.DecisionTreeClassifier.train(train_set) print(nltk.classify.accuracy(classifier, test_set))
import operator import nltk from nltk.corpus import mac_morpho as morpho fd_morpho = nltk.FreqDist(w.lower() for w in morpho.words() if len(w) > 2) fd_morpho = sorted(fd_morpho.items(), key=operator.itemgetter(1), reverse=True) for (word, num) in fd_morpho[:20]: print(word, num)
print "*** Introductory Examples for the NLTK Book ***" print "Loading ptext1, ... and psent1, ..." print "Type the name of the text or sentence to view it." print "Type: 'texts()' or 'sents()' to list the materials." ptext1 = Text(machado.words("romance/marm05.txt"), name="Memórias Póstumas de Brás Cubas (1881)") print "ptext1:", ptext1.name.decode("latin-1") ptext2 = Text(machado.words("romance/marm08.txt"), name="Dom Casmurro (1899)") print "ptext2:", ptext2.name.decode("latin-1") ptext3 = Text(genesis.words("portuguese.txt"), name="Gênesis") print "ptext3:", ptext3.name.decode("latin-1") ptext4 = Text(mac_morpho.words("mu94se01.txt"), name="Folha de Sao Paulo (1994)") print "ptext4:", ptext4.name.decode("latin-1") def texts(): print "ptext1:", ptext1.name.decode("latin-1") print "ptext2:", ptext2.name.decode("latin-1") print "ptext3:", ptext3.name.decode("latin-1") print "ptext4:", ptext4.name.decode("latin-1") psent1 = "o amor da glória era a coisa mais verdadeiramente humana que há no homem , e , conseqüentemente , a sua mais genuína feição .".split() psent2 = "Não consultes dicionários .".split() psent3 = "No princípio, criou Deus os céus e a terra.".split() psent4 = "A Cáritas acredita que outros cubanos devem chegar ao Brasil .".split()
_CORPORA = { "Catalan: CESS-CAT Corpus": lambda: cess_cat.words(), "English: Brown Corpus": lambda: brown.words(), "English: Brown Corpus (Press)": lambda: brown.words(categories=["news", "editorial", "reviews"]), "English: Brown Corpus (Religion)": lambda: brown.words(categories="religion"), "English: Brown Corpus (Learned)": lambda: brown.words(categories="learned"), "English: Brown Corpus (Science Fiction)": lambda: brown.words(categories="science_fiction"), "English: Brown Corpus (Romance)": lambda: brown.words(categories="romance"), "English: Brown Corpus (Humor)": lambda: brown.words(categories="humor"), "English: NPS Chat Corpus": lambda: nps_chat.words(), "English: Wall Street Journal Corpus": lambda: treebank.words(), "Chinese: Sinica Corpus": lambda: sinica_treebank.words(), "Dutch: Alpino Corpus": lambda: alpino.words(), "Hindi: Indian Languages Corpus": lambda: indian.words(files="hindi.pos"), "Portuguese: Floresta Corpus (Portugal)": lambda: floresta.words(), "Portuguese: MAC-MORPHO Corpus (Brazil)": lambda: mac_morpho.words(), "Portuguese: Machado Corpus (Brazil)": lambda: machado.words(), "Spanish: CESS-ESP Corpus": lambda: cess_esp.words(), } class CollocationsView: _BACKGROUND_COLOUR = "#FFF" # white def __init__(self): self.queue = q.Queue() self.model = CollocationsModel(self.queue) self.top = Tk() self._init_top(self.top) self._init_menubar() self._init_widgets(self.top)
categories=["news", "editorial", "reviews"] ), "English: Brown Corpus (Religion)": lambda: brown.words(categories="religion"), "English: Brown Corpus (Learned)": lambda: brown.words(categories="learned"), "English: Brown Corpus (Science Fiction)": lambda: brown.words( categories="science_fiction" ), "English: Brown Corpus (Romance)": lambda: brown.words(categories="romance"), "English: Brown Corpus (Humor)": lambda: brown.words(categories="humor"), "English: NPS Chat Corpus": lambda: nps_chat.words(), "English: Wall Street Journal Corpus": lambda: treebank.words(), "Chinese: Sinica Corpus": lambda: sinica_treebank.words(), "Dutch: Alpino Corpus": lambda: alpino.words(), "Hindi: Indian Languages Corpus": lambda: indian.words(files="hindi.pos"), "Portuguese: Floresta Corpus (Portugal)": lambda: floresta.words(), "Portuguese: MAC-MORPHO Corpus (Brazil)": lambda: mac_morpho.words(), "Portuguese: Machado Corpus (Brazil)": lambda: machado.words(), "Spanish: CESS-ESP Corpus": lambda: cess_esp.words(), } class CollocationsView: _BACKGROUND_COLOUR = "#FFF" # white def __init__(self): self.queue = q.Queue() self.model = CollocationsModel(self.queue) self.top = Tk() self._init_top(self.top) self._init_menubar() self._init_widgets(self.top)