【NLP自然语言处理】智能续话小程序

简介: 【NLP自然语言处理】智能续话小程序

@TOC


# 代码 ```python # -*-coding:utf-8-*- import time from keras_preprocessing.sequence import pad_sequences start = time.time() import tensorflow as tf from tensorflow import keras from tensorflow.keras.preprocessing.text import Tokenizer import numpy as np import tensorflow.keras.layers as layers; tokenizer = Tokenizer() # 要学习的语句 data = "Please forgive me for falling in love with you.\n" \ "Forgive me for loving you with all my heart.\n" \ "Forgive me for never wanting to be apart.\n" \ "Two star-crossed lovers in perfect harmony Just give me a chance and you will agree.\n" \ "I was meant for you.\n" \ "And you were meant for me." print(data) corpus = data.split("\n") print("---------------------------------------------------") print(corpus) tokenizer.fit_on_texts(corpus) total_words = len(tokenizer.word_index)+1 input_seq = [] for line in corpus: token_list = tokenizer.texts_to_sequences([line])[0] for i in range(1,len(token_list)): n_gram_seq = token_list[:i+1] input_seq.append(n_gram_seq) max_seq_len = max([len(x) for x in input_seq]) # 前置0填充 input_seq = np.array(pad_sequences(input_seq,maxlen=max_seq_len,padding='pre')) print("---------------------------------------------------") print(input_seq) # 特征和标签的划分 xs = input_seq[:,:-1] label = input_seq[:,-1] # 将标签转化为one-hot独热编码 ys = tf.keras.utils.to_categorical(label,num_classes=total_words) # 模型 model = keras.Sequential() model.add(layers.Embedding(total_words,240,input_length=max_seq_len-1)) model.add(layers.Bidirectional(layers.LSTM(150))) model.add(layers.Dense(total_words,activation='softmax')) adam = keras.optimizers.Adam(lr=0.01) model.compile(loss="categorical_crossentropy",optimizer=adam,metrics=['accuracy']) # 开始训练 history = model.fit(xs,ys,epochs=50,verbose=1) # 测试 test_text = "I want to" next_words = 20 for _ in range(next_words): token_list = tokenizer.texts_to_sequences(([test_text]))[0] token_list = pad_sequences([token_list],maxlen=max_seq_len-1,padding='pre') predicted = model.predict_classes(token_list,verbose=0) # print(tokenizer.word_index.items()) output_word = "" for word,index in tokenizer.word_index.items(): if index == predicted: output_word = word test_text = (test_text + " " + output_word) break print(test_text) print("共用时:",(time.time()-start),"秒") ```
# 效果展示 - I want to … I want to meant for you with all my heart 我想全心全意为你着想 - I hate you … I hate you were meant for me for never wanting to be apart 我恨你是我命中注定永远不想分开的 - I want to eat … I want to eat star crossed lovers in perfect harmony just give me a chance 我想要完美和谐吃着满天星的恋人给我一个机会
目录
相关文章
|
1月前
|
自然语言处理 索引
大模型开发: 解释自然语言处理(NLP)中的词嵌入。
**词嵌入技术在NLP中将文本转为数值表示,捕获词汇的语义和语法关系。过程包括:词汇索引、训练嵌入矩阵(如Word2Vec、GloVe、BERT)、文本向量化及向量输入到NLP模型(如情感分析、命名实体识别)。词嵌入是连接文本与机器理解的关键桥梁。**
29 2
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(NLP自然语言处理概念介绍)
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(NLP自然语言处理概念介绍)
48 0
|
30天前
|
机器学习/深度学习 数据采集 人工智能
自然语言处理(NLP)全面指南
自然语言处理(NLP)全面指南
36 1
|
10天前
|
存储 机器学习/深度学习 自然语言处理
R语言自然语言处理(NLP):情感分析新闻文本数据
R语言自然语言处理(NLP):情感分析新闻文本数据
24 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
自然语言处理(Natural Language Processing, NLP)中的情感分析
自然语言处理(Natural Language Processing, NLP)中的情感分析
43 3
|
1月前
|
机器学习/深度学习 自然语言处理 语音技术
自然语言处理(NLP)中的语言模型
自然语言处理(NLP)中的语言模型
28 1
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术在自然语言处理领域中实现情感分析。通过介绍情感分析的背景和原理,结合深度学习模型如LSTM、BERT等的应用,帮助读者了解情感分析的重要性以及如何利用最新技术实现更准确的情感识别。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
23 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术,特别是神经网络模型,来实现自然语言处理领域中的情感分析任务。通过结合深度学习算法和大规模文本数据集,可以实现更准确和高效的情感分析,为情感识别和情感推断提供更好的解决方案。
|
1月前
|
机器学习/深度学习 自然语言处理
自然语言处理技术(NLP)
自然语言处理技术(NLP)
41 1