Itens compartilhados de Juliano

domingo, 20 de julho de 2008

Bacalhau

Depois do BigMac de ontem, hoje tinha que comer uma comida mais saudável, e por que não uma boa bacalhoada? Essa história começou na semana passada quando fui a Gangnam (um bairro daqui) e resolvemos dar uma passadinha numa cervejaria tcheca chamada Castle Praha. O lugar é muito interessante, de fora parece pequenininho, mas dentro é beeem grande. Lá, bebemos um copo de cerveja e pedimos Fish and Chips para comer. Ao invés de ser Fish and Chips de verdade, como se esperaria de algo nomeado assim, a batata era, na verdade, batata doce empanada. Isso me decepcionou um pouquinho, mas não estava de todo ruim. O negócio foi quando experimentei o peixe. No começo não estava dando nada por ele, mas ao experimentar percebi que se tratava de, nada mais nada menos, bacalhau! Fiquei muito feliz, já que havia muito tempo que não provava dessa iguaria. Não posso dizer que minha estada aqui na Coréia tenha sido completamente desprovida da ingestão do mesmo, mas o problema é que aqui normalmente se come peixe no "formato" sopa. Eu não sou tão fã de sopa assim, então não acho que seja gostoso, mesmo quando seja gostoso mesmo. Isso é um pouco estranho... Desde criança sou assim... Eu tomo sopa, sei que a tal pode ser classificada como gostosa, mas meu cérebro se recusa a aceitar esse tipo de opinião gustatória. Ele acha que por ser sopa, não há como ser gostoso. As duas coisas não se misturam. No entanto, uma sopinha de vez em quando não mata ninguém. O negócio é que com o bacalhau, eu acho que seja até um desperdício ele não ser utilizado para ser degustado por meio de uma boa e suculenta (não ensopada) bacalhoada. Decidi então que hoje faria uma bacalhoada. Fosses como fosse, eu bacalhoaria hoje. E assim foi.
A propósito nunca havia feito nenhuma bacalhoada na minha vida. Hoje foi a primeira. Segundo ponto: eu não tenho forno. E sempre gostei muito mais das bacalhoadas de forno do que de panela. As de panela têm a tendência de ficar ensopadas (dããã...). Eu gosto mais sequinhas. Mas assim mesmo, parti para o feitio do meu sonho gastronômico.
Cortei as batatas, as cebolas e os tomates em generosas rodelas. Piquei o alho, a cebolinha e a salsinha. Separei as azeitonas e o azeite de oliva. E o principal, o peixe, aqui é vendido congelado, mas não salgado. E relativamente barato, a módicos ₩8000 o meio-quilo. Botei os "grediente" na panela e lasquei fogo no bicho. Comparado com o que imaginei antes, ficou muito bom! Claro que ainda não tão bom quanto teria sido se tivesse sido feito no forno, mas valeu! Matei a vontade e só de escrever isso aqui agora, já fico com água na boca só de pensar.
Só tive um pouco de problema com a quantidade de água que saiu dos ingredientes. E como queria uma bacalhoadazinha mais seca, deixei tudo no fogo por mais tempo. Visualmente, não foi nada de mais, nenhuma obra-prima, mas, gustativamente falando, ficou muito boa! Principalmente em se tratando da não existência de bacalhoadas por estas bandas...
Vai um bacalhauzinho aí? Hmmm...
Um abraço.
Juliano

sábado, 19 de julho de 2008

McDonald's

Não fui pago pra escrever isso, nem estou fazendo propaganda.

O negócio é que acabei de voltar do McDonald's. E antes que me atirem pedras, já vou logo avisando que comer comida coreana todo dia chega a um ponto que cansa, então temos que variar. Além disso, já tinha bem mais de 3 meses desde minha última ida lá, então resolvi ir hoje.

Na verdade, o que eu quero falar é: "por que o McDonald's do Brasil é tão absurdamente caro e com um serviço tão vagabundo?" Isso é um mistério que me persegue desde a época em que morei no Japão. Para uma rede internacional, o serviço supostamente é padronizado; no entanto, por que cargas d'água então é que no Brasil eles são tão vagabundos? Será o pessoal que trabalha lá é que não segue as normas?

Bem, vamos pôr isso em pratos limpos.

Em primeiríssimo lugar vem o preço. Não sei quanto está custando no Brasil, mas quando saí daí estava beirando os "déiz real". Agora, levando em conta a nossa arraigada cultura inflacionária, suponho que já deva estar entre 12 e 15 "conto". Aqui, à noite, custam ₩5600, uma vez que dei uma nota de ₩10000 e ela me voltou uma outra de ₩5000 com 4 moedinhas de ₩100. (Minhas contas estão certas?) Já, na hora do almoço, o mesmo "Big Mac Set", o número 1 do Brasil, custa módicos ₩3000. Transformando isso em reais no câmbio do dia, dá R$ 7,20 na janta, e R$ 4,70 no almoço.
Se fosse só isso, já seria uma diferença boa. Mas tem mais.

Refrigerante: toma-se à vontade. Não no estilo americano de botar a máquina de servir pra fora, mas no estilo coreano de voltar ao balcão e pedir: "enche pra mim de novo?" Sem pestanejar, o copo já está pronto pra mais uma, duas, três... até o freguês morrer intoxicado. O negócio é que a maioria acaba ficando no primeiro copo mesmo. Coreano quase não toma refri. Mas que pode pode.

Outra coisa que me deixa puto no Brasil é a batatinha. É um milagre quando elas são servidas quentes, normalmente chegam mornas (quase frias) e terrivelmente murchas; também considero um milagre se são servidas na quantidade certa, já que os atendentes são treinados a usar aquela pá esquisita jogar as batatas sem nenhum carinho dentro do reipiente a elas destinado e sacudir o mesmo para tirar o excesso que acaba jogando metade das batatas de volta àquele receptáculo iluminado que guarda as batatas à espera de uma boca para comê-las.

Aqui, não sei como conseguem, mas as batatas estão sempre quentinhas e crocantes por fora, exatamente como devem ser. Além do que, a quantidade aqui é o contrário do Brasil: eles ficam sacudindo o negocinho pra ver se dá pra mais algumas batatinhas entrarem.

Só isso pra mim já estaria bom... mas ainda tem mais!

O sanduíche, o centro das atenções, no Brasil, chega dentro daquela caixinha que quando é aberta mostra uma aberração, um arremedo de Big Mac... O pão prum lado, o hambúrguer pro outro, o molho e a alface esparramados e grudados em todas as paredes da caixinha... Terrível...

Aqui, o sanduíche vem embrulhado em um papel, que já serve de guardanapo, no estilo hambúrguer/cheeseburguer do Brasil, mas com o sutil detalhe de um aro de papelão que ajuda a manter a forma do sanduíche em dia, mesmo depois de uma viagem de metrô/ônibus por aqui com todo o empurra-empurra digno dos coreanos. (Nada a ver com isso, mas acabei de matar um pernilongo e as palmas das minhas mãos estão ardendo...) O aro realmente evita o desmoronamento do sanduíche e a manutenção de seus ingredientes nos devidos lugares... É ou não é outro mundo?

(Ah, e não é só aqui. No Japão é igual.) Isso sim mostra a atenção pelos pequenos detalhes e mostra ao cliente o quão importante ele é para o comerciante. No Brasil, ao contrário, não sei se pelo fato de brasileiro comer até McCocô (se eles resolverem lançar) e se achar o máximo, parece que os clientes não estão fazendo mais do que sua obrigação de comer essas abominações do ramo brasileiro das lojas da rede internacional de restaurantes (?) McDonald's.

