中国有嘻哈——押韵机器人

押韵机器人简介

近来群里看到有人谈起押韵机器,突然想起好多年前的回忆。

心血来潮写了一个押韵机器人。可以识别韵脚、比较韵脚、词汇列表按韵脚分类。

经测试,目前对多音字支持不好:比如唠嗑,唠叨。这种就识别会出错。欢迎大家继续测试,有问题反馈给我。

拼音识别基于pypinyin库实现,具体用法详见其github

押韵机器人代码

押韵机器人代码文件命名叫“punchliner.py”,代码如下:

from pypinyin import pinyin, lazy_pinyin, Style

words = ["今天","太躁","艾福杰尼","着迷","太绕","心间","限","盛宴","榴莲","亏欠","二百五","腐乳","火锅底料","MC大笑","别跟我唠","我感冒","好不好","太早","住口","兄弟","胸臆","太辣","太大","太炸","我手抖"]

def is_alphabet(uchar):
    rule1 = (uchar >= u‘\u0041‘ and uchar<=u‘\u005a‘)
    rule2 = (uchar >= u‘\u0061‘ and uchar<=u‘\u007a‘)
    if rule1 or rule2:
        return True
    else:
        return False

def get_punchline(word):
    last_character = word[len(word)-1]
    last_character_pinyin = pinyin(last_character)[0][0]
    punchline = []
    for the_char in last_character_pinyin:
        if not is_alphabet(the_char):
            punchline.append(last_character_pinyin.split(the_char)[0])
            punchline.append(the_char)
            punchline.append(last_character_pinyin.split(the_char)[1])
    return punchline

def compare_punchline(word1,word2):
    punchline1 = get_punchline(word1)
    punchline2 = get_punchline(word2)
    prefix1 = punchline1[0]
    prefix2 = punchline2[0]
    #前缀尾字母设定不为空
    prefix1_last_char = ‘x‘
    prefix2_last_char = ‘x‘
    if prefix1 != ‘‘:
        prefix1_last_char = prefix1[len(prefix1)-1]
    if prefix2 != ‘‘:
        prefix2_last_char = prefix2[len(prefix2)-1]
    #前缀先决条件,都是i或都不是i才算押韵
    pre_rule1 = (prefix1_last_char == ‘i‘)
    pre_rule2 = (prefix2_last_char == ‘i‘)
    all_i = (pre_rule1 and pre_rule2)
    all_not_i = ‘i‘ not in [prefix1_last_char,prefix2_last_char]
    if all_i or all_not_i:
        rule1 = punchline1[1] == punchline2[1]
        rule2 = punchline1[2] == punchline2[2]
        if rule1 and rule2:
            return True
        else:
            return False
    else:
        return False

def classify_punchline(words_list):
    target = words_list[0]
    yayun_words = filter(lambda word:compare_punchline(target,word)==True,words)
    yayun_words_list = list(set(yayun_words))
    left_words_list = list(set(words_list)-set(yayun_words_list))
    print(yayun_words_list)
    rule1 = left_words_list != words_list
    rule2 = len(left_words_list) > 0
    if rule1 and rule2:
        classify_punchline(left_words_list)

if __name__ == ‘__main__‘:
    #print(get_punchline("变"))
    #print(get_punchline("案"))
    #print(get_punchline("绕"))
    #print(compare_punchline("安","翻"))
    #print(compare_punchline("变","案"))
    #print(compare_punchline("房","狼"))
    #print(get_punchline("唠"))
    classify_punchline(words)

其中:

1. 函数fuck_yayun可以对词藻列表中的词汇进行判断,把押韵的词汇进行自动归类;

2. 函数get_punchline可以获取词汇韵脚;

3. 函数compare_punchline可以比较韵脚。

希望有朝一日可以像发明AlphaGo一样发明AlphaRapper,让他去参加中国有嘻哈。

运行结果:

时间: 2024-10-13 12:16:01

中国有嘻哈——押韵机器人的相关文章

吴亦凡上中国有嘻哈竟是AI定的!神奇的AI还能干啥?

近日,有消息透露称<中国有嘻哈>节目请吴亦凡当评委是AI算出来的,消息一经流出便引起了一片哗然,AI竟然可以如此神奇? 爱奇艺用AI预测流量 现象级爆款自制综艺<中国有嘻哈>播出后,嘻哈热迅速点燃了全网.燃到爆的嘻哈歌曲成为了观众心中无限单曲循环金曲,吴亦凡的"你有freestyle吗"成了金句,他本人也成了话题人物.然而我们没有想到是,节目组请吴亦凡竟是AI决定的! 这一消息是节目制作方爱奇艺的首席内容官透露出来的,所以来源相当可靠!但为什么是AI计算出来的呢

