Skip to content

Latest commit

 

History

History

parse

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

DOCUMENTAÇÃO DAS CLASSES

IDENTIFICAÇÃO DE TIPOS DE RELAÇÕES TEMPORAIS

from parse.ParseTimebankPT import TimebankPT

path_tml = r'TimeBankPT\train\ABC*.tml'
tb = TimebankPT(path_tml)
Arquivo 'dataset/corpus.pickle' encontrado. Acionado carregamento rápido do corpus.
Arquivo 'dataset/data_pipe_tb.pickle' encontrado. 
Acionado carregamento rápido dos dados do TimebankPT para pipeline do spaCy.
SEQUÊNCIA PIPELINE: PORTUGUÊS
   1 -> tok2vec
   2 -> morphologizer
   3 -> parser
   4 -> lemmatizer
   5 -> attribute_ruler
   6 -> ner
   7 -> pipe_timebankpt
   8 -> merge_entities

TimebankPT

help(tb)
Help on TimebankPT in module parse.ParseTimebankPT object:

class TimebankPT(Functions)
 |  TimebankPT(path_tml, add_timebank=True, lang='pt', dev: bool = False, ignore_load_corpus=False)
 |  
 |  Importa dados do corpus TimebankPT e fornece vários métodos para manipular o conteúdo do corpus.
 |  Se existir o arquivo 'dataset/corpus.pickle', o carregamento rápido do corpus é acionado.
 |  Se não existir, o corpus existente na pasta 'path_tml' é processado, o carregamento é mais lento.
 |  O arquivo 'dataset/corpus.pickle' é salvo pelo método: 
 |      TimebankPT.df.save_corpus(tb.path_corpus_pickle).
 |  
 |  Se existir o arquivo 'dataset/data_pipe_tb.pickle', o carregamento rápido dos dados do pipeline é acionado.
 |  Se não existir, os dados para o pipeline são processados na inicialização de Timebank.df.
 |  O arquivo 'dataset/data_pipe_tb.pickle' é salvo pelo método: 
 |      TimebankPT.save_data_pipe_tb(tb.path_data_pipe_pickle).
 |  
 |  Args:
 |      path_tml: caminho do corpus TimebankPT no formato: 'c:\diretorio\*\*.txt'
 |      add_timebank: adiciona tags (EVENT, TIMEX3 e TLINK) do corpus TimebankPT ao pipeline do spaCy. Default é True
 |      dev: Se True, os dados de treino são divididos em 'train' e 'train_test'. 'test' não deve ser utilizado.
 |          Se False, todo dado de treino é 'train' e 'test' é utilizado.
 |      ignore_load_corpus: Se True, carrega o corpus previamente salvo.
 |          Se False, processa o carragamento do curpus a partir dos arquivo .tml
 |  
 |  Method resolution order:
 |      TimebankPT
 |      Functions
 |      builtins.object
 |  
 |  Methods defined here:
 |  
 |  __init__(self, path_tml, add_timebank=True, lang='pt', dev: bool = False, ignore_load_corpus=False)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  __str__(self)
 |      Exibe as quantidades dos objetos do TimebankPT
 |  
 |  add_pipe_timebank(self)
 |      Adiciona o pipe que adiciona tags dos timebankPT ao Doc no spaCy
 |  
 |  check_filename(self, filename: str, extensao: str = '', check_if_exist: bool = False) -> str
 |      Retorna nome do arquivo com a extensão padrão .'extensão' se não for informada em filename. Pode verificar se o arquivo existe conforme 'check_if_exist'.
 |      
 |      Args:
 |          filename: nome do arquivo. Extensão no nome do arquivo tem prevalência sobre 'extensão'.
 |          extensao: extensão padrão do arquivo
 |          check_if_exist: Se True, verifica se o arquivo existe
 |  
 |  eh_nome_doc(self, nome_doc: str)
 |      Verifica se o nome_doc pertence aos arquivos do corpus TimeBankPT
 |      
 |      Args:
 |          nome_doc: Nome de arquivo do TimebankPT
 |  
 |  get_dct_doc(self, nome_doc=None)
 |      Retorna o value da Data de Criação do Documento(DCT) da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          nome_doc: se informado, sobrepõe as id_sentenca atribuída em set_id_sentenca()
 |      
 |      Return:
 |          value do DCT
 |  
 |  get_dct_doc_helper(self, nome_doc=None, retorno='dct')
 |      Retorna lista com dados da Data de Criação do Documento(DCT) da id_sentença setada em set_id_sentenca() ou de 'nome_doc' do parametro
 |      
 |      Args:
 |          nome_doc: se informado, sobrepõe as id_sentenca atribuída em set_id_sentenca()
 |          retorno: pode retornar 
 |              'dct': value da data de criação do documento
 |              'type': um dos tipos de TIMEX3 (DATE, TIME, DURATION, SET)
 |              'tid': id do TIMEX3 que é o DCT
 |  
 |  get_dct_doc_tid(self, nome_doc=None)
 |      Retorna o tid da Data de Criação do Documento(DCT) da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          nome_doc: se informado, sobrepõe as id_sentenca atribuída em set_id_sentenca()
 |      
 |      Return:
 |          tid do DCT
 |  
 |  get_dct_doc_type(self, nome_doc=None)
 |      Retorna o type da Data de Criação do Documento(DCT) da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          nome_doc: se informado, sobrepõe as id_sentenca atribuída em set_id_sentenca()
 |      
 |      Return:
 |          type do DCT
 |  
 |  get_doc(self, id_sentenca=None)
 |      Retorna lista de objetos Doc do spaCy
 |      
 |      Return:
 |          Lista de Docs
 |  
 |  get_doc_root(self, doc: spacy.tokens.doc.Doc = None) -> list
 |      Retorna lista de roots do Doc.
 |  
 |  get_doc_unico(self)
 |      Retorna o primeiro Doc da lista de Docs (self.doc).
 |      
 |      Return:
 |          Doc
 |  
 |  get_eventID(self, id_sentenca=None)
 |      Retorna lista de eventID de id_sentenca
 |  
 |  get_id_sentenca(self, texto_sentenca=None)
 |      Retorna as id_sentenca setadas em set_id_sentenca() se texto_sentenca não for informado
 |      
 |      Se texto_sentenca for informado:      
 |          Busca a id_sentenca correspondente à texto_sentenca no TimeBankPt, e a retorna.
 |      
 |      Args: 
 |          texto_sentenca: Texto da sentença a ser procurada em TimeBankPt
 |          
 |      Return:
 |          list id_sentenca
 |  
 |  get_id_sentenca_do_doc(self, id: str, nome_documento: str) -> int
 |      Retorna id_sentenca do doc e eid/tid.
 |      
 |      Args:
 |          id: pode ser o id do evento ou do timex3
 |          nome_documento: nome do arquivo que representa um documento do corpus
 |  
 |  get_id_sentenca_unica(self)
 |      Retorna lista com a primeira id_sentenca da lista de sentenças setadas em set_id_sentenca()
 |  
 |  get_id_sentencas_dep(self)
 |      Retorna também lista de id_sentenca dependentes da sentenca do documento atual.
 |  
 |  get_id_sentencas_doc(self)
 |      Retorna lista de todas id_sentenca do primeiro documento da lista de documentos atual.
 |      O nome do documento é o nome do arquivo do TimeBankPT.
 |  
 |  get_nome_doc(self, id_sentenca=None)
 |      Retorna lista com nome do documento da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          id_sentenca: se informado, sobrepõe id_sentenca atribuido em set_id_sentenca()
 |      
 |      Return:
 |          Nome de documentos. É o nome do arquivo do TimebankPT
 |  
 |  get_nome_doc_unico(self)
 |      Retorna primeiro nome de documento da lista de nomes de documentos (self.nome_doc).
 |      
 |      Return:
 |          string
 |  
 |  get_nome_documento(self, id_sentenca=None)
 |      Retorna nome do documento de 'id_sentenca'.
 |      
 |      Args:
 |          id_sentenca: pode ser list ou int
 |              se não for informado, retorna o nome do documento de id_sentenca da classe.
 |              se lista, retorno o documento do primeiro id_sentenca
 |  
 |  get_sentenca_texto(self, id_sentenca=None)
 |      Retorna lista contendo texto da sentença com as tag TimeML, conforme id_sentenca setadas em set_id_sentenca() ou informado no parâmetro id_sentenca
 |  
 |  get_sentenca_texto_doc(self)
 |      Retorna lista de texto de todas as sentenças do documento da primeira sentença de get_id_sentenca().
 |  
 |  get_sentenca_texto_tag(self, id_sentenca=None)
 |      Retorna lista contendo texto da sentença com as tag TimeML, conforme id_sentenca setadas em set_id_sentenca().
 |  
 |  get_train_test(self, nome_doc: str) -> Literal['train', 'train_test', 'test']
 |      Retorna qual o grupo de desenvolvimento que o documento pertence.
 |      
 |      Args:
 |          nome_doc: nome do documento
 |      
 |      Return:
 |          train:      Se é de treino.
 |          train_test: Se é de teste para o conjunto de treino (Dev).
 |          test:       Se é de teste global. Utilizado apenas no trabalho final.
 |  
 |  id_sentencas_task(self, task: str)
 |      Retorna id_sentenca contempladas pela tarefa 'task'
 |      
 |      Args:
 |          task: filtrar conforme task
 |          filter
 |  
 |  load_data_pipe_tb(self, nome_arquivo: str) -> dict
 |      Retorna objeto que representa os dados do pipe salvo pelo método 'save_data_pipe_tb(nome_arquivo)'.
 |      Os objetos retornados são: event, timex3, tlink, sentenca, documento
 |  
 |  pesquisa_id_sentenca(self, lista_termos, formato_dataframe=False)
 |      Retorna DataFrame com resultado pesquisa dos termos
 |      
 |      Args:
 |          lista_termos: lista de palavras a ser pesquisada em sentenças
 |          
 |          formato_dataframe: se True, retorna o dataframe filtrado por lista_termos, se não, retorna lista de id_sentenca que atendem ao critério de pesquisa
 |  
 |  pesquisa_sentenca_texto(self, lista_termos='', formato_dataframe=False)
 |      Retorna DataFrame com resultado pesquisa dos termos
 |      
 |      Args:
 |          lista_termos: lista de palavras a ser pesquisada em sentenças
 |          
 |          formato_dataframe: se True, retorna o dataframe filtrado por lista_termos, se não, retorna lista de sentenças que atendem ao critério de pesquisa
 |  
 |  print_pipes(self)
 |      Imprime a sequência dos pipelines executados
 |  
 |  query_filtro_task(self, task: str)
 |      Retorna query que filtra sentenças conforme task
 |  
 |  remove_pipe_timebank(self)
 |      Remove o pipe_timabankpt. Retira as tag dos timabankpt (EVENT e TIMEX3)
 |  
 |  save_data_pipe_tb(self, nome_arquivo: str)
 |      Salva dados do corpus carregado em arquivo físico.
 |  
 |  set_id_sentenca(self, *id_sentenca)
 |      Atribui as id_sentenca para as instâncias da classe e atribui valores a campos que dependem de id_sentenca
 |      
 |      Args:
 |          id_sentenca: Lista de id_sentença. O id_senteca não conta nos arquivos TimeML, foram criados na função timeml_to_df para facilitar o acesso.
 |          id_sentenca pode ser vários inteiros, várias strings, lista de ambos ou strings separadas por virgulas.
 |  
 |  set_sentenca_texto(self, sentenca_texto)
 |      Permite atribuir sentenças que não estão no TimebankPT para submetê-las ao pipeline do spaCy.
 |      Caso a sentenca passada exista no TimebankPT, atribui a id_sentenca à classe com set_id_sentenca()
 |      
 |      Args:
 |          sentenca_texto: Lista de sentenças ou sentença única.
 |  
 |  trata_lista(self, *dados, tipo_lista=<class 'int'>)
 |      Retorna dados convertido em lista de strings.
 |      
 |      Args:
 |          dados: Pode vários inteiros, várias strings, lista de ambos ou strings separadas por virgulas.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  dados_pipe
 |  
 |  dct_doc
 |      Retorna o value da Data de Criação do Documento(DCT) da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          nome_doc: se informado, sobrepõe as id_sentenca atribuída em set_id_sentenca()
 |      
 |      Return:
 |          value do DCT
 |  
 |  doc
 |      Retorna lista de objetos Doc do spaCy
 |      
 |      Return:
 |          Lista de Docs
 |  
 |  doc_root
 |      Retorna lista de roots do Doc.
 |  
 |  doc_unico
 |      Retorna o primeiro Doc da lista de Docs (self.doc).
 |      
 |      Return:
 |          Doc
 |  
 |  id_sentenca_unica
 |      Retorna lista com a primeira id_sentenca da lista de sentenças setadas em set_id_sentenca()
 |  
 |  id_sentencas_dep
 |      Retorna também lista de id_sentenca dependentes da sentenca do documento atual.
 |  
 |  id_sentencas_doc
 |      Retorna lista de todas id_sentenca do primeiro documento da lista de documentos atual.
 |      O nome do documento é o nome do arquivo do TimeBankPT.
 |  
 |  nome_doc
 |      Retorna lista com nome do documento da id_sentença setada em set_id_sentenca() ou str da id_sentenca do parametro
 |      
 |      Args:
 |          id_sentenca: se informado, sobrepõe id_sentenca atribuido em set_id_sentenca()
 |      
 |      Return:
 |          Nome de documentos. É o nome do arquivo do TimebankPT
 |  
 |  nome_doc_unico
 |      Retorna primeiro nome de documento da lista de nomes de documentos (self.nome_doc).
 |      
 |      Return:
 |          string
 |  
 |  sentenca_texto_doc
 |      Retorna lista de texto de todas as sentenças do documento da primeira sentença de get_id_sentenca().
 |  
 |  sentenca_texto_tag
 |      Retorna lista contendo texto da sentença com as tag TimeML, conforme id_sentenca setadas em set_id_sentenca().
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  id_sentenca
 |      Retorna as id_sentenca setadas em set_id_sentenca() se texto_sentenca não for informado
 |      
 |      Se texto_sentenca for informado:      
 |          Busca a id_sentenca correspondente à texto_sentenca no TimeBankPt, e a retorna.
 |      
 |      Args: 
 |          texto_sentenca: Texto da sentença a ser procurada em TimeBankPt
 |          
 |      Return:
 |          list id_sentenca
 |  
 |  sentenca_texto
 |      Retorna lista contendo texto da sentença com as tag TimeML, conforme id_sentenca setadas em set_id_sentenca() ou informado no parâmetro id_sentenca
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  Df = <class 'parse.ParseTimebankPT.TimebankPT.Df'>
 |      Cria DataFrame para os diversos elementos do corpus TimebankPT: EVENT, TIMEX3, TLINK, Sentenças, Nome do Documento e Data de Criação do Documento (DCT)
 |      
 |      Args:
 |          tb: Recebe instancia da classe TimebankPT
 |  
 |  
 |  MyTlink = <class 'parse.ParseTimebankPT.TimebankPT.MyTlink'>
 |      Estrutura de dados para as Relações Temporais previstas pelo método aqui proposto.
 |      Fornece impressão gráfica das relações.
 |      
 |      Args:
 |          tb: Instancia da classe TimebankPT.
 |  
 |  
 |  Print = <class 'parse.ParseTimebankPT.TimebankPT.Print'>
 |      Formata para impressão em tela os elementos do Timebank e recursos do spaCy como Entidades, POS, Morph, árvore de dependência.
 |      
 |      Args:
 |          tb: Instancia da classe TimebankPT.
 |  
 |  
 |  ----------------------------------------------------------------------
 |  Methods inherited from Functions:
 |  
 |  explicar_spacy(self, elemento)
 |      Retorna descrição explicativa sobre elementos POS e DEP do spaCy.
 |  
 |  get_class_list(self, obj=None)
 |      Retorna lista com as propriedades, funções e tipos presentes no objeto atual.
 |  
 |  nbor(self, token: spacy.tokens.token.Token, n: int) -> spacy.tokens.token.Token
 |      Retorna o token n vizinho de 'token'.
 |      n negativo: vizinho a esquerda. 
 |      n positivos: vizinho a direita.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from Functions:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
