我如何使用自然语言处理搜索美容标准(但没有找到)

客观地衡量哪个女孩更漂亮是不可能的:金发或黑发,黝黑或白皙的皮肤,高大或娇小。 但是,您可以计算出在谈论美丽时经常提及哪些外观特征。

我有一个星期的实验时间,我们的数据分析引擎,1.6万本俄罗斯小说和十九世纪小说以及1.5万本现代长篇小说。 而且,当然,没有标签数据。

主要思想是从这大量文本中提取关于美女的描述片段,然后从这些片段中提取出现频率的线条。

这是发生的情况的可视化。 更准确地说,是常见的选择之一。


眼睛,头发,衣服,生长,受教育的颜色-所有这些都可以与文本正文区分开。

当然,并不是所有的事情都像图中那样简单明了,但是您已经有了一个大概的主意。 现在,让我们讨论一下操作的细节和顺序。

文本语料库


我设法找到了具有开放许可的文本分发资源。 感谢那些收集并发布所有这些信息的人。

在19世纪和现在,军团中仅包括原始的俄文文字,也就是说,没有翻译的文学作品。

我对一堆SAS Visual Text Analytics和Python库(pymorphy2,gensim,tensorflow)进行了所有分析。

步骤1.语言规则


因此,首先,有必要突出显示女性形象的片段。 没有明显的数据,因此我本着“女孩AND(眼睛或头发或脸部)”的原则从简单的规则开始。 这些规则是用SAS Visual Text Analytics编写的,因此它们考虑了形态形式,错别字(在现代情况下是相关的),简单语法,标记之间的距离以及过滤掉的不需要的上下文。

简化规则
PREDICATE_RULE:(arg1,arg2,arg3):(除非,“ bad_contexts”,(SENT_5,“ _ arg1 {beauty}”,“ _ arg2 {woman}”,“ _ arg3 {traits}”)))

换句话说,在这五个句子中,应该提到一个女人,一个女人的吸引力,描述任何外表,并且不应有任何不希望的上下文。

编写这样的规则并不困难,问题出在细节上。 例如,如何收集所有可能提及女性的信息? 确实,在文本中,它可以是“情妇”,“女孩”,“玛格丽塔”和“堂兄”。 简单的同义词在这里是必不可少的,没有一个词典会给出“ typist”或“ student”作为“ woman”的同义词。 您可以“从头开始”列出列表,尽管有足够的想象力,但是列表将不完整(而且很无聊)。

为了扩展规则并搜索上下文同义词,我们连接了向量表示。

步骤2. word2vec模型


Word2vec是一个单词矢量化工具,其基于“告诉我谁站在你旁边,我会告诉你你是谁”的思想。 例如,在“我见她一见钟情”一句中,大多数人会用“喜欢”一词代替通行证 。 这个想法很简单-在相似的上下文中可以找到相似的单词。 对于俄语,这里发布了现成的预训练模型。 项目经验表明,在主题领域训练的模型比“针对整个语言”的模型效果更好,因此我在自己的身体上训练了两个模型。

首先,她用python将军团分解为单词,将单词恢复为初始形式(感谢pymorphy2),提取了表亲,狮子的鬃毛,黄蜂腰部等频率冗长的表达(感谢gensim的短语)。 在处理的数据上,我学习了word2vec模型(跳过图算法,窗口-3,维度-300)。

使用训练好的模型,迭代编译相似单词的列表。 gensim中的most_like函数将一个单词作为输入,并返回单词/表达式的列表,其向量的余弦量与原始单词的向量接近。

与21世纪建筑物上的“美容”一词的向量接近的向量。 第二个值是余弦量度。
(“美容”,0.6690341234207153)
(“漂亮”,0.6438576579093933)
(“迷人”,0.6156517267227173)
(“聪明的女孩”,0.6063219308853149)
(“帅”,0.6044491529464722)
(“女孩”,0.5829722285270691)
(“蓝眼睛”,0.5814758539199829)
(“年轻女士”,0.5773882865905762)
(“公主”,0.5754760503768921)
(“明亮”,0.5743755102157593)
(“金发”,0.5731547474861145)
(“蓝眼睛”,0.5724368095397949)