Se alguém do McDonald's algum dia ler isso aqui, por favor, tome providência e dê um jeito... pelo menos nas batatinhas... Odeio batata murcha...

Pra quem leu até aqui, um abraço e até a próxima.

Fui.

terça-feira, 8 de julho de 2008

Só mais uma coisinha por hoje...

CALOR!!! UMIDADE!!! Verão coreano...
Meu, como pode fazer TANTO calor em uma meia-península só!! Se fosse só o calor, ainda vá lá, mas como pode ter TANTA umidade em uma meia-península só!!! (Fora a questão da meia-península... Momento "Tropa de Elite": para quem não sabe, "a palavra península, vem do latim paene (quase) e insula (ilha), é uma formação geológica consistindo de uma extensão de terra de uma região maior que é cercada de água por quase todos os lados, com exceção do pedaço de terra que a liga com a região maior, chamado istmo." Então o que seria uma meia-península? Istmo é difícil de catalogar...) Mas voltando à vaca(-louca) fria, ô tempinho do cão!!!
Hoje, até que não está lá tão ruim... Pra quem gosta de um calorzinho de 31° à sombra, tudo bem. Eu não. Mas ontem... ontem estava o ó. Sabe aqueles lindos dias de inverno, digno de Campos do Jordão ou Petrópolis ou Paranapiacaba (por que não?) onde não se enxerga um palmo à frente das ventas? Aquela cerração que se pode cortar com uma faca, uma cerração tão forte que se condensa em água (não, Pedro Bó, se condensa em fogo... dããããã!) em poucos minutos em conta(c)to? Então aqui estava assim ontem, com 30°! É tanta umidade, mas tanta umidade, que eu não sei se estava suando ou se era a umidade se condensando em minha roupa... Dá pra torcer de tão enxarcada que fica a roupa... O céu? Cinza o dia inteiro. Nuvens? Não, cerração estival. Ê lê lê! É nesses dias que eu queria morar na Sibéria. Se bem que até lá chega a fazer 30°... Por alguns dias só pelo menos. Eu num güeeeento! É muito calor. E o problema é a umidade, daquele tipo de umidade de praia que gruda na pele e fica melando... Eca! Haja banho...

A vaca louca e o presidente

Quando escrevi o título deste post, li-o e percebi um quê de cordel... Vou tentar então contar a historinha por meio das nossas amadas redondilhas...

nestas terras da Coréia
este novo presidente
num acordo de comérico
comprou carne demente

a carne é americana
do acordo bilateral
só que teve um probleminha
e o povo caiu de pau

descobriram que essa carne
tinha um vírus mortal
que atacou o pobrezinho
do sacrificado animal

este novo presidente
que de bobo não tem nada
disse pro povo "relaxa"
a vaca era vacinada

"vacinada uma ova"
gritou o povo raivoso
e pra este presidente
foi um pouco doloroso

doloroso ouvir seu povo
gritando "esse ladrão,
é um louco, assassino,
vamos jogá-lo no chão!"

o negócio é que a carne
pra economia daqui
é um produto de peso
de mais valor que o siri

os coitados coreanos
que da carne ganham o pão
ficaram muito chocados
com essa má decisão

presidente se dirige
a toda a população
dizendo "não há problema,
não carece confusão!"

o povo que não é bobo
saiu de vela na mão
reclamando do maldito
e da maldita importação

de que adianta o preço
ser mais que liquidação
se comendo dessa carne
haverá consternação?

o povo não quer ouvir
palavra do presidente
já que estão muito irados
e já morreu muita gente

essa gente que exigia
o direito democrático
que acabou por se tornar
um momento bem dramático

na história do país
coisa assim nunca se viu
o povo gritando nas ruas
"vai pra ponte que o partiu!"

gritar contra o presidente
palavras de ordem vis
é considerado crime,
coitados desses civis

a polícia militar
de escudo e cacetete
parte pra cima do povo
descendo sem dó o porrete

só por causa do desejo
de exprimir seus direitos
como pobres cidadãos
que não concorreram aos pleitos

esse novo presidente
parece que nem ta aí
já trouxe a Condolezza
flerta com o FMI

não pode deixar voar
essa galinha de ouro
os States da América
que trarão um bom tesouro

o que é bom para o país
e para os governantes
mas o povo reitera:
"bando de ignorantes"

a vela é uma lei
do tempo da ditadura
não se pode reclamar
a favor da agricultura

com mãos limpas reunião
na rua por lei não há
só se pode com as velas
sem se criar bafafá

mesmo com o apoio da lei
e tais encontros luminosos
o povo não tem sucessos
que cheguem a ser gloriosos

pacifismo é a lei
que impera com os "veleiros"
ainda assim os "hómi" chegam
com momentos traiçoeiros

basta um olhar estranho
um mover-se diferente
já é pouco o estardalhaço
já são dez civis sem dente

bala de festim é pouco
jato d'água da mangueira
é assim que muita gente
sofre agora de cegueira

outros já somente apanham
de escudo ou cacetada
os "hómi" não tem piedade
e vão descendo a porrada

tudo isso só por causa
do acordo americano
de comércio que só dá
carne louca ao coreano

já disseram ao presidente
que por pouco não caiu
mas ele nem se preocupa
das promessas já fugiu

agora seu interesse
é com os States brincar
falar com a Condolezza
com o Bush conversar

dessa forma a influência
da Coréia aumentar
o povo? que ele se dane!
quero mais dele é roubar!

é assim o presidente
que o coreano elegeu
lá em outubro passado
quando muito pensei eu

que esse candidatinho
que falava tanto o povo
não ia melhorar nada
procuraram pêlo em ovo

pra mim esse cara de início
me parecia safado
com um tal de Paulo M.
de São Paulo, aquele estado

que o tem como ladrão
mas mesmo assim bonzinho
porque constrói coisas boas
para o povo coitadinho

o povo que vota nele
e muitos impostos paga
não vê como o bolso dele
de dinheiro se alaga

o mesmo vi eu por cá
nesta terra tão distante
um presiente safado
e um povo ignorante


Vá lá que não é uma obra prima, mas em 15 minutos o que se há de fazer? Minha verve trovadoresca não é lá essas coisas. Quem se incomodar, que me perdoe.

Mas esse negócio das manifestações à luz de velas é um caso à parte. (Ó! Duas crase em uma frase! (E um plural assassinado pra manter a rima...)) É uma lei do tempo que a dita era dura que proíbe qualquer tipo de reunião civil em locais públicos a não ser que os manifestantes carreguem consigo um vela (acesa, claro). Pra mim, como bom brasileiro, me lembra aquelas procissões de santo padroeiro quando o santo sai da igreja dá uma voltinha na praça e volta pro altar à espera de seu próximo passeio anual. Pra mim não parece em nada uma manifestação anti-FTA e anti-ruminante-esquizofrênico. O povo tá puto da vida com o Lee Myung-bak, que a propósito é coreano nascido no exílio, em seu registro de nascimento consta o nome 月山明博, ou seja, Akihiro Tsukiyama. Essas coisas que eu não entendo... os coreanos que odeiam tanto os japoneses elegem um Akihiro Tsukiyama pra presidente e depois ficam reclamando... Culpa deles, ué.