help(tb.df)
Help on Df in module parse.ParseTimebankPT object:

class Df(builtins.object)
 |  Df(tb: 'TimebankPT')
 |  
 |  Cria DataFrame para os diversos elementos do corpus TimebankPT: EVENT, TIMEX3, TLINK, Sentenças, Nome do Documento e Data de Criação do Documento (DCT)
 |  
 |  Args:
 |      tb: Recebe instancia da classe TimebankPT
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: 'TimebankPT')
 |      Processa carregamento dos dados do corpus a partir dos arquivos .tml para Dataframes.
 |  
 |  atualizar_filtros(self)
 |      Carrega os DataFrames filtrados conforme parâmetros.
 |      É chamada sempre que uma propriedade da classe é alterado, por exemplo, set_id_sentenca, set_sentenca_texto, recursivo.
 |  
 |  dataset(self, dados: Literal['train', 'test', 'all'] = 'all')
 |      Dataset de dados anotados do corpus
 |  
 |  lista_arquivos(self)
 |      Retorna lista de arquivos do path.
 |  
 |  load_corpus(self, nome_arquivo: str)
 |      Retorna objeto que representa o corpus salvo pelo método 'save_corpus(nome_arquivo)'.
 |      Os objetos retornados são: event, timex3, tlink, sentenca, documento
 |      
 |      nome_arquivo: caminho e nome do arquivo formato .pickle
 |  
 |  save_corpus(self, nome_arquivo: str)
 |      Salva dados do corpus em arquivo físico (.pickle).
 |  
 |  split_isentencas_kfolds(self, df: pandas.core.frame.DataFrame, k: int) -> List[list]
 |      Retorna 'k' listas de id_sentenca do 'df' (k-folds). 
 |      Não considera a proporção das classes (não estratificado).
 |      
 |      Args:
 |          df: Dataframe. Ex: tb.df.dataset('test')
 |          k: quantidade de folds
 |  
 |  split_train_isentencas_kfolds(self, df, k: int, size_test: int = 1)
 |      Retorna 'k' listas de id_sentenca dos dados de treino dos k-folds. 
 |      Considera a proporção de cada classe (estratificado).
 |      Ex: k = 5, size_test = 2
 |          Os conjuntos de treino de onde as id_sentencas serão retiradas:
 |          [2,3,4], [0,3,4], [0,1,4], [0,1,2], [1,2,3]
 |      
 |      Args:
 |          df: Dataframe. Ex: tb.df.dataset('test')
 |          k: quantidade de folds
 |          size_test: Quantidade de folds para os dados de teste
 |  
 |  split_train_test_kfolds(self, df, k: int, size_test: int = 1)
 |      Retorna lista com 'k' dataframes com dados de treino e de teste, já com os k-folds alternados, conforme size_test.
 |      Ex: k = 5, size_test = 2
 |          Os conjuntos de treino serão:
 |          [2,3,4], [0,3,4], [0,1,4], [0,1,2], [1,2,3]
 |      
 |      Args:
 |          df: Dataframe. Ex: tb.df.dataset('test')
 |          k: quantidade de folds
 |          size_test: Quantidade de folds para os dados de teste
 |      
 |      Return:
 |          list_train: Lista de dataframes dos dados de treino com a classe
 |          list_test: Lista de dataframes dos dados de teste com a classe
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  X_test
 |      Dados de teste sem a classe
 |  
 |  X_train
 |      Dados de treino sem a classe
 |  
 |  dados_pipe
 |      Retorna dicionário contendo os dados necessários para o processamento do pipeline do spaCy: pipe_timebankpt.
 |      
 |      Return:
 |          {
 |              'texto da sentença': 
 |              {
 |                  'isentenca': 'id sentença',
 |                  'doc': 'nome do arquivo doc',
 |                  'dct': 'data de criação do documento',
 |                  'lista_event': [[], [], []],
 |                  'lista_timex3': [[], []],
 |                  'lista_tlink': [[], []]
 |              },
 |              
 |              'Repetidamente, ele resiste.':
 |              {  
 |                  'isentenca': '254', 
 |                  'doc': 'ABC19980120.1830.0957', 
 |                  'dct': '1998-01-20', 
 |                  'lista_event': [['EVENT', '2', 'e1', 'previram', 14, 22, 'I_ACTION', 'NONE'], ['EVENT', '2', 'e86', 'queda', 29, 34, 'OCCURRENCE', 'NONE']], 
 |                  'lista_timex3': [['TIMEX3', '10', 't94', 'quase quarenta anos', 8.0, 27.0, 'DURATION', 'P40Y']],
 |                  'lista_tlink': [['TLINK', 'l3', 'B', 'AFTER', 5, 'e11', '', 't93', '', '']]
 |              }
 |          }
 |  
 |  documento
 |      Retorna DataFrame contendo atributos do documento da sentença informada para a class.
 |  
 |  documento_completo
 |      Retorna DataFrame contendo atributos de todos os documento do corpus.
 |  
 |  event
 |      Retorna DataFrame contendo todos atributos de EVENT, porém apenas das sentenças informada para a class.
 |  
 |  event_completo
 |      Retorna DataFrame contendo todos atributos de EVENT de todas as sentenças do corpus.
 |  
 |  event_doc
 |      Retorna DataFrame contendo todos atributos de EVENT, porém apenas as sentenças do documento atual.
 |  
 |  quant_doc
 |  
 |  quant_doc_total
 |  
 |  quant_event
 |  
 |  quant_event_total
 |  
 |  quant_sentenca
 |  
 |  quant_sentenca_total
 |  
 |  quant_timex3
 |  
 |  quant_timex3_total
 |  
 |  quant_tlink
 |  
 |  quant_tlink_total
 |  
 |  sentenca
 |      Retorna DataFrame contendo atributos das sentenças informadas para a class.
 |  
 |  sentenca_completo
 |      Retorna DataFrame contendo atributos de todas as sentenças do corpus.
 |  
 |  sentenca_doc
 |      Retorna DataFrame contendo todos atributos da sentença, porém apenas as sentenças do documento atual.
 |  
 |  timex3
 |      Retorna DataFrame contendo todos atributos de TIMEX3, porém apenas das sentenças informada para a class.
 |  
 |  timex3_completo
 |      Retorna DataFrame contendo todos atributos de TIMEX3 de todas as sentenças do corpus.
 |  
 |  timex3_doc
 |      Retorna DataFrame contendo todos atributos de TIMEX3, porém apenas as sentenças do documento atual.
 |  
 |  tlink
 |      Retorna DataFrame contendo todos atributos de TLINK, porém apenas das sentenças informadas para a class.
 |  
 |  tlink_completo
 |      Retorna DataFrame contendo todos atributos de TLINK de todas as sentenças do corpus.
 |  
 |  tlink_doc
 |      Retorna DataFrame contendo todos atributos de TLINK, porém apenas os registros do documento atual.
 |  
 |  tlink_join
 |      Retorna DataFrame de TLink unido com os campos das chaves estrangeira.
 |      Dar uma visão mais global dos campos de TLink.
 |  
 |  tlink_join_completo
 |      Retorna DataFrame de TLink completo unido com os principais campos das chaves estrangeira.
 |      Exibe todos os registros de TLink.
 |  
 |  tlink_join_doc
 |      Retorna DataFrame contendo todos atributos de TLINK e suas chaves estrangeiras, porém apenas os registros do documento atual.
 |  
 |  y_test
 |      Dados de teste somente a classe
 |  
 |  y_train
 |      Dados de treino somente a classe
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  recursivo
 |      Propriedade booleana da class que indica se as sentenças dependentes serão também exibidas.
help(tb.print)
Help on Print in module parse.ParseTimebankPT object:

class Print(builtins.object)
 |  Print(tb: 'TimebankPT')
 |  
 |  Formata para impressão em tela os elementos do Timebank e recursos do spaCy como Entidades, POS, Morph, árvore de dependência.
 |  
 |  Args:
 |      tb: Instancia da classe TimebankPT.
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: 'TimebankPT')
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  ent(self, id_sentenca=None)
 |      Imprime Entidades Nomeadas, inclusive as tags EVENT e TIMEX3 do TimebankPT se o seu pipeline estiver adicionado ao spaCy.
 |  
 |  filhos(self, id_sentenca=None)
 |      Imprime também os dependentes (filhos) de cada token.
 |  
 |  graph(self, id_sentenca=None, size='m', compact=True, punct=False)
 |      Imprime gráfico de análise de dependência.
 |      
 |      Args:
 |          id_sentenca: se fornecida lista de id_sentenca
 |          size: 'p', 'm', 'g' representa a distancia entre os tokens
 |          punct: se True, mostra as pontuações no grafo.
 |  
 |  graph_dfs(self, id_sentenca=None, mostrar_mais=True)
 |      Imprime árvore sintática utilizando a Busca por Profundidade
 |  
 |  graph_tlink(self, id_sentenca=None)
 |      Imprime gráfico das relações temporais anotadas no corpus entre eventos e expressões temporais (Task A).
 |  
 |  graph_treelib(self, id_sentenca=None)
 |      Imprime arvore sintática utilizando a Busca por Profundidade com a biblioteca treelib
 |      from treelib import Node, Tree
 |  
 |  imprimir_campos(self, func_campos, id_sentenca=None)
 |      Função genérica que recebe dados de tokens (em func_campos) para imprimi-los. 
 |      Os dados contem classes gramaticais (Part Of Speech), análise morfológica, análise de dependência e tags do corpus TimebankPT.
 |      
 |      Args:
 |          func_campos: Função que retorna dicionário contendo dados dos tokens que serão impressos. Os dados estão em funções iniciadas por '__campos_', ex: __campos_timebank, __campos_morph ...
 |  
 |  morph(self, id_sentenca=None)
 |      Imprime Classes gramaticais (Part Of Speech) e análise morfológica.
 |  
 |  pais(self, id_sentenca=None)
 |      Imprime também os ancestrais de cada token.
 |  
 |  timebank(self, id_sentenca=None)
 |      Imprime tags do timebank.
 |  
 |  tokens(self, id_sentenca=None)
 |      Imprime tags POS.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