这里的问题是,在相似的向量中,反义词可能会遇到,因为它们可能在相同的上下文中。 例如,在有关“一见钟情”的示例中,通行证的地方很可能是反义词“一见钟情”。 例如,在我们的案例中,矢量“年轻人”最接近单词“女孩”,并且仅在出现“妇女”,“女士”等之后。反义词的问题仅通过手动选择即可解决。 但是反义词很少,因此花费了一些精力。

顺便说一句,有趣的是,与19世纪的女人类似的词语是各种各样的家庭观念(女儿,姐姐,表妹)或服务职业(女仆,女佣,厨师),丈夫的社会地位(海军上将,将军,男爵夫人)。 在21世纪,范围不断扩大:这里有学生,同学,运动员,实验室助理,Komsomol成员,翻译和领导人员。

十九世纪的女性:
卡特琳娜
卡佳
克劳迪娅
克洛蒂德
公主
公主
蜂鸟
伴侣分子
护士
美女
农妇
花边机
表亲
ch
库穆什卡
商人女人
做饭

二十一世纪的女性:
卡伦
卡琳娜
收银员
卡特琳娜
卡特里娜飓风
卡特卡
卡佳
房客
基拉
克拉拉
客户
蜂鸟
Komsomol成员
女王
美女
美女
克里斯蒂娜(Christina)
克塞尼亚
克塞尼亚
表亲

使用相同的原理来扩展其余规则。

例如,要提取头发上下文:
鬃毛
卷曲
拖把
镰刀
辫子
卷发
卷发
卷曲
发型


横梁
理发
刘海
bang

尾巴
马尾辫

步骤3。不需要的上下文


因此,我有很长的详细规定,可以很成功地捕捉到对外貌的描述,提到一个女人,并提到她的魅力。 我在语言规则中规定了明显的限制:必须考虑否定性,情态,条件性情绪,以免出现诸如“不被美区分”,“远非美”之类的语境。

这是我们不需要的。
在她的青年时期,她根本不是美人,而是一个鸭嘴宽的饱足的女孩。 她非常担心自己的鼻子,根据姐妹们的故事,她经常用木制衣夹在鼻子上睡觉,以这种方式收窄鼻子。
P. Rebenina,“不幸的辛卡”。

此外,出人意料的是,作者常常设法描述具有一种良好触感的一般排斥字符。 这些环境很难处理,会产生噪音,因此我将其从考虑中删除。

现在,我手中有了基于规则和矢量表示的带有标记的文本片段。 尽管花了几天的时间来澄清规则,但是找到的上下文有错误,非常适合我完成此任务。 例如,由于不清楚所讨论的女人或男人的事实,因此未提取某些外观描述:“瓦利(Vali)的灰蓝色眼睛藏在稀薄的眼镜下”。 原则上,可以在较大的文本片段的基础上解决这种歧义,但是我只有一个星期的时间,因此我将所有的不准确之处都保留下来。
这是标记。

解析示例中,上下文以粗体突出显示 ,下划线是有关外观的事实。 除了一些。 而且此链接也不是链接,也不会单击!
毕竟, 阿丽娜(Alina )来自不同的圈子,总的来说,其他一切都来自。 非常漂亮 :一个有着灰蓝色眼睛黑发 ,一个倾斜的额头 ,一个整齐的鼻子 ,一个轮廓分明的脸庞 ,纤细的手腕,这是我一生中见过的最时尚的小玩意。 头上的伤口 ,她的身材是……好吧,没有开玩笑, 很酷
K. Belozyorova,“不是朋友”。

不是一个能随便说一个字的人, 她的 自然美吸引力着迷并招手。 高高的额头被 光滑的刘海光滑的黑发覆盖着一半,在小酒馆的灯光下闪闪发亮, 到达了肩膀 ,沿着优雅的古铜色的脖子轻轻地流动。 她的 绿色眼睛对我的人表现出明显的兴趣: Alena一直用右手的食指摩擦鼻梁,这表明很尴尬。 在我的下一个笑话中, 女孩笑了,这使她的性感双唇张开,露出微笑, 酒窝出现在唇角附近。 我陷入困境,以为我真的希望今晚永远不会结束。
D. Ilyin,“命运的十字路口”。

有一种神秘而迷人的东西, 苗条 漂亮长长的金色卷发,有规律的特征 ,非常活泼的蓝眼睛使Lena迷人 。 鲍里斯(Boris)喜欢她调皮的微笑,感性的嘴巴和欢乐。 她的外表和举止对她似乎都具有不可抗拒的吸引力
A. Bolshakov,“流放者”。

她是一个非常美丽的女人,有着鲜明的特征,锋利的鼻子下巴轮廓 ,她的名字同样令人印象深刻-阿德莱德。 穿着一条长长的鲜绿色的裙子出去见我,胸部和双手上挂着许多奇特的民族饰品。 “你可以爱达,” 和aff地说道, 稀薄的嘴角不对称地分开。 我想:“真是太美了!”
O. Pavlenko,“女巫的故事”。

一个年轻的女人站在隔壁房间的门上,手里拿着蜡烛……我看了一下,很惊讶-她戴着白色头巾真漂亮头发在肩膀上松散 。 尽管他们被愤怒扭曲了,但真是一个可爱的特征 ! 瞳孔散大的蓝眼睛闪耀着不祥的光彩。这个身材苗条 ,富有弹性。
K. Stanyukovich,“原始夫妻”。

雅各有一个爱他的年轻女人的东西:一个女人 -一个勤奋的女人 ,不空虚,不滴泪, 一个健康美丽的 女人 。 她的脸是 长方形的鼻子笔直,瘦弱 ,嘴唇红肿 。 她的蓝眼睛睁开眼睛凝视着白光。 在他们上面,像刷子一样,留着黑眉毛 。 她晒黑的脸颊泛着浓密的腮红
P. Zasodimsky,“从犁到枪”。

步骤4.组装结果


它仍然可以收集科学怪人并结合大多数频率特征。 一些标志的频率非常接近,因此我们允许自己幻想一些并收集一些字符。

前两种类型的特征:


VS 19世纪女士。

那是:一个又高又瘦的金发女郎,有着非常白皙,几乎苍白的皮肤和巨大的蓝眼睛。 很有可能带有“散落在肩膀上”的卷发。 也许她被宠爱,任性和一点喜怒无常。 近似于相应的现代类似物:卷曲的棕色眼睛女士,有一头乌黑的长发,丰满的嘴唇在晒黑的脸上突出。 也许她轻浮轻松,但同时又浪漫又脆弱。

第二种。 您已经熟悉此图片:



那是:一个年轻而温柔的蓝眼睛黑发,热情地微笑着。 整齐细细的手指非常受关注。 她体贴,温顺,顺从,甚至害羞。 她常常从卷发后面看。 现代之美将有所不同。 蓝眼睛和黑眼睛仍然是美丽的标志,但绿眼睛看上去以前根本不存在。 事实证明,一个年轻的绿眼睛的红发女孩(这也是一个全新的迹象!)女孩,妆容好,身材苗条,高大,穿着轻便的衣服。 她乐观,镇定和聪明。

可视化更有可能显示差异:艺术家以这种方式看到我的参数数组。 从提取的片段中发现的频率词也出现了幻想。

为什么这一切呢?


只是在项目之间练习。 同样,即使您以非常遮遮掩掩的方式描述,我也可以在您的信件中寻找商业秘密的迹象。 同样,我可以监视新闻以查找特定事件或与贵公司有关的事件。 同样,我可以监控品牌提及,并按部门,语调和联系原因将其分为几类。 我可以从非常不足的用户那里解析应用程序以获得技术支持。 我可以分析在哪个城市进行哪些对话。 我可以为您从银行内部的所有付款设置平台,并为银行的所有交易对手列出制成品清单,已交付产品清单,并了解经理感兴趣的内容。 总的来说,怕我!

好吧,或者我什么都看不到。 分析房屋和室内装饰的描述。 查找药物的副作用。 发现华夫饼干因某种原因嘎吱作响,并且饼干中的糖不够甜。 发现金发仍然是黑发的两倍,而蓝眼睛也不会过时。 依此类推...

但是实际应用: 我们如何寻找医疗错误的迹象

Source: https://habr.com/ru/post/zh-CN472490/


All Articles