From ffb4524553e717a7647a9dd8a7bd447bd909e16a Mon Sep 17 00:00:00 2001 From: Erickson Silva Date: Wed, 14 Jan 2015 19:38:08 -0300 Subject: [PATCH] Corrige paths para funcionar no Windows --- src/new/AplicaRegras.py | 10 ++++++++-- src/new/LeitorDicionarios.py | 10 ++++++++-- src/new/alexp.py | 18 +++++++++--------- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/new/AplicaRegras.py b/src/new/AplicaRegras.py index 06dfa26..609a04f 100644 --- a/src/new/AplicaRegras.py +++ b/src/new/AplicaRegras.py @@ -22,7 +22,8 @@ class AplicaRegras(object): it.load(texto) self.__ts = [] self.__verb = False - self.__adv = False; + self.__adv = False + self.__plural = False self.__countVerb = 0 self.__countAdv = 0 while(it.hasNext()): @@ -32,6 +33,9 @@ class AplicaRegras(object): if self.__dicionarios.hasPalavraIgnorada(tag) == False: # verifica se nao eh artigo/preposicao + if tag[-2:] == "-P": + self.__plural = True + #VERIFICA SE É ADVERBIO E CONTA A QUANTIDADE if tag[:3] == "ADV": if (self.__dicionarios.hasTempoVerbal(token)): @@ -71,7 +75,9 @@ class AplicaRegras(object): self.__ts = self.verbalAnalysis(self.__ts) #VERIFICA SE É PLURAL - return self.hasPlural(self.__ts) + if self.__plural: return self.hasPlural(self.__ts) + + return self.__ts # converte romano para numero diff --git a/src/new/LeitorDicionarios.py b/src/new/LeitorDicionarios.py index 3d56334..6d75f01 100644 --- a/src/new/LeitorDicionarios.py +++ b/src/new/LeitorDicionarios.py @@ -7,7 +7,7 @@ #LAViD - Laboratório de Aplicações de Vídeo Digital from os.path import expanduser -import csv +import csv, platform class LeitorDicionarios(object): #_iInstance = None @@ -30,7 +30,13 @@ class LeitorDicionarios(object): # Define e inicializa os atributos def __init__(self): - self.__path = expanduser("~") + "/vlibras-translate/data/" + + so = platform.system() + if so == 'Windows': + self.__path = expanduser("~") + "\\vlibras-translate\data\\" + else: + self.__path = expanduser("~") + "/vlibras-translate/data/" + self.__dicInf = {} self.__dicSin = {} self.__dicWords = {} diff --git a/src/new/alexp.py b/src/new/alexp.py index dc28e88..579cbf1 100644 --- a/src/new/alexp.py +++ b/src/new/alexp.py @@ -27,16 +27,14 @@ """Este módulo contém funções que permitem utilizar o Aelius para etiquetar uma sentença, construindo entradas lexicais com base nas etiquetas atribuídas às palavras da sentença. Essas entradas lexicais são integradas em uma gramática CFG dada, que é transformada em um parser, utilizado para gerar uma árvore de estrutura sintagmática da sentença. """ -import re, string,nltk,os +import re, string,nltk,platform +from os.path import expanduser from Aelius.Extras import carrega from Aelius import AnotaCorpus # definição de algumas variáveis globais para # facilitar utilização das diferentes funções do módulo -# sintaxe default em subpasta de nltk_data -DIR="/vlibras-translate/data/cfg.syn.nltk" - # eventualmente será preciso incluir aqui outros sinais # de pontuação, como o travessão PUNCT=string.punctuation @@ -86,11 +84,13 @@ def corrigeAnotacao(lista): def encontraArquivo(caminho=DIR): """Encontra arquivo na pasta vlibras-translate. """ - home = os.path.expanduser("~") - path = os.path.realpath(home+caminho) - return path + so = platform.system() + if so == 'Windows': + return expanduser("~") + "\\vlibras-translate\data\cfg.syn.nltk" + else: + return expanduser("~") + "/vlibras-translate/data/cfg.syn.nltk" -def extraiSintaxe(caminho=DIR): +def extraiSintaxe(): """Extrai gramática armazenada em arquivo cujo caminho é definido relativamente ao diretório nltk_data. """ arquivo=encontraArquivo(caminho) @@ -119,7 +119,7 @@ def constroiAnalisador(s): corrigeAnotacao(SENTENCA_ANOTADA) entradas=geraEntradasLexicais(SENTENCA_ANOTADA) lexico="\n".join(entradas) - gramatica="%s\n%s" % (extraiSintaxe(DIR).strip(),lexico) + gramatica="%s\n%s" % (extraiSintaxe().strip(),lexico) cfg=nltk.CFG.fromstring(gramatica) return nltk.ChartParser(cfg) -- libgit2 0.21.2