Ah, e pra quem acha que Seul é do tamanho de uma quadra de Futsal, eu só vi essas manifestações pela TV. Elas acontecem a 20 km da minha casa, em frente à prefeitura de Seul que, para assuntos manifestísticos, é equivalente à Paulista/Brigadeiro/Consolação em SP. Copa do mundo? Prefeitura! Impeachment do presidente? Prefeitura! Show de grátis pro povo? Prefeitura! Vaca louca? Prefeitura... É tudo lá. E um pouco também no ribeirão Cheongye, que foi "o Myung-bak que fez"! Ai, como é parecido com o nosso M. lá de SP...

Camiseta e a sociedade coreana do ponto de vista lingüístico


Uma das primeiras coisas que fiz por aqui foi tratar de me fantasiar de turista, isto é, tratei de comprar uma camiseta com motivos coreanos.
O negócio é que é uma camiseta preta com um poema da era Choseon, última dinastia coreana antes da colonização japonesa. O poema obviamente está escrito em hanja (漢字), isto é, caracteres chineses em estilo cursivo.

Abaixo segue o que está escrito no papelzinho que veio junto com a camiseta, com um pouco mais de informação pesquisada por mim.

"Este é um poema escrito por um dos maiores monges daquela era, chamado Seo San 서산대사 (西山大師) (1520-1604) . Ei-lo:

踏雪野中去 不須胡亂行 今日我行跡 遂作後人程
답설야중거 불수호란행 금일아행적 수작후인정

Ou seja:

Ao passar por campos nevados,
nunca caminhe incautamente,
já que seus rastros serão
o guia dos que te seguirão.

Este poema era o favorito de Kim Gu 김구 (1876-1949) que era o presidente do Governo Provisório Coreano sob o regime do imperialismo japonês. Quando ele foi assassinado no ano de 1949, ele estava escrevendo este poema. No momento crucial da pátria, ele enfatizava as pegadas, isto é, os traços deixados pelos que passaram, o modelo a ser seguido, como a estrela-guia para os descendentes, não se importando com sua própria segurança pessoal."

Pois é, é bonito. Tem um sentido profundo e uma história de bravura e luta pelos ideais patrióticos, um pouco à la Tiradentes. Mas aí vêm os coreanos... ai ai...
Toda vez que eu saio com essa camiseta, as pessoas me olham de soslaio, ou disgueio, e os mais corajosos vêm me perguntar por que eu estou andando com uma camiseta da China ou do Japão... Ambos aceitáveis, já que os ideogramas estão escritos na forma cursiva e muitos se parecem incrivelmente com hiraganas japoneses. Aí eu venho e falo que é um poema coreano. Eles então olham pra mim e riem com uma cara de desconfiança, como que querendo dizer "Ha! Esse wegugin (estrangeiro) nem sabe a diferença de Coréia, China ou Japão!" Eles então, por cordialidade, soltam um arremedo de comentário e dizem com a maior certeza e crente que estão ensinando uma grande lição: "Mas isso não é coreano, veja, são aqueles desenhinhos chineses, aquelas letras estranhas deles! Você não vê?" E eu respondo: "Claro que sim! Isso é hanmun (estilo arcaico de se escrever a língua coreana por meio de caracteres chineses, pra encurtar assunto, já que não é tão simples assim). É um poema antigo CO-RE-A-NO (acentuando todas as sílabas) que estava sendo escrito pelo governador da Coréia quando foi capturado e assassinado pelos japoneses." Eles esntão desistem de me "ensinar" o correto e soltam um "Ah, tá.", querendo dizer: "Ai, esses qegugins... Acham que sabem tanto... Deveriam mais é deixar a gente sossegado e voltar pros seus países...".
Pois é. É claro que isso não é todo mundo, mas uma grande parte pensa assim. A impressão que eu tenho é que não existe escola por aqui! Ninguém sabe nada. Só se sabe o que todo mundo sabe. Deixe-me explicar. A história coreana, a qual eles gabam de ser quadrimilenar e o diabo a quatro, tem no máximo uma meia dúzia de personagens. Pergunte a qualquer coreano o nome de personalidades históricas durante os 4000 (!) anos de história coreana e eles vão falar: Tangun (o rei-deus que deu origem ao povo coreano), I Sun Shin (o general (?) que inventou os navios-tartaruga que derrotaram os japoneses durante uma investida do Tokugawa-san por aqui), O Grande Rei Sejong, o magnífico (o carinha que era tão bonzinho que costumava jantar com seus súditos sujos e pobres e que inventou tudo o que tem na Coréia, inclusive as letras usadas por aqui). Quem se arriscar, vai acabar tirando do bolso as notas de 1000 e 5000 wons pra ler os nomes dos carinhas que estampam as mesmas (a de 10000 wons todo mundo sabe que tem o Rei Sejong). E acabou. Daí já pula pros presidentes modernos como Rhee Syngman, Park Chung-hee...
Fora isso, tem gente que não sabe quantos rins uma pessoa tem ou que a coluna vertebral é a única partezinha do corpo que liga a parte de cima com a parte de baixo (pra evitar nomes científicos).
Além do que o inglês é a única língua no mundo, fora a odiosa língua que os japoneses impuseram aos coreanos durante o período da colonização ou aquela língua feia e cantada dos chineses que só sabem copiar os produtos coreanos e vender mais barato.
De uma forma geral, eu acho a cultura geral de um coreano médio bem baixa. Não deixa nada a dever aos nossos compatriotas que muitas vezes são tachados de ignorantes, imbecis e de "só podia ser brasileiro mesmo". E acho que tudo isso se resume à forma de ensino coreana. 100% memorização. Pra isso eles são bons e dão de 10 a zero ni nóis. Memorização tudo e qualquer coisa. De um dia pra outro, memorizam capítulos de livros pra fazer prova. Uma semana depois? Zero. Parecem ter uns bons terabytes de RAM na cabeça, mas desligou a tomada, puf! Eu não acho isso bom. Eu, pessoalmente, sempre aprendi que memorização não é uma coisa boa, que antes de memorizar, temos que entender e aprender. E aprendendo, não há a necessidade de memorizar, pois o conhecimento já está aconchegado nas sinapses cerebrais e vai demorar muito mais pra sair de lá. É claro que a curva de resposta dos dois estilos são completamente inversas... Memorização é de efeito quase imediato, ao passo que aprendizagem demora para realmente se efetivar. Acho que tbm por isso: pela alma ppali-ppali dos coreanos impacientes... Pra que aprender se dá pra memorizar? E se precisar de usar aquilo de novo, basta memorizar de novo. São bem pragmáticos. Sabem o que todo mundo sabe (numa nivelada sócio-cultural) e sabem o que têm que saber pra poder fazer seu trabalho de forma rápida (não necessariamente eficiente).
Aí está... Todo mundo sabe que japoneses são malvados e bobos, portanto não devem gostar deles. Todo mundo sabe que chineses não tomam banho e comem cachorro, então não devem gostar deles também. E aí? Como é que eu fico com a minha camiseta "coreana"????

Ah, só a quem interessar possa:

Nem sei se vocês têm acompanhado minha saga mestradística por aqui pelas bandas das Coréia, mas lembram-se de quando eu comecei a estudar Python, comecei a fazer aqueles programinhas, estava arrancando meus cabelos para pensar em algum projeto... Pois é. Meus problemas acabaram!!! Com o Super-Auto-Programeitor Tabajara... ops! Canal errado! (Momento Idiocracy...) Voltando: meus problemas já se findaram graças a um belo trabalho de equipe que, pelo que percebi, ocorreu pela primeira vez em nossa "lindo" Laboratório de Lingüística (eita palavrinha difícil de escrever... eu sempre digito isso umas três vezes por causa dos acentos que saem nos lugares errados...) Computacional da Universidade Nacional de Seul, Coréia. Eu e Munhyong, meu colega de laboratório, resolvemos partir para o matadouro juntos. Munhyong estudou na Universidade de Línguas Estrangeiras da Coréia (韓國外國語大學校) no departamento de Engenharia (?) (não entendi isso até hoje... engenharia numa faculdade de línguas, mas tudo bem...) e sabe programar muito bem em C e adjacências. O problema é que C, para o que precisamos fazer é um pouco "muito complicado de mais", e geralmente fazemos uso de outras línguas de programação, principalmente Perl. Passamos o semestre passado fazendo programinhas em Perl para aprender (no estilo "sevirômetro") e acabamos manejando mais ou menos essa língua de programação meio esquisita mas muito útil. Aí vieram as férias, depois outras aulas e outros afazeres e agora, no final do semestre, quando ele foi fazer seus programinhas em Perl, descobriu que já tinha esquecido quase tudo.
No meu caso, descobri um "kit de ferramentas" para trabalhar com programação de processamento de línguas naturais chamado NLTK que tem por base a linguagem de programação chamada Python. Pra mim que já vivia no mundo GNU/Linux por mais de 3 anos, além de uns 5 anos de curioso antes disso, o nome Python não era em nada estranho. Além disso, eu já tinha até me aventurado a tentar fazer um programinha em Python pouco antes de entrar no mestrado, e resolvi unir o útil ao agradável: usar o NLTK e, de quebra, aprender mais uma lingüinha de programação. Vocês devem se lembrar de algum post anterior onde devo ter mencionado esse fato. De lá pra cá, mergulhei no Python e fui aprendendo na marra a usar essa língua muito estranha no começo (principalmente pra quem usava Perl) e absurdamente útil agora! Simplesmente não consigo me imaginar sem usar Python agora. Depois de pegar o jeito da coisa (e olha que eu nem comecei a arranhar a superfície ainda...), tudo fica bem mais fácil, prático e útil em uma bordoada só.
Voltando ao assunto do trabalho... Quando estava sofrendo em busca do cálice sagrado, a respeito do que poderia fazer como projeto final do curso de Lingüística Computacional 2, acabei comentando com o Munhyong e ele convidou-me a fazer o projeto com ele, já que ele tinha uma idéia meio Frankenstein de unir dois projetos que a gente havia estudado durante o curso. Pus-me então a ajudá-lo, seguindo suas instruções e fazendo meus programinhas. Não obstante o fato de que esforçamo-nos deveras, a primeira idéia acabou não dando muito certo. Sem perder as estribeiras, Munhyong acabou frankensteiniando uma outra idéia parecida com um corpus (Graças à Wikipédia, temos que: Corpus lingüístico é um corpo de textos escritos ou falados numa língua disponível para análise. O estudo de corpora (corpora é o plural de corpus) apresenta muitas vantagens. Em vez de consultar nossas intuições, ou de ‘extrair’ informações dos falantes, penosamente, uma a uma, podemos examinar um vasto material que foi produzido espontaneamente na fala ou na escrita das pessoas, e portanto podemos fazer observações precisas sobre o real comportamento lingüístico de gente real. Portanto os corpora podem nos proporcionar informações altamente confiáveis e isentas de opiniões e de julgamentos prévios, sobre os fatos de uma língua. O uso de corpus (plural corpora) está associado à Linguística de Corpus.) de um projeto sobre língua coreana. Resolvemos então construir, baseado em um projeto que acabou de ser feito por outro aluno do nosso laboratório (aquele que sumiu), um programa para a extração de palavras semelhantes baseada na relação entre as funções sintáticas e as palavras em vista. Com isso, construímos pares de palavras ligadas por meio de suas relações sintáticas de um corpus com cerca de 10.000.000 de palavras. Depois por meio desses pares, pusemo-nos a calcular o nível de similaridade entre essas palavras. O resultado final foi como o projeto anterior, relativamente baixo, isto é, as palavras encontradas não são tão similares quanto se esparava. Aí é que entra o "tcham" do nosso projeto, a língua coreana possui um alto grau de homófonos/homógrafos, por exemplo, bae, em coreano, pode significar "barco/navio", "barriga", "pêra" e "vezes (formador de numerais multiplicativos)". No primeiro experimento, todos esses significados se mostraram presentes em um só grupo, o que não traz bom resultado. Em suma, o programa dizia que barco é similar a pêssego que é similar a adição... o que não é verdade. Isso por causa da homofonografia (acabei de inventar) da palavra bae. Mudamos então o corpus para que nele constasse qual o significado das palavras homófonas e rodamos o program novamente. O resultado foi sensacional! Agora o programa diz que barco, automóvel, navio, cavalo, bicicleta, veículo, etc são equivalentes. Isso qualquer criança pode ver que é bem melhor que o resultado anterior. Todas as palavras acima têm em comum o fato de serem meios de transporte. O mesmo se passou com os sentidos de barriga e pêra. Exultamo-nos!
O interessante é que quando apresentamos essa idéia em sala de aula para o professor e os outros alunos do nosso curso, o professor se irritou com a gente e quase gritando disse: "Pra que fazer isso? Vocês não sabem que isso já foi feito? Vocês não sabem que o resultado não foi muito satisfatório em coreano? Vocês têm a pretensão de dizer que dá pra melhorar isso de alguma forma???" Continuando por uns 5 minutos e durante nossa apresentação com comentários "bem construtivos e apoiadores"... Depois disso, descobrimos que ele havia inscrito esse trabalho como trabalho em conjunto dele com o menino que sumiu (nessa época ele ainda não tinha sumido) para apresentar em uma conferência internacional sobre lingüística computacional. Aí deu pra entender a reação dele... Propusemo-nos a melhorar um trabalho que, sem que soubéssemos, ele iria apresentar na conferência. Mas e daí? Problema dele! Se ele se interessasse um pouco mais sobre a gente, isso não teria acontecido... Ele teria sabido disso antes e não teria ficado todo nervosinho na frente de todo mundo.
Bem, pra encurtar a história, acabou que entregamos o trabalho pra ele um pouco atrasados, tipo mais que uma semana de atraso. Muito disso por causa do tamanho dos corpora (plural de corpus) que demoravam por volta de 15 horas pra rodar e dar resultado. E quando víamos os resulatdos, tínhamos que modificar algumas variáveis pra ver se o resultado melhorava ou não... Isso tomou muito tempo... Eu sei que, no final das contas, depois de mais ou menos um mês de trabalho de cão, varando noite, dormindo no laboratório (quando dava tempo), voltando pra casa só pra tomar banho, e morrendo um dia inteiro na cama quando dava tempo, mandamos o trabalho pra ele por e-mail. Dois dias depois nos chamou em sua sala. Fomos meio com o rabo entre as pernas. Quando abrimos a porta, ele estava que era só sorrisos! Ele adorou nosso resultado, claro que nem passou pela sua cabeça de pedir desculpas o qqr coisa do gênero, mas resolveu aumentar nossa nota (que ele já tinha dado antes de ver o trabalho porque tínhamos demorado e ele tinha que entregar por causa do calendário). Fechamos o semestre com A+. Que beleza! Até que valeu todo o trabalho de doido que tivemos. E a satisfação de ver nosso projetinho dar seus frutos... e graças aos MEUS programas em Python! =) Senti-me super satisfeito!
Pois é, o Munhyon entrou com as idéias, eu entrei com a programação (que me ensinou pra caramba!!!), e ambos entramos com a redação do "paper" (não é papér de mineiro, tá? é pêiper de americano...). Foi um trabalho que se tivéssemos feito sozinhos, não teríamos passado de B, mas juntando nossas forças e idéias, acabamos tirando A+. Foi um senhor trabalho de equipe meu e do Munhyong, ficamos muito contentes, e nos aproximamos bastante. Antes éramos apenas colegas de laboratório, agora somos amigos. Finalmente! Depois de um ano... Brasileiro fala que japonês é difícil de fazer amizade... Vai tentar com coreano, vai! Êita!
Um abraço pro 6.
Inté.

