Comment j'ai recherché une norme de beauté à l'aide du traitement du langage naturel (et je ne l'ai pas trouvée)

Il est impossible de mesurer objectivement quelles filles sont les plus belles: blondes ou brunes, basanées ou à peau blanche, grandes ou petites. Mais vous pouvez calculer quelles caractéristiques d'apparence sont mentionnées plus souvent quand elles parlent de beauté.

J'ai eu une semaine pour des expériences, nos moteurs d'analyse de données, 16 mille romans russes et romans du XIXe siècle et 15 mille longs ouvrages modernes. Et, bien sûr, il n'y avait aucune donnée balisée.

L'idée principale était d'extraire des fragments de descriptions de belles femmes de cette montagne de textes, puis d'extraire des lignes de fréquence d'apparition de ces fragments.

Voici une visualisation de ce qui s'est passé. Plus précisément, l'une des options courantes.


La couleur des yeux, des cheveux, de la robe, de la croissance, de l'éducation - tout cela se distingue du corps des textes.

Bien sûr, tout n'est pas aussi simple et sans ambiguïté que dans les figures, mais vous avez déjà reçu une idée approximative. Parlons maintenant des détails et de la séquence des actions.

Corpus de texte


J'ai réussi à trouver des ressources avec une licence ouverte pour la distribution de textes. Merci aux personnes qui ont collecté et publié tout cela.

Le XIXe siècle et le présent ne comprenaient que des textes originaux en russe dans le corps, c'est-à-dire qu'il n'y a pas de littérature traduite.

J'ai fait toute l'analyse en utilisant un tas de bibliothèques SAS Visual Text Analytics et Python (pymorphy2, gensim, tensorflow).

Étape 1. Règles linguistiques


Donc, d'abord, il fallait mettre en évidence des fragments avec des descriptions d'apparence féminine. Il n'y avait pas de données marquées, alors j'ai commencé avec des règles simples dans l'esprit de «fille ET (yeux OU cheveux OU visage)». Les règles ont été écrites dans SAS Visual Text Analytics, afin de prendre en compte les formes morphologiques, les fautes de frappe (pour le cas moderne, elles étaient pertinentes), la syntaxe simple, la distance entre les jetons et les contextes indésirables filtrés.

Règle simplifiée
PREDICATE_RULE: (arg1, arg2, arg3): (UNLESS, "bad_contexts", (SENT_5, "_arg1 {beauty}", "_arg2 {woman}", "_arg3 {traits}")))

En d'autres termes, dans les cinq phrases, il devrait y avoir une mention d'une femme, une mention du fait de son attrait, une description de toute apparence, et il ne devrait pas y avoir de contextes indésirables.

