Você realmente não conseguirá fazer isso com um script sed
simplista. Eu estou supondo que você vai querer reduzir para "formas de citação", colapsando todas as inflexões em um formulário base.
Isso significa que adjetivos como protegido, protegido, protegido, protegido contam como a mesma coisa, o adjetivo base / particípio protegido . Da mesma forma, todas as inflexões do verbo protéger - como protège, protégeons, protégeais, protégeasse, protégeâmes, protégeront, protégeraient , etc. - seriam reduzidas a esse verbo base. / p>
Isso significa que você precisa saber coisas sobre a morfologia flexional da linguagem. Pior ainda, você precisará entender algo sobre a sintaxe real da linguagem, incluindo as inflexões e distinguir homógrafos.
Eu fiz muito abordagens simples para pelo menos a primeira parte deste usando Perl. É realmente uma dor na bunda. Aqui está uma amostra de código que usei para gerar chaves de classificação para cidades e vilas na península ibérica:
# 1st strip leading articles s/^L'//; # Catalan s{ ^ (?: # Castilian El | Los | La | Las # Catalan | Els | Les | Sa | Es # Gallego | O | Os | A | As ) \s+ }{}x; # 2nd strip interior particles s/\b[dl]'//g; # Catalan s{ \b (?: el | los | la | las | de | del | y # ES | els | les | i | sa | es | dels # CA | o | os | a | as | do | da | dos | das # GAL ) \b }{}gx;
Isso retira os artigos e as partículas para que eles não sejam contabilizados para fins de classificação. Mas você terá que lidar com formulários como l'autre com o chamado "curly-quote", que é realmente U + 2019 RIGHT SINGLE QUOTATION MARK, a forma preferida para o apóstrofo. Eu normalizei aqueles em linha reta com um s/’/'/g
primeiro.
Ah, e você terá que lidar com codificações: MacRoman não é o mesmo que UTF-8 ou ISO-8859-1 - não por um longo caminho.
Honestamente, você provavelmente quer usar algo como o algoritmo de "bola de neve", especificando francês como a linguagem. Certamente, o módulo Lingua::Stem::Snowball
de Perl sabe como fazer isso. Você pode pesquisar por módulos Perl relacionados à lingüística francesa usando esta consulta .
Mas o problema só vai levar você até certo ponto. Você não fará um bom trabalho até aplicar a análise morfossintática - o que significa que você precisa gerar uma análise das frases e atribuir partes da fala a cada elemento.
Isso requer muito mais trabalho. A boa notícia é que existem ferramentas dedicadas para isso, algumas das quais de fato funcionam em francês. Mas isso realmente está afetando muito, porque agora você se aventurou nos campos de Processamento de Linguagem Natural e Lingüística Computacional. Não há um grande lar para essas questões aqui, mas elas provavelmente seriam melhor respondidas em Linguistics.SE; Eu não sei.