Closed livyreal closed 2 years ago
Que tal essa?
http://wnpt.brlcloud.com:10035/repositories/bosque#query/r/mesoclise
Mas ela pega muita coisa que nao e' mesoclise (como "boca-a-boca").
não... a imensa maioria dos resultados são mwe. Não dá pra procurar dentre estas palavras com 2 hífens no "text" quais tem a POS verbo?
consegui aqui a query, na verdade uma regexp que pega verbo com hífen :) vou analisar as ocorrências e depois atualizo o comentário
há poucas ocorrências no corpus, 16 apenas. Mas é um fenômeno relevante na língua, especialmente na distição Português Europeu e Português Brasileiro, já que este fenômeno só occorre em PE. (estou adicionando aqui o arquivo com as 16 ocorrências mesoclise_complete_sent.txt)
Mesóclises não estão tokenizadas de forma regular (o bosque do Dan está da mesma forma, pois imagino que esta tokenização/lemmatização veio do PALAVRAS).
Exemplos:
# text Tratar-se-á de vacinas preventivas que poderão ser eficazes contra qualquer estirpe do HIV2.
# sent_id CP495-6
1 Tratará- tratar VERB <mv>|<hyphen>|<se-passive>|V|FUT|3S|IND|@FS-STA Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin 0 root _ _
2 se- se PRON <hyphen>|PERS|F|3S|ACC|@<ACC-PASS Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs 1 dobj _ _
3 de de ADP PRP|@<PIV _ 4 case _ _
# text Em 6 de Outubro, ver-se-é se estamos mesmo perante uma «débacle» comunista em Setúbal.
# sent_id CP549-4
6 verá- ver VERB <mv>|<hyphen>|V|FUT|3S|IND|@FS-STA Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin 0 root _ _
7 se se PRON PERS|M/F|3S/P|ACC|@<SUBJ Case=Acc|Gender=Unsp|PronType=Prs 6 nsubj _ _
Consistentemente a mesóclise foi tokenizada em "verbo conjugado" + "pronome" (ou seja, ver-se-é = verá+se), mas tokens às vezes têm hífen, às vezes não. A priori, só precisamos arrumar os hífens nos tokens.
A documentação de UD é clara no que diz respeito a tokenização: apenas palavras sintáticas contam, logo me parece OK o output do PALAVRAS em "verbo conjugado + pronome". As guidelines também indicam que documentação específica de língua é necessário.
Este é um fenômeno que não fica registrado no corpus se seguirmos as guidelines e não tivermos nenhuma feature indicando que há mesóclise. Considerando o uso do corpus para estudar fenômenos linguísticos, me parece uma grande perda. Então gostaria de pensar em uma forma de, ainda que sigamos as guidelines e tokenizarmos a frase em palavras sintáticas, não perder a informação de mesóclise. Talvez adicionar alguma feature neste sentido. O que vc acha, @claudiafreitas?
Discordo se que seja fenomeno exclusivo do PE. Existe no portugues do Brasil tb. So' e' pouco usado.
bom, o Temer gosta de mesóclises, então é complicado dizer que é só em Portugal... @livyreal, me parece que o mais tranquilo, se quisermos deixar indicada a mesóclise, é usar o campo MISC pra isso...
@claudiafreitas tenha em mente que o campo MISC não é usado pela maioria dos parsers para treinamento, qualquer coisa neste campo é quase 'anotação para humanos apenas'.
me corrigindo, este é um fenômeno que só aparece na porção europeia do corpus, não estou falando que não existe em PB, mas que não existe no nosso corpus
Em https://github.com/UniversalDependencies/docs/issues/315 recomenda-se usar estes multitokens:
1-2 Fê-lo _ _
1 Fez fazer VERB
2 lo ele PRON
Então podemos incluir estes multitokens, corrigir os hifens nos tolkens e usar o camp MISC com a informação mesoclitic
.
Alguma outra sugestão?
concordo com a @livyreal . E sim, @arademaker , a informação de mesóclise serve para nada do ponto de vista de PLN, é apenas informação para humanos.
parece que este assunto está relacionado com #5 também, certo? Vejam que em https://github.com/UniversalDependencies/docs/issues/315 não existem muitas decisões, acredito que caberá nós decidirmos pelas sugestões apresentadas.
Um ponto operacional importante é que ainda não temos no corpus os multiword tokens (http://universaldependencies.org/format.html) e nossa biblioteca http://github.com/own-pt/cl-conllu ainda não é capaz de ler ou escrever estes multiword tokens.
Em tempo, discordo de @claudiafreitas em usar o campo MISC para isso, soluções propostas em https://github.com/UniversalDependencies/docs/issues/315 me parece atender o problema.
Mensagem antiga do Andre Martins
My scripts may still be useful for a better tokenization of clitic pronouns (see https://github.com/UniversalDependencies/docs/issues/315#issuecomment-226686689) but that doesn't seem to be critical for this version.
Coloquei no repo agora os scripts dele, commit 4495091483fa246db333ece26df1563b7e17d4bb, talvez possamos usar as idéias em nossa lib. Issue também relevante https://github.com/own-pt/cl-conllu/issues/1
Entao, considerando discussoes em https://github.com/UniversalDependencies/docs/issues/315#issuecomment-269876007
Como esta: (CP495-6)
1 Tratará- tratar VERB <mv>|<hyphen>|<se-passive>|V|FUT|3S|IND|@FS-STA Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin 0 root _ _
2 se- se PRON <hyphen>|PERS|F|3S|ACC|@<ACC-PASS Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs 1 expl _ ChangedBy=Issue135
Como fica:
1-2 Tratar-se-á
1 Tratará tratar VERB <mv>|<hyphen>|<se-passive>|V|FUT|3S|IND|@FS-STA Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin 0 root _ mesoclitc
2 se se PRON <hyphen>|PERS|F|3S|ACC|@<ACC-PASS Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs 1 expl _ ChangedBy=Issue135
considerando que 1- nao vamos mudar a anotacao do PALAVRAS pq nao estamos mudando as informacoes que vieram dele 2- vamos deixar em MISC do VERB a info "mesoclitic" para marcar o fenomeno em PB (marcacao para humanos) 3- hifens nao devem aparecer nos tokens e lemmas, apenas no multiwordtoken
@fcbr com isso vc consegue arrumar todas as mesoclises (verbos com dois hifens ;-) ) ?
Posso sim, mas devemos ficar atentos que esta regra nao vai capturar o Fê-lo
que voce comentou acima.
Hopefullly os que sobrarem serao poucos e ai um processamento manual e' factivel. (Fê-lo
so' aparece uma vez, por exemplo).
@livyreal acabei de implementar uma rotina de verificacao com a seguinte regra:
-
e tem POS VERB
-
e tem POS PRON
expl
Usando as regras do @arademaker (pelo menos a parte de matching) seria algo como:
?a:[pos=VERB, form ~ /-$/ ] . ?b:[pos=PRON,form ~ /-$/] expl(?a, ?b)
Eu so' encontrei 5 ocorrencias:
[CP243-11] apresenta- se-
[CP495-6] Tratará- se-
[CP584-11] Seguiria- se-
[CP606-9] ficará- se-
[CP670-1] processará- se-
E' isso mesmo? Se sim, prefiro fazer na mao (pois recuperar a mesoclise original parece ser dificil via codigo).
"Fê-lo" nao eh mesoclise. arrumamos este issue e depois arrumamos os outros verbos com cliticos.
Temos um problema de quebra da estrutura do conllu neste issue, estava mechendo com a biblioteca conllu
de python e identifiquei um problema na estrutura do conllu a coluna misc
é identificada (assim como a feats
) como um dicionario em python por isso espera-se algo da forma Key1=Value1|Key2=Value2
onde a key
está na documentação, porém neste issue foi decidido por adicionar o valor mesoclitc
sem uma key o que causa erro na estrutura padrão de UD (compromete uso de scripts de correção ou de busca).
1 Tratará tratar VERB <mv>|<hyphen>|<se-passive>|V|FUT|3S|IND|@FS-STA Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin 0 root _ mesoclitc
Em particular:
$ awk '$1 !~ /^#/ && $10 !~ /^(.*=.*)$/ {print $10}' *.conllu | sort | uniq -c | sort -nr
215036 _
9357
34 SUBJ_INDEF
16 mesoclitic
1 _
A questão mencionada se relaciona com os issue #133, #136 e este.
@wellington36 na documentação de campo misc leia-se:
However, it is not forbidden to have a “|”-delimited annotation that does not start with an attribute name, does not contain “=”, or even is empty (as long as the whole MISC is not empty).
ou seja, não é um erro ter os valores SUBJ_INDEF e mesoclitic
no MISC. Mas em ambos os casos acho hoje desnecesários. A marcação de sujeito indefinido pode ser facilmente recuperada via consulta de verbos sem filhos nsubj
ou csubj
. Os casos de mesóclises podem ser achados via consultas como awk '$2 ~ /.*-.*-.*/' *.conllu
commit 4dae98ca7 fecha este issue desfazendo mudanças de 2017 que introduziram marcações no MISC hoje consideradas desnecessárias. Também corrigi dois casos de tokenização erradas.
como estão e como tratar mesóclises no corpus?
@fcbr vc poderia gerar uma lista de todos os verbos que estão no metadado "text" com dois hífens? é possível usar os metadados nas queries?
Exemplo da sentença abaixo tirar: "centrar-se-á"