Meu mais novo "bebê"

Depois de quase 2 anos por aqui, resolvi concretizar um sonho que de há muito desejava. Comprei uma bicicleta.
Minha vida por aqui não é nada do que se possa chamar de excepcionalmente ativa (pelo menos não fisicamente). Já estava me sentindo mal de tanta falta de exercício... Então por que não juntar o útil ao agradável? Bicileta foi sempre algo por que sempre me interessei e desde minha primeira, aos 5 anos de idade, nunca fiquei muito afastado da magrela. Pelo menos até me formar no segundo grau. Daí pra frente, só usei bicicleta no Japão, no ano 2000, e de lá pra cá somente pude cultivar o desejo de mais uma vez possuir um meio de transporte barato, prático, limpo e saudável. Mas, em se tratando de Seul, devo também adjungir o adjetivo "um pouco perigoso". Na verdade, não é nada comparado com São Paulo, e de uma forma mais geral, no Brasil. Lá, realmente, eu não tenho coragem de andar de bicicleta em paz. Por aqui, pelo menos os carros andam relativamente devagar, o mais perigoso parecem ser as pessoas. Ninguém olha pra onde vai... Por essa razão, deve-se estar atento pra não atropelar nenhuma velhinha desavisada, ou algum estudante indo pra escola. De resto, tudo bem. Além disso, há relativamente muito mais ciclovias por aqui do que em São Paulo, mas o problema é que as mesmas começam no nada e terminam em lugar nenhum... Não há muita lógica. A não ser em grandes lugares públicos como o parque que margeia o rio Han que corta a cidade de cabo a rabo. Aí sim é o paraíso dos ciclistas. Lá é um tipo de Ibirapuera daqui. Inclusive, agora no "maldito" verão, tem gente que acampa na beira do rio pra dormir, uma vez que o calor dentro das casas se torna infernalmente insuportável. Claro, se se está disposto a pagar uma conta de luz mais alta, basta ligar o ar condicionado, mas muita gente que faz isso (dormir na beira do rio) é porque gosta de se sentir mais perto da natureza, ou os mais velhos que foram criados no campo e ainda não estão tão acostumados com a vida na grande metrópole. E por falar nisso, Seul é tão grande, bonita, feia, limpa, suja, interessante, assustadora quanto São Paulo. O bom é que a parte onde se lê "assustadora" só o é para os Coreanos, já que para quem morou em uma grande metrópole do ocidente isso é fichinha. Crimes quase não existem por aqui. Só de vez em quando, quando alguém tem um ataque de esquizofrenia ou alguma outra doença mental e acaba matando alguém. Aí vira filme e eles ganham o maior dinheirão com isso. Fora isso, há alguns roubinhos vagabundos como o que aconteceu com uma amiga: entraram na casa dela, após serrarem uma grade e meia da janela (como no Brasil aqui também tem grades nas janelas), entraram no apartamento que continha TV, dois laptops, som, e muitos outros etcéteras e levaram sabe o quê? O porquinho de guardar moedas! O POR-QUI-NHO!!! É ou não é divertido? Pra gente, quando ouvimos que alguém entrou na casa de alguém já ficamos esperando pelo pior: estupros, latrocínios, o diabo a quatro... E aqui: POR-QUI-NHO! Não é de fazer rir??? É claro que este não deixa de ser um ato ilícito e imoral e amoral (amoral não é adjetivo referente a "amora", tá?), mas de qualquer forma, para nós brasileiros, só um porquinho se torna engraçado. Isso meio que mede o alto grau de violentabilidade ao qual infelizmente já estamos acostumados, não é não? Já temos uma idéia pré-concebida de que uma invasão domiciliar é um ato que normalmente deve trazer conseqüências catastróficas e não somente perdas materiais; que atos de qualquer tipo de assalto devam trazer algum tipo de violência (geralmente física ou moral). Por aqui, simplesmente o fato de alguém ter adentrado ao espaço privado de uma pessoa sem a devida anuência do proprietário já se considera um fato de extremo perigo e desespero. Essa minha amiga, quando se deu conta do fato, ligou-me para narrar o acontecido e eu, chegando na parte do POR-QUI-NHO, não pude conter-me e explodi-me em risos! No final, ela também acabou por rir, já que percebeu que tudo poderia ter sido muito pior, mas mesmo assim, sua reação me pareceu, a mim como brasileiro, um tanto quanto exagerada.
Bem, essas são apenas algumas poucas histórias (ah, e de acordo com as leis sacras que regem e trancafiam a língua dita portuguesa, "estória" não existe, pelo menos não mais) que se passam por aqui pelas terras do antigo e quadrimilenar "Reino da Manhã Tranqüila". E acabei fazendo mágica neste meu post... Transformei minha nova bicileta em um POR-QUI-NHO! Ahahaha...
Um abraço pra quem fica.
Fui!

sábado, 5 de julho de 2008

Momento reflexão...

Tudo o que eu sempre pensei (a respeito desta situação, é claro... não que eu só tenha só pensado sobre isso minha vida toda...) foi resumido didática e claramente neste vídeo. Faço das suas as minhas palavras.



Momento de reflexão patrocinado por "Kimchi com Café".

Abraços.

quarta-feira, 25 de junho de 2008

愛ちゃんと日本の友達みんなへ

最近、僕は日本のことがものすごく恋しいんだけど。日本語も。
韓国に来て、最初の一学期だけに日本語を使った。その時、韓国語もできず、英語や日本語しか使えなかったんだ。その次、4級のときに、韓国が段々身につけて喋れるようになって日本語を使う機会が段々少なくなってきちゃった。今は、日本語その物はもう喋れません。日本語で話そうと思ったら、韓国語の単語がぴょんぴょんと口から飛び出しちゃう。そうすると、僕がイライラしてもっと話せなくなる。うゎーーー。辛いよ、本当に。書く時は、時間がもっとあるから、日本語はなんとなく出るけど、以前と同じように思わずに書くのはもうできない。深ーく考えないとダメ。どうしよう?
その上に、日本に行きたくて行きたくて、時間がないので行けない気持ちはイヤだ。隣の韓国にいるから、もっと辛い。ブラジルにいた時は「まぁ、しようがないなぁ」って。でも、今は違うよ。メッチャ近くにいるのに、ブラジルよりも遠く感じる。それでは、日本の友達の皆さん、いつかは是非行くぜ。でも、いつって言うと、まだ分からない。早くだと期待いたします。
じゃ、今ちょっと日本語で書きたかったからなんか書いたね。ちょっと文句臭いかも知れないけど、それは今の気持ちです。もうすぐ、研究室に行かなきゃ。夏休みなのに。
また今度ね。コメントとか書いてくれるなら、うれしい^^。
チャオ!

