Atomização e separação de frases
Projecto AC/DC, Linguateca
Neste documento descrevemos o processamento inicial aplicado a todos os corpora do projecto AC/DC. De forma a produzir uma plataforma comum, todos os corpora são pré-processados de forma a ter uma definição comum das unidades básicas (atomização dos textos) assim como uma codificação comum de alguma informação estrutural:
- a identificação das palavras básicas e dos sinais de pontuação
- a identificação da estrutura dos textos,
- quer a sua disposição gráfica
(marcação de parágrafos) e estrutura textual (divisão em capítulos, identificação de títulos,
de listas, de notas de rodapé, etc.),
- quer a sua identificação linguística (a identificação da frase
gráfica),
- a marcação de alguma informação extratextual
- associada com a origem dos textos: data de publicação, género textual, secção de jornal (sub-género), autor, variante, etc.
- relacionada com a sua incorporação no corpus: separação em extractos, numeração, etc.
Detalharemos aqui a atomização ("tokenization", em inglês) e a identificação das frases gráficas, visto que o outro processamento depende, evidentemente; do tipo de texto envolvido, e já se encontram documentado, individualmente para cada corpus, na página da contabilização dos corpos.
Atomização
Consideramos como átomos
- (...) e [...]
- reticências
- aspas " « e »
- sequências máximas de dígitos (podendo ser separados por . e/ou ,) são considerados
números
- números seguidos por uma ou mais '
- números precedidos por $ ou £, ou seguidos ou interrompidos por $
- números seguidos de %
- URLs e endereços de correio electrónico
- sequências máximas de ? e ! e de reticências
- sinais de pontuação seguidos por espaço
- números seguidos de ., .o, .a, .os, .as ou º ou ª ou .º ou .ª
- números entremeados por barras 1984/85
- números seguidos de parêntesis direito, 2), a marcar alíneas
- números entre parênteses junto com pontuação, do tipo (11-3), (1943:25) e (1230-45) (respectivamente representando tipicamente classificações desportivas, referências bibliográficas e identificação de datas)
- abreviaturas com ponto (tentamos reconhecê-las usando uma lista), assim como iniciais (letras maiúsculas seguidas por ponto)
- números romanos (sequência de i,v,x...) ou letras minúsculas seguidas de ) ou . a marcar alíneas
- sequências máximas de letras podendo incluir dígitos são consideradas palavras
- &, +, § são considerados como letras, constituindo partes de palavras ou palavras com um caracter só, dependendo de como se encontram no texto original
- palavras ligadas por hífen (o que inclui verbos com clíticos, palavras compostas por
aglutinação, tais como couve-flor, politico-económico-social, tem-te-não-caias, ..., e casos
mais livres e problemáticos como Benfica-Sporting, direita-esquerda, etc.)
- palavras ligadas por barra, como e/ou CDS/PP EPUL/Rio
- hífens não adjacentes a letras ou dígitos são considerados travessões
Evidentemente, o processo indicado acima está longe de ser perfeito e, de facto, em muitos casos não passa de uma heurística destinada a funcionar na maior parte dos casos -- mas não
em todos! Os casos mais óbvios de inadequação encontram-se descritos na secção
Problemas da atomização, abaixo.
A atomização inclui também um processo de normalização (mínima) dos textos, a saber:
- Os travessões são grafados como a sequência de dois hífens, sempre: --
- Todas as aspas são codificadas por « e » mesmo que tivessem aparecido doutra maneira
- As sequências de espaços transformam-se em um espaço apenas
- Caracteres não alfanuméricos (de controlo) são apagados
Feita a atomização, segue-se a separação de frases.
Esta começa por mascarar os pontos e outros sinais de pontuação identificados
como partes de átomos, de forma a não os confundir com sinais de pontuação, e depois aplica
um conjunto de regras para cada sinal de pontuação e sua combinação. A notação original é, evidentemente, reposta após o processo de separação de frases ter sido concluído.
A única informação é gráfica: presença ou ausência de maiúscula, e disposição gráfica
(mudança de linha, fim do texto, princípio do texto). As regras têm necessariamente
de ser simples, e em muitos casos sabemos que não são absolutas. Tentámos contudo ajustá-las
de forma a darem o resultado desejado na maioria dos casos.
Em muitos casos, existe interacção entre atomização e separação de frases (e um erro numa
implica um problema na outra). Exemplos típicos são a identificação errada de uma inicial
no fim de uma frase, o que evita a identificação do ponto como ponto final:
- Como, além disso, os testículos se desenvolvem mais depressa que os ovários e, na ausência de
testículos e mesmo de ovários, o aparelho genital que se desenvolve é sempre feminino (devido à presença, no útero, dos
hormônios sexuais maternos) , seria natural pensar que a escolha macho / fêmea dependesse do aparecimento (ou não) dos
testículos e, portanto, da existência (ou não) do cromossoma masculino, o cromossoma Y. Ninguém parece hoje pôr esse
fato em dúvida .
e a identificação de um numeral como cardinal, na mesma posição
- a) À duração da presidência portuguesa, que Cavaco queria prolongar até Outubro de 95. b) Ao
calendário do alargamento da CE .
As regras utilizadas especificam três tipos de separadores, a que chamaremos
- absolutos: ponto
- Acabam sempre uma frase.
- quase-absolutos: ponto de exclamação, de interrogação e reticências
- Só não acabam uma frase se entre parênteses ou entre aspas ou se seguidos de travessão e minúscula.
- contextuais: dois pontos e travessão.
- Só acabam uma frase se seguidos de maiúscula ou de mudança de linha.
Vírgulas e pontos e vírgulas não acabam nunca uma frase.
Todo o texto, chegado a fim de parágrafo, acaba uma frase. Mas se não tiver um separador
legal, é considerada frase do tipo fragmento (que mais tarde e dependendo do tipo de texto
pode ser re-interpretada como título, autor, assinatura, legenda, etc.).
Estas regras, muito simples, complicam-se devido à existência de aspas e parênteses,
visto que uma frase, terminada por exemplo por um ponto, pode ser seguida por estes
sinais de pontuação, e o programa tem de tomar em conta estes caracteres dentro da frase depois
de ter decidido que a frase acabou.
Exemplos não triviais do resultado do programa:
- Uma frase: «Por que está sempre fugindo ?!» -- insistiu olhando fixamente a boca da fonte, como se a resposta pudesse vir dali.
- Duas frases: Somente, o que é que ela tem com isso ?! Acaso ela é minha mulher, minha esposa ?
- Uma frase: Só que também ele caiu na tentação; por isso, chamado do Estúdio («estás no ar ...») , apenas deixa escapar pelo
micro aberto a frase tentadora:
- Uma frase: É ou não frequente ouvir dizer «ai se eu soubesse! ...» ?
- Uma frase: Os temas a debater são, designadamente, «Euro... a primeira semana», «Ratificação do Tratado de Amesterdão pela Assembleia da República», «Antecipação das legislativas para Junho fazendo-as coincidir com as europeias», «Greve sel-service dos médicos... que atitude deve o governo adoptar?», «Situação em Angola», «Balanço do ano político / autárquico em Braga ...» e «Financiamento dos partidos políticos» .
- Duas frases: "Pode muito bem ser inocente, mas isso ver-se-á depois ...» Eis o homem .
- Uma frase: «Não sei se chegaremos a tribunal, tudo depende ...», afirmou.
- Três frases: «O que é dar a vida... Ser solidário ...» A questão foi lançada pela paróquia de S. Victor, pelas Religiosas do
Sagrado Coração de Maria, Centro Social e Paroquial da Armada e Junta de Freguesia de S. Victor .
Nota: de forma a permitir uma maior controlo ao utilizador, e no caso de se saber à
partida que deve haver uma separação de frases num dado ponto, pode
especificar-se tal posição através do caracter £.
O maior problema da atomização é o facto de em muitos casos o - ou o / reunirem, não
uma palavra de cada lado, mas várias:
Estrela da Amadora - Sporting de Braga, ou Estados Unidos/Coreia do Norte... Para resolver correctamente este problema teríamos de identificar que unidades é que são unidas ou constrastadas pelos sinais de pontuação.
- PS: Para quem, desta vez, passou ao lado da felicidade, o Duo Ibéria oferece nova oportunidade: na próxima sexta-feira, dia 21, pelas 22 horas, estará no estúdio da RDP/Antena Um, para mais uma sessão do «JAZZNOESTÚDIOA», promovido pelo programa «Vivójazz» de Paulo Gil .
- Se As Teias da Lei representaram a maturidade do modelo de Steven Bochco, NYPD Blues/A Balada de Nova Iorque, que a SIC estreia na noite de terça-feira, tem de ser vista como o momento em que o produtor atinge a sabedoria .
- As obrigações representativas do empréstimo MDM/87-Série A serão excluídas da cotação, no
mercado de cotações oficiais, a partir do próximo dia 15 de Fevereiro .
- Todos os partidos políticos com assento na Assembleia Municipal de Leiria contestam o Plano Estratégico do Eixo de Leiria-Marinha Grande e do Sistema Urbano da Alta Estremadura .
- O jogo Rio Ave-Académica começará às 15h30, meia-hora mais tarde que o inicialmente previsto, ficando o Alverca-Sporting Braga e o União Leiria-Campomaiorense marcados para as 16h00 .
Outro problema é o facto de um número seguido de ) ou mesmo rodeado de () não ter
sempre o mesmo significado:
- 1: Em termos regionais, o balanço da campanha permite verificar que na IP5, entre 13 de Outubro de 1998 e
24 de Junho de 1999, comparativamente a igual período do ano anterior, o número de mortos decresceu 71 por cento (de 38
para 11), o de feridos graves 30 por cento (de 23 para 16), o de feridos ligeiros de 21 por cento (de 168 para 132) e o de
acidentes com vítimas 18 por cento (de 117 para 96) .
- 12) Despesas com transporte de aluno podem ser consideradas como despesas com instrução, para fins de dedução na declaração ?
- A teoria segundo a qual todos os organismos vivos são constituídos de células se prende aos nomes de Schleiden (1838) e Schwann (1839) .
- Após quatro anos de combates, durante os quais a Rússia se retirou da Guerra (1917) e os EUA entraram ao lado
da França e da Inglaterra (1918), inferiorizada, a Alemanha e em seguida os demais países da Tríplice Aliança pediram a paz .
Espaços para aumentar a legibilidade dos números, por agora são identificados como separando átomos
- Venda da estilha à Central de Queima a 4 800$/t com 30% de humidade .
Também os hífenes em fim de palavra, provindos de translineação, podem causar problema.
Problemas da separação de frases
Em alguns casos abreviaturas são idênticas a palavras normais (na mesma ou noutra língua),
e é preciso ter em conta o contexto. Noutros casos uma abreviatura pode levar ou não ponto
-- e é, em geral, o caso que uma abreviatura no fim da frase não leva ponto.
Em ambos os casos isso pode levar à não detecção de uma mudança de frase, ou ao caso contrário.
Exemplos:
- Encontros Bibli: Revista de Biblioteconomia e Ciência da Informação - n. 12, dez.
- O primeiro volume, cuja alentada e científica introdução já traz (pp .
- Uma frase: Companhia das Letras, 555 p. Jovem de 15 anos inicia correspondência com misterioso major residente no Líbano, cujas cartas abordam as principais questões da filosofia ocidental.
Outras limitações
As pelicas, ao contrário das aspas, ainda não foram sistematicamente tratadas.
Não se deu ainda um tratamento cabal a caracteres estranhos usados como separadores, nem
a "smiles", cada vez mais frequentes :-)
Tipos de textos formatados, tipo anúncio, missa, recensão de filme, receita, programação
de televisão, dedicatória, referência bibliográfica, problemas de xadrez, poderiam -- deveriam mesmo, em alguns
casos -- ter um tratamento diferente (a nível de definição de frase e átomo).
Excertos de texto noutras línguas dentro de um texto em português não foram (ainda)
considerados, embora seja óbvio que por vezes constituem problemas complicados.
Transcrição e poesia são tipos de texto escrito aos quais não se podem aplicar estes
programas, que têm em conta as normas da escrita em prosa.
Reuso destes programas
Em projectos subsequentes, estes programas foram usados e a sua saída revista e alterada manualmente.
- No projecto Floresta Sintá(c)tica, um milhão de palavras foi revisto e modificado de acordo com os critérios documentados em Afonso, Susana e Ana Raquel Marchi, Critérios de separação de sentenças/frases.
- Na construção do COMPARA, os mesmos programas foram usados para dividir em
frases, e para identificar o tipo de alinhamento, nos casos 1 para várias. As modificações
mais frequentes tiveram a ver com o inglês, em casos como (exemplos fictícios): «Go out !» Alice said, que o programa
considerava como frases separadas, ao invés de «Go out!», said Alice. A opção tomada foi
uniformizar, desfazendo a separação proposta pelo programa no primeiro caso.
O seu uso permitiu melhorá-los, mas estamos plenamente conscientes de que muito ainda está por fazer.
Obtenção do atomizador/separador de frases da Linguateca
Estes programas, desenvolvidos em Perl, são públicos e encontram-se acessíveis através do CPAN: https://metacpan.org/pod/Lingua::PT::PLNbase
[
Acesso |
Anotação |
Corpora |
Exemplos |
Agradecimentos
]
Diana Santos.
Última actualização: 19 de março de 2016.
Perguntas, comentários e sugestões