import logging
from logging import NullHandler
log = logging.getLogger(__name__)
log.addHandler(NullHandler())
from corpussrc import DoubanCorpus
from gensim import corpora, models, similarities
from cleaner import StopWordFilter
def test_lsi_query(dictionary, lsi, index):
teststr = u'哈哈有个评论太可爱了,你们知道吴京有多努力吗?不过打一星是看新闻气的。'
filter = StopWordFilter()
vec_bow = dictionary.doc2bow(filter.transform(jieba.cut(teststr)))
vec_lsi = lsi[vec_bow]
sims = index[vec_lsi]
sims = sorted(enumerate(sims), key=lambda item: -item[1])
log.warn(sims)
def test_deep_learning():
# size:特征向量的维度 window:上下文相关环境的长度 min_count:最小词频率 workers:进程数
model = models.Word2Vec(DoubanCorpus('tbDoubanReview'), size=100, window=5, min_count=5, workers=4)
model.wv[u'吴京']
model.wv.most_similar(positive=['woman', 'king'], negative=['man'])
# 语料-》词典->bow->model->similar
# 基本思路:向量化、比较向量
def testapi():
dictionary = corpora.Dictionary(DoubanCorpus('tbDoubanReview'))
log.warn(dictionary.token2id)
docs = DoubanCorpus('tbDoubanReview')
# bow格式[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1), (9, 1), (10, 1)], [(11, 1), (12, 1)]
# 每个元组的含义是 字典中的id,本文档含有的次数, 只存储本文档含有的词汇
corpus = []
for docwords in docs:
log.warn(docwords)
corpus.append(dictionary.doc2bow(docwords))
log.warn(corpus) # 1、bow
tfidf = models.TfidfModel(corpus) # 2、bow ->tfidf
# [(4, 0.447213595499958), (5, 0.447213595499958), (6, 0.447213595499958), (7, 0.447213595499958), (8, 0.447213595499958)]
# 体现每个词的重要性,数值越大,越重要
corpus_tfidf = tfidf[corpus]
for doc in corpus_tfidf:
log.warn(doc)
# 3、lsi 模型, 使用奇异矩阵来压缩数据(SVD),是去掉噪声的过程(去掉同义词、反义词的干扰)
lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=10)
corpus_lsi = lsi[corpus_tfidf]
lsi.print_topics(10)
lda = models.LdaModel(corpus, id2word=dictionary, num_topics=100) # 输入是bow格式
lda.print_topics(20)
# 先建立向量model的索引
index = similarities.MatrixSimilarity(lsi[corpus_tfidf])
test_lsi_query(dictionary, lsi, index)
if __name__ == '__main__':
testapi()
相关推荐
知识领域:自然语言处理、深度学习、人工智能 技术关键词:大语言模型、Transformer、文本生成、模型架构 内容关键词:技术原理、模型结构、训练过程、示例代码 用途:为想要了解大语言模型原理及应用的学习者和...
### NLP(自然语言处理)命名实体识别代码详细步骤示例 #### 一、环境与工具介绍 在本文中,我们将详细介绍如何使用Python中的spaCy库进行命名实体识别(Named Entity Recognition, NER)。spaCy是一款强大的开源...
自然语言处理(NLP)是计算机科学领域的一个重要分支,它专注于使计算机能够理解、解析、生成和操作人类自然语言。这个"自然语言处理NLP课程资料合集-74份.zip"压缩包包含了丰富的学习资源,旨在帮助学生和研究人员...
在自然语言处理、语音识别、时间序列预测等领域有着广泛的应用。MATLAB作为强大的数学计算软件,也提供了实现LSTM模型的工具箱。本资料主要包含LSTM在MATLAB环境下的实现代码示例。 1. LSTM结构: LSTM网络由输...
Python自然语言处理(NLP)是信息技术领域的一个关键分支,主要涉及文本分析、语义理解、情感分析等任务。在Python中,NLP的实践往往依赖于强大的库,如NLTK(自然语言工具包)、spaCy、TextBlob以及gensim等。本...
NLP学习(Datawhale AI夏令营) TASK01#Datawhale示例代码
STM(Sequential Training Method)在NLP(自然语言处理)领域是一种常见的序列训练方法,它主要用于处理文本序列数据,比如句子、对话或者篇章。这个“stm.zip”文件可能包含了一个简单的NLP示例代码,用于演示如何...
本项目是基于Python的自然语言处理课程示例,包含了使用jieba、HanLP和Stanford NLP库进行中文文本处理的示例代码。项目内容涵盖了中文分词、词性标注、命名实体识别、关键词提取、依存关系解析等功能,旨在帮助用户...
该存储库包含用于日语自然语言处理的示例代码。 它受到的极大启发。 内容 以下是存储库中涵盖的常用NLP方案的摘要。 在一个或多个脚本或Jupyter笔记本示例中演示了每种情况,这些脚本或示例使用了模型和存储库实用...
在IT领域,人工智能(AI)是当前最热门的研究方向之一,而自然语言处理(NLP)作为AI的一个重要分支,正逐步改变我们与计算机交互的方式。这个压缩包包含了一系列关于AI和NLP的代码示例,让我们逐一探讨这些文件所...
自然语言处理(NLP)、Transformer、Yolo 等相关技术的资源 自然语言处理(NLP)是一种人工智能技术,旨在让计算机能够理解、处理和生成人类语言。Transformer 是一种基于自注意力机制的深度学习模型,广泛应用于...
2. **用户输入处理**:示例代码可能包含解析和处理用户输入的函数,可能涉及自然语言处理(NLP)技术。 3. **生成响应**:如何根据用户输入生成合适的回应,可能涉及对话管理策略和模板。 4. **API集成**:如何将...
code文件夹则包含了实现自然语言处理任务的源代码,可能包括Python代码,使用了诸如NLTK(自然语言工具包)、Spacy、Scikit-learn或TensorFlow等流行的NLP库。通过阅读和运行代码,学习者可以直接看到理论如何转化为...
在.NET开发环境中,中文分词是一项重要的任务,特别是在文本处理、搜索引擎、自然语言处理等领域。本文将详细探讨.NET中文分词示例代码及其使用的盘古分词类库,旨在帮助开发者理解和实现中文分词功能。 首先,让...
在《自然语言处理导论》书中,作者不仅向读者介绍了NLP的基本概念、理论和算法,而且还提供了用C++实现的代码示例。这些代码示例是学习和理解NLP算法实现细节的重要资源。通过阅读和运行这些代码,读者可以加深对...
《自然语言处理之BERT模型算法、架构和案例实战》是一本非常全面、实用和深入的书籍,它不仅让我深入了解了BERT模型的相关知识,还让我掌握了一些实用的NLP开发技巧。这本书值得所有对NLP和BERT模型感兴趣的读者阅读...
在IT领域,自然语言处理(Natural Language Processing, NLP)是一项关键的技术,它涉及计算机对人类语言的理解、分析和生成。Python是NLP研究和应用的首选编程语言,因为其丰富的库和简洁的语法。"Python-NLP之旅...
2. **自然语言处理(NLP)**: 这一部分负责理解文本内容并生成合适的回应。在这个例子中,我们使用了图灵机器人提供的API来完成这项任务。 #### 三、技术栈介绍 - **Python**: 主要编程语言。 - **Requests**: HTTP...
《自然语言处理实战:利用Python理解、分析和生成文本》这本书是自然语言处理(NLP)领域的经典之作,由霍布森·莱恩撰写。书中的源代码是学习和实践NLP技术的重要资源,涵盖了从基础到高级的各种NLP任务。在Python...
总之,华为图像服务场景动效Kotlin示例代码为OpenHarmony平台的程序开发提供了强大的图像处理能力。借助Kotlin的易用性和华为图像服务的丰富功能,开发者可以轻松创建出富有创意和吸引力的图像动效,提升应用程序的...