help(tb.my_tlink)
Help on MyTlink in module parse.ParseTimebankPT object:

class MyTlink(builtins.object)
 |  MyTlink(tb: 'TimebankPT')
 |  
 |  Estrutura de dados para as Relações Temporais previstas pelo método aqui proposto.
 |  Fornece impressão gráfica das relações.
 |  
 |  Args:
 |      tb: Instancia da classe TimebankPT.
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: 'TimebankPT')
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  add(self, relType, eventID, relatedTo, task, isentenca, doc, rule, lid=None)
 |      Adiciona tags Tlink descoberta pelo método proposto à estrutura de dados armazenada em to_list.
 |      
 |      Args:
 |          relType: Tipo da relação temporal predita
 |          eventID: ID do EVENT 
 |          relatedTo: Pode ser relatedToTime ou relatedToEvent, é inferida através de task
 |          task: Tipo da tarefa do TempEval. 
 |              A. EVENT-TIMEX3 (maioria intra-sentença)
 |              B. EVENT-DCT  
 |              C. EVENT-EVENT (inter-sentença)
 |          isentenca: id_sentenca
 |          doc: nome do arquivo do corpus, representa um documento
 |          rule: código da regra que previu o tipo de relação
 |          lid: ID do TLINK. Se não for fornecido, é calculado automaticamente, último + 1.
 |  
 |  clear(self)
 |      Limpa todas as tags TLink adicionadas.
 |  
 |  graph_rt(self, compact=True, punct=False)
 |      Exibe as relações temporais em forma gráfica.
 |  
 |  idtag_to_token(self, id_tag: str) -> spacy.tokens.token.Token
 |  
 |  idtag_to_token_next(self, id_tag: str) -> spacy.tokens.token.Token
 |  
 |  lista_id_timebank(self, task)
 |      Retorna dicionário contendo pares conforme task.
 |      
 |      Args:
 |          task:   A. EVENT-TIMEX3 (intra-sentença)
 |                  B. EVENT-DCT 
 |                  C. EVENT-EVENT (inter-sentença consecutivas)
 |  
 |  load_from_file(self, file_tlink, modo='w')
 |      ######### PROVAVELMENTE ESTE MÉTODO SERÁ EXCLUIDO: ANALISAR ISSO DEPOIS
 |      
 |      Carrega dados do arquivo salvo dados pelo método save_to_file()
 |      
 |      Args:
 |          file_tlink: Arquivo tml contendo tags TLINK criado pelo método save_to_file()
 |      
 |          modo:   se 'w' (write), limpa as carga anterior de self.to_list, sobrescreve conteúdo já carregado.
 |                  se 'a' (append), adiciona a carga atual no final da carga existente.
 |  
 |  remove(self, relType, eventID, relatedTo, task, isentenca, doc, rule, lid=None)
 |      Remove TLink da estrutura de dados.
 |      Busca par eventID e relatedTo e apaga pelo lid encontrado.
 |  
 |  save_to_file(self, file_tlink, sobrescrever=False)
 |      Salva as tags TLINK em arquivo.
 |      
 |      Args:
 |          file_tlink: Nome do arquivo tml que conterá tags TLINK.
 |      
 |          sobrescrever:   Se True, sobrescreve o arquivo file_tlink se ele existir, se não existir, cria-o.
 |                          Se False, se o arquivo existir, não sobrescreve, não faz nada. Se o arquivo não existir, cria-o.
 |  
 |  tabela_id_timebank(self)
 |      Retorna tabela contendo todas entidades EVENT e TIMEX3 da sentença e seus respectivos IDs.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  to_df
 |      Lista tags TLink extraídas em formato DataFrame
 |  
 |  to_df_join
 |      Retorna DataFrame de MyTlink contendo os dados principais das chaves estrangeiras.
 |  
 |  to_list
 |      Estrutura de dados utilizada para armazenar as tags TLink.
 |      Utilizada para criar DataFrames e alimentar impressão gráfica das relações temporais.
 |  
 |  to_txt
 |      Lista tags TLink em formato padrão das tags TLINK dos arquivos do corpus.
 |      Utilizada para salvar em arquivo.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
help(tb.features)
Help on FeaturesToDataset in module parse.ParseTimebankPT object:

class FeaturesToDataset(builtins.object)
 |  FeaturesToDataset(tb: parse.ParseTimebankPT.TimebankPT)
 |  
 |  Retorna todos os pares event-time, anotados e não anotados, e todas as features utilizadas para gerar regras
 |  
 |  Args:
 |      tb: instancia da class TimebankPT
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: parse.ParseTimebankPT.TimebankPT)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  create_dataset(self)
 |      Processa todos os pares event-time e alimenta 'dataset' com as informações linguísticas (features).
 |  
 |  dataset(self)
 |      Retorna dataframe com todas as features. Anotadas e não anotadas; train, train_test e test.
 |      Não processa novamente.
 |  
 |  dataset_teste(self, so_anotados: bool = True) -> pandas.core.frame.DataFrame
 |      Retorna dataframe com os dados de teste. Inclui a classe.
 |      
 |      Args:
 |          so_anotados: Se True, retorna apenas os dados em que o tipo da relação temporal é anotado.
 |                      Se False, retorna os anotados e os não anotados.
 |  
 |  dataset_treino(self, so_anotados: bool = True) -> pandas.core.frame.DataFrame
 |      Retorna dataframe com os dados de treino. Inclui a classe.
 |      
 |      Args:
 |          so_anotados: Se True, retorna apenas os dados em que o tipo da relação temporal é anotado.
 |                      Se False, retorna os anotados e os não anotados
 |  
 |  df_encoder(self, df: pandas.core.frame.DataFrame) -> pandas.core.frame.DataFrame
 |      Aplica LabelEncoder em df
 |  
 |  generate_params_functions(self) -> dict
 |      Gera dicionário com o nome das funções que implementam as features e seus parâmetros. 
 |      É necessário gerar o dataset com as features ('TimebankPT.features.create_dataset()') ou 
 |          carregar dataset salvo ('TimebankPT.features.load_dataset(nome_arquivo)').
 |  
 |  load_dataset(self, nome_arquivo: str)
 |      Carrega arquivo contendo dataset de features salvo pelo método 'save_dataset()'.
 |      Utiliza ext .parquet, mas não é necessário informá-la em nome_arquivo
 |  
 |  save_dataset(self, nome_arquivo: str)
 |      Salva arquivo contendo dataset de features completo processado pelo método 'create_dataset()'.
 |      Utiliza ext .parquet, mas não é necessário informá-la em nome_arquivo
 |  
 |  select_best_features(self, k: int = None, metodo: str = 'rfe', cv: int = 5) -> pandas.core.indexes.base.Index
 |      Retorna as melhores features calculadas sobre os dados de treino. 
 |      Se método 'chi2' as melhores segundo cálculo do chi2 (qui-quadrado)
 |      Se 'rfe' segundo técnica de Eliminação Recursiva de Features com Validação Cruzada (RFECV)
 |      
 |      Args:
 |          k:  Quantidades de features retornadas.
 |              Se k não informado: 
 |                  . retorna todas as features em ordem de importância, se metodo for 'chi2'.
 |                  . retorna as features selecionadas pelo algoritmo, se método for 'rfe'.
 |          metodo: 'chi2' - Estatística qui-quadrado
 |                  'rfe'  - Eliminação Recursiva de Features com Validação Cruzada (RFECV) (default)
 |          cv: Quantidade de folds (default = 5).
 |  
 |  to_csv(self, nome_arquivo: str, so_anotados: bool = True)
 |      Dataset contendo features em formato csv.
 |      Salva dois arquivos. Um de treino e outro de testes conforme divisão pre-existente do corpus.
 |      
 |      Args:
 |          nome_arquivo: nome do arquivo. Salva nome_arquivo_train.csv e nome_arquivo_test.csv
 |          so_anotados: Se True, salva apenas dados onde o tipo da relação temporal (relType) está anotado.
 |                      Se False, salva todos.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  X_test
 |  
 |  X_train
 |  
 |  X_train_encoder
 |  
 |  y_test
 |  
 |  y_train
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  filtra_sentenca_sem_predicao
 |      Se True, filtrar dataset exibindo apenas as sentenças que não houve predição.
 |      Se False, exibe dataset completo.

Relações Temporais

help(tb.tr)
Help on TemporalRelation in module parse.ParseTimebankPT object:

class TemporalRelation(builtins.object)
 |  TemporalRelation(tb: parse.ParseTimebankPT.TimebankPT)
 |  
 |  Identifica tipos de relações temporais em sentenças em português.
 |  
 |  Args:
 |      tb: instancia da class TimebankPT.
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: parse.ParseTimebankPT.TimebankPT)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  add_rule_class_default(self, class_default: str)
 |      Adicionar regra para classe default em TemporalRelation.rules
 |  
 |  add_setRules(self, rules: List[list], reset_cod_regra: bool = True, reset_order: bool = False)
 |      Adiciona conjunto de regras provenientes dos objetos TemporalRelation.rules ou TemporalRelation.setRules.rules
 |      Para adicionar de arquivos em formato texto, use TemporalRelation.load_rules(nome_arquivo)
 |      
 |      Args:
 |          setRules: conjunto de regras no formato lista de listas dos objetos:
 |              TemporalRelation.rules ou 
 |              TemporalRelation.setRules.rules
 |  
 |  calculate_metrics(self, setRules: parse.ParseTimebankPT.SetRules = None)
 |      Calcula métricas do conjunto de regras.
 |      
 |      Args:
 |          setRules: Instância do objeto SetRules (opcional).
 |              Se informado calcula métricas de TemporalRelation.SetRules.rules e de TemporalRelation.rules.
 |              Se não informado calcula apenas de TemporalRelation.rules.
 |  
 |  check_rules(self, rules: list) -> bool
 |      Checa a consistências da lista de regras. 
 |      
 |      Args: 
 |          rules: lista que contem as regras.
 |  
 |  cm(self)
 |      Matrix de Confusão das predições considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  convert_id_to_token(self, eventID: str, relatedTo: str) -> tuple
 |      Converte ids de EVENT e TIMEX3 para Token.
 |      
 |      Args:
 |          eventID: ID do EVENT no corpus
 |          relatedTo: ID do TIMEX3 ou EVENT no corpus
 |      
 |      Return
 |          Tupla contendo tokens que representam a entidade EVENT e/ou TIMEX3.
 |  
 |  ct(self)
 |      Cross Tab dos resultados do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  df_real_predict_id_sentenca(self, id_sentenca=None, extra: bool = False)
 |      Une dados real do corpus com os dados previsto.
 |      
 |      Args:
 |          id_sentenca: Se informada, filtra por id_sentenca.
 |          extra: Se True, exibe as previsões que não estão anotadas no corpus, se False (default), exibe apenas as previsões que há correspondência no corpus.
 |  
 |  filter_rules_acuracia(self, value: float)
 |      Filtra conjunto de regras atual por 'acurácia' maior que 'value'
 |  
 |  filter_rules_ordem(self, value: float)
 |      Filtra conjunto de regras atual por 'ordem' menor que 'value'
 |  
 |  filter_rules_primeiras(self, x: int)
 |      Filtra conjunto de regras atual pelas primeiras 'X' regras por tipo de origem
 |  
 |  get_rules(self, cod_rules: list)
 |      Retorna lista de regras que possuem 'cod_rules'.
 |      
 |      Args:
 |          cod_rules: lista de códigos de regras
 |  
 |  get_sort_reverse(self)
 |      Obtém a informação sobre se a ordem das regras está ascendente ou descendente.
 |  
 |  get_sort_rules(self) -> str
 |      Obtém a ordem atual das regras.
 |  
 |  graph_pred(self, id_sentenca=None)
 |      Exibe as relações temporais de forma gráfica da predições realizadas por este sistema.
 |  
 |  has_rule_class_default(self) -> str
 |      Verifica se há regras com classe default.
 |      Se houver, retorna a regra de classe default.
 |  
 |  id_sentencas_show_result(self, task: str)
 |      Retorna id_sentenca contempladas pela tarefa 'task' e filtrada conforme TemporalRelation.show_result 
 |      que consiste em selecionar dados de traino ou de teste para exibir o resultado
 |      
 |      Args:
 |          task: filtrar conforme task
 |  
 |  load_results(self, nome_arquivo: str)
 |      Retorna dataset de resultados salvo pelo método 'save_results()'.
 |      Utiliza ext .parquet, mas não é necessário informá-la em nome_arquivo
 |  
 |  load_rules(self, nome_arquivo: str)
 |      Carrega conjunto de regras em formato .pickle ou .txt.
 |      Se .pickle, deve ter sido salvas pelo método TemporalRelation.save_rules(nome_arquivo).
 |      Se .txt, deve ter sido salvas pelo método TemporalRelation.save_rules_to_txt(nome_arquivo).
 |      
 |      Args:
 |          nome_arquivo: o arquivo pode estar em formato pickle ou txt.
 |  
 |  metrics(self)
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  process_resume(self)
 |      <<Precisa desbagunçar isso aqui>>
 |      
 |      Exibe resultado do processamentos do processamento das regras
 |  
 |  process_rules(self, id_sentencas=None)
 |      Realiza predição de relações temporais em todos os pares entre EVENT e TIMEX3 de todas as sentenças, conforme a tarefa.
 |      Preenche estrutura 'self.__tb.my_tlink' com dados da predição.
 |      
 |      Args:
 |          id_sentencas: Se não for informado, processa todas as sentenças cobertas pela task atual.
 |  
 |  relTypePar(self, tokenE: spacy.tokens.token.Token, tokenT: spacy.tokens.token.Token) -> str
 |      Retorna tipo da relação temporal anotada no Corpus entre tokenE e tokenT, se houver.
 |      Busca informação do relType gravada no tokenE.
 |      Só recebe pares dos dados de treino.
 |  
 |  relations_incorrect_class(self, train_test: Literal['train', 'test'], *df_real_predicts: pandas.core.frame.DataFrame) -> pandas.core.frame.DataFrame
 |      Recebe vários DataFrame df_real_predict, cada um representando um resultado de setRules diferente.
 |      Retorna DataFrame com a quantidade de todas as relações incorretas.
 |      Só considera dados rotulados.
 |      
 |      Args:
 |          train_test: informar quais dados serão exibidos: 'train' ou 'test'.
 |          df_real_predict: Vários DataFrames TimebankPT.TemporalRelation.df_real_predict contendo resultados do processamento das regras.
 |  
 |  remove_rule_class_default(self)
 |      Remove todas as regras de classe default, se houver.
 |  
 |  rules_filter_list_cods(self, lista_cod_regras: list)
 |      Filtra as regras a serem processadas pelo códigos das regras informadas.
 |      Esta função altera as self.rules. Para desfazer o filtro, é necessário atribuir as regras novamente: self.rules = listas_das_regras.
 |      
 |      Args: 
 |          lista_cod_regras: lista de códigos das regras.
 |  
 |  save_results(self, nome_arquivo: str)
 |      Salva arquivo contendo dataset de resultados TemporalRelation.df_real_predict processado pelo método 'process_rules()'.
 |      Utiliza ext .parquet, mas não é necessário informá-la em nome_arquivo
 |  
 |  save_rules(self, nome_arquivo: str)
 |      Salva em formato pickle conjunto de regras carregado em TemporalRelation.rules
 |  
 |  save_rules_to_txt(self, nome_arquivo: str)
 |      Salva TemporalRelation.rules em arquivo em formato de texto.
 |      Pode ser carregado pelo método TemporalRelation.load_rules(nome_arquivo)
 |  
 |  setRules_start(self, nome_arquivo: str = '', create_dataset: bool = False)
 |      Inicia conjunto de regras.
 |      Para verificar os nomes e parâmetros das funções, é necessário carregar dataset de features.
 |      
 |      Args:
 |          create_dataset: Se True, usa o método 'TimebankPT.features.create_dataset()' para criar dataset de features do zero. Mais lento.
 |                          Se False, usa o método 'TimebankPT.features.load_dataset()' para carregar um dataset já salvo pelo método TimebankPT.features.save_dataset(nome_arquivo).
 |          nome_arquivo:   Se create_dataset for False, então nome_arquivo é obrigatório.
 |                          Representa o caminho do dataset de features salvo.
 |  
 |  sort_rules(self, order: str, reverse=False)
 |      Ordena as regras.
 |      A ordem atual pode ser obtida pelo método 'get_sort_rules()'
 |      
 |      Args:
 |          order: 'cod_regra', 'relType', 'ordem', 'random', 'origem', 'acuracia', 'acertos', 'acionamentos', 'ordem_origem'
 |                  se as regras forem processadas, permite que seja uma lista de cod_regras
 |              Se 'order' for 'ordem_origem': 
 |                  Intercala origem conforme sua ordem. Útil quando filtrado com filter_rules_primeiras_x().
 |                  Ex: CBA, CBA, CBA, IDS, IDS, IDS  --> CBA, IDS, CBA, IDS, CBA, IDS
 |  
 |  status(self)
 |      Exibe o status do processamento das regras.
 |  
 |  status_resumido(self)
 |      Exibe o status resumido do processamento das regras.
 |  
 |  status_resumido_str(self)
 |      Exibe o status resumido do processamento das regras.
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  accuracy
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  df_features
 |      DESCONTINUADO.
 |      
 |      Dataframe contendo features dos tokens EVENT e TIMEX3 que poderão ser TLinks.
 |      Utilizado para análises manuais na seleção de TLinkCandidate 
 |      e para alimentar dados para treinamento do modelo de machine learning
 |  
 |  df_pred
 |      Exibe em DataFrame as predição de relações temporais processadas pelo método process_rules().
 |  
 |  df_real
 |      Sentenças anotadas no corpus que atendem aos critérios de cada task.
 |  
 |  df_real_predict
 |      Retorna dataframe com dados real do corpus e com dados previstos unidos.
 |      Apenas aquelas previsões em que há correspondência no corpus.
 |  
 |  df_real_predict_extra
 |      Retorna dataframe com dados real do corpus e com dados previstos unidos.
 |      Inclui também as previsões que não estão anotadas no corpus.
 |  
 |  df_resultado_geral
 |      Retorna resumo do resultado geral.
 |  
 |  df_resultado_por_classe
 |  
 |  df_resultado_por_documento
 |  
 |  df_resultado_por_regras
 |  
 |  df_resultado_por_sentenca
 |  
 |  df_resultado_por_task
 |  
 |  df_resultado_regras_por_classe
 |  
 |  df_rules
 |      Exibe as regras ativas em formato de tabela.
 |  
 |  f1_score
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  id_sentencas_sem_predicao
 |      Lista de id_sentenca que ainda não houve predição.
 |  
 |  pct_acerto
 |      Taxa de classificações corretas, considerando também dados não rotulados
 |  
 |  pct_acerto_anotado
 |      ACURÁCIA: Taxa de classificações corretas, considerando apenas dados rotulados
 |  
 |  pct_cobertura
 |      Taxa de cobertura
 |  
 |  pct_erro
 |      Taxa de classificações incorretas, considerando apenas dados rotulados
 |  
 |  precision_score
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  quant_acerto
 |      Total de classificações corretas, considerando apenas dados rotulados
 |  
 |  quant_anotado
 |      Quantidade de predições, considerando apenas dados rotulados
 |  
 |  quant_erro
 |      Total de classificações incorretas, considerando apenas dados rotulados
 |  
 |  quant_nao_anotado
 |      Quantidade de predições, considerando apenas dados não rotulados
 |  
 |  recall_score
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  support
 |      Resultado do processamento das regras considerando o contexto:
 |      self.show_result, self.processing_type, self.active_tlink_transitive
 |  
 |  y
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  active_tlink_candidate
 |      DESCONTINUADO.
 |      
 |      Propriedade booleana que informa à classe se serão ou não selecionados EVENTs com maior probabilidade se estarem anotados no corpus para posterior geração de TLINKs.
 |  
 |  active_tlink_transitive
 |      Propriedade booleana que informa à classe se serão adicionados TLINKs transitivos aos TLINKs preditos pelo sistema.
 |  
 |  processing_type
 |      Propriedade que define a forma como as regras serão processadas.
 |      Se igual a  'votacao' -> Todas as regras são processadas para todos os pares de relação. A relação temporal mais frequente é retornada. (default)
 |                  'primeira_regra' -> A relação temporal do par é retornada na primeira regra acionada. Para o par atual, as outras regras não são processadas.
 |  
 |  rules
 |      Lista de regras que serão passadas à instancia da classe para processamento através do método process_rules().
 |      
 |      Args:
 |          rules: lista de listas, no formato: 
 |              [[código regra: float, 
 |                  tipo de relação temporal: str, 
 |                  ordem de execução: float, 
 |                  expressão lógica que representa a regra: str, 
 |                  origem: algoritmos gerador,
 |                  acuracia: float,
 |                  acertos: int,
 |                  acionamentos: int
 |              ]]
 |              As funções que compõe as regras estão em TemporalRelation.f (são acessadas geralmente com o prefixo 'self.f.'). 
 |              Ex: [249, "OVERLAP", 2, "self.f.is_dependencyType(tokenT, tokenE, 'conj')", 'RIPPER', 0, 0, 0]
 |              
 |          #A 'ordem de execução' com números negativos torna a regra inativa.
 |  
 |  show_extras
 |      Determina se os resultados das predições de dados não rotulados (extras) serão considerados.
 |  
 |  show_result
 |      Determina qual resultado será exibido: treinamento ou teste.
 |  
 |  task
 |      Define o tipo de tarefa que será processada.
 |      Pode ser: 'A', 'B', 'C'

Funções que implementam as features que compõe as regras que identificam RT

help(tb.tr.f)
Help on RulesFunctions in module parse.ParseTimebankPT object:

class RulesFunctions(builtins.object)
 |  RulesFunctions(tb: parse.ParseTimebankPT.TimebankPT)
 |  
 |  Funções que implementam as features que identificam Relações Temporais, 
 |  além de funções auxiliarem que podem compor regras manuais que identificam Relações Temporais.
 |  
 |  Methods defined here:
 |  
 |  __init__(self, tb: parse.ParseTimebankPT.TimebankPT)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  ancestors_between_filho_e_pai(self, Pai: spacy.tokens.token.Token, Filho: spacy.tokens.token.Token) -> List[spacy.tokens.token.Token]
 |      Retorna lista de tokens contendo todos os ancestrais entre Filho e Pai. 
 |      O primeiro elemento da lista é o 'Filho' e o Último é o anterior ao 'Pai' (i.e. exclui o Pai).
 |  
 |  aspect_progressive(self, token: spacy.tokens.token.Token) -> bool
 |      Verifica se o aspecto verbal de token é progressivo.
 |      Essa aspecto é formado por o verbo estar conjugado + o gerúndio do verbo principal (token)
 |      
 |      Args:
 |          token: token que representa o verbo ou o EVENT
 |  
 |  children(self, tPai: spacy.tokens.token.Token) -> list
 |      Retorna lista contendo todos descendentes de tPai.
 |      Usa busca em profundidade para verificar todos os filhos e filhos dos filhos.
 |      
 |      Args:
 |          tPai: Token que deseja conhecer os descendentes
 |  
 |  classe(self, token: spacy.tokens.token.Token, classe: list) -> bool
 |      Verifica se 'token' é uma das classes de eventos da lista 'classe'.
 |      
 |      Args:
 |          token: Token
 |          classe: lista de classes do evento
 |  
 |  closelyFollowing(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, distancia=10) -> bool
 |      Retorna True se os token estiverem a uma distancia de no máximo 'distancia' tokens.
 |  
 |  closest_to_token(self, tokenPrecede: spacy.tokens.token.Token, token: spacy.tokens.token.Token, tokenFollow: spacy.tokens.token.Token)
 |      Retorna o token mais mais próximo de 'token'.
 |      Ou tokenPrecede ou tokenFollow.
 |  
 |  contextBy(self, token: spacy.tokens.token.Token, tipo: Literal['str', 'str_lemma', 'token', 'digito', 'pos', 'dep', 'morph'], valor=None, distancia='max', contexto: Literal['antes', 'depois'] = None) -> bool
 |      Procura elementos na sentença conforme o tipo e a partir do 'token' na direção do contexto.
 |  
 |  dep(self, token: spacy.tokens.token.Token, dep: list) -> bool
 |      Verifica se 'token' possui um dos tipos de dependência da lista 'dep'.
 |      
 |      Args:
 |          token: Token
 |          dep: lista de tipo de dependências.
 |  
 |  dependencyType(self, tokenPai: spacy.tokens.token.Token, tokenFilho: spacy.tokens.token.Token) -> str
 |      Retorna a relação de dependência entre 'tokenPai' e 'tokenFilho'.
 |      
 |      Args:
 |          tokenPai: governor
 |          tokenFilho: dependent
 |      
 |      Retorna
 |          String que representa o tipo de dependência de tokenFilho para tokenPai.
 |  
 |  distance_tokens(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token)
 |  
 |  event_aspect(self, E: spacy.tokens.token.Token)
 |      Aspecto de EVENT
 |  
 |  event_between_order(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Se há outro EVENT entre EVENT e TIMEX
 |  
 |  event_class(self, E: spacy.tokens.token.Token) -> str
 |      Class de EVENT
 |  
 |  event_closest_to_event_class(self, E: spacy.tokens.token.Token)
 |      Class do EVENT mais próximo do EVENT do par da relação
 |  
 |  event_closest_to_event_equal_class(self, E: spacy.tokens.token.Token)
 |      Class do EVENT da relação em consideração == CLASS do EVENT mais próximo a ele
 |  
 |  event_closest_to_event_equal_lemma(self, E: spacy.tokens.token.Token)
 |      LEMMA de EVENT da relação em consideração == LEMMA de EVENT mais próximo a ele
 |  
 |  event_closest_to_event_equal_pos(self, E: spacy.tokens.token.Token)
 |      POS de EVENT da relação em consideração == POS de EVENT mais próximo a ele
 |  
 |  event_closest_to_event_equal_tense(self, E: spacy.tokens.token.Token)
 |      Tense do EVENT da relação em consideração == Tense do EVENT mais próximo a ele
 |  
 |  event_closest_to_event_pos(self, E: spacy.tokens.token.Token)
 |      POS de EVENT mais próximo do EVENT da relação em consideração
 |  
 |  event_closest_to_event_temporal_direction(self, E: spacy.tokens.token.Token)
 |      Direção temporal de EVENT mais próximo de EVENT da relação temporal em consideração
 |  
 |  event_closest_to_event_tense(self, E: spacy.tokens.token.Token)
 |      Tense de EVENT mais próximo do EVENT da relação em consideração
 |  
 |  event_closest_to_timex3_equal_pos(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      POS de EVENT da relação em consideração == POS de EVENT mais próximo do TIMEX da relação em consideração
 |  
 |  event_closest_to_timex3_pos(self, T: spacy.tokens.token.Token)
 |      POS do EVENT mais próximo do TIMEX da relação temporal em consideração
 |  
 |  event_closest_to_token(self, token: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      Retorna o token do evento mais próximo (da esquerda ou da direita) do evento da relação.
 |  
 |  event_closest_to_token_follow(self, token: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      Retorna o token do evento mais próximo à direita do evento da relação.
 |  
 |  event_closest_to_token_precede(self, token: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      Retorna o token do evento mais próximo à esquerda do evento da relação.
 |  
 |  event_closest_to_token_resource(self, token: spacy.tokens.token.Token, resource: Literal['class', 'pos', 'tense', 'temporal_direction'])
 |      Recurso do EVENT mais próximo do EVENT do par da relação
 |  
 |  event_conjunction_closest_follow(self, E: spacy.tokens.token.Token) -> str
 |      Conjunção mais próxima após o evento da relação processada.
 |  
 |  event_conjunction_closest_precede(self, E: spacy.tokens.token.Token) -> str
 |      Conjunção mais próxima antes do evento da relação processada.
 |  
 |  event_dep(self, E: spacy.tokens.token.Token)
 |      DEP de Event com seu pai
 |  
 |  event_first_order(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Se EVENT precede textualmente TIMEX na relação em consideração
 |  
 |  event_gov_verb(self, E: spacy.tokens.token.Token) -> str
 |      Verbo que rege o EVENT (Para eventos que são verbos, essa feature é o próprio evento)
 |      NÃO USAR? BASEADO EM PALAVRAS
 |  
 |  event_gov_verb_aspect(self, E: spacy.tokens.token.Token)
 |      Aspecto de EVENT não verbal: Se EVENT não for verbo, o aspecto é estimado pelo seu verbo governante (event.ancestor) com base em sua relação de dependência. 
 |      Se evento é verbo, o valor é do próprio evento
 |  
 |  event_gov_verb_tense(self, E: spacy.tokens.token.Token)
 |      Tense de EVENT não verbal: Se EVENT não for verbo, o tempo verbal é estimado pelo seu verbo governante (event.ancestor) com base em sua relação de dependência. 
 |      Se evento é verbo, o valor é do próprio evento. (Tense do verbo que rege o EVENT)
 |  
 |  event_has_modal_verb_precede(self, E: spacy.tokens.token.Token) -> bool
 |      Se EVENT tem auxiliares modais antes dele
 |  
 |  event_head_is_root(self, E: spacy.tokens.token.Token) -> bool
 |      O Event modifica diretamente a raiz? (ex: Event é um filho direto da raiz?)
 |  
 |  event_head_pos(self, E: spacy.tokens.token.Token)
 |      POS do pai de EVENT
 |  
 |  event_intervening_following_tense(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token)
 |      Tense de EVENT que está entre o EVENT e TIMEX, nesta ordem, da relação em consideração e está mais próximo do TIMEX. 
 |      Ex: EVENT -------- event.tense -- TIMEX
 |  
 |  event_intervening_preceding_class(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token)
 |      Class do EVENT que está entre o TIMEX e EVENT, nesta ordem, da relação em consideração e está mais próximo do TIMEX. 
 |      Ex: TIMEX -- event.class -------- EVENT
 |  
 |  event_is_ancestor_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      EVENT é a entidade regente na relação?
 |  
 |  event_is_child_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      EVENT é a entidade dependente na relação?
 |  
 |  event_is_pai_direto_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Verifica se EVENT é pai direto de TIMEX
 |  
 |  event_modal_verb(self, E: spacy.tokens.token.Token) -> str
 |      Verbo modal antes de EVENT
 |  
 |  event_polarity(self, E: spacy.tokens.token.Token) -> str
 |      Polaridade de EVENT
 |  
 |  event_pos(self, E: spacy.tokens.token.Token) -> str
 |      POS de EVENT
 |  
 |  event_pos_token_1_follow(self, E: spacy.tokens.token.Token)
 |      POS do 1º token após o EVENT
 |  
 |  event_pos_token_1_precede(self, E: spacy.tokens.token.Token)
 |      POS do 1º token antes o EVENT
 |  
 |  event_pos_token_2_follow(self, E: spacy.tokens.token.Token)
 |      POS do 2º token depois o EVENT
 |  
 |  event_pos_token_2_precede(self, E: spacy.tokens.token.Token)
 |      POS do 2º token antes o EVENT
 |  
 |  event_pos_token_3_follow(self, E: spacy.tokens.token.Token)
 |      POS do 3º token depois o EVENT
 |  
 |  event_pos_token_3_precede(self, E: spacy.tokens.token.Token)
 |      POS do 3º token antes o EVENT
 |  
 |  event_preposition_gov(self, E: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      preposição que rege sintaticamente o EVENT
 |  
 |  event_preposition_precede(self, E: spacy.tokens.token.Token)
 |      Preposições que precedem um EVENT, ou NONE se essa palavra não for uma preposição.
 |  
 |  event_root(self, E: spacy.tokens.token.Token) -> bool
 |      EVENT é a raiz da sentença? (bool)
 |  
 |  event_temporal_direction(self, E: spacy.tokens.token.Token)
 |      Mapeamento manual entre EVENTs e a relação temporal esperada com seu complemento.
 |  
 |  event_tense(self, E: spacy.tokens.token.Token) -> str
 |      Tense de EVENT
 |  
 |  event_timex3_dep(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      DEP entre EVENT/TIMEX e TIMEX/EVENT, se houver
 |  
 |  event_timex3_distance(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token)
 |      A distância entre EVENT e TIMEX (número de tokens categorizado)
 |      Escala: “perto” até 4 tokens, “distancia_media”: 5 a 9, “longe”: 10 a 14 e "muito_longe": 14+
 |  
 |  event_timex3_no_between_order(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      True se não houver EVENT ou TIMEX entre o par EVENT/TIMEX da relação que está sendo processada. 
 |      (é verdadeiro se e somente se timex3-between-order e event-between-order são falsos)
 |  
 |  followedBy(self, token: spacy.tokens.token.Token, tipo: Literal['str', 'str_lemma', 'token', 'digito', 'pos', 'dep', 'morph'], valor=None, distancia='max') -> bool
 |      Procura elementos na sentença depois do 'token', conforme o 'tipo'.
 |      
 |      Args:
 |          token: objeto Token do spaCy.
 |          tipo: string e pode ser:
 |              str     -> verifica se existe palavras especificada em valor 
 |                      -> valor: str ou list; PODE SER OMITIDO.
 |              str_lemma -> verifica se existe palavras lematizadas especificada em valor 
 |                      -> valor: str ou list;
 |              token   -> verifica se 'token' vem depois do outro token especificado em valor 
 |                      -> valor: Token; PODE SER OMITIDO.
 |              digito  -> verifica se há dígitos ou pos = 'NUM' -> Não tem valor;
 |                      -> Se valor for informado, ele será a distância.
 |              pos     -> verifica se há a classe gramatical especificada em valor 
 |                      -> valor: list, ex: ['VERB', 'NOUM'];
 |              dep     -> verifica se há na árvore de dependência o elemento especificado em valor 
 |                      -> valor: list, ex: ['nsubj', 'nmod'];
 |              morph   -> verifica se há na análise morfológica o elemento especificado em valor 
 |                      -> valor: tuple (key, value), ex: ('Tense', 'Fut'). Só é permitido uma tupla.
 |          valor: valor do elemento que será procurado, conforme o tipo.
 |          distancia:  Se inteiro, é quantidade de tokens depois de 'token' onde a pesquisa será realizada.
 |                      Se string, a pesquisa será realizada em todos os tokens que vem depois 'token'.
 |  
 |  governVerb(self, token) -> spacy.tokens.token.Token
 |      Retorna o verbo pai mais próximo na hierarquia da árvore sintática.
 |  
 |  hasDepInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, dep: list)
 |      Verifica se existe a dependência 'dep' entre os dois tokens.
 |  
 |  hasDepInContext(self, token, dep: list, distancia=5, contexto=None) -> bool
 |      Verifica se existe a dependência 'dep' a uma distância de até 5 tokens, observando o contexto (antes ou depois do token).
 |  
 |  hasDepInContextFollow(self, token: spacy.tokens.token.Token, dep: list, distancia=5) -> bool
 |      Verifica se existe a dependência 'dep' a uma distância de até 5 tokens depois do 'token'.
 |      
 |      Args:
 |          token: objeto Token
 |          distancia:  Quantidade de tokens depois de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o fim da sentença, conforme contexto.
 |  
 |  hasDepInContextPrecede(self, token: spacy.tokens.token.Token, dep: list, distancia=5) -> bool
 |      Verifica se existe a dependência 'dep' a uma distância de até 5 tokens antes do 'token'.
 |      
 |      Args:
 |          token: objeto Token
 |          distancia:  Quantidade de tokens antes de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o início da sentença, conforme contexto.
 |  
 |  hasMorphInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, keyvalue: tuple)
 |      Verifica se existe na análise morfológica o 'key' de valor 'value' entre os dois tokens.
 |      
 |      Args:
 |          token: objeto Token do spaCy.
 |          key: chave que representa a morfologia que deseja o valor, ex: Tense, VerbForm
 |          value: valor da key, ex: Fut, Inf
 |  
 |  hasMorphInContext(self, token: spacy.tokens.token.Token, keyvalue: tuple, distancia=5, contexto=None)
 |      Verifica se existe na análise morfológica o 'key' de valor 'value' a uma distância de até 5 tokens, observando o contexto (antes ou depois do token).
 |  
 |  hasMorphInContextFollow(self, token: spacy.tokens.token.Token, keyvalue: tuple, distancia=5)
 |      Verifica se existe na análise morfológica o 'key' de valor 'value' a uma distância de até 5 tokens depois de 'token'.
 |      
 |      Args:
 |          token: objeto Token do spaCy.
 |          keyvalue:   Tuple que representa o par da morfologia que deseja (key, value). 
 |                      Ex:  (Tense, Fut) ou (VerbForm, Inf).
 |          distancia:  Quantidade de tokens depois de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o fim da sentença, conforme contexto.
 |  
 |  hasMorphInContextPrecede(self, token: spacy.tokens.token.Token, keyvalue: tuple, distancia=5)
 |      Verifica se existe na análise morfológica o 'key' de valor 'value' a uma distância de até 5 tokens antes de 'token'.
 |      
 |      Args:
 |          token: objeto Token do spaCy.
 |          keyvalue:   Tuple que representa o par da morfologia que deseja (key, value). 
 |                      Ex:  (Tense, Fut) ou (VerbForm, Inf).
 |          distancia:  Quantidade de tokens antes de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o início da sentença, conforme contexto.
 |  
 |  hasNoVerbInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token) -> bool
 |      Verifica se não há verbos entre os tokens de início e de fim.
 |  
 |  hasNoVerbInContext(self, token: spacy.tokens.token.Token, distancia=5, contexto=None) -> bool
 |      Checks for verb within entity_context of 5 words
 |      Verifica se existe VERBO a uma distância de até 5 tokens, observando o contexto (antes ou depois do token).
 |  
 |  hasNoVerbInContextFollow(self, token: spacy.tokens.token.Token, distancia=5) -> bool
 |      Verifica se existe VERBO a uma distância de até 5 tokens depois do 'token'.
 |      
 |      Args:
 |          token: objeto Token
 |          distancia:  Quantidade de tokens depois de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o fim da sentença, conforme contexto.
 |  
 |  hasNoVerbInContextPrecede(self, token: spacy.tokens.token.Token, distancia=5) -> bool
 |      Verifica se existe VERBO a uma distância de até 5 tokens antes do 'token'.
 |      
 |      Args:
 |          token: objeto Token
 |          distancia:  Quantidade de tokens antes de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o início da sentença, conforme contexto.
 |  
 |  hasPastParticipleInContext(self, token: spacy.tokens.token.Token, distancia=5, contexto: Literal['antes', 'depois'] = None)
 |      Verifica se há particípio passado a uma distância de até 5 tokens, observando o contexto (antes ou depois do token).
 |  
 |  hasPastParticipleInContextFollow(self, token: spacy.tokens.token.Token, distancia=5)
 |      Verifica se há particípio passado a uma distância de até 5 tokens depois do 'token'.
 |  
 |  hasPastParticipleInContextPrecede(self, token: spacy.tokens.token.Token, distancia=5)
 |      Verifica se há particípio passado a uma distância de até 5 tokens antes do 'token'.
 |  
 |  hasPosInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, pos: list) -> bool
 |      Verifica se existe a classe gramatical 'pos' entre os dois tokens.
 |  
 |  hasPosInContext(self, token, pos: list, distancia=5, contexto=None) -> bool
 |      Verifica se existe a classe gramatical 'pos' a uma distância de até 5 tokens, observando o contexto (antes ou depois do token).
 |  
 |  hasPosInContextFollow(self, token: spacy.tokens.token.Token, pos: list, distancia=5) -> bool
 |      Verifica se existe a classe gramatical 'pos' a uma distância de até 5 tokens depois do 'token'.
 |      
 |      Args:
 |          token: Objeto Token do spaCy.
 |          pos: Classe gramatical - POS Tag.
 |          distancia:  Quantidade de tokens depois de 'token'. 
 |                      Se 'max' (ou qualquer string), estende até o fim da sentença, conforme contexto.
 |  
 |  hasPosInContextPrecede(self, token: spacy.tokens.token.Token, pos: list, distancia=5) -> bool
 |      Verifica se existe a classe gramatical 'pos' a uma distância de até 5 tokens antes do 'token'.
 |      
 |      Args:
 |          token: Objeto Token do spaCy.
 |          pos: Classe gramatical - POS Tag.
 |          distancia: Quantidade de tokens antes de 'token'. 
 |                  Se 'max' (ou qualquer string), estende até o início da sentença, conforme contexto.
 |  
 |  hasTenseVerbInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, tense)
 |      Verifica se tem VERB com tempo 'tense' entre dos dois tokens.
 |  
 |  hasWordInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token, palavras, lemma: bool = False) -> bool
 |      Verifica se há 'palavras' entre a entidade 1 e entidade 2.
 |      
 |      Args:
 |          token1 e token2: objeto Token do spaCy.
 |          palavras: expressão que deseja encontrar. Pode ser string, lista de strings, Token ou expressão regular.
 |                  Pesquisa por palavras inteiras.
 |                  Regex gerado: (\W|^)(palavras_separadas_por_pipe)(\W|$)
 |          lemma: Se True, lematiza palavras e contexto.
 |  
 |  hasWordInContext(self, token: spacy.tokens.token.Token, palavras: list, distancia=5, contexto=None, lemma: bool = False) -> bool
 |      Verifica se existe uma das 'palavras' a uma certa distância do token, observando o contexto (antes ou depois do token).
 |  
 |  hasWordInContextFollow(self, token: spacy.tokens.token.Token, palavras: list, distancia=5, lemma: bool = False) -> bool
 |      Verifica se existe 'palavra' a uma distância de até 5 tokens depois do 'token'.
 |      
 |      Args:
 |          token: Objeto Token do spaCy
 |          palavras: Expressão que deseja encontrar. Pode ser string, lista de strings, Token ou expressão regular.
 |                  Pesquisa por palavras inteiras.
 |                  Regex gerado: (\W|^)(palavras_separadas_por_pipe)(\W|$)
 |          distancia: Quantidade de tokens antes ou depois do token. 
 |                  Se 'max' (ou qualquer string), estende até o final ou o início da sentença, dependendo do contexto.
 |          lemma: Se True, lematiza palavras e contexto.
 |  
 |  hasWordInContextPrecede(self, token: spacy.tokens.token.Token, palavras: list, distancia=5, lemma: bool = False) -> bool
 |      Verifica se existe 'palavras' a uma distância de até 5 tokens antes do 'token'.
 |      
 |      Args:
 |          token: Objeto Token do spaCy
 |          palavras: Expressão que deseja encontrar. Pode ser string, lista de strings, Token ou expressão regular.
 |                  Pesquisa por palavras inteiras.
 |                  Regex gerado: (\W|^)(palavras_separadas_por_pipe)(\W|$)
 |          distancia: Quantidade de tokens antes ou depois do token. 
 |                  Se 'max' (ou qualquer string), estende até o final ou o início da sentença, dependendo do contexto.
 |          lemma: Se True, lematiza palavras e contexto.
 |  
 |  has_dep_list_token(self, list_tokens: List[spacy.tokens.token.Token], dep: list) -> bool
 |      Verifica de há a dependência sintática 'dep' na lista de tokens
 |  
 |  identicalHead(self, token1, token2) -> bool
 |      Verifica se ambos os tokens possuem a mesma palavra principal (head).
 |  
 |  isEvent(self, token)
 |      Verifica se o token é um EVENT
 |  
 |  isTimex3(self, token)
 |      Verifica se o token é um TIMEX3
 |  
 |  is_child(self, tPai: spacy.tokens.token.Token, tFilho: spacy.tokens.token.Token) -> bool
 |      Retorna True se tFilho for descendente de tPai
 |      
 |      Args:
 |          tPai: Token pai
 |          tFilho: Token filho
 |  
 |  is_dependencyType(self, tokenPai: spacy.tokens.token.Token, tokenFilho: spacy.tokens.token.Token, tipo_dep: str) -> bool
 |      Checks for type(token1=governor, token2=dependent)
 |      Verifica se a relação de dependência entre 'tokenPai' e 'tokenFilho' é 'tipo_dep'.
 |      
 |      Args:
 |          tokenPai: governor
 |          tokenFilho: dependent
 |          tipo_dep: String que representa o tipo de dependência de tokenFilho para tokenPai.
 |  
 |  is_entity(self, token: spacy.tokens.token.Token, entidade: Literal['EVENT', 'TIMEX']) -> bool
 |      Verifica de o token é Event ou Timex conforme valor de 'entidade'
 |  
 |  is_equal(self, valor1, valor2) -> bool
 |      Verifica se dois valores são iguais.
 |      Se ambos foram 'NONE', não são iguais
 |  
 |  lengthInBetween(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token) -> int
 |      Retorna distância entre os tokens.
 |  
 |  list_combination(self, lista: list) -> list
 |      Retorna lista com a combinação r = de 2 a len(lista)
 |  
 |  list_modal_verbs(self) -> list
 |      Retorna lista contendo os principais verbos modais em português
 |  
 |  list_temporal_signal(self, lemma=False) -> list
 |      Retorna lista contendo os sinais temporais
 |  
 |  list_to_str(self, lista, delimitador: str = ' ') -> str
 |      Converte 'lista' em string minúsculas.
 |      
 |      Args:
 |          lista: Pode ser: str, list, Doc, Span, Token
 |          delimitador: separador de cada palavra na string quando 'lista' for do tipo list.
 |      
 |      Return:
 |          Se 'lista' for do tipo list, converte-a em string minúsculas separadas por 'delimitador'. 
 |          Se 'lista' for do tipo Doc, Span ou Token, converte em string minúsculas.
 |          Se não, retorna string minúsculas.
 |  
 |  lista_palavras(self, texto: str) -> list
 |      Converte texto em uma lista de palavras
 |  
 |  mood(self, token: spacy.tokens.token.Token) -> str
 |      Retorna o modo verbal do token
 |  
 |  mood_check(self, token: spacy.tokens.token.Token, mood: list) -> bool
 |      Verifica se 'token' possui modo verbal 'mood'.
 |      
 |      Args:
 |          token: Token
 |          mood: str ou list
 |              mood válidos: 'Cnd', 'Imp', 'Ind', 'Sub'
 |  
 |  morph(self, token: spacy.tokens.token.Token, morph: tuple) -> bool
 |      Verifica se 'token' possui o elemento morph representado pela tupla (key, value) da análise morfológica.
 |      
 |      Args:
 |          token: Token
 |          morph: tupla (key, value), ex: ('Tense', 'Fut')
 |  
 |  nbor(self, token: spacy.tokens.token.Token, n: int) -> spacy.tokens.token.Token
 |  
 |  pos(self, token: spacy.tokens.token.Token, pos: list) -> bool
 |      Verifica se 'token' é uma das classes gramaticais da lista 'pos'.
 |      
 |      Args:
 |          token: Token
 |          pos: lista de classes gramaticais
 |  
 |  precededBy(self, token: spacy.tokens.token.Token, tipo: Literal['str', 'str_lemma', 'token', 'digito', 'pos', 'dep', 'morph'], valor=None, distancia='max') -> bool
 |      Procura elementos na sentença antes do 'token', conforme o 'tipo'.
 |      
 |      Args:
 |          token: objeto Token do spaCy.
 |          tipo: string e pode ser:
 |              str     -> verifica se existe palavras especificada em valor 
 |                      -> valor: str ou list; PODE SER OMITIDO.
 |              str_lemma -> verifica se existe palavras lematizadas especificada em valor 
 |                      -> valor: str ou list;
 |              token   -> verifica se 'token' precede o outro token especificado em valor 
 |                      -> valor: Token; PODE SER OMITIDO.
 |              digito  -> verifica se há dígitos ou pos = 'NUM' -> Não tem valor;
 |                      -> Se valor for informado, ele será a distância.
 |              pos     -> verifica se há a classe gramatical especificada em valor 
 |                      -> valor: list, ex: ['VERB', 'NOUM'];
 |              dep     -> verifica se há na árvore de dependência o elemento especificado em valor 
 |                      -> valor: list, ex: ['nsubj', 'nmod'];
 |              morph   -> verifica se há na análise morfológica o elemento especificado em valor. 
 |                      -> valor: tuple (key, value), ex: ('Tense', 'Fut'). Só é permitido uma tupla.
 |          valor: valor do elemento que será procurado, conforme o tipo.
 |          distancia:  Se inteiro, é quantidade de tokens antes de 'token' onde a pesquisa será realizada.
 |                      Se string, a pesquisa será realizada em todos os tokens que precedem 'token'.
 |  
 |  reichenbach_direct_modification(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Modificação direta: O TIMEX modifica diretamente o EVENT? (TIMEX é filho de EVENT?)
 |  
 |  reichenbach_temporal_mod_function(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Função de modificação temporal: Existe uma relação tmod (usaremos nmod) no caminho de dependência do EVENT ao TIMEX? 
 |      (verificar se nmod ajuda, não há tmod em português)
 |  
 |  reichenbach_tense(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      Se POS do EVENT é VERB e TIMEX modifica o EVENT (Timex é filho) e TIMEX.tipo é DATE ou TIME então TIMEX = momento de referência (R).
 |      Se TIMEX = R, então o valor da feature assume os valores: anterior, simples ou posterior conforme o tempo verbal de EVENT equivalente na tabela de Reichenbach.
 |      O tipo da relação é entre E/R => tempos anteriores: E < R, tempos simples: E = R, tempos posteriores: E > R
 |  
 |  sameTense(self, token1: spacy.tokens.token.Token, token2: spacy.tokens.token.Token) -> bool
 |      Verificar se os tokens possuem o mesmo tempo verbal.
 |  
 |  search(self, palavras, frase, lemma: bool = False)
 |      Verifica se 'palavras' inteiras estão presentes em 'frase'.
 |      
 |      Args:
 |          palavras:   Pode ser list, str, Token ou expressão regular.
 |                      Pesquisa por palavras inteiras.
 |                      Regex gerado: (\W|^)(palavras_separadas_por_pipe)(\W|$)
 |          frase:  Texto onde as 'palavras' serão encontradas.
 |                  Pode ser list, str, Doc, Span e Token
 |          lemma:  Se True, lematiza palavras e frase.
 |  
 |  signal_closest_span(self, span: spacy.tokens.span.Span) -> spacy.tokens.token.Token
 |      Retorna o primeiro token que representa o sinal temporal, portanto, o mais próximo conforme contexto
 |  
 |  signal_context_token(self, token: spacy.tokens.token.Token, context: Literal['antes', 'depois']) -> spacy.tokens.token.Token
 |      Retorna o sinal temporal (Token) mais próximo do contexto de 'token'.
 |  
 |  signal_follow_event_ancestor_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event domina sintaticamente o Event?
 |  
 |  signal_follow_event_ancestor_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event domina sintaticamente o Timex?
 |  
 |  signal_follow_event_child_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event é um filho do Event?
 |  
 |  signal_follow_event_child_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event é um filho de Timex?
 |  
 |  signal_follow_event_comma_between_event(self, E: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que segue event e o Event?
 |  
 |  signal_follow_event_comma_between_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que segue event e o Timex?
 |  
 |  signal_follow_event_dep_advmod_advcl_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event está diretamente relacionado ao Event com advmod ou advcl?
 |  
 |  signal_follow_event_dep_advmod_advcl_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event está diretamente relacionado ao Timex com advmod ou advcl?
 |  
 |  signal_follow_event_dep_if_child_event(self, E: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que segue event, se ele for um filho do Event
 |  
 |  signal_follow_event_dep_if_child_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que segue event, se ele for um filho do Timex
 |  
 |  signal_follow_event_distance_event(self, E: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que segue event até Event.
 |  
 |  signal_follow_event_distance_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que segue event até Timex
 |  
 |  signal_follow_event_head_is_event(self, E: spacy.tokens.token.Token) -> bool
 |      O Sinal que segue event  modifica o Event diretamente? (ex: signal é um filho direto do Event?)
 |  
 |  signal_follow_event_head_is_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que segue event  modifica o Timex diretamente? (ex: signal é um filho direto do Timex?)
 |  
 |  signal_follow_event_is_event_head(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event  é um pai direto do Event?
 |  
 |  signal_follow_event_is_timex3_head(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue event é um pai direto do Timex?
 |  
 |  signal_follow_event_pos(self, E: spacy.tokens.token.Token) -> str
 |      POS do Sinal que segue event.
 |  
 |  signal_follow_event_text(self, E: spacy.tokens.token.Token) -> str
 |      Texto do Sinal que segue event.
 |  
 |  signal_follow_timex3_ancestor_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex domina sintaticamente o Event?
 |  
 |  signal_follow_timex3_ancestor_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex domina sintaticamente o Timex?
 |  
 |  signal_follow_timex3_child_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex é um filho do Event?
 |  
 |  signal_follow_timex3_child_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex é um filho de Timex?
 |  
 |  signal_follow_timex3_comma_between_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que segue timex e o Event?
 |  
 |  signal_follow_timex3_comma_between_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que segue timex e o Timex?
 |  
 |  signal_follow_timex3_dep_advmod_advcl_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex está diretamente relacionado ao Event com advmod ou advcl?
 |  
 |  signal_follow_timex3_dep_advmod_advcl_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex está diretamente relacionado ao Timex com advmod ou advcl?
 |  
 |  signal_follow_timex3_dep_if_child_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que segue timex, se ele for um filho do Event
 |  
 |  signal_follow_timex3_dep_if_child_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que segue timex, se ele for um filho do Timex
 |  
 |  signal_follow_timex3_distance_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que segue timex até Event
 |  
 |  signal_follow_timex3_distance_timex3(self, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que segue timex até Timex
 |  
 |  signal_follow_timex3_head_is_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que segue timex  modifica o Event diretamente? (ex: signal é um filho direto do Event?)
 |  
 |  signal_follow_timex3_head_is_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que segue timex  modifica o Timex diretamente? (ex: signal é um filho direto do Timex?)
 |  
 |  signal_follow_timex3_is_event_head(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex  é um pai direto do Event?
 |  
 |  signal_follow_timex3_is_timex3_head(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que segue timex é um pai direto do Timex?
 |  
 |  signal_follow_timex3_pos(self, T: spacy.tokens.token.Token) -> str
 |      POS do Sinal que segue timex
 |  
 |  signal_follow_timex3_text(self, T: spacy.tokens.token.Token) -> str
 |      Texto do Sinal que segue timex
 |  
 |  signal_has_comma_token(self, token: spacy.tokens.token.Token, signal: spacy.tokens.token.Token) -> bool
 |      Verifica de há vírgula entre o 'token' e o sinal temporal
 |  
 |  signal_precede_event_ancestor_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event domina sintaticamente o Event?
 |  
 |  signal_precede_event_ancestor_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event domina sintaticamente o Timex?
 |  
 |  signal_precede_event_child_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event é um filho do Event?
 |  
 |  signal_precede_event_child_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event é um filho de Timex?
 |  
 |  signal_precede_event_comma_between_event(self, E: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que precede event e o Event?
 |  
 |  signal_precede_event_comma_between_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que precede event e o Timex?
 |  
 |  signal_precede_event_dep_advmod_advcl_event(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event está diretamente relacionado ao Event com advmod ou advcl?
 |  
 |  signal_precede_event_dep_advmod_advcl_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event está diretamente relacionado ao Timex com advmod ou advcl?
 |  
 |  signal_precede_event_dep_if_child_event(self, E: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que precede event, se ele for um filho do Event
 |  
 |  signal_precede_event_dep_if_child_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que precede event, se ele for um filho do Timex
 |  
 |  signal_precede_event_distance_event(self, E: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que precede event até Event
 |  
 |  signal_precede_event_distance_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que precede event até Timex
 |  
 |  signal_precede_event_head_is_event(self, E: spacy.tokens.token.Token) -> bool
 |      O Sinal que precede event  modifica o Event diretamente? (ex: signal é um filho direto do Event?)
 |  
 |  signal_precede_event_head_is_timex3(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que precede event  modifica o Timex diretamente? (ex: signal é um filho direto do Timex?)
 |  
 |  signal_precede_event_is_event_head(self, E: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event  é um pai direto do Event?
 |  
 |  signal_precede_event_is_timex3_head(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede event é um pai direto do Timex?
 |  
 |  signal_precede_event_pos(self, E: spacy.tokens.token.Token) -> str
 |      POS do Sinal que precede event
 |  
 |  signal_precede_event_text(self, E: spacy.tokens.token.Token) -> str
 |      Texto do Sinal que precede event
 |  
 |  signal_precede_timex3_ancestor_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex domina sintaticamente o Event?
 |  
 |  signal_precede_timex3_ancestor_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex domina sintaticamente o Timex?
 |  
 |  signal_precede_timex3_child_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex é um filho do Event?
 |  
 |  signal_precede_timex3_child_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex é um filho de Timex?
 |  
 |  signal_precede_timex3_comma_between_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que precede timex e o Event?
 |  
 |  signal_precede_timex3_comma_between_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Há uma vírgula entre o Sinal que precede timex e o Timex?
 |  
 |  signal_precede_timex3_dep_advmod_advcl_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex está diretamente relacionado ao Event com advmod ou advcl?
 |  
 |  signal_precede_timex3_dep_advmod_advcl_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex está diretamente relacionado ao Timex com advmod ou advcl?
 |  
 |  signal_precede_timex3_dep_if_child_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que precede timex, se ele for um filho do Event
 |  
 |  signal_precede_timex3_dep_if_child_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      DEP do Sinal que precede timex, se ele for um filho do Timex
 |  
 |  signal_precede_timex3_distance_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que precede timex até Event
 |  
 |  signal_precede_timex3_distance_timex3(self, T: spacy.tokens.token.Token) -> str
 |      Distância do Sinal que precede timex até Timex
 |  
 |  signal_precede_timex3_head_is_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que precede timex  modifica o Event diretamente? (ex: signal é um filho direto do Event?)
 |  
 |  signal_precede_timex3_head_is_timex3(self, T: spacy.tokens.token.Token) -> bool
 |      O Sinal que precede timex  modifica o Timex diretamente? (ex: signal é um filho direto do Timex?)
 |  
 |  signal_precede_timex3_is_event_head(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex  é um pai direto do Event?
 |  
 |  signal_precede_timex3_is_timex3_head(self, T: spacy.tokens.token.Token) -> bool
 |      Sinal que precede timex é um pai direto do Timex?
 |  
 |  signal_precede_timex3_pos(self, T: spacy.tokens.token.Token) -> str
 |      POS do Sinal que precede timex
 |  
 |  signal_precede_timex3_text(self, T: spacy.tokens.token.Token) -> str
 |      Texto do Sinal que precede timex
 |  
 |  signal_span_context(self, token: spacy.tokens.token.Token, context: Literal['antes', 'depois']) -> spacy.tokens.span.Span
 |      Retorna Span entre 'token' e a próxima entity (Event ou Timex), conforme o contexto.
 |  
 |  spanBetween(self, token1, token2) -> list
 |      Retorna pedaço da sentença com a quantidade de token 'distancia', conforme contexto (antes ou depois de 'token')
 |      
 |      Return: Lista de Span
 |  
 |  spanContext(self, token, distancia=5, contexto=None) -> list
 |      Retorna pedaço da sentença com a quantidade de token 'distancia', conforme contexto (antes ou depois de 'token')
 |      
 |      Return: Lista de Span
 |  
 |  spanFollow(self, token, distancia=5) -> spacy.tokens.span.Span
 |      Retorna pedaço da sentença do tamanho da 'distancia' depois de 'token'.
 |      
 |      Args:
 |          token: Objeto Token.
 |          distancia:  Se inteiro, é quantidade de tokens depois de 'token'.
 |                      Se string, a pesquisa será realizada em todos os tokens que vem depois de 'token'.
 |      
 |      Return: Span
 |  
 |  spanPrecede(self, token, distancia=5) -> spacy.tokens.span.Span
 |      Retorna pedaço da sentença do tamanho da 'distancia' antes de 'token'.
 |      
 |      Args:
 |          token: Objeto Token.
 |          distancia:  Se inteiro, é quantidade de tokens antes de 'token'.
 |                      Se string, a pesquisa será realizada em todos os tokens que vem antes de 'token'.
 |      
 |      Return: Span
 |  
 |  spanSomeMatch(self, span1: spacy.tokens.span.Span, span2: spacy.tokens.span.Span) -> bool
 |      Verifica se há interseção entre dois pedaços da sentenças.
 |      
 |      Args:
 |          span1: parte 1 da sentença.
 |          span2: parte 2 da sentenca.
 |  
 |  str_to_list(self, palavra: str) -> list
 |      Se 'palavra' for string, converte em lista unitária de string maiúsculas.
 |      Se não, converte em maiúsculas.
 |  
 |  t1AfterT2(self, t1: spacy.tokens.token.Token, t2: spacy.tokens.token.Token) -> bool
 |      Retorna True se t1 estiver posicionado na frase depois de t2. Senão retorna False.
 |  
 |  t1BeforeT2(self, t1: spacy.tokens.token.Token, t2: spacy.tokens.token.Token) -> bool
 |      Retorna True se t1 estiver posicionado na frase antes de t2. Senão retorna False.
 |  
 |  temporal_direction(self, word_pt: str) -> str
 |      Retorna o tipo de relação temporal mais provável para o evento composto por palavras presente no arquivo temporal_direction.txt
 |      Retirado do Apêndice III - LX-TimeAnalyzer
 |      
 |      Args:
 |          word_pt: Texto do evento em português
 |  
 |  temporal_signal_interssection_token(self, token: spacy.tokens.token.Token) -> str
 |      Retorna a intersecção de palavras consecutivas do token que estão na lista de temporal signals
 |  
 |  tense(self, token: spacy.tokens.token.Token) -> str
 |      Retorna o tempo verbal de 'token'
 |      Function tenseVerb(token, list_tense) pode ser usada para comparações
 |  
 |  tenseVerb(self, token: spacy.tokens.token.Token, tense: list) -> bool
 |      Verifica se 'token' possui tempo verbal 'tense'.
 |      
 |      Args:
 |          token: Token
 |          tense:  str ou list
 |                  tempo verbal válidos: 'FUT', 'IMP', 'PAST', 'PQP', 'PRES'
 |  
 |  tense_compound(self, token: spacy.tokens.token.Token) -> str
 |      Retorna o tempo verbal composto do token. Por enquanto, apenas do modo indicativo.
 |      
 |      Returns:
 |          . PRETPC    = pretérito perfeito composto do indicativo
 |          . FPRESC    = futuro do presente composto do indicativo
 |          . PRETMQPC  = pretérito mais-que-perfeito composto do indicativo
 |          . FPRETC    = futuro do pretérito composto do indicativo
 |  
 |  tense_compound_check(self, token: spacy.tokens.token.Token, tense_compound: list) -> bool
 |      Verifica se 'token' possui tempo verbal composto 'tense_compound'.
 |      
 |      Args:
 |          token: Token
 |          tense_compound: str ou list
 |              tempos verbais compostos: 'PRETPC', 'FPRESC', 'PRETMQPC', 'FPRETC'
 |  
 |  timex3_between_order(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Se há outro TIMEX entre EVENT e TIMEX
 |  
 |  timex3_between_quant(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> int
 |      A quantidade de TIMEX entre o par EVENT e TIMEX
 |  
 |  timex3_dep(self, T: spacy.tokens.token.Token)
 |      Relação final: DEP de TIMEX com seu pai
 |  
 |  timex3_gov_verb(self, T: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      Verbo que rege o TIMEX
 |      NÃO USAR? BASEADO EM PALAVRAS
 |  
 |  timex3_gov_verb_tense(self, T: spacy.tokens.token.Token)
 |      Tense do verbo que rege o TIMEX
 |  
 |  timex3_head_is_root(self, T: spacy.tokens.token.Token) -> bool
 |      O Timex modifica diretamente a raiz? (ex: Timex é um filho direto da raiz?)
 |  
 |  timex3_head_pos(self, T: spacy.tokens.token.Token)
 |      POS do pai de TIMEX
 |  
 |  timex3_is_ancestor_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      TIMEX é a entidade regente na relação?
 |  
 |  timex3_is_child_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      TIMEX é a entidade dependente na relação?
 |  
 |  timex3_is_pai_direto_event(self, E: spacy.tokens.token.Token, T: spacy.tokens.token.Token) -> bool
 |      Verifica se TIMEX é pai direto de EVENT
 |  
 |  timex3_pos(self, T: spacy.tokens.token.Token)
 |      POS de TIMEX
 |  
 |  timex3_pos_token_1_follow(self, T: spacy.tokens.token.Token)
 |      POS do 1º token depois o TIMEX
 |  
 |  timex3_pos_token_1_precede(self, T: spacy.tokens.token.Token)
 |      POS do 1º token antes o TIMEX
 |  
 |  timex3_pos_token_2_follow(self, T: spacy.tokens.token.Token)
 |      POS do 2º token depois o TIMEX
 |  
 |  timex3_pos_token_2_precede(self, T: spacy.tokens.token.Token)
 |      POS do 2º token antes o TIMEX
 |  
 |  timex3_pos_token_3_follow(self, T: spacy.tokens.token.Token)
 |      POS do 3º token depois o TIMEX
 |  
 |  timex3_pos_token_3_precede(self, T: spacy.tokens.token.Token)
 |      POS do 3º token antes o TIMEX
 |  
 |  timex3_preposition_gov(self, T: spacy.tokens.token.Token) -> spacy.tokens.token.Token
 |      preposição que rege sintaticamente o TIMEX
 |  
 |  timex3_preposition_precede(self, T: spacy.tokens.token.Token)
 |      Preposição antes do TIMEX, ou NONE se essa palavra não for uma preposição.
 |  
 |  timex3_relevant_lemmas(self, T: spacy.tokens.token.Token)
 |      Se o lemma do TIMEX está contida em LISTA de palavras que têm algum conteúdo temporal.
 |  
 |  timex3_root(self, T: spacy.tokens.token.Token) -> bool
 |      TIMEX é a raiz da sentença? (bool)
 |  
 |  timex3_temporalfunction(self, T: spacy.tokens.token.Token)
 |      temporalFunction de TIMEX (bool)
 |  
 |  timex3_type(self, T: spacy.tokens.token.Token)
 |      Tipo de TIMEX
 |  
 |  tipo(self, token: spacy.tokens.token.Token, tipo: list) -> bool
 |      Verifica se 'token' é uma dos tipos de timex3 da lista 'tipo'.
 |      
 |      Args:
 |          token: Token
 |          tipo: lista de tipos de timex
 |  
 |  token1_token2_dep(self, t1: spacy.tokens.token.Token, t2: spacy.tokens.token.Token) -> str
 |      DEP entre token1/token2 e token2/token1, se houver
 |  
 |  token_resource(self, token: spacy.tokens.token.Token, resource: Literal['class', 'pos', 'tense', 'polarity', 'aspect', 'dep', 'type', 'temporalfunction'])
 |  
 |  verbGerundio(self, token: spacy.tokens.token.Token) -> bool
 |      Verifica se é gerúndio.
 |  
 |  verbform(self, token: spacy.tokens.token.Token) -> str
 |      Retorna a forma verbal. Ex: Inf, Fin.
 |  
 |  verbform_check(self, token: spacy.tokens.token.Token, verbform: list) -> bool
 |      Verifica se 'token' possui modo verbal 'mood'.
 |      
 |      Args:
 |          token: Token
 |          mood: str ou list
 |              mood válidos: 'Fin', 'Ger', 'Inf', 'Part'
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
tb.tr.setRules_start('../dataset/dataset_features')
help(tb.tr.setRules)
O arquivo ../dataset/dataset_features possui mais de um ponto. Certifique-se que haja uma extensão.
Dataset ../dataset/dataset_features.parquet carregado com sucesso.
Help on SetRules in module parse.ParseTimebankPT object:

class SetRules(builtins.object)
 |  SetRules(params_functions: dict = None)
 |  
 |  Implementa estrutura de dados de Conjunto de Regras.
 |  Classe independente que processa apenas regras originadas do dataset de features (TimebankPT.FeaturesToDataset).
 |  Para que as regras da classe sejam processadas, é necessários atribuí-las a TemporalRelation.rules.
 |  Por exemplo: TemporalRelation.rules = temporalRelation.SetRules.rules
 |  
 |  args:
 |      class_features: String que representa a classe onde estão as funções que implementam as features.
 |              As funções estão na classe TemporalRelation.f, geralmente instanciada como tr.f ou self.f
 |          
 |      params_functions: Dicionário de funções e seus parâmetros. Deve ser passado ao instanciar a classe.
 |              Ex: {'event_class': ['E'], 'event_timex3_dep': ['E', 'T']}
 |  
 |  Methods defined here:
 |  
 |  __init__(self, params_functions: dict = None)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  __repr__(self)
 |      Return repr(self).
 |  
 |  __str__(self)
 |      Return str(self).
 |  
 |  add_rule(self, relType: str, cod_regra: float = None, ordem: int = None, origem: str = '', acuracia: float = 0, acertos: int = 0, acionamentos: int = 0)
 |      Adiciona novas regras ao conjunto de regras
 |  
 |  add_rule_class_default(self, class_default: str)
 |      Adicionar regra para classe default em TemporalRelation.SetRules.rules
 |  
 |  add_setRules(self, nome_arquivo: str, algoritmo: str = '', reset_cod_regra: bool = False, reset_order: bool = False)
 |      Adiciona conjunto de regras à instancia atual.
 |      
 |      Args:
 |          nome_arquivo:   Nome do arquivo de origem das regras.
 |                          Pode ser arquivos .pickle salvos pelo método 'save_rules(nome_arquivo)'
 |                          Pode ser arquivos .txt contendo regras geradas por um dos algoritmos válido.
 |                          Pode ser arquivos .txt salvo pelo método 'save_rules_to_txt(nome_arquivo)'
 |                              neste caso, o algoritmo deve ser 'my_rules'.
 |      
 |          algoritmo:  Obrigatório se for arquivo .txt ou qualquer outro arquivo texto contendo regras.
 |                      Serve para identificar a origem da regras para utilizar o parser apropriado.
 |                      Valores válidos 'jrip_weka', 'cn2_orange', 'CN2' e 'my_rules'. Sendo 'cn2_orange' = 'CN2'.
 |                      Não é usado quando o arquivo é .pickle
 |      
 |          reset_cod_regra: Se algoritmo for 'my_rules', então reset_cod_regra determina se o código da regra que está sendo 
 |                      adicionada será levado em consideração. Se True, o código da regra do arquivo será desconsiderado.
 |          
 |          reset_order: Se algoritmo for 'my_rules', então reset_order determina se a ordem da regra será levado em consideração. 
 |                      Se True, a ordem da regra do arquivo será desconsiderado.
 |  
 |  add_setRules_ojb(self, algoritmo: str, setRules_obj, relType: str = '', verbosy: bool = True)
 |      Adicionar regras no setRules atual conforme algoritmo gerador de regras.
 |      
 |      Args:
 |          algoritmo: são válidos 'RIPPER', 'CBA', 'IDS', 'MY_RULES', 'SELF'.
 |      
 |          setRules_obj: Objeto que representa o conjunto de regras gerado por 'algoritmo'.
 |              Se RIPPER: classificador.ruleset_.rules
 |              Se CBA: classificador.rules
 |              Se IDS: classificador.clf.rules
 |              Se MY_RULES: TemporalRelation.rules
 |              Se SELF: TemporalRelation.SetRules.rules
 |      
 |          relType: Se o algoritmo for RIPPLE, é obrigatório informar o tipo da relação temporal das regras. 
 |                  Este algoritmo é de classificação binária, só gera regras para uma classe de cada vez.
 |  
 |  check_filename(self, filename: str, check_if_exist: bool = False) -> str
 |      Retorna nome do arquivo com a extensão padrão .pickle se não for informada e pode verificar se o arquivo existe.
 |  
 |  clear(self)
 |      Apaga todas as regras do conjunto de regras para iniciar um novo conjunto de regras.
 |  
 |  copy(self)
 |  
 |  filter_clear(self)
 |      Limpa todos os filtros aplicados à regras
 |  
 |  filter_rules(self, field: str, value: list, verbosy=True) -> List[list]
 |      Filtra regras conforme o campo e valor especificado
 |      
 |      Args:
 |          field = campo da regra que deseja filtrar. 
 |                  Valores válidos: ['cod_regra', 'relType', 'ordem', 'origem', 'acuracia', 'acertos', 'acionamentos']
 |          value = pode ser lista ou valor único. 
 |                  Se field for acuracia, acertos ou acionamentos, exibe as regras cuja valor é maior que 'value'.
 |                  Se field for ordem, exibe as regras cuja ordem é menor que 'value'.
 |  
 |  get_max_cod_rule(self) -> int
 |  
 |  get_max_order_rule(self, origem: str) -> int
 |      Retorna dicionário com a ordem máxima de cada origem
 |  
 |  get_rule(self, cod_regra: list) -> list
 |      Retorna a regra ou lista de regras conforme 'cod_regra' especificado.
 |      
 |      Args:
 |          cod_regra: Pode ser numérico ou lista de números.
 |              Se for informado um número retorna uma regra do tipo Rule, ou Rule vazio se 'cod_regra' não existir
 |              Se for informado uma lista de números, retorna uma lista de regras.
 |  
 |  has_rule_class_default(self) -> str
 |      Verifica se há regras com classe default.
 |      Se houver, retorna a regra de classe default.
 |  
 |  remove_rule(self, field: str, value, verbosy=True) -> bool
 |      Remove regras do conjunto de regras conforme campo e valor especificado.
 |      
 |      Args:
 |          field: Especifica o campo que deseja filtrar o valor.
 |              Campos válidos: ['cod_regra', 'relType', 'ordem', 'origem', 'acuracia', 'acertos', 'acionamentos']
 |          valor: valor do campo 'field' que deseja remover.
 |              Pode ser lista ou valor único. 
 |              Se field for acuracia, acertos, acionamentos, remove os valores menores que 'value'.
 |              Se field for ordem, remove 'ordem' maiores que 'value'.
 |  
 |  remove_rule_class_default(self)
 |      Remove todas as regras de classe default, se houver.
 |  
 |  remove_rules_duplicate(self)
 |      Remove regras duplicadas. A primeira da lista de duplicados permanece.
 |      Considera apenas a lista de predicados para comparar a regra.
 |      Não leva em conta a ordem dos predicados.
 |      
 |      Return:
 |          lista de regras duplicadas excluídas
 |  
 |  save_object(self, name_object, nome_arquivo: str)
 |      Salva name_object em arquivo físico .pickle.
 |      
 |      Args:
 |          name_object: objeto serializável.
 |          nome_arquivo: arquivo .pickle
 |  
 |  save_rules(self, nome_arquivo: str)
 |      Salva objeto SetRules.rules, que representa o conjunto de regras atual, em arquivo físico .pickle.
 |  
 |  save_rules_to_txt(self, nome_arquivo: str)
 |      Salva conjunto de regras em formato de texto em arquivo.
 |      Para carregar, use o método add_setRules(nome_arquivo, 'my_rules'). 
 |          O parametro 'algoritmo' deve ser 'my_rules'.
 |  
 |  sort_clear(self)
 |      Retorna à ordem inicial. Limpa ordenação
 |  
 |  sort_rules(self, fields: list, reverse=False)
 |      Ordena as regras conforme os campos especificados. 
 |      
 |      Args:
 |          field = pode ser um campo ou lista de campos da regra que deseja filtrar.
 |                  valores válidos: 'cod_regra', 'relType', 'ordem', 'origem', 'acuracia', 'acertos', 'acionamentos'
 |  
 |  ----------------------------------------------------------------------
 |  Readonly properties defined here:
 |  
 |  df_features_counts
 |      Retorna DataFrame contendo a quantidade de ocorrências de cada feature no conjunto de regras por tipo de relação temporal.
 |      Se o setRules conter mais de uma origem, será gravada apenas a primeira, que deverá ser ignorada.
 |  
 |  df_rules
 |      Exibe as regras ativas em formato de tabela.
 |  
 |  is_filter
 |  
 |  rules_str
 |      Retorna o conjunto de regras em formato de lista de listas
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  class_features
 |  
 |  rule
 |      Retorna objeto Rule
 |  
 |  rules
 |      Retorna conjunto de regras em formato de lista de objetos Rule
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  Rule = <class 'parse.ParseTimebankPT.SetRules.Rule'>
 |      Estrutura de dados de uma Regra.
 |  
 |  
 |  params_functions = {'event_between_order': ['E', 'T'], 'event_class': ...

Pipeline spaCy para TimebankPT

from parse.ParseTimebankPT import PipeTimebankPT
help(PipeTimebankPT)
Help on class PipeTimebankPT in module parse.ParseTimebankPT:

class PipeTimebankPT(builtins.object)
 |  PipeTimebankPT(tb_dict: dict, nlp: spacy.language.Language)
 |  
 |  Implementa pipeline do spaCy que processa anotações do corpus TimeBankPT trazendo para a estrutura do spaCy as tag EVENT e TIMEX3.
 |  Adicionar antes do pipe nlp.add_pipe("merge_entities")
 |  
 |  Arg:
 |      tb_dict: Dicionário de dados contendo dados do TimebankPT necessários para este pipeline do spaCy.
 |  
 |  Return: 
 |      Objeto Doc do spaCy processado contendo as tag do TimebankPT (EVENT e TIMEX3).
 |  
 |  Methods defined here:
 |  
 |  __call__(self, doc: spacy.tokens.doc.Doc) -> spacy.tokens.doc.Doc
 |      Retorna Doc processado contendo informações do TimebankPT.
 |  
 |  __init__(self, tb_dict: dict, nlp: spacy.language.Language)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)