Cada um no seu quadrado....

Gente, o que é que anda acontecendo por aí?

"Cada um no seu quadrado, cada um no seu quadrado..."
"Créu, créu, créu, créu, créu, créu, créu, créu..."
Mulheres frutas e o diabo a quatro...

Isso tudo me faz pensar muito se eu quero voltar para o Brasil depois. É um pouco medonha essa situação. Já comentei anteriormente em algum outro post, mas a situação vai de vento em popa a um destino que tenho medo de prever. Isso tudo me faz lembrar de um filme chamado "Idiocracy". Se puderem ver, vejam, pois é mais ou menos o que eu já imaginava e eu fiquei com medo quando vi minha imaginação retratada nesse filme...

Ai, ai, ai... O que será de nosso país daqui a alguns anos?

Quem viver verá.

segunda-feira, 23 de junho de 2008

14 dias sem notícias...

Essas duas últimas semanas foram o ó do borogodó... Pra não falar coisa bem pior... Mas, no fim, tudo se resolve. A gente aí no Brasil costuma dizer q brasileiro deixa tudo pra última hora e tal, mas aqui é o mesmo, ou até pior. A diferença é q, de uma forma geral, as coisas acabam funcionando. Principalmente nas questões burocráticas. Mas, no dia-a-dia, é demais. Aqui as pessoas primam a velocidade, a qualidade ficando em segundo plano. Um trabalho q deveria ser feito por um grupo de várias pessoas, em um período de alguns meses, normalmente é feito por uma ou duas pessoas durante uma semana ou duas. Além disso, ninguém discute. Só se jogam cegamente a fazer o q tem q ser feito, sem pensar bem o q é ou como poderia ser feito de forma mais eficiente. Não há discussões (no sentido positivo). Há o problema que há de ser resolvido. Como? Problema seu! Nesse estilo... É claro que há excessões, mas de uma forma geral, é mais ou menos assim. Principalmente no meu redor. Meu orientador normalmente só desorienta, jogando um monte de coisa em nossas mãos (minhas e do pessoal do Laboratório de Lingüística Computacional). Resultados? Sim, pra ontem. Modo de fazer? Se vira.
Bem, isso é meio um desabafo, mas é também um pensamento de como nós, brasileiros, nos rebaixamos sem muita razão. Sempre pensamos que não somos bons, que as outras culturas, os outros países são melhores... Mas não é bem assim não. O que muda um pouco é que aqui não existe "medo" de trabalhar. A Coréia é um (se não "o") país com a mais longa jornada média de trabalho do mundo, 48 horas semanais. Se isso fosse bem administrado, com uma alta taxa de eficiência, não teria pra ninguém. Mas, o que acontece, na verdade, é que muita gente "passa" muito tempo no local de trabalho, não necessariamente "trabalhando". Só vai fazer o que tem de ser feito mesmo, quando a bunda começa a pegar fogo... hehe
Às vezes, não dá pra entender, mas como "uma andorinha não faz verão", não sou eu que vou mudar a tradicional forma milenar coreana de trabalhar. Eu é que tenho de me adaptar. E assim vamos...
Quanto ao trabalho, acabou dando bons resultados. Principalmente porque eu pensei que não íamos conseguir. Fiz junto com meu colega de lab, o Munhyong, que cuidou da transformação do corpus que possuíamos, marcado morfologicamente, em um corpus marcado semanticamente. Temos esse corpus que faz parte do projeto do Dicionário Eletrônico "Sejong" da Língua Coreana que reúne em um corpus os textos de 4 anos seguidos dos artigos de um jornal daqui da Coréia. Todo esse texto foi analisado morfologica e sintaticamente, primeiro por computador e depois checado manualmente. É um trabalho difícil, já que são uns bons milhões de linhas de texto afinal. Esse era o corpus que precisávamos para nosso experimento. O problema é que, além da marcação morfológico-sintática, necessitávamos tbm de uma marcação semantica, marcando cada sentido diferente das palavras homógrafas, no estilo "manga" de camisa e "manga" de chupar. Tínhamos um corpus com tais marcações, mas o problema é que esse só era marcado sintaticamente. O que fizemos foi unir os dois. Primeiro, é claro, tentamos fazê-lo automaticamente, mas por falta de padronização no formato dos textos, isso mostrou-se só parcialmente efetivo. Então, partimos para a feitura manual do resto que não deu certo... Lembram-se dos milhões de linhas? Pois é... Mas quem acabou pegando isso foi o Munhyong, e eu acabei com o programa para fazer os cálculos.
Pra quem não se lembra, no mês passado, eu estava aprendendo a programar em Python e acabei fazendo tudo em Python mesmo. E no final deu certo mesmo. Nem acredito. É claro que é muito provável que não fiz como deveria ter feito, o programa deve ter ficado feio às vistas de um programador experiente, mas o negócio é que funcionou e eu aprendi muuuuito com isso. Muito mais do que os 3 meses e meio de aulas que tivemos.
Pelo menos pra isso valeu.
Agora, temos que dar uma polida nos resultados e comparar com resultados anteriores de outros trabalhos. A pedido do nosso orientador. Temos até o dia 30 pra apresentar os resultados.
Ah, e o nosso trabalho é sobre "similaridades entre palavras". O computador lê um texto, analisa as relações entre as palavras e decide quais palavras são mais relacionadas em uma escala de 0 a 1, sendo 0 nehuma similaridade e 1 similaridade total, isto é, identidade. Nosso laboratório é o primeiro a fazer isso com a língua coreana e precisamos disso para criar dicionários para ajudar no processamento computacional da língua coreana, em campos como Tradução Automática, Ontologia, Pesquisa Web e Web Semântica, entre outros. Se conseguirmos, nosso trabalho vai facilitar a vida de muita gente que tem de fazer isso manualmente.

Bem por enquanto é só. Depois escrevo mais.

Um abraço pra quem fica.

segunda-feira, 9 de junho de 2008

Novo programa

Pois é. No último post eu estava aprendendo como programar em Python... Agora o negócio é pra valer. Este é o primeiro programa que estamos usando para ler um corpus de quase 200.000 frases e extrair as marcações sintáticas de cada palavra em relação à palavra à qual esta está subordinada. Tipo, no caso de "João viu o macaco", eu tenho que mostrar as informações como viu: sujeito(João), viu: objeto(macaco). Estamos focando em substantivos e verbos. Depois de fazer essa lista, vamos processar um outro corpus que, ao invés de marcações sintáticas, possui marcações semânticas, isto é, diz se "macaco" no caso acima se trata do animal ou da ferramenta usada para trocar pneus de automóveis... Com isso, vamos cruzar as duas informações e procurar por "campos semânticos", isto é, conjunto de palavras que possuem uma certa similaridade e são usadas em determinados contextos, criando um banco de dados que possa vir ser usado no futuro como base de um programa de tradução automática, por exemplo. Por enquanto, ainda está bem cru, mas não parece impossível que cheguemos lá. A propósito, resolvemos fazer juntos esse projeto, eu e o carinha que também trabalha lá no laboratório de lingüística computacional, o Kim Munhyeong. Ah, e outro detalhe, a pesquisa é com um corpus de língua coreana. o.O

