【免费AI舆情接口】基于NLP的舆情分析开发-NLP技术打造更快更准的舆情分析

作为开发人员,最喜欢的就是捣腾技术。

最近几年,AI发展迅速,未来的趋势已定,做好技术储备,最为重要。话不多说,直接看效果。

地址:http://xingship.com/

入口:

预训练模型地址:https://github.com/Embedding/Chinese-Word-Vectors/blob/master/README_zh.md

它是由北京师范大学中文信息处理研究所与中国人民大学DBIIR实验室共同整理的,有很多模型,觉得还不错。

预料饲料呢,就爬取了某旅游网站的酒店评论数据。

使用词向量的模式,交叉熵损失函数,sigmoid,jieba分词。

以下为导入的包:

import os
import re
import sys
import warnings

import jieba
import matplotlib.pyplot as plt
import numpy as np
from gensim.models import KeyedVectors
from sklearn.model_selection import train_test_split
from tensorflow import keras
import tensorflow as tf
from tensorflow.python.keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau
from tensorflow.python.keras.layers import Dense, Embedding, LSTM, Bidirectional
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.optimizers import Adam
from tensorflow.python.keras.preprocessing.sequence import pad_sequences

使用keras的回调:


# 使用keras回调函数来调整训练过程中出现的偏差
def call_back():
    # 建立一个权重的存储点
    path_check_point = 'qingan/my_checkpoint.keras'
    # 在训练之后,保存权重数值。当val_loss发生改变时触发保存 且打印进度
    check_point = ModelCheckpoint(filepath= path_check_point, monitor='val_loss',
                                  verbose= 1 ,save_weights_only=True, save_best_only=True)

    # 定义early stopping 如果3个epoch validation loass 没有改善则停止训练 且打印进度
    early_stopping = EarlyStopping(monitor='val_loss', patience=3,verbose=1)

    # 自动降低学习率 且打印进度
    lr = ReduceLROnPlateau(monitor='val_loss',factor=0.1,min_lr=0.000001,patience=0,verbose=1)

    return check_point,early_stopping,lr

使用三层神经网络:

model = Sequential()

    model.add(Embedding(number_words,embedding_num,weights=[create_embedding_matrix(cn_model)],
                        input_length=tokenizer_len, trainable= False)) # 不让模型训练Embedding层
    model.add(Bidirectional(LSTM(units=64,return_sequences=True))) # 添加 双向LSTM层 32 单元,且每一层都返回sequences
    model.add(LSTM(units=64, return_sequences=False)) # 单向
    model.add(Dense(1, activation="sigmoid"))

    # 使用adam 以0.001的学习率进行优化
    op = Adam(lr=0.001)
    model.compile(loss=loss_function,optimizer=op,metrics=[accuracy])
    model.summary()

    check_point,early_stopping,lr = call_back()
    my_call_back = [early_stopping,check_point,lr]

主要是穷,买不起显卡。

看效果:

以后有时间可以详细记录,有事要出去了。目前接口,可以免费使用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值