当前位置: 首页 > news >正文

金融类网站开发企业网站建设费用明细

金融类网站开发,企业网站建设费用明细,怎么免费安装wordpress主题,建设注册证信息网站摘要:用商品描述为语料库训练商品词向量为例,分享一下用pyspark自带word2vecjieba分词训练词向量的流程.工具:python,pyspark,jieba,pandas,numpy数据格式:自定义词典,语料库均为pyspark dataframe,停用辞典不大,直接使用txt.1 create spark我的pyspark参数设置如下:def create…摘要:用商品描述为语料库训练商品词向量为例,分享一下用pyspark自带word2vecjieba分词训练词向量的流程.工具:python,pyspark,jieba,pandas,numpy数据格式:自定义词典,语料库均为pyspark dataframe,停用辞典不大,直接使用txt.1 create spark我的pyspark参数设置如下:def create_spark():sparkconf SparkConf(jianwangzhilai) .setAppName(jianwangzhilai) .set(spark.sql.catalogImplementation,hive) .set(spark.dynamicAllocation.enabled, false) .set(spark.shuffle.service.enabled, false) .setExecutorEnv(JAVA_HOME, os.environ[JAVA_HOME]) .setExecutorEnv(HADOOP_HDFS_HOME, os.environ[HADOOP_HOME]) .setExecutorEnv(LD_LIBRARY_PATH, os.environ[LD_LIBRARY_PATH] ) .setExecutorEnv(CLASSPATH, os.environ[CLASSPATH])sparkconf.set(spark.executor.instances, 64)) .set(spark.executor.cores, 8 .set(spark.cores.max,512) .set(spark.executor.memory,10g) .set(spark.driver.maxResultSize, 4g)sparkSparkSession.builder.enableHiveSupport().config(confsparkconf).getOrCreate()spark.sparkContext.setLogLevel(WARN)print(spark created...)return spark设置有点琐碎,但大同小异,唯一需要注意的是,spark.driver.maxResultSize这个参数最好设置大于1g.2 自定义词典,udf此处自定义词典需要注意,pyspark存在和jieba不兼容的情况,需要先做如下操作:##user dict 从pyspark中import如下部分:from 定义udf,把jieba分词包装起来,返回一个pyspark可识别的arraytype,array中的基元素是stringtype的,这里需要注意,udf函数中只要jieba.dt.initialized发现没有加载自定义词典,都要重新加载一次,否则不会报错但是会出现分词没有使用自定义词典的情况:def 3 语料库分词商品的语料同样通过spark.sql读取corpus_goods spark.sql(select * from corpus_goods_description ).cache()同样,格式为spark dataframe,包含一个主键商品id和一个商品描述description.利用之前打包的udf,对商品描述进行分词,生成一个新列seg:corpus_goods corpus_goods.withColumn(seg,seg_udf(corpus_goods[description]))4 停用词停用词因为较少,这里直接保存成了txt格式,读取成list:stop_wordsopen(./stopwords.txt, r, encodingutf_8).readlines() stop_words [line.strip() for line in stop_words]停用词去除可以自己写好,一起打包到之前的udf中,只要在seg函数中稍作改变: if len(word)1 and word not in stop_words:words.append(word)也可以通过pyspark自带模块进行去除:from pyspark.ml.feature import StopWordsRemover remover StopWordsRemover(inputColseg, outputColwords, stopWordsstop_words) corpus_goods remover.transform(corpus_goods)这里推荐后一种方法.去除停用词后,基本可以进行训练了,此时语料库是这个样:5 词向量训练语料分词后,直接进行如下训练:from pyspark.ml.feature import Word2Vec w2v Word2Vec(vectorSize100, minCount3,seed123, numPartitions64,inputColwords, outputColresult) model w2v.fit(corpus_goods) model.getVectors().head(2) model.getVectors().count() ##save path ./models/word2vec model.write().overwrite().save(path)训练很简单,注意numPartitions参数,这个参数默认是1,如果使用默认参数,等于只有一个job进行fit,如果数据很大,这个过程将会非常漫长,这里我设置成和instances相同的大小,也可以设置成其他合适的大小,具体看机器配置.minCount参数控制了词频,词频低于这个字段的将会被舍弃.vectorSize控制了向量的大小,一般超过50.词向量训练完成后,得到了每个词的向量表示,此时需要把整个商品的描述也表示成向量,如果自己实现也可,但是pyspark直接一行搞定,速度飞快:corpus_goods model.transform(corpus_goods)此时,corpus_goods数据框中,result字段就是商品描述的文本向量形式了,大工告成.之后可以进行相似度计算或者作为特征进入其他模型.6 商品相似度计算补充一下相似度计算的坑.spark中暂时时发现通过笛卡尔积的形式计算所有商品的相似度.df corpus_goods .crossJoin(corpus_goods ).toDF(id1,result,id2,result2)之后通过定义udf,计算余弦夹角.from 这里直接引用了scipy的余弦距离,用1减去之后就是余弦相似度.注意,必须用float函数包一下结果,因为如果直接返回计算出的余弦相似度,格式是numpy.float64的,udf中returnTypeFloatType(),会引起不兼容,所以必须返回一个python的float格式.最后相似度保存hive:df.write.format(orc).mode(overwrite).saveAsTable(table_name)至此,完结~
http://www.pierceye.com/news/986840/

相关文章:

  • 定制网站建设成本制作公司宣传片
  • 青岛低价网站建设达内it教育官网
  • 洛阳设计网站公司个人网站管理系统
  • 怎么可以预览自己做的网站天津市城乡建设网站
  • 本地网站开发宁夏建设工程招标投标信息网站
  • 网站建设服务费怎么记账维护一个网站一年多少钱
  • 电子商务网站建设定位设想我的网站为什么打不开
  • 旅游网站开发方案ppt移动商城积分和积分区别
  • 如何做网站推广自己的产品WordPress+百度+主动
  • 商丘网站建设推广公司赣州seo唐三
  • 产品网站设计计算机专业做网站运营
  • 做平台网站怎么做的wordpress获取当前分类下的子分类
  • 广州网站建设性价比长安高端装备网站设计公司
  • 电子商务网站推广计划沈阳建设工程造价
  • 网站备案接入商是什么网站语言版本
  • 个人做网站做什么样的话网站站点连接不安全
  • 响应式网站 外贸平顶山 网站设计
  • 手袋 东莞网站建设成都哪里好玩适合情侣
  • 苏州哪个公司做门户网站给学校建网站那个系统好
  • 现在网站都是拿什么软件做的wordpress 自动alt
  • 山东省住房和城乡建设部网站首页网站中的自助报价系统
  • 如何 网站收录软件开发大概需要多少钱
  • 网站建设微信端简洁型网页
  • 一般的网站开发语言用什么《网站开发实践》 实训报告
  • php企业网站开发实验总结服务器
  • 织梦网站文章内容模板荣耀商城
  • seo 网站太小平面设计师招聘广告文案
  • 凡科网站建设桂林网站开发m0773
  • 做跨境都有哪些网站做电影类网站
  • 琼海商城网站建设东莞网站建设价位