中国有嘻哈和极限挑战之大数据分析

根据中国有嘻哈和极限挑战的大数据分析,分析得出,在星期日对于极限挑战网友的网络点击率是最高的,正式因为星期日是极限挑战一周一次的播出时间,进而星期日极限挑战的网络点击率比中国有嘻哈多,而前一日,星期六,则是中国有嘻哈比极限挑战的网友点击率高,再一次证实了,在现代社会,大数据的优势和发展前景.

中国新歌声与中国有嘻哈大数据分析

以上这张图是八月份中国新歌声和中国有嘻哈的大数据分析,大部分时间中国有嘻哈的搜索量跟媒体指数都是高于中国新歌声的,由此可以看出,中国有嘻哈在观众的心目中更有影响力,中国有嘻哈的支持度逼中国新歌声高很多.

目前在中国有影响的几种现场总线比较

目前在中国有影响的几种现场总线比较(转载) http://blog.163.com/[email protected]/blog/static/1936511220098135240135/ 一. 现场总线技术的由来 传统的现场级与车间级自动化监控及信息集成系统(包括:基于PC.PLC.DCS产品的分布式控制系统),其主要特点之一是,现场层设备与控制器之间的连接是一对一)一个I/O点对设备的一个测控点)所谓I/O接线方式,信号传递4~20mA(传送模拟量信息)或者VDC(传送开关量信息)信号.

2016年第三届中美(国际)机器人挑战赛下月举办

2016年8月11日-8月14日,中美(国际)机器人挑战赛(简称CRC)将在上海市嘉定体育馆举行.来自中国的40支队伍将和15支国际队伍将参加主题为“攻城略地”的比赛. 本届CRC除了精彩纷呈的比赛之外,在比赛之前,各个队伍将一起在上海市奉贤中专为期一周的创客营里,一起分享,一起学习,一起交流,成为目前国内青少年创客最有“国际范儿”和最受中国社会各界关注的青少年精英创客营.在创客营一周的时间里,所有的队员需要完成队伍组建.完成机器人的设计与制作.进行各种商务合作.在合作过程中,队伍要进行资金募集

中国有哪些伟大的网络产品?

From Quora: https://www.quora.com/What-great-web-products-have-come-out-of-China Question:中国有哪些伟大的网络产品?Hulu的核心产品明显是在中国制造的. Answer from Jiu Ling Chan 中国生物系的学生 这里有另一个伟大的产品叫做豆瓣:http://www.douban.com 豆瓣被认为是中国唯一一个没有抄袭美国人的产品      它有庞大的用户数量,对文化和创意产业有巨大的影响.

源中瑞自动挂单交易机器人软件量化策略交易系统开发

量化交易的使用率非常之高,其可以解决许多因行情波动导致人为因素的错误交易而带来的损失,而如今在数字资产中也被广泛使用.量化交易定义根据源中瑞对量化交易的研究可知,量化交易是指玩家使用计算机技术等方法将自己的操作方式,用很明确的方式去定义和描述,用以协助投资者进行投资决策,并且严格的按照所设定的规则去执行交易策略(买.卖)的交易方式.按照数学模型的理念和对计算机技术的使用的方式,量化交易方式可以进一步细分为自动化交易.数量化交易.程序化交易.算法交易.以及高频交易.自动化交易指将技术分析投资方式固

在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~

不需要额外购买GPS设备. 将手机GPS数据通过蓝牙传输给计算机使用,当然通过类似方法也可以使用手机的三轴陀螺和加速度计. Android Phone: 安装APK:GPS2BT. 1. 2. 3. Ubuntu 14.04 LTS: 1. 安装蓝牙软件.bluez 安装好后,就可以将通过蓝牙将计算机和手机配对. 也可以让计算机通过手机蓝牙上网. 言归正传,添加GPS. 2. 添加蓝牙GPS. ~$ hcitool scan Scanning ... 00:9A:CD:CF:7D:38 ALE-

中国有什么旅游社交网站吗?

用网站来做社交略显过时,几年前人人可以算是一个典型产品.当智能手机成为大部分人的移动标签后,app来做社交就有了天然的优势.当前的旅游社交产品还没有特别突出的,个人认为做得较好的有在路上.蝉游记.面包旅行.行者.spotty和gogobot等,旅游社交可以是熟人之间的分享,也可以是陌生人间的搭讪,既非熟人社交,也不是陌生人社交,姑且定义为兴趣社交.那么旅游社交的一个核心就是将具有共同旅游主题.共同喜爱的目的地的用户聚集到一起,以一种便捷.愉悦的产品实现形式建立沟通和交流平台.在线旅游发展迅速,社