from ConstroiRUBT import EXEMPLO, SENTENCA TEMPLATES = [ brill.SymmetricProximateTokensTemplate(brill.ProximateTagsRule, (1, 1)), brill.SymmetricProximateTokensTemplate(brill.ProximateTagsRule, (2, 2)), brill.SymmetricProximateTokensTemplate(brill.ProximateTagsRule, (1, 2)), brill.SymmetricProximateTokensTemplate(brill.ProximateTagsRule, (1, 3)), brill.SymmetricProximateTokensTemplate(brill.ProximateWordsRule, (1, 1)), brill.SymmetricProximateTokensTemplate(brill.ProximateWordsRule, (2, 2)), brill.SymmetricProximateTokensTemplate(brill.ProximateWordsRule, (1, 2)), brill.SymmetricProximateTokensTemplate(brill.ProximateWordsRule, (1, 3)), brill.ProximateTokensTemplate(brill.ProximateTagsRule, (-1, -1), (1, 1)), brill.ProximateTokensTemplate(brill.ProximateWordsRule, (-1, -1), (1, 1)) ] INICIAL = carrega("AeliusRUBT.pkl") def treina(expressao_regular, etiquetador=INICIAL, destino="BRUBT.pkl", raiz=".", codificacao="utf-8", max_rules=100, min_score=3): inicial = abre_etiquetador(etiquetador) corpus = TaggedCorpusReader(raiz, expressao_regular, encoding=codificacao) train_sents = corpus.tagged_sents() trainer = brill.FastBrillTaggerTrainer(inicial, TEMPLATES) brubt = trainer.train(train_sents, max_rules=max_rules,
# Copyright (C) 2010-2011 Leonel F. de Alencar # Author: Leonel F. de Alencar <*****@*****.**> # # URL: <http://sourceforge.net/projects/aelius/> # For license information, see LICENSE.TXT # # $Id: AeliusLite.py $ """TODO. """ import os from Extras import carrega from AnotaCorpus import toqueniza_contracoes,anota_sentencas,anota_texto from Toqueniza import TOK_PORT, TOK_PORT_LX EXEMPLO=carrega("exemplo.txt") def AnotaTextoBRUBT(caminho_do_arquivo=EXEMPLO): if os.path.isabs(caminho_do_arquivo): raiz,nome=os.path.split(caminho_do_arquivo) else: raiz,nome=os.path.split(os.path.join(os.getcwd(),caminho_do_arquivo)) anota_texto(nome,raiz=raiz) # acrescentar outras funções desse tipo, como # AnotaTextoHunPos(caminho_do_arquivo), # AnotaTextoLXTagger(caminho_do_arquivo) etc.
import os,sys,nltk from cPickle import load try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET #from Aelius.Extras import carrega from Extras import carrega from ProcessaNomesProprios import * from ExpandeContracoes import expande_contracoes from Toqueniza import PUNKT,TOK_PORT from MXPOST import MXPOSTTagger from openNLPJava import openNLPTagger COMMENT=" TEI P5 header based on template created with EditiX http://www.editix.com/" TEI=carrega("template.xml") EXEMPLO="Os candidatos classificáveis dos cursos de Sistemas de Informação poderão ocupar as vagas remanescentes do Curso de Engenharia de Software.".decode("utf-8") # Extraído da seguinte fonte: # UFC convoca os classificáveis do Vestibular 2010. Disponível em: # <http://noticias.universia.com.br/destaque/noticia/2010/02/17/411825/ # fc-convoca-os-classificaveis-do-vestibular-2010.html> # Acesso em: 17/05/2011. # A seguinte variável permite expandir contrações para obter maior # acurácia com o LXTagger: # EXPANDE_CONTRACOES=True TAGGER=carrega("AeliusBRUBT.pkl") # A seguinte variável global permite definir um
# Copyright (C) 2010-2011 Leonel F. de Alencar # Author: Leonel F. de Alencar <*****@*****.**> # # URL: <http://sourceforge.net/projects/aelius/> # For license information, see LICENSE.TXT # # $Id: AeliusLite.py $ """TODO. """ import os from Extras import carrega from AnotaCorpus import toqueniza_contracoes, anota_sentencas, anota_texto from Toqueniza import TOK_PORT, TOK_PORT_LX EXEMPLO = carrega("exemplo.txt") def AnotaTextoBRUBT(caminho_do_arquivo=EXEMPLO): if os.path.isabs(caminho_do_arquivo): raiz, nome = os.path.split(caminho_do_arquivo) else: raiz, nome = os.path.split( os.path.join(os.getcwd(), caminho_do_arquivo)) anota_texto(nome, raiz=raiz) # acrescentar outras funções desse tipo, como # AnotaTextoHunPos(caminho_do_arquivo), # AnotaTextoLXTagger(caminho_do_arquivo) etc.
import os, sys, nltk from cPickle import load try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET #from Aelius.Extras import carrega from Extras import carrega from ProcessaNomesProprios import * from ExpandeContracoes import expande_contracoes from Toqueniza import PUNKT, TOK_PORT from MXPOST import MXPOSTTagger from openNLPJava import openNLPTagger COMMENT = " TEI P5 header based on template created with EditiX http://www.editix.com/" TEI = carrega("template.xml") EXEMPLO = "Os candidatos classificáveis dos cursos de Sistemas de Informação poderão ocupar as vagas remanescentes do Curso de Engenharia de Software.".decode( "utf-8") # Extraído da seguinte fonte: # UFC convoca os classificáveis do Vestibular 2010. Disponível em: # <http://noticias.universia.com.br/destaque/noticia/2010/02/17/411825/ # fc-convoca-os-classificaveis-do-vestibular-2010.html> # Acesso em: 17/05/2011. # A seguinte variável permite expandir contrações para obter maior # acurácia com o LXTagger: # EXPANDE_CONTRACOES=True TAGGER = carrega("AeliusBRUBT.pkl")