基于seq2seq的SKchat语言模型

SKchat语言模型是由小思框架开放的中文语言模型,基于seq2seq以及word2vec。

基于seq2seq的SKchat语言模型_第1张图片 v3模型的对话功能界面~

 在代码方面,我们优化了seq2seq算法,降低了内存的占用,并构建了新的模型。

        while True:
            model.fit([x_encoder, x_decoder], y, batchsize, 1, verbose=1,)

            """解码模型"""
            decoder_h_input = Input(shape=(units,))  # 解码器状态输入层h
            decoder_c_input = Input(shape=(units,))  # 解码器状态输入层c
            decoder_output, decoder_h, decoder_c = decoder_lstm(
                decoder_input, initial_state=[decoder_h_input, decoder_c_input])  # 解码器LSTM输出
            decoder_output = decoder_dense(decoder_output)  # 解码器输出
            model_decoder = Model([decoder_input, decoder_h_input, decoder_c_input],
                                  [decoder_output, decoder_h, decoder_c])  # 【解码模型】
            try:
                model.save(path_hdf5)
                model_encoder.save(path_hdf5_encoder)
                model_decoder.save(path_hdf5_decoder)
            except:
                print('SaveError')

模型没有指定的迭代次数,实时训练并保存,在5个epochs时:loss:1.23   acc:0.921 

SKchat的滑窗大小最大支持1024,每次预测一个字,v1生成100个字大约需要12s,v2大约17s,v3使用了多进程、分布式运算,最快为4s。

优缺点:

SKchat-v2 SKchat-v3
数据来源 tiktok以及抖音的评论、github、维基百科、csdn问答等 网文小说
注重 各种功能,如:写代码,写新闻... 对话的情感与自然度

在测试中发现,SKchat-v3的文本分析速度较慢,原文的长度会严重影响出结果的速度。但对SKchat-v2的速度影响不大。

SKchat语言模型简略版体验(暂不支持联系对话)

软件版,支持连续对话(不太擅长软件开发,用了coco临时顶替一下)

你可能感兴趣的:(语言模型,人工智能,自然语言处理)