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示例代码,用于演示如何...
该存储库包含用于日语自然语言处理的示例代码。 它受到的极大启发。 内容 以下是存储库中涵盖的常用NLP方案的摘要。 在一个或多个脚本或Jupyter笔记本示例中演示了每种情况,这些脚本或示例使用了模型和存储库实用...
在IT领域,人工智能(AI)是当前最热门的研究方向之一,而自然语言处理(NLP)作为AI的一个重要分支,正逐步改变我们与计算机交互的方式。这个压缩包包含了一系列关于AI和NLP的代码示例,让我们逐一探讨这些文件所...
本资源集合了"精通Python自然语言处理"等英文书籍中的代码,旨在帮助读者深入理解和实践Python在NLP领域的应用。 1. **NLTK(Natural Language Toolkit)** NLTK是Python中用于NLP的基础库,提供了分词、词性标注...
自然语言处理(NLP)、Transformer、Yolo 等相关技术的资源 自然语言处理(NLP)是一种人工智能技术,旨在让计算机能够理解、处理和生成人类语言。Transformer 是一种基于自注意力机制的深度学习模型,广泛应用于...
2. **用户输入处理**:示例代码可能包含解析和处理用户输入的函数,可能涉及自然语言处理(NLP)技术。 3. **生成响应**:如何根据用户输入生成合适的回应,可能涉及对话管理策略和模板。 4. **API集成**:如何将...
code文件夹则包含了实现自然语言处理任务的源代码,可能包括Python代码,使用了诸如NLTK(自然语言工具包)、Spacy、Scikit-learn或TensorFlow等流行的NLP库。通过阅读和运行代码,学习者可以直接看到理论如何转化为...
在.NET开发环境中,中文分词是一项重要的任务,特别是在文本处理、搜索引擎、自然语言处理等领域。本文将详细探讨.NET中文分词示例代码及其使用的盘古分词类库,旨在帮助开发者理解和实现中文分词功能。 首先,让...
在IT领域,自然语言处理(Natural Language Processing, NLP)是一项关键的技术,它涉及计算机对人类语言的理解、分析和生成。Python是NLP研究和应用的首选编程语言,因为其丰富的库和简洁的语法。"Python-NLP之旅...
2. **自然语言处理(NLP)**: 这一部分负责理解文本内容并生成合适的回应。在这个例子中,我们使用了图灵机器人提供的API来完成这项任务。 #### 三、技术栈介绍 - **Python**: 主要编程语言。 - **Requests**: HTTP...
《自然语言处理实战:利用Python理解、分析和生成文本》这本书是自然语言处理(NLP)领域的经典之作,由霍布森·莱恩撰写。书中的源代码是学习和实践NLP技术的重要资源,涵盖了从基础到高级的各种NLP任务。在Python...
总之,华为图像服务场景动效Kotlin示例代码为OpenHarmony平台的程序开发提供了强大的图像处理能力。借助Kotlin的易用性和华为图像服务的丰富功能,开发者可以轻松创建出富有创意和吸引力的图像动效,提升应用程序的...
`11.5.py`可能是一个章节练习或示例代码,对应何晗先生的书籍关于自然语言处理的部分。这个Python版本的代码可能是为了配合书中理论讲解,提供实际操作的例子,帮助读者更好地理解和掌握NLP的基本概念和方法。 `...
而"BDY_Nlp"可能是与百度云自然语言处理相关的代码库或者样例数据,里面可能包含了调用API的示例代码,展示了如何与百度云的服务进行交互,进行分词、词性标注和命名实体识别。 通过学习这个示例,开发者不仅可以...