Écrire une telle règle n'est pas difficile, le problème réside dans les détails. Comment, par exemple, collecter toutes les références possibles aux femmes? En effet, dans le texte, il peut s'agir de «maîtresse», et «fille», et «Margarita», et «cousine». Des synonymes simples sont indispensables ici, pas un seul dictionnaire ne donnera «dactylo» ou «étudiant» comme synonyme de «femme». Vous pouvez lister "de la tête", alors qu'il y a assez d'imagination, mais la liste sera incomplète (et c'est ennuyeux).

Pour étendre les règles et rechercher des synonymes contextuels, nous connectons des représentations vectorielles.

Étape 2. Le modèle word2vec


Word2vec est un outil de vectorisation de mots qui est basé sur l'idée de "dites-moi qui est à côté de vous et je dirai qui vous êtes". Par exemple, dans la phrase «Je la ___ à première vue», la plupart remplaceraient le laissez - passer par un mot comme «aimé». L'idée est simple - des mots similaires se trouvent dans des contextes similaires. Pour la langue russe, il existe des modèles pré-formés prêts à l'emploi qui sont affichés ici . L'expérience des projets montre que les modèles formés dans le domaine fonctionnent mieux que les modèles «pour toute la langue», j'ai donc formé deux modèles sur mon corps.

Tout d'abord, elle a brisé le corps avec du python en mots, a amené les mots à la forme initiale (grâce à pymorphy2), extrait des expressions verbeuses de fréquence comme un cousin, la crinière de lion, la taille de guêpe (grâce aux phrases de gensim). Sur les données traitées, j'ai appris le modèle word2vec (algorithme skipgram, fenêtre - 3, dimension - 300).

En utilisant le modèle formé, compilé itérativement des listes de mots similaires. La fonction most_similar dans gensim prend un mot en entrée et renvoie une liste de mots / expressions dont les vecteurs sont proches en cosinus du vecteur du mot d'origine.

Des vecteurs proches du vecteur du mot «beauté» sur l'édifice du 21e siècle. La deuxième valeur est la mesure du cosinus.
(«beauté», 0,6690341234207153)
('jolie', 0,6438576579093933)
('charmant', 0.6156517267227173)
(«fille intelligente», 0,6063219308853149)
('beau', 0,6044491529464722)
(«girly», 0,5829722285270691)
(«aux yeux bleus», 0,5814758539199829)
(«jeune femme», 0,5773882865905762)
(«princesse», 0,5754760503768921)
(«brillant», 0,5743755102157593)
(«blond», 0,5731547474861145)
(«aux yeux bleus», 0,5724368095397949)

Le problème ici était que parmi des vecteurs similaires, des antonymes peuvent se rencontrer, car ils peuvent être dans les mêmes contextes. Par exemple, à l'endroit du col dans l'exemple de «tombé amoureux à première vue», il pourrait bien s'agir de l'antonyme «détesté à première vue». Dans notre cas, par exemple, le vecteur «jeune homme» est le plus proche du mot «fille», et seulement après il vient «femmes», «dames», etc. Le problème des antonymes a été résolu simplement par sélection manuelle. Mais il y avait peu d'antonymes, donc cela a pris un peu d'effort.

Soit dit en passant, il est amusant que des mots similaires à ceux d'une femme du XIXe siècle soient toutes sortes de concepts familiaux (fille, sœur, cousine) ou de professions de service (femme de chambre, femme de chambre, cuisinière), statut social par mari (amiral, général, baronne). Au 21e siècle, le spectre s'élargit: il y a un étudiant, un camarade de classe, un athlète, un assistant de laboratoire, un membre du Komsomol, un traducteur et un leader.

Femmes du XIXe siècle:
Katerina
Katya
Claudia
Clotilde
princesse
princesse
coquette
chaperon
infirmière
la beauté
paysanne
dentellière
cousin
chrysalide
kumushka
femme marchande
cuisiner

Femmes du XXIe siècle:
Karen
Karina
caissier
Katerina
Katrina
Katka
Katya
locataire
Kira
Clara
client
coquette
Membre du Komsomol
la reine
la beauté
la beauté
Christina
Ksenia
Ksenia
cousin

Utilisé le même principe pour étendre les règles restantes.

Par exemple, pour extraire des contextes capillaires:
crinière
boucler
vadrouille
faux
queue de cochon
boucles
cheveux bouclés
boucler
coiffure
verrouiller
verrouiller
poutre
coupe de cheveux
une frange
coup
cheveux
queue
queue de cheval

Étape 3. Contextes indésirables


Donc, j'ai de longues règles détaillées qui réussissent à saisir une description de l'apparence, mentionnant une femme et mentionnant le fait de son attrait. Je prescrit des restrictions évidentes dans les règles linguistiques: il faut prendre en compte les négatifs, les modalités, l'humeur conditionnelle pour que les contextes tels que «pas distingué par la beauté», «loin de la beauté» ne soient pas pris en compte.

C'est ce dont nous n'avons pas besoin.
Dans sa jeunesse, elle n'était pas du tout une beauté, mais plutôt une fille bien nourrie avec un nez de canard large. Elle était très inquiète pour son nez, et selon les histoires de ses sœurs, elle dormait souvent avec une pince à linge en bois sur le nez pour le rétrécir de cette façon.
P. Rebenina, «Malheureux Zinka».

De plus, étonnamment souvent, les auteurs parviennent à décrire des personnages généralement répulsifs qui ont une touche agréable. Ces contextes sont difficiles à gérer, ils peuvent faire du bruit, alors je les supprime simplement de la considération.

Maintenant, j'ai entre les mains des fragments de textes avec un balisage basé sur des règles et des représentations vectorielles. Bien qu'il ait fallu quelques jours pour clarifier les règles, les contextes trouvés contiennent une erreur, ce qui me convient assez bien pour cette tâche. Par exemple, certaines descriptions de l'apparence n'ont pas été extraites en raison du fait que la femme ou l'homme en question n'est pas clair: "Vali avait des yeux gris-bleu se cachant sous les fines lunettes." En principe, cette ambiguïté pourrait être résolue sur la base d'un plus grand fragment du texte, mais je n'avais qu'une semaine, alors j'ai laissé toutes les inexactitudes à attendre dans les coulisses.
Voici le balisage.

Des exemples d'analyse, le contexte est mis en évidence en gras , soulignant les faits sur l'apparence. Sauf certains. Et ce lien n'est pas non plus un lien et ne clique pas!
Alina , après tout, venait d'un cercle différent, et en général de tout le reste. Elle était très belle : une brune aux yeux gris-bleu , un front en pente , un nez net , un visage ciselé , des poignets fins, qui balançaient les boules les plus stylées que j'aie jamais vues de ma vie. Elle était une coupure au-dessus de ma tête, sa silhouette était ... enfin, sans blague, cool .
K. Belozyorova, «Un ami qui n'est pas».

Elle n'était pas de ceux qui grimpent dans sa poche pour un mot, sa beauté naturelle et son attrait fasciné et fait signe. Le front haut était à moitié couvert par une frange lisse , des cheveux noirs lisses , brillants à la lumière des lampes de bistrot, atteignaient les épaules , coulant doucement le long du cou bronzé gracieux. Ses yeux verts montraient un intérêt évident pour ma personne: Alena continuait de frotter le pont nasal fin avec l'index de sa main droite, ce qui indiquait son embarras. À ma prochaine plaisanterie, la fille a ri, ce qui a fait s'étirer ses lèvres sensuelles en un sourire et des fossettes sont apparues près du coin de ses lèvres. Je me suis surpris à penser que je voulais vraiment que cette soirée ne se termine jamais.
D. Ilyin, «Carrefour du destin».

Il y avait quelque chose de mystérieux et d'attirant en elle , elle était mince et jolie . De longs cheveux blonds légèrement bouclés, des traits réguliers , des yeux bleus très vifs ont rendu Lena charmante . Boris aimait son sourire malicieux, sa bouche sensuelle, sa gaieté. Son apparence et sa manière de tenir lui semblaient irrésistiblement attirantes .
A. Bolshakov, «Outcast».

C'était une très belle femme avec des traits pointus, un nez pointu et un menton ciselé , son nom n'était pas moins impressionnant - Adélaïde. Elle est sortie me rencontrer dans une longue robe vert vif, et sur sa poitrine et ses mains pendaient de nombreux ornements ethniques bizarres. "Tu peux juste Ida," dit- elle avec affabilité, et les coins de sa bouche mince se séparèrent de manière asymétrique. "Quelle beauté avec une touche!" J'ai pensé.
O. Pavlenko, «Le conte des sorcières».

Une jeune femme se tenait à la porte de la pièce voisine avec une bougie dans les mains ... J'ai regardé et j'ai été étonnée - elle était si belle dans une capuche blanche, avec ses cheveux lâches sur ses épaules. Quel joli trait , malgré le fait qu'ils étaient déformés par la colère! Les yeux bleus aux pupilles dilatées brillaient d'un éclat inquiétant ... La silhouette est élancée , souple.
K. Stanyukovich, «Le couple originel».

Et Jacob avait quelque chose à aimer sa jeune femme: une femme - une femme travailleuse, pas vide, pas une larme, une femme saine et belle . Son visage est oblong , avec un nez droit et fin et des lèvres rouges et gonflées . Ses yeux bleus regardent ouvertement la lumière blanche. Et au-dessus d'eux, comme un pinceau, se tenaient des sourcils sombres . Une rougeur épaisse joue sur ses joues bronzées .
P. Zasodimsky, "De la charrue au pistolet."

Étape 4. Assemblage du résultat


Il reste à collecter Frankenstein et à combiner les fonctionnalités les plus fréquentes. Certains signes avaient une fréquence très proche, nous nous sommes donc permis de fantasmer un peu et de collecter quelques personnages.

Les deux premiers types de trait:


Dame du XIXe siècle VS Dame du XXIe siècle.

C'était: une blonde grande et mince avec une peau très claire, presque pâle et de grands yeux bleus. Très probablement, avec des boucles "éparpillées sur les épaules". Peut-être qu'elle est choyée, capricieuse et un peu lunatique. Approximativement l'analogue moderne correspondant: une femme aux yeux bruns bouclés avec de longs cheveux noirs, des lèvres charnues se détachent sur un visage bronzé. Peut-être qu'elle est séduisante et détendue, mais en même temps romantique et vulnérable.

Le deuxième type. Vous connaissez déjà cette image:



C'était: une jeune brune tendre aux yeux bleus qui sourit chaleureusement. Une grande attention est accordée aux doigts fins et soignés. Elle est réfléchie, douce, docile, même timide. Souvent, elle regarde derrière une boucle. La beauté moderne sera différente. Les yeux bleus sont toujours un signe de beauté avec les noirs, mais les yeux verts semblent qui auparavant n'étaient pas là du tout. Il s'avère qu'une jeune, aux yeux verts, aux cheveux roux (c'est aussi un signe complètement nouveau!) Fille, avec un bon maquillage, elle est également mince, grande, porte une robe légère et légère. Elle est optimiste, calme et intelligente.

Les visualisations sont plus susceptibles de montrer des différences: les artistes voient mes tableaux de paramètres de cette façon. Des fantasmes de caractère ont également émergé des épithètes de fréquence trouvées dans les fragments extraits.

Pourquoi tout cela?


Entraînez-vous simplement entre les projets. De la même manière, je peux rechercher des signes de secrets commerciaux dans votre correspondance, même si vous la décrivez de manière très voilée. De la même manière, je peux suivre l'actualité pour rechercher des événements spécifiques ou liés à votre entreprise. De la même manière, je peux suivre les mentions de marque et les répartir en catégories par département, tonalité et motif de contact. Je peux analyser les applications d'assistance technique d'utilisateurs très inadéquats. Je peux analyser dans quelle ville quels dialogues se déroulent. Je peux configurer la plateforme pour tous vos paiements depuis l'intérieur de la banque et pour toutes les contreparties de la banque faire une liste de produits fabriqués, une liste de produits livrés et comprendre ce qui est intéressant pour le manager. En général, craignez-moi!

Eh bien, ou je peux juste voir n'importe quoi dans les textes. Analyser les descriptions des maisons et des intérieurs. Trouvez des effets secondaires sur le médicament. Découvrez que les gaufres croquent d'une manière ou d'une autre et que le sucre dans les biscuits n'est pas assez sucré. Découvrez que les blondes sont encore presque deux fois plus populaires que les brunes, et les yeux bleus ne se démodent pas. Et ainsi de suite ...

Mais l'application pratique: comment nous avons cherché des signes d'erreurs médicales .

Source: https://habr.com/ru/post/fr472490/


All Articles