Aí vai o leitor/processador do primeiro corpus:
#!/usr/bin/python
#encoding: utf-8
import sys, re, codecs

class ForestWalker:
def __init__(self, file):
self.file = file
def __iter__(self):
return self
def readtree(self):
# read sentence form line
line = self.readline()
tree = Tree(line.split(' ')[0])
# make list of nodes
list_of_nodes = []
line = self.readline()
while (line):
(ord, dep, tag1, tag2, wordform, morph_string) = line.split("\t")
morphs = self.parse_morph_string(morph_string)
word = Word(ord, wordform, morphs, morph_string)
list_of_nodes.append(Node(ord, dep, tag1, tag2, word))
line = self.readline()
# make tree with list of nodes
# set parent-child relations
for n in list_of_nodes:
if n.dep == n.ord:
tree.set_root(n)
else:
p = list_of_nodes[int(n.dep)-1]
n.parent = p
p.add_a_child(n)
tree.nodes = list_of_nodes
return tree
def parse_morph_string(self, morph_string):
morphs = []
m = morph_string
for m in morph_string.split('+'):
m = m.strip()
if m == "" :
pass
else :
if m == "/SW":
form, pos = "+", "SW"
elif m[0:2] == "//":
form, pos = "/", m[2:]
else :
try :
form, pos = m.split("/")
if pos == "" : pos = "_ERR_"
except :
form, pos = m, "_ERR_"
morphs.append(Morph(form,pos))
return morphs
def readline(self):
line = self.file.readline()
# EOF
if (line == '') : sys.exit(0)
return line.strip()
fields = line.strip().split("\t")
if len(fields) == 6 :
return fields
else :
return line.strip()
def next(self):
return self.readtree()

class TreeBank:
pass

class Tree:
def __init__(self, id):
self.id = id
self.nodes = []
self.root = None
self.terminals = []
def set_root(self, node):
self.root = node
def get_terminals(self):
if self.terminals :
pass
else:
for n in self.nodes:
if not n.children :
self.terminals.append(n)
return self.terminals

class Node:
def __init__(self, ord, dep, tag1, tag2, word):
self.parent = None
self.children = []
self.ord = ord
self.dep = dep
self.tag1 = tag1
self.tag2 = tag2
self.form = word.form
self.word = word
def add_a_child(self, node):
self.children.append(node)

class Morph:
def __init__(self, form, pos):
self.form = form
self.pos = pos

class Word:
def __init__(self, ord, form, morphs, morph_string):
self.ord = ord
self.form = form
self.morphs = morphs
self.morph_string = morph_string
def add_morph(self, morph):
self.morphs.append(morph)
def has_pos(self, pos):
for m in self.morphs:
if m.pos == pos :
return True
return False
def __str__(self):
str = ""
for m in self.morphs:
if str == "":
str = m.form
elif m.pos[0] == "S" :
str += m.form
else :
str += "-" + m.form
return str
#return reduce(lambda x,y: x.form+"-"+y.form, self.morphs)

class Encode:
def __init__(self, stdout, enc):
self.stdout = stdout
self.encoding = enc
def write(self, s):
self.stdout.write(s.encode(self.encoding))

def get_output_string1(morphs) :
str = ""
pos_arr = []
morphform_arr = []
for m in morphs:
pos_arr.append(m.pos)
morphform_arr.append(m.form)
str = ''.join(morphform_arr)
return str

def get_output_string2(morphs) :
str = ""
pos_arr = []
morphform_arr = []
for m in morphs:
pos_arr.append(m.pos)
morphform_arr.append(m.form)
str = ''.join(morphform_arr)
return str

def get_verbform(words):
v = re.compile(r".*?/")
w = ''.join(words)
arr = v.findall(w)
str = ''.join(arr)
return str

sys.stdout = Encode(sys.stdout, "utf8")

for s in ForestWalker(codecs.open(sys.argv[1], encoding="utf8")):
for n in s.nodes:
if re.compile(r'[ NV][PSQ]_[^C]').match(n.tag2):
if n.parent:
tg = re.compile('.*?_')
if re.compile(r'N.?').match(n.parent.tag2):
print "%s\t%s\t%sN" % (get_output_string1(n.word.morphs), tg.sub(r'', n.tag2), n.parent.word.morph_string.split(r'/')[0])
elif re.compile(r'V.?').match(n.parent.tag2):
print "%s\t%s\t%sV" % (get_output_string1(n.word.morphs), tg.sub(r'', n.tag2), get_verbform(n.parent.word.morph_string))

Na verdade, o programa em si, são só as últimas linhas. Todas as classes presentes aqui, são de outro projeto chamado KLTK (Korean Language Toolkit), feito por um doutorando daqui. Esse KLTK está sendo feito nos moldes do NLTK (Natural Language Toolkit) para o processamento da língua coreana e do novo dicionário eletrônico que foi feito recentemente, o Grande Dicionário Eletrônico Sejong... Como diria o Thiago, tá mais pra o Milenar Grande Dicionário... hehe

Faltam 2 dias para apresentar o projeto e 8 dias para entregar o paper com tudo bonitinho. Parece que ainda falta um século...

Um abraço pra quem não está ocupado e pra quem está também. ;)

Fui...

segunda-feira, 2 de junho de 2008

Casa nova!

Sábado fez uma semana que eu estou morando na minha casa nova!
É claro que sinto saudade do outro dormitório, dos amigos que deixei por lá, mas minha qualidade de vida por aqui é beeem melhor.
Primeiro: espaço. Aqui é um apartamento mesmo. Tem cara de casa. É grande. Tem lugar pra organizar minhas tralhas todas e ainda sobra espaço. Tem cozinha e banheiro dentro. Tudo o que eu não tinha antes no outro dormitório.
Segundo: novo. O prédio aqui é bem mais novo do que o outro onde morava antes. Os móveis, o piso, as paredes, a geladeira, o fogão... tudo novinho. Dá até gosto.
Terceiro: localização. Dentro da faculdade. Quer melhor que isso? Antes eu demorava mais de uma hora pra chegar no meu departamento. Agora, de 10 a 15 minutos. Além disso, como o campus fica um pouco fora da cidade, a qualidade do ar, a paisagem são bem melhores que antes.
Tenho mais tempo pras minhas coisas, tenho mais tempo pros estudos... Tudo bem melhor... Mas, como não existe nada perfeito, tem um grande "porém": o preço. Aqui tenho que pagar praticamente o triplo do que pagava antes. Vai ficar um pouco mais difícil de juntar dinheiro, mas só pelo conforto e bem-estar, acho que já vale a pena.

Aí vão algumas fotos que tirei no segundo ou terceiro dia que estava por aqui. Alguma coisinha já mudou, mas basicamente é isso aí:











Não é uma belezinha???

Se quiserem me visitar, agora já tenho espaço para hospedar! :)

quinta-feira, 22 de maio de 2008

Nova versão do meu filhinho

Aí vai a versão 0.2 do meu programinha... Agora eu tive paciência de comentar cada passo.

#!/usr/bin/python
# encoding: utf8

# projeto.py
#
# Copyright 2008 Juliano Paiva Junho <jpj@jpj-laptop>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.

import re, sys

# Expressão regular que separa só as palavras, deixando a pontuação de lado
p = re.compile(r'\b\W+\b', re.U)

