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

very long valency frames #393

Open
leoalenc opened this issue Dec 15, 2021 · 5 comments
Open

very long valency frames #393

leoalenc opened this issue Dec 15, 2021 · 5 comments
Assignees
Labels
manual correção manual necessária

Comments

@leoalenc
Copy link

@wellington36 e @arademaker , vejam no anexo todas as molduras com mais de três elementos, sendo o primeiro um verbo.
Partindo do pressuposto de que a aridade máxima dos verbos em português é 3 (verbos bitransitivos), molduras como esta

['VERB:act', 'nsubj', 'iobj:com', 'obj']

enquadram-se no padrão.
No entanto, molduras como estas

['VERB:act', 'nsubj', 'ccomp:que+Sub', 'iobj:a', 'obj', 'xcomp:Inf']
['VERB:act', 'nsubj', 'iobj', 'obj', 'xcomp:a+Inf']
['VERB:act', 'nsubj', 'ccomp:que', 'iobj', 'obj']

com cinco e quatro argumentos nucleares são extremamente suspeitas, devendo seguramente constituir erros de anotação.
Seria interessante, usando o programa em Python, extrair os verbos com molduras de aridade > 3 e os respectivos exemplos, organizando os resultados numa tabela.
long_frames.txt

@wellington36 wellington36 added the manual correção manual necessária label Dec 29, 2021
@wellington36
Copy link

@leoalenc, especificamente a moldura ['VERB:act', 'nsubj', 'obj', 'xcomp:de:que+Fin'] (que é a moldura 18 no arquivo long_frames.txt), não aparece no arquivo com as valencias:

>>> '<VERB:act,nsubj,obj,xcomp:de:que+Fin>' in val.keys()
False

Pode verificar isto?

@wellington36
Copy link

wellington36 commented Dec 29, 2021

@leoalenc, aqui está minha contagem de casos deste issue e como foi feito:

from valences import *
import joblib

val = joblib.load('bosque-master-20211210.pickle')

long_frames = []
for i in val.keys():
	if len(i.split(',')) > 3:
		long_frames.append(i)

print("Total de molduras: " + str(len(long_frames)))

sents_for_correction = 0
for i in long_frames:
	for j in val[i]:
		sents_for_correction += len(extract_example(val, str(i), str(j)))

print("Total de sentencas para correcao: " + str(sents_for_correction))

Return:

Total de molduras: 98
Total de sentencas para correcao: 863

@leoalenc. note que, a quantidade de molduras aqui foi 98 diferente do long_frame.txt que foram 93, ou seja, temos uma inconsistência na identificação dos casos.

@arademaker
Copy link
Collaborator

@leoalenc qual foi exatatmente seu código para obter o arquivo anexado?

arademaker added a commit that referenced this issue Dec 29, 2021
@leoalenc
Copy link
Author

leoalenc commented Jan 4, 2022

De fato, xcomp:de:que+Fin, como observado por @wellington36 ,
não existe (mais). Acho que apareceu numa das primeiras versões do dicionário, suponho que o corpus tenha sido corrigido.

@leoalenc
Copy link
Author

leoalenc commented Jan 4, 2022

@leoalenc qual foi exatatmente seu código para obter o arquivo anexado?

@arademaker , veja LR-POR/tools#39 (comment).
Os resultados obtidos pelo @wellington36 coincidem com os meus. É que naquele arquivo coloquei apenas as molduras com exatamente 4 elementos. Com mais de três, temos 93+4+1=98:

ValenceExtractor.compute_stats()
2 90
3 207
4 93
5 4
6 1

Sobretudo os casos com 5 ou 6 elementos são relevantes para detecção de erros, dada a aridade máxima de 3 para verbos (o primeiro elemento da moldura, VERB, não conta como argumento).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
manual correção manual necessária
Projects
None yet
Development

No branches or pull requests

3 participants