예제 #1
0
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,
예제 #2
0
# 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.

예제 #3
0
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
예제 #4
0
# 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.
예제 #5
0
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")