# Abre o arquivo passado pela linha de comando
# Lê o arquivo todo (não é eficiente com arquivos muito grandes)
# Decodifica o arquivo como UTF-8
# Passa todas as letras para minúsculas
# Cria lista de palavras sem pontuação por meio da Regex acima
# Joga o resultado de tudo isso na variável "words"
words = p.split(open(sys.argv[1]).read().decode("utf8").lower()[:-1])

# Inicializa um dicionário vazio para unificar e contar as palavras repetidas
dic = {}

# Inicializa as chaves do dicionário para a posterior contagem de palavras
for i in words: dic[i] = 0

# Adiciona 1 a cada palavra repetida
for i in words: dic[i] += 1

# Cria uma lista com as chaves do dicionário seguidas por seus valores
# Ordena a lista pelos valores
# Inverte a ordem para mostrar as palavras com mais contagens primeiro
count = reversed(sorted([(dic[i], i) for i in dic]))

# Função para calcular a freqüência de cada palavra
freq = lambda x: float(x) / len(words)

# Recria a lista acima agora com mais um termo: a freqüência de cada palavra
count = [(j.encode("utf8"), i, freq(i)) for i, j in count]

# Imprime todos os resultados na tela (com possibilidade de redirecionamento ou piping)
print "\nNúmero de palavras do texto: %d" % len(words)
print "\nNúmero de palavras únicas: %d\n" % len(count)
for i in count: print "%s\t%d\t%F" % i


Resultado da saída de um texto em coreano UTF-8 (50 primeiras linhas)

Número de palavras do texto: 1284
Número de palavras únicas: 894

Palavra Contagem Freqüência
있다 20 0,015576
수 19 0,014798
영어 16 0,012461
있는 14 0,010903
그 14 0,010903
영어의 11 0,008567
영어는 10 0,007788
것은 10 0,007788
이 8 0,006231
예 7 0,005452
영어가 7 0,005452
대모음 7 0,005452
할 6 0,004673
영어를 6 0,004673
약 6 0,004673
거의 6 0,004673
초기 5 0,003894
에 5 0,003894
보면 5 0,003894
가장 5 0,003894
후기 4 0,003115
있었다 4 0,003115
있고 4 0,003115
영국의 4 0,003115
미국의 4 0,003115
라는 4 0,003115
라고 4 0,003115
등의 4 0,003115
들 4 0,003115
된다 4 0,003115
근대영어의 4 0,003115
그것은 4 0,003115
굴절어미의 4 0,003115
것이다 4 0,003115
것도 4 0,003115
english 4 0,003115
현재의 3 0,002336
현재 3 0,002336
한 3 0,002336
하는 3 0,002336
특히 3 0,002336
추이 3 0,002336
즉 3 0,002336
있으며 3 0,002336
있어 3 0,002336
일반적으로 3 0,002336
인도 3 0,002336
이른바 3 0,002336
의해서 3 0,002336
의한 3 0,002336
의 3 0,002336

O problema é que isso é só o começo... Eu preciso disso para começar a trabalhar com um corpus (conjunto de textos de geralmente um mínimo de um milhão de letras), mas eu preciso achar alguma coisa para analisar... Talvez "similaridade de palavras", ou "polaridade"... Ainda não sei... Preciso elaborar uma questão, teorizá-la, criar um programa, rodá-lo, analisar os resultados, e escrever um paper. E tenho exatamente 20 dias para apresentar os resultados e 26 dias para entregar o paper propriamente dito.

Será possível?

Música do dia: Francesa







Foi ao som dessas músicas que meu feto de programa que faz mais ou menos o que quero nasceu... Depois de um curso intensivo de Python durante os últimos dias, estou começando a pegar o jeito. Falta dar umas melhoradinhas, mas o grosso tá aí...

Não é nada de mais. Por enquanto é só um programinha que pega qualquer texto, conta todas as palavras, faz uma lista ordenada pelas palavras mais freqüentes e lista ao lado de cada palavra sua ocorrência no texto e a freqüência relativa.
    #! /usr/bin/python
    import sys
    words = open(sys.argv[1]).read().lower().split()
    dic = {}
    for i in words: dic[i] = 0
    for i in words: dic[i] += 1
    count = reversed(sorted([(dic[i], i) for i in dic]))
    freq = lambda x: float(x) / len(words)
    count = [(j, i, freq(i)) for i, j in count]
    for i in count: print "%s\t\t%d\t%F" % i
Resultado do programinha acima rodando com as palavras deste post):


de 6 0.044776
que 5 0.037313
o 4 0.029851
e 4 0.029851
para 3 0.022388
da 3 0.022388
a 3 0.022388
é 2 0.014925
vou 2 0.014925
uma 2 0.014925
um 2 0.014925
mas 2 0.014925
mais 2 0.014925
lista 2 0.014925
faz 2 0.014925
falta 2 0.014925
dar 2 0.014925
ao 2 0.014925
últimos 1 0.007463
universidade 1 0.007463
umas 1 0.007463
1 0.007463
todas 1 0.007463
texto, 1 0.007463
texto 1 0.007463
tenho 1 0.007463
1 0.007463
são 1 0.007463
sua 1 0.007463
som 1 0.007463
semana 1 0.007463
sair 1 0.007463
relativa. 1 0.007463
quero 1 0.007463
qualquer 1 0.007463
python 1 0.007463
próxima. 1 0.007463
promete. 1 0.007463
programinha 1 0.007463
programa 1 0.007463
por 1 0.007463
pontuação, 1 0.007463
pelas 1 0.007463
pegar 1 0.007463
pega 1 0.007463
palavras, 1 0.007463
palavras 1 0.007463
palavra 1 0.007463
ou 1 0.007463
os 1 0.007463
ordenada 1 0.007463
ocorrência 1 0.007463
não 1 0.007463
no 1 0.007463
nasceu... 1 0.007463
nada 1 0.007463
na 1 0.007463
músicas 1 0.007463
mudar 1 0.007463
minha 1 0.007463
meu 1 0.007463
menos 1 0.007463
melhoradinhas, 1 0.007463
me 1 0.007463
manhã 1 0.007463
mais. 1 0.007463
limpada 1 0.007463
lado 1 0.007463
1 0.007463
jeito. 1 0.007463
isso 1 0.007463
intensivo 1 0.007463
grosso 1 0.007463
freqüência 1 0.007463
freqüentes 1 0.007463
foi 1 0.007463
fim 1 0.007463
fica 1 0.007463
feto 1 0.007463
eu 1 0.007463
estou 1 0.007463
este 1 0.007463
enquanto 1 0.007463
durante 1 0.007463
dormitório 1 0.007463
dormir 1 0.007463
do 1 0.007463
dias, 1 0.007463
dessas 1 0.007463
depois 1 0.007463
curso 1 0.007463
conta 1 0.007463
começando 1 0.007463
cidade! 1 0.007463
centro 1 0.007463
cada 1 0.007463
aí... 1 0.007463
as 1 0.007463
amanhã. 1 0.007463
aliás 1 0.007463
agora 1 0.007463
4 1 0.007463


Falta dar uma limpada na pontuação, mas isso fica para a próxima. Agora já são 4 da manhã e eu tenho que dormir para amanhã. Aliás este fim de semana promete. Vou me mudar para o dormitório da minha universidade e vou sair do centro da cidade!

Pesquisar em blogues de brasileiros na Coreia

Resultado da pesquisa