Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement a lexicon manager #60

Open
leoalenc opened this issue Nov 12, 2021 · 3 comments
Open

implement a lexicon manager #60

leoalenc opened this issue Nov 12, 2021 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@leoalenc
Copy link
Contributor

leoalenc commented Nov 12, 2021

@arademaker , para evitar o tipo de problema descrito em #59, sugiro implementar uma classe Lexicon em Python que armazene todo o léxico da PorGram numa estrutura de dicionário e permita também atualizar o léxico:

>>> mylexicon = Lexicon('*.tdl') 
>>> mylexicon.get('convencer')
[convencer_1 , convencer_2]
>>> convencer_1.type
'a-que-ditrans-second-arg-control-verb-lex' 
>>> convencer_2.type
'a-inf-ditrans-second-arg-control-verb-lex' 
>>> Lexicon.update('convencer','some-other-type')
>>> mylexicon.get("convencer")
[convencer_1 , convencer_2,convencer_3]
>>> convencer_3.type
'some-other-type'
>>> Lexicon.print('new-entries.tdl')
New entries saved to file: new-entries.tdl

O construtor da classe Lexicon poderia admitir também uma lista de arquivos em TDL ou um arquivo de script de carregamento do LKB em LISP, onde se listam os arquivos do léxico.
Essa classe seria útil para criar novas entradas a partir dos dados do Bosque, utilizando a biblioteca Valence. Um desafio é como lidar com os dados criados por meio do questionário. Por exemplo, verbos criados por essa via com uma única variante não possuem o sufixo _1. O interessante seria uma função que editasse o arquivo choices, inserindo esse índice.

@leoalenc
Copy link
Contributor Author

leoalenc commented Nov 12, 2021

Relevante também para #19.

@arademaker
Copy link
Contributor

A ideia de um gerenciador de entradas lexicais já foi proposta. Existe https://github.com/delph-in/docs/wiki/LexDbInitialize e podemos obter mais informações de como usar.

@arademaker
Copy link
Contributor

Também gostaria de sugerir começarmos a investir em uma biblioteca integrada em haskell e não em manter dos códigos em haskell e Python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants