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

tratamento das formas verbais com o pronome "ta" de terceira pessoa do plural #480

Open
8 of 11 tasks
leoalenc opened this issue Aug 7, 2024 · 2 comments
Open
8 of 11 tasks
Assignees
Labels
corpus This issue pertains to corpus data invalid This doesn't seem right long run Long-term improvements tokenization This issue relates to tokenization tools This issue relates to Python code UD Annotation This issue relates to Universal Dependencies annotation

Comments

@leoalenc
Copy link
Contributor

leoalenc commented Aug 7, 2024

  • como tratar formas como taumaã ou takwá?
  • construir função para fundir o pronome ta com a forma verbal
  • testar função em alguns exemplos de Casasnovas (2006)
  • corrigir Casasnovas2006:4:9:44
  • corrigir Casasnovas2006:4:10:45 (anotação de palavras erroneamente separadas #440)
  • corrigir Casasnovas2006:3:3:27 (substantivos locativos ou posposições? #365 )
  • corrigir Casasnovas2006:3:6:30
  • corrigir demais exemplos de Casasnovas (2006)
  • separar o pronome ta de exemplos de Avila (2021), como em taunheẽ na sentença Avila2021:0:0:18, cuja proposta ortográfica prescreve a grafia ta unheẽ
  • em algum momento do futuro, construir script para uniformizar o tratamento destas formas verbais
  • uniformizar o treebank nesse aspecto

Segundo a política atual, @juliana-gurgel , devemos preservar a opção do autor original (text_orig, atributo, por sinal, diferente de text_prim), grafando taumaã (ou tamaã) se esse autor grafa taumaã (ou tamaã). O Yauti reconhece essas formas, pois estão em lexicon.json.

Caso o autor da publicação grafe, como Avila (2021) e outros, o prefixo ou pronome ta separado do verbo, devemos também realizar essa separação.
Neste exemplo, text deveria ter, portanto, taumaã em vez de ta umaã:

# sent_id = Casasnovas2006:10:1:120
# text = Yepé ara, paá, wainambí uyusaã manguarí irumu, ta umaã arã awá taá kutara piri uyasá paranawasú.
# text_adapter = JLG
# text_orig = Yepé ara, paá, wainambí uyusaã mangwarí irumu, taumaã arã awá taá kutara piri uyasá paraná-wasú.
# text_eng_ggl = Once the hummingbird competed with the maguari to see who could cross the sea faster.
# text_por_orig = Uma vez o beija-flor disputou com o maguari para ver quem ia atravessar mais rapidamente o mar.

Há várias discrepâncias no treebank em relação a isso. Vou deixar para consertar tudo no futuro por meio de um script. É complicado fazer alterações manuais pois muda a numeração dos tokens e os valores da coluna HEAD etc.

@leoalenc leoalenc added long run Long-term improvements corpus This issue pertains to corpus data tools This issue relates to Python code tokenization This issue relates to tokenization UD Annotation This issue relates to Universal Dependencies annotation labels Aug 7, 2024
@leoalenc leoalenc self-assigned this Aug 7, 2024
@leoalenc leoalenc added long run Long-term improvements and removed long run Long-term improvements labels Aug 7, 2024
@leoalenc
Copy link
Contributor Author

leoalenc commented Aug 8, 2024

Relaciona-se com #353.

leoalenc added a commit that referenced this issue Aug 8, 2024
@leoalenc
Copy link
Contributor Author

leoalenc commented Aug 8, 2024

Neste commit, @juliana-gurgel, corrigi algumas sentenças de Casasnovas (2006), fundindo o pronome ta com a forma verbal, de modo a refletir a realidade linguística testemunhada pelo autor. Incluí no Yauti uma função para automatizar esta correção. Exemplifiquemos com base na versão de Casasnovas2006:3:5:29 anterior ao referido commit:

>>> s='''1	Kwema	kwema	NOUN	N	Number=Sing	10	obl	_	TokenRange=0:5
2	irumu	irumu	ADP	ADP	AdpType=Post	1	case	_	SpaceAfter=No|TokenRange=6:11
3	,	,	PUNCT	PUNCT	_	4	punct	_	TokenRange=11:12
4	paá	paá	PART	RPRT	Evident=Nfh|PartType=Mod	10	advmod	_	SpaceAfter=No|TokenRange=13:16
5	,	,	PUNCT	PUNCT	_	4	punct	_	TokenRange=16:17
6	mukũi	mukũi	NUM	CARD	NumType=Card	10	nsubj	_	TokenRange=18:23
7	aintá	aintá	PRON	PRON2	Case=Gen|Number=Plur|Person=3|PronType=Prs	6	nmod	_	TokenRange=24:29
8	suiwara	suiwara	ADP	ADP	AdpType=Post	7	case	_	TokenRange=30:37
9	ta	ta	PRON	PRON	Number=Plur|Person=3|PronType=Prs	10	expl	_	TokenRange=38:40
10	uwiyé	wiyé	VERB	V	Person=3|VerbForm=Fin	0	root	_	TokenRange=41:46
11	garapá	garapá	NOUN	N	Number=Sing	10	obl	_	TokenRange=47:53
12	kití	kití	ADP	ADP	AdpType=Post	11	case	_	SpaceAfter=No|TokenRange=54:58
13	,	,	PUNCT	PUNCT	_	18	punct	_	TokenRange=58:59
14	asuí	asuí	CCONJ	CCONJ	_	18	cc	_	TokenRange=60:64
15	akití	akití	ADV	ADVDI	AdvType=Loc|Deixis=Remt|PronType=Dem	18	advmod	_	TokenRange=65:70
16	tẽ	tẽ	PART	FOC	Foc=Yes|PartType=Emp	15	advmod	_	TokenRange=71:73
17	ta	ta	PRON	PRON	Number=Plur|Person=3|PronType=Prs	18	nsubj	_	TokenRange=74:76
18	ukanhemu	kanhemu	VERB	V	Person=3|VerbForm=Fin	10	conj	_	SpaceAfter=No|TokenRange=77:85
19	.	.	PUNCT	PUNCT	_	10	punct	_	SpaceAfter=No|TokenRange=85:86'''

Construímos um objeto TokenList desta forma:

>>> from conllu import parse
>>> tk=parse(s)[0]

Agora substituímos ta uwiyé e ta ukanhemu por tawiyé e takanhemu, respectivamente:

>>> mergePronoun3PP(tk,9,'tawiyé')
>>> mergePronoun3PP(tk,16,'takanhemu')
>>> print(tk.serialize())
1	Kwema	kwema	NOUN	N	Number=Sing	9	obl	_	TokenRange=0:5
2	irumu	irumu	ADP	ADP	AdpType=Post	1	case	_	SpaceAfter=No|TokenRange=6:11
3	,	,	PUNCT	PUNCT	_	4	punct	_	TokenRange=11:12
4	paá	paá	PART	RPRT	Evident=Nfh|PartType=Mod	9	advmod	_	SpaceAfter=No|TokenRange=13:16
5	,	,	PUNCT	PUNCT	_	4	punct	_	TokenRange=16:17
6	mukũi	mukũi	NUM	CARD	NumType=Card	9	nsubj	_	TokenRange=18:23
7	aintá	aintá	PRON	PRON2	Case=Gen|Number=Plur|Person=3|PronType=Prs	6	nmod	_	TokenRange=24:29
8	suiwara	suiwara	ADP	ADP	AdpType=Post	7	case	_	TokenRange=30:37
9	tawiyé	wiyé	VERB	V	Person=3|VerbForm=Fin|Number=Plur	0	root	_	TokenRange=41:46
10	garapá	garapá	NOUN	N	Number=Sing	9	obl	_	TokenRange=47:53
11	kití	kití	ADP	ADP	AdpType=Post	10	case	_	SpaceAfter=No|TokenRange=54:58
12	,	,	PUNCT	PUNCT	_	16	punct	_	TokenRange=58:59
13	asuí	asuí	CCONJ	CCONJ	_	16	cc	_	TokenRange=60:64
14	akití	akití	ADV	ADVDI	AdvType=Loc|Deixis=Remt|PronType=Dem	16	advmod	_	TokenRange=65:70
15	tẽ	tẽ	PART	FOC	Foc=Yes|PartType=Emp	14	advmod	_	TokenRange=71:73
16	takanhemu	kanhemu	VERB	V	Person=3|VerbForm=Fin|Number=Plur	9	conj	_	SpaceAfter=No|TokenRange=77:85
17	.	.	PUNCT	PUNCT	_	9	punct	_	SpaceAfter=No|TokenRange=85:86

O segundo argumento da função é o id do Token correspondendo ao elemento a ser suprimido, ou seja, o pronome ta. Observe que, na segunda chamada da função, ou seja, em mergePronoun3PP(tk,16,'takanhemu'), levei em conta a supressão de ta levada a cabo pela primeira chamada da função, que suprimiu o primeiro ta.

A função ainda tem um problema, que é não ordenar os traços do verbo. Isso precisa ser feito em pós-edição manualmente.

@leoalenc leoalenc added the invalid This doesn't seem right label Aug 10, 2024
leoalenc added a commit that referenced this issue Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
corpus This issue pertains to corpus data invalid This doesn't seem right long run Long-term improvements tokenization This issue relates to tokenization tools This issue relates to Python code UD Annotation This issue relates to Universal Dependencies annotation
Projects
None yet
Development

No branches or pull requests

1 participant