É impossível medir objetivamente quais meninas são mais bonitas: loiras ou morenas, morenas ou de pele branca, altas ou miniatura. Mas você pode calcular quais recursos de aparência são mencionados com mais frequência quando falam sobre beleza.
Eu tive uma semana para experimentos, nossos mecanismos de análise de dados, 16 mil romances russos e romances do século XIX e 15 mil obras longas e modernas. E, é claro, não havia dados marcados.
A idéia principal era extrair fragmentos de descrições de mulheres bonitas dessa montanha de textos e, em seguida, extrair linhas de aparência freqüentes desses fragmentos.
Aqui está uma visualização do que aconteceu. Mais precisamente, uma das opções comuns.
A cor dos olhos, cabelos, roupas, crescimento, educação - tudo isso pode ser diferenciado do corpo dos textos.Obviamente, nem tudo é tão simples e inequívoco como nas figuras, mas você já recebeu uma ideia aproximada. Agora vamos falar sobre os detalhes e a sequência de ações.
Text Corpus
Consegui encontrar recursos com uma licença aberta para a distribuição de textos. Obrigado às pessoas que coletaram e postaram tudo isso.
Tanto o século XIX como o presente incluíam apenas textos originais em russo do corpo, ou seja, não há literatura traduzida.
Fiz toda a análise usando várias bibliotecas SAS Visual Text Analytics e Python (pymorphy2, gensim, tensorflow).
Etapa 1. Regras lingüísticas
Então, primeiro, foi necessário destacar fragmentos com descrições da aparência feminina. Como não havia dados marcados, comecei com regras simples no espírito de “garota E (olhos OU cabelo OU rosto)”. As regras foram escritas no SAS Visual Text Analytics, para que levassem em conta formas morfológicas, erros de digitação (para o caso moderno era relevante), sintaxe simples, distância entre tokens e contextos indesejados filtrados.
Regra simplificadaPREDICATE_RULE: (arg1, arg2, arg3): (A menos que "bad_contexts", (SENT_5, "_arg1 {beauty}", "_arg2 {woman}", "_arg3 {traits}"))
Em outras palavras, dentro das cinco frases deve haver uma menção a uma mulher, uma menção ao fato de sua atratividade, uma descrição de qualquer aparência e não deve haver contextos indesejáveis.
Escrever essa regra não é difícil, o problema está nos detalhes. Como, por exemplo, coletar todas as referências possíveis a mulheres? De fato, no texto pode ser "senhora", e "garota", e "Margarita" e "prima". Sinónimos simples são indispensáveis aqui, nem um único dicionário fornecerá "datilógrafo" ou "aluno" como sinônimo de "mulher". Você pode listar "da cabeça", enquanto houver imaginação suficiente, mas a lista estará incompleta (e é chata).
Para expandir as regras e procurar sinônimos contextuais, conectamos representações vetoriais.
Etapa 2. O Modelo word2vec
O Word2vec é uma ferramenta de vetorização de palavras baseada na idéia de "diga-me quem está ao seu lado e eu direi quem você é". Por exemplo, na frase "Eu ___ ela à primeira vista", a maioria substituiria o
passe por uma palavra como "amado". A idéia é simples - palavras semelhantes são encontradas em contextos semelhantes. Para o idioma russo, existem modelos pré-treinados prontos, postados
aqui . A experiência em projetos mostra que os modelos treinados na área de trabalho funcionam melhor do que os modelos "para toda a linguagem", então eu treinei dois modelos em meus corpos.
Primeiro, ela quebrou o corpo com python em palavras, trouxe as palavras para a forma inicial (graças a pymorphy2), extraiu expressões verbais de frequência como um
primo, juba de leão, cintura de vespa (graças a frases de gensim). Nos dados processados, aprendi o modelo word2vec (algoritmo skipgram, janela - 3, dimensão - 300).
Usando o modelo treinado, compilamos iterativamente listas de palavras semelhantes. A função most_similar no gensim pega uma palavra como entrada e retorna uma lista de palavras / expressões cujos vetores são próximos em medida cosseno ao vetor da palavra original.
Vetores próximos ao vetor da palavra “beleza” no edifício do século XXI. O segundo valor é a medida do cosseno.('beleza', 0,6690341234207153)
('bonita', 0,6438576579093933)
('encantador', 0,6156517267227173)
('garota esperta', 0,6063219308853149)
('bonito', 0,6044491529464722)
('feminino', 0,5829722285270691)
('olhos azuis', 0,5814758539199829)
('jovem', 0,5773882865905762)
('princesa', 0.5754760503768921)
('brilhante', 0,5743755102157593)
('loiro', 0,5731547474861145)
('olhos azuis', 0,5724368095397949)
O problema aqui foi que, entre vetores semelhantes, os antônimos podem ser encontrados, pois podem estar nos mesmos contextos. Por exemplo, no local do passe no exemplo sobre "apaixonou-se à primeira vista", pode muito bem ser o antônimo "odiado à primeira vista". No nosso caso, por exemplo, o vetor “jovem” é o mais próximo da palavra “menina” e somente depois de aparecer “mulheres”, “mulheres” etc. O problema com antônimos foi resolvido simplesmente pela seleção manual. Mas havia poucos antônimos, então foi preciso um pouco de esforço.
A propósito, é engraçado que palavras semelhantes a uma mulher do século XIX sejam todos os tipos de conceitos de família (filha, irmã, prima) ou profissões de serviço (empregada doméstica, empregada doméstica, cozinheira), status social do marido (almirante, general, baronesa). No século 21, o espectro está se expandindo: há um estudante, colega de classe, atleta, assistente de laboratório, membro do Komsomol, tradutor e líder.
Mulheres do século XIX:Katerina
Katya
Claudia
Clotilde
princesa
princesa
coquete
acompanhante
enfermeira
beleza
camponesa
fabricante de rendas
primo
crisálida
kumushka
mulher mercante
cozinhar
Mulheres do século XXI:Karen
Karina
caixa
Katerina
Katrina
Katka
Katya
inquilino
Kira
Clara
cliente
coquete
Membro do Komsomol
a rainha
beleza
beleza
Christina
Ksenia
Ksenia
primo
Utilizou o mesmo princípio para expandir as regras restantes.
Por exemplo, para extrair contextos capilares:juba
enrolar
esfregar
foice
rabo de cavalo
cachos
cabelo encaracolado
enrolar
penteado
trava
trava
viga
corte de cabelo
franja
estrondo
cabelo
cauda
rabo de cavalo
Etapa 3. Contextos indesejados
Portanto, tenho regras há muito detalhadas que captam com sucesso uma descrição da aparência, mencionando uma mulher e mencionando o fato de sua atratividade. Prescrevo restrições óbvias nas regras linguísticas: é preciso levar em conta aspectos negativos, modalidade, humor condicional, para que contextos como “não se distingam pela beleza”, “longe da beleza” não sejam capturados.
É disso que não precisamos.Na juventude, ela não era de todo uma beleza, mas uma menina bem alimentada, com um nariz largo de pato. Ela estava muito preocupada com o nariz e, de acordo com as histórias de suas irmãs, costumava dormir com um prendedor de madeira no nariz para estreitá-lo dessa maneira.
P. Rebenina, "Zinka Infeliz".
Além disso, surpreendentemente, os autores conseguem descrever caracteres geralmente repulsivos com um toque agradável. Esses contextos são difíceis de lidar, eles podem fazer barulho, então eu os retiro de consideração.
Agora tenho em minhas mãos fragmentos de textos com marcação baseada em regras e representações vetoriais. Embora tenha levado alguns dias para esclarecer as regras, os contextos encontrados apresentam um erro, o que me convém muito bem para esta tarefa. Por exemplo, algumas descrições da aparência não foram extraídas devido ao fato de não ser claro sobre a mulher ou o homem em questão: "Vali tinha olhos azul-acinzentados escondidos sob os finos óculos". Em princípio, essa ambiguidade poderia ser resolvida com base em um fragmento maior do texto, mas como eu tinha apenas uma semana, deixei todas as imprecisões à espera.
Aqui está a marcação.
Exemplos de análise, o contexto é destacado em negrito , sublinhando os fatos sobre a aparência.
Exceto alguns. E esse link também não é um link e não clica!Alina , afinal, era de um círculo diferente e, em geral, todo o resto. Ela era muito bonita : uma morena de olhos azul-acinzentados , testa inclinada , nariz limpo , rosto esculpido , pulsos finos, que balançavam os enfeites mais elegantes que eu já vi na vida. Ela era um corte acima da minha cabeça, sua figura era ... bem, sem brincadeira, legal .
K. Belozyorova, "Um amigo que não é".Ela não era uma das pessoas que subiam no bolso por uma palavra, sua beleza natural e atratividade fascinavam e acenavam. A testa alta estava meio coberta por um estrondo suave , cabelos pretos lisos , brilhando à luz das lâmpadas do bistrô, atingiam os ombros , fluindo suavemente ao longo do gracioso pescoço bronzeado . Seus olhos verdes mostravam um claro interesse em minha pessoa: Alena continuava esfregando a fina ponte do nariz com o dedo indicador da mão direita, o que indicava seu constrangimento. Na minha próxima piada, a garota riu, e isso fez seus lábios sensuais se esticarem em um sorriso, e covinhas apareceram perto dos cantos dos lábios. Eu me peguei pensando que realmente quero que esta noite nunca acabe.
D. Ilyin, "Encruzilhada do Destino".Havia algo misterioso e atraente nela , ela era magra e bonita . Cabelos loiros compridos e levemente encaracolados, feições regulares , olhos azuis muito animados deixavam Lena encantadora . Boris gostou do sorriso malicioso, da boca sensual e da alegria. Tanto sua aparência quanto sua maneira de agir pareciam irresistivelmente atraentes para ela.
A. Bolshakov, "Pária".Era uma mulher muito bonita, com feições afiadas, nariz afiado e queixo esculpido , seu nome não era menos impressionante - Adelaide. Ela saiu para me encontrar em um longo vestido verde-claro, e no peito e nas mãos penduravam numerosos ornamentos étnicos estranhos. "Você pode apenas Ida" , disse ela afável, e os cantos de sua boca fina se separaram assimetricamente. "Que beleza com um toque!", Pensei.
O. Pavlenko, "O Conto das Bruxas".Uma jovem estava de pé na porta da sala ao lado com uma vela nas mãos ... Eu olhei e fiquei impressionada - ela era tão linda com um capuz branco, com os cabelos soltos sobre os ombros. Que característica adorável , apesar de distorcidas pela raiva! Olhos azuis com pupilas dilatadas brilhavam com um brilho sinistro ... A figura é esbelta , flexível.
K. Stanyukovich, "O casal original".E Jacob tinha algo para amar sua jovem: uma mulher - uma mulher trabalhadora, não vazia, nem uma lágrima, uma mulher saudável e bonita . Seu rosto é oblongo , com um nariz reto e fino e com lábios inchados e escarlates . Seus olhos azuis olham abertamente para a luz branca. E acima deles, como um pincel, havia sobrancelhas escuras . Um rubor espesso brilha em suas bochechas bronzeadas .
P. Zasodimsky, "Do arado à arma".Etapa 4. Montando o resultado
Resta coletar Frankenstein e combinar os recursos de maior frequência. Alguns sinais tinham uma frequência muito próxima, então nos permitimos fantasiar um pouco e coletar alguns caracteres.
Os dois primeiros tipos de característica:
Senhora do século 19. VS Senhora do século 21.Era: uma loira alta e magra, com pele muito clara, quase pálida e enormes olhos azuis. Provavelmente, com cachos "espalhados nos ombros". Talvez ela seja mimada, rebelde e um pouco mal-humorada. Aproximadamente o análogo moderno correspondente: uma senhora encaracolada de olhos castanhos, com longos cabelos escuros, lábios carnudos se destacam no rosto bronzeado. Talvez ela seja sedutora e relaxada, mas ao mesmo tempo romântica e vulnerável.
O segundo tipo. Você já está familiarizado com esta imagem:

Era: uma jovem morena de olhos azuis que sorria calorosamente. Muita atenção é dada aos dedos finos e arrumados. Ela é atenciosa, mansa, complacente e até tímida. Muitas vezes ela olha por trás de um cacho. A beleza moderna será diferente. Os olhos azuis ainda são um sinal de beleza junto com os pretos, mas os olhos verdes parecem que antes não estavam lá. Acontece que uma garota jovem, de olhos verdes e ruiva (esse também é um sinal completamente novo!), Com uma boa maquiagem, ela também é esbelta, alta, usa um vestido leve e leve. Ela é otimista, calma e inteligente.
É mais provável que as visualizações mostrem diferenças: os artistas veem minhas matrizes de parâmetros dessa maneira. Fantasias de caráter também emergiram dos epítetos de frequência encontrados nos fragmentos extraídos.
Por que isso é tudo?
Apenas pratique entre projetos. Da mesma maneira, posso procurar por sinais de segredos comerciais em sua correspondência, mesmo que você a descreva de maneira muito velada. Da mesma forma, eu posso monitorar as notícias para procurar eventos específicos ou relacionados à sua empresa. Da mesma forma, eu posso monitorar as menções à marca e dividi-las em categorias por departamento, tonalidade e motivo do contato. Posso analisar aplicativos para suporte técnico de usuários muito inadequados. Posso analisar em qual cidade os diálogos estão sendo conduzidos. Posso definir a plataforma em todos os seus pagamentos de dentro do banco e, para todas as contrapartes do banco, fazer uma lista de produtos manufaturados, uma lista de produtos entregues e entender o que é interessante para o gerente. Em geral, me tema!
Bem, ou eu posso ver qualquer coisa nos textos. Analise descrições de casas e interiores. Encontre efeitos colaterais no medicamento. Descubra que os waffles trituram de alguma forma errados, e o açúcar nos biscoitos não é doce o suficiente. Descubra que as loiras ainda são quase duas vezes mais populares que as morenas, e os olhos azuis não saem de moda. E assim por diante ...
Mas a aplicação prática:
como procuramos sinais de erros médicos .