Word2vec与logging模块_完整代码_CodingPark编程公园
发布日期:2021-06-29 15:46:37 浏览次数:3 分类:技术文章

本文共 2266 字,大约阅读时间需要 7 分钟。

程序目录

在这里插入图片描述

Word2vec

举个简单例子:

判断一个词的词性,是动词还是名词。用机器学习的思路,我们有一系列样本(x,y),这里 x 是词语,y 是它们的词性,我们要构建 f(x)->y 的映射,但这里的数学模型 f(比如神经网络、SVM)只接受数值型输入,而 NLP 里的词语,是人类的抽象总结,是符号形式的(比如中文、英文、拉丁文等等),所以需要把他们转换成数值形式,或者说——嵌入到一个数学空间里,这种嵌入方式,就叫词嵌入(word embedding),而 Word2vec,就是词嵌入( word embedding) 的一种

Word2Vec可以将One-Hot Encoder转化为低维度的连续值,也就是稠密向量,并且其中意思相近的词将被映射到向量空间中相近的位置

在这里插入图片描述

import gensimimport logginglogging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s',level=logging.INFO)corpus = gensim.models.word2vec.Text8Corpus("big.txt")  # 加载语料model = gensim.models.word2vec.Word2Vec(corpus,size=200)    # 训练skip-gram模型,默认window=5model.save('W2V_mymodel')print('------------------------------模型------------------------------------')print(model)print('----------------------good和bad的相似度为---------------------------')print(model.similarity('good','bad'))print('----------------------与happy最相关的10个词汇为---------------------------')happy_model = model.most_similar('happy',topn=10)for i in happy_model:    print(i[0],i[1])

结果展示

在这里插入图片描述

使用自己SAVE的W2V_mymodel

import gensimimport pandas as pdmodel = gensim.models.Word2Vec.load('W2V_mymodel')print(pd.Series(model.most_similar('father', topn=10)))

结果展示

在这里插入图片描述

Word2vec-知识补充

知识推荐

📍秒懂词向量Word2vec的本质

https://zhuanlan.zhihu.com/p/26306795

日志

日志是一种可以追踪某些软件运行时所发生事件的方法。

软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。
此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)。

通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。

import logging# 默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG)# logging.debug("debug_msg")# logging.info("info_msg")# logging.warning("warning_msg")# logging.error("error_msg")# logging.critical("critical_msg")LOG_FORMAT = "%(asctime)s %(name)s %(levelname)s %(pathname)s %(message)s "  # 配置输出日志格式DATE_FORMAT = '%Y-%m-%d  %H:%M:%S %a '  # 配置输出时间的格式,注意月份和天数不要搞乱了logging.basicConfig(level=logging.DEBUG,                    format=LOG_FORMAT,                    datefmt=DATE_FORMAT,                    # filename=r"W2V.log"  # 有了filename参数就不会直接输出显示到控制台,而是直接写入文件                    )logging.debug("msg1")logging.info("msg2")logging.warning("msg3")logging.error("msg4")logging.critical("msg5")

结果展示

在这里插入图片描述

日志-知识补充

不同的应用程序所定义的日志等级可能会有所差别,分的详细点的会包含以下几个等级

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

转载地址:https://codingpark.blog.csdn.net/article/details/106338638 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Auto-Encoder&VAE_完整代码_CodingPark编程公园
下一篇:词性标注-利用HMM_完整项目_CodingPark编程公园

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月20日 13时55分25秒