转眼间又快到春节了,去年的春节由于疫情原因促生了云拜年,经过众多白衣天使的艰苦奋战,今年春节整体环境好了很多,但疫情防控仍然不能松懈。
春节期间免不了给七大姑八大姨拜年的传统习俗,在中国的亲戚的关系"错综复杂",有时候一些亲戚该怎么称呼可能都不太清楚。这时,机智的程序员创造出了亲戚关系计算器。
具体的实现方式与思想可参考:
https://www.jianshu.com/p/74290f1ae838
https://zhuanlan.zhihu.com/p/
| 符号 | 全称 | 含义 | 符号 | 全称 | 含义 |
|---|---|---|---|---|---|
| f | father | 父亲 | xb | x brother | 兄弟 |
| m | mother | 母亲 | ob | older brother | 哥哥 |
| h | husband | 丈夫 | lb | little brother | 弟弟 |
| w | wife | 妻子 | xs | x sister | 姐妹 |
| s | son | 儿子 | os | older sister | 姐姐 |
| d | daughter | 女儿 | ls | little sister | 妹妹 |
| 符号 | 含义 | 符号 | 含义 |
|---|---|---|---|
| 1 | 男性 | 0 | 女性 |
| &o | 年长 | &l | 年幼 |
| # | 隔断 | [a|b] | 并列 |
通过观察"关系链-称呼"(_data变量),不难发现以w开头的关系,其性别sex都是男性(妻子的…),而以h开头的关系,其性别sex都是女性(丈夫的…)。
selectors = self.get_selectors(gx.strip()) result = [] # 匹配结果 for s in selectors: # 遍历所有可能性 # 根据关系,简单推断当前人的性别 if sex == -1: if re.search(r'[,]h', s): sex = 0 elif re.search(r'[,]w', s): sex = 1
讯享网
另外,还发现关系链简化过程中,正则匹配的顺序会影响最终的关系推断,需要注意。
目前修改后的亲戚关系计算器已集成到个人公众号【NLPer笔记簿】,欢迎关注体验~
讯享网【找称呼1】老婆的妈妈 我可能称呼对方:岳母 对方可能称呼我:女婿 【找称呼0】老公的妈妈 我可能称呼对方:婆婆 对方可能称呼我:儿媳妇 【找称呼1】老公的妈妈 抱歉!未找到相关称呼~ 【查关系1】岳母 我与对方的关系:老婆的妈妈 【查关系0】婆婆 我与对方的关系:老公的妈妈 【查关系1】婆婆 抱歉!未找到相关关系~
【找称呼】的输出结果为我可能称呼对方及对方可能称呼我,由于性别及年龄的不确定性,输出可能会存在多个称呼。
【查关系】的输出结果为我与对方的关系,同样输出结果可能存在多种关系。
对于抱歉!未找到相关称呼~和抱歉!未找到相关关系~说明无结果输出。
以上面例子中【找称呼1】老公的妈妈来说,男性(1表示我是男性)是没有老公这一说的。同理,【查关系1】婆婆中,男性(1表示我是男性)也是没有婆婆这一说的。因此,无结果输出。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/53380.html