新萄京3522娱乐手机版

新萄京3522娱乐手机版 慕课课程正文

纯干货丨新萄京3522娱乐手机版科学家成长指南(中)

  在《 新萄京3522娱乐手机版科学家成长指南(上) 》中已经先容了基础原理、统计学、编程能力和机器学习的要点大纲,本文更新后续的第五、六、七条线路:自然语言处理、新萄京3522娱乐手机版可视化、大新萄京3522娱乐手机版。

  准备好在新的一年,学习成为未来五年最性感的职位么。

  ——————

  Text Mining / NLP

  文本挖掘,自然语言处理。这是一个横跨人类学、语言学的交叉领域。中文的自然语言处理更有难度,这是汉语语法特性决定的,英文是一词单词为最小元素,有空格区分,中文则是字,且是连续的。这就需要中文在分词的基础上再进行自然语言处理。中文分词质量决定了后续好坏。

  Corpus

  语料库

  它指大规模的电子文本库,它是自然语言的基础。语料库没有固定的类型,文献、小说、资讯都可以是语料,主要取决于目的。语料库应该考虑多个文体间的平衡,即资讯应该包含各题材资讯。

  语料库是需要加工的,不是随便网上下载个txt就是语料库,它必须处理,包含语言学标注,词性标注、命名实体、句法结构等。英文语料库比较成熟,中文语料还在发展中。

  NLTK-Data

  自然语言工具包

  NLTK创立于2001年,通过不断发展,已经成为最好的英语语言工具包之一。内含多个重要模块和丰富的语料库,比如nltk.corpus 和 nltk.utilities。Python的NLTK和R的TM是主流的英文工具包,它们也能用于中文,必须先分词。中文也有不少处理包:TextRank、Jieba、HanLP、FudanNLP、NLPIR等。

  Named Entity Recognition

  命名实体识别

  它是确切的名词短语,如组织、人、时间,地区等等。命名实体识别则是识别所有文字中的命名实体,是自然语言处理领域的重要基础工具。

  命名实体有两个需要完成的步骤,一是确定命名实体的边界,二是确定类型。汉字的实体识别比较困难,比如南京市长江大桥,会产生南京 | 市长 | 江大桥 、南京市 | 长江大桥两种结果,这就是分词的任务。确定类型则是明确这个实体是地区、时间、或者其他。可以理解成文字版的新萄京3522娱乐手机版类型。

  命名实体主要有两类方法,基于规则和词典的方法,以及基于机器学习的方法。规则主要以词典正确切分出实体,机器学习主要以隐马尔可夫模型、最大熵模型和条件随机域为主。

  Text Analysis

  文本分析

  这是一个比较大的交叉领域。以语言学研究的角度看,文本分析包括语法分析和语义分析,后者现阶段进展比较缓慢。语法分析以正确构建出动词、名词、介词等组成的语法树为主要目的。

  如果不深入研究领域、则有文本相似度、预测单词、困惑值等分析,这是比较成熟的应用。

  UIMA

  UIMA 是一个用于分析非结构化内容(比如文本、视频和音频)的组件架构和App框架实现。这个框架的目的是为非结构化分析提供一个通用的平台,从而提供能够减少重复开发的可重用分析组件。

  Term Document Matrix

  词-文档矩阵

  它是一个二维矩阵,行是词,列是文档,它记录的是所以单词在所有文档中出现频率。所以它是一个高维且稀疏的矩阵。

  这个矩阵是TF-IDF(term frequency–inverse document frequency)算法的基础。TF指代的词在文档中出现的频率,描述的是词语在该文档的重要数,IDF是逆向文件频率,描述的是单词在所有文档中的重要数。大家认为,在所有文档中都出现的词肯定是的、你好、是不是这类常用词,重要性不高,而越稀少的词越重要。故由总文档数除以包含该词的文档数,然后取对数获得。

  词-文档矩阵可以用矩阵的方法快速计算TF-IDF。

  它的变种形式是Document Term Matrix,行列颠倒。

  Term Frequency &Weight

  词频和权重

  词频即词语在文档中出现的次数,这里的文档可以认为是一篇资讯、一份文本,甚至是一段对话。词频表示了词语的重要程度,一般这个词出现的越多,大家可以认为它越重要,但也有可能遇到很多无用词,比如的、地、得等。这些是停用词,应该删除。另外一部分是日常用语,你好,谢谢,对文本分析没有帮助,为了区分出它们,大家再加入权重。

  权重代表了词语的重要程度,像你好、谢谢这种,大家认为它的权重是很低,几乎没有任何价值。权重既能人工打分,也能通过计算获得。通常,专业类词汇大家会给予更高的权重,常用词则低权重。

  通过词频和权重,大家能提取出代表这份文本的特征词,经典算法为TF-IDF。

  Support Vector Machines

  支撑向量机

  它是一种二类分类模型,有别于感知机,它是求间隔最大的线性分类。当使用核函数时,它也可以作为非线性分类器。

  它可以细分为线性可分支撑向量机、线性支撑向量机,非线性支撑向量机。

  非线性问题不太好求解,图左就是将非线性的特征空间映射到新空间,将其转换成线性分类。说的通俗点,就是利用核函数将左图特征空间(欧式或离散集合)的超曲面转换成右图特征空间(希尔伯特空间)中的的超平面。

  常用核函数有多项式核函数,高斯核函数,字符串核函数。

  字符串核函数用于文本分类、信息检索等,SVM在高维的文本分类中表现较好,这也是出现在自然语言处理路径上的原因。

  Association Rules

  关联规则

  它用来挖掘新萄京3522娱乐手机版背后存在的信息,最知名的例子就是啤酒与尿布了,虽然它是虚构的。但大家可以理解它蕴含的意思:买了尿布的人更有可能购买啤酒。

  它是形如X→Y的蕴涵式,是一种单向的规则,即买了尿布的人更有可能购买啤酒,但是买了啤酒的人未必会买尿布。大家在规则中引入了支撑度和置信度来说明这种单向。支撑度表明这条规则的在整体中发生的可能性大小,如果买尿布啤酒的人少,那么支撑度就小。置信度表示从X推导Y的可信度大小,即是否真的买了尿布的人会买啤酒。

  关联规则的核心就是找出频繁项目集,Apriori算法就是其中的典型。频繁项目集是通过遍历迭代求解的,时间复杂度很高,大型新萄京3522娱乐手机版集的表现不好。

  关联规则和协同过滤一样,都是相似性的求解,区分是协同过滤找的是相似的人,将人划分群体做个性化推荐,而关联规则没有过滤的概念,是针对整体的,与个人偏好无关,计算出的结果是针对所有人。

  Market Based Analysis

  购物篮分析,实际是Market Basket Analysis,编辑笔误。

  传统零售业中,购物篮指的是消费者一次性购买的商品,收营条上的单子新萄京3522娱乐手机版都会被记录下来以供分析。更优秀的购物篮分析,还会用红外射频记录商品的摆放,顾客在超市的移动,人流量等新萄京3522娱乐手机版。

  关联规则是购物篮分析的主要应用,但还包括促销打折对销售量的影响、会员制度积分制度的分析、回头客和新客的分析。

  Feature Extraction

  特征提取

  它是特征工程的重要概念。新萄京3522娱乐手机版和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。而很多模型都会遇到维数灾难,即维度太多,这对性能瓶颈造成了考验。常见文本、图像、声音这些领域。

  为了解决这一问题,大家需要进行特征提取,将原始特征转换成最有重要性的特征。像指纹识别、笔迹识别,这些都是有实体有迹可循的,而表情识别等则是比较抽象的概念。这也是特征提取的挑战。

  不同模式下的特征提取方法不一样,文本的特征提取有TF-IDF、信息增益等,线性特征提取包括PCA、LDA,非线性特征提取包括核Kernel。

  Using Mahout

  使用Mahout

  Mahout是Hadoop中的机器学习分布式框架,中文名驱象人。

  Mahout包含了三个主题:推荐系统、聚类和分类。分别对应不同的场景。

  Mahout在Hadoop平台上,借助MR计算框架,可以简便化的处理不少新萄京3522娱乐手机版挖掘任务。实际Mahout已经不再维护新的MR,还是投向了Spark,与Mlib互为补充。

  Using Weka

  Weka是一款免费的,基于JAVA环境下开源的机器学习以及新萄京3522娱乐手机版挖掘App。

  Using NLTK

  使用自然语言工具包

  Classify Text

  文本分类

  将文本集进行分类,与其他分类算法没有本质区别。假如现在要将商品的评论进行正负情感分类,首先分词后要将文本特征化,因为文本必然是高维,大家不可能选择所有的词语作为特征,而是应该以最能代表该文本的词作为特征,例如只在正情感中出现的词:特别棒,很好,完美。计算出卡方检验值或信息增益值,用排名靠前的单词作为特征。

  所以评论的文本特征就是[word11,word12,……],[word21,word22,……],转换成高维的稀疏矩阵,之后则是选取最适合的算法了。

  垃圾邮件、反黄鉴别、文章分类等都属于这个应用。

  Vocabulary Mapping

  词汇映射

  NLP有一个重要的概念,本体和实体,本体是一个类,实体是一个实例。比如手机就是本体、苹果和小米是实体,它们共同构成了常识库。很多文字是一词多意或者多词一意,比如苹果既可以是手机也可以是水果,苹果则同时有水果机、苹果机、苹果34567的诸多叫法。计算机是无法理解这么复杂的含义。词汇映射就是将几个概念相近的词汇统一成一个,让计算机和人的认知没有区别。

  ——————

  Visualization新萄京3522娱乐手机版可视化

  这是难度较低的环节,统计学或者大新萄京3522娱乐手机版,都是不断发展演变,是属于终身学习的常识,而可视化只要了解掌握,可以受用很多年。这里并不包括可视化的编程环节。

  Uni, Bi &Multivariate Viz

  单/双/多 变量

  在新萄京3522娱乐手机版可视化中,大家通过不同的变量/维度组合,可以作出不同的可视化成果。单变量、双变量和多变量有不同作图方式。

  ggplot2

  R语言的一个经典可视化包

  ggoplot2的核心逻辑是按图层作图,每一个语句都代表了一个图层。以此将各绘图元素分离。

  ggplot(...) +

  geom(...) +

  stat(...) +

  annotate(...) +

  scale(...)

  上图就是典型的ggplot2函数风格。plot是整体图表,geom是绘图函数,stat是统计函数,annotate是注释函数,scale是标尺函数。ggplot的绘图风格是灰底白格。

  ggplot2的缺点是绘图比较缓慢,毕竟是以图层的方式,但是瑕不掩瑜,它依旧是很多人使用R的理由。

  Histogram &Pie(Uni)

  直方图和饼图(单变量)

  直方图已经先容过了,这里就放张图。

  饼图不是常用的图形,若变量之间的差别不大,如35%和40%,在饼图的面积比例靠肉眼是分辨不出来。

  Tree &Tree Map

  树图和矩形树图

  树图代表的是一种结构。层次聚类的实例图就属于树图。

  当维度的变量多大,又需要对比时,可以使用矩形树图。通过面积表示变量的大小,颜色表示类目。

  Scatter Plot (Bi)

  散点图(双变量)

  散点图在新萄京3522娱乐手机版探索中经常用到,用以分析两个变量之间的关系,也可以用于回归、分类的探索。

  利用散点图矩阵,则能将双变量拓展为多变量。

  Line Charts (Bi)

  折线图(双变量)

  它常用于描绘趋势和变化,和时间维度是好基友,如影随形。

  Spatial Charts

  空间图,应该就是地图的意思

  一切涉及到空间属性的新萄京3522娱乐手机版都能使用地理图。地理图需要表示坐标的新萄京3522娱乐手机版,可以是经纬度、也可以是地理实体,比如上海市北京市。经纬度的新萄京3522娱乐手机版,常常和POI挂钩。

  Survey Plot

  不知道具体的含义,粗略翻译图形探索

  plot是R中最常用的函数,通过plot(x,y),大家可以设定不同的参数,决定使用那种图形。

  Timeline

  时间轴

  当新萄京3522娱乐手机版涉及到时间,或者存在先后顺序,大家可以使用时间轴。不少可视化框架,也支撑以时间播放的形式描述新萄京3522娱乐手机版的变化。

  Decision Tree

  决策树

  这里的决策树不是算法,而是基于说明性好的一个应用。

  当新萄京3522娱乐手机版遇到是否,或者选择的逻辑判断时,决策树不失为一种可视化思路。

  D3.js

  知名的新萄京3522娱乐手机版可视化前端框架

  d3可以制作复杂的图形,像直方图散点图这类,用其他框架完成比较好,学习成本比前者低。

  d3是基于svg的,当新萄京3522娱乐手机版量变大运算复杂后,d3性能会变差。而canvas的性能会好不少,国内的echarts基于后者。有中文文档,属于比较友好的框架。

  R语言中有一个叫d3NetWork的包,Python则有d3py的包,当然直接搭建环境也行。

  IBM ManyEyes

  Many Eyes是IBM企业的一款在线可视化处理工具。该工具可以对数字,文本等进行可视化处理。应该是免费的。图网上随便找的。

  Tableau

  国外知名的商用BI,分为Desktop和Server,前者是新萄京3522娱乐手机版分析单机版,后者支撑私有化部署。加起来得几千美金,挺贵的。图网上随便找的。

  ——————

  Big Data 大新萄京3522娱乐手机版

  越来越火爆的技术概念,Hadoop还没有兴起几年,第二代Spark已经后来居上。因为编辑写的比较早,现在的新技术没有过多涉及。部分工具我不熟悉,就略过了。

  Map Reduce Fundamentals

  MapReduce框架

  它是Hadoop核心概念。它通过将计算任务分割成多个处理单元分散到各个服务器进行。

  MapReduce有一个很棒的说明,如果你要计算一副牌的数量,传统的处理方法是找一个人数。而MapReduce则是找来一群人,每个人数其中的一部分,最终将结果汇总。分配给每个人数的过程是Map,处理汇总结果的过程是Reduce。

  Hadoop Components

  Hadoop组件

  Hadoo号称生态,它就是由无数组建拼接起来的。

  各类组件包括HDFS、MapReduce、Hive、HBase、Zookeeper、Sqoop、Pig、Mahout、Flume等。最核心的就是HDFS和MapReduce了。

  HDFS

  Hadoop的分布式文件系统

  HDFS的设计思路是一次读取,多次访问,属于流式新萄京3522娱乐手机版访问。HDFS的新萄京3522娱乐手机版块默认64MB(Hadoop 2.X 变成了128MB),并且以64MB为单位分割,块的大小遵循摩尔定理。它和MR息息相关,通常来说,Map Task的数量就是块的数量。64MB的文件为1个Map,65MB(64MB+1MB)为2个Map。

  Data Replication Principles

  新萄京3522娱乐手机版复制原理

  新萄京3522娱乐手机版复制属于分布式计算的范畴,它并不仅仅局限于新萄京3522娱乐手机版库。

  Hadoop和单个新萄京3522娱乐手机版库系统的差别在于原子性和一致性。在原子性方面,要求分布式系统的所有操作在所有相关副本上要么提交,要么回滚, 即除了保证原有的局部事务的原子性,还需要控制全局事务的原子性; 在一致性方面,多副本之间需要保证单一副本一致性。

  Hadoop新萄京3522娱乐手机版块将会被复制到多态服务器上以确保新萄京3522娱乐手机版不会丢失。

  Setup Hadoop (IBM/Cloudera/HortonWorks)

  安装Hadoop

  包括社区版、商业发行版、以及各种云。

  Name &Data Nodes

  名称和新萄京3522娱乐手机版节点

  HDFS通信分为两部分,Client和NameNode &DataNode。

  NameNode:管理HDFS的名称空间和新萄京3522娱乐手机版块映射信息,处理client。NameNode有一个助手叫Secondary NameNode,负责镜像备份和日志合并,负担工作负载、提高容错性,误删新萄京3522娱乐手机版的话这里也能恢复,当然更建议加trash。

  DataNode:真正的新萄京3522娱乐手机版节点,存储实际的新萄京3522娱乐手机版。会和NameNode之间维持心跳。

  Job &Task Tracker

  任务跟踪

  JobTracker负责管理所有作业,讲作业分隔成一系列任务,然而讲任务指派给TaskTracker。你可以把它想象成经理。

  TaskTracker负责运行Map任务和Reduce任务,当接收到JobTracker任务后干活、实行、之后汇报任务状态。你可以把它想象成员工。一台服务器就是一个员工。

  M/R Programming

  Map/Reduce编程

  MR的编程依赖JobTracker和TaskTracker。TaskTracker管理着Map和Reduce两个类。大家可以把它想象成两个函数。

  MapTask引擎会将新萄京3522娱乐手机版输入给程序员编写好的Map( )函数,之后输出新萄京3522娱乐手机版写入内存/磁盘,ReduceTask引擎将Map( )函数的输出新萄京3522娱乐手机版合并排序后作为自己的输入新萄京3522娱乐手机版,传递给reduce( ),转换成新的输出。然后获得结果。

  网络上很多案例都通过统计词频说明MR编程:

  原始新萄京3522娱乐手机版集分割后,Map函数对新萄京3522娱乐手机版集的元素进行操作,生成键-值对形式中间结果,这里就是{“word”,counts},Reduce函数对键-值对形式进行计算,得到最终的结果。

  Hadoop的核心思想是MapReduce,MapReduce的核心思想是shuffle。shuffle在中间起了什么作用呢?shuffle的意思是洗牌,在MR框架中,它代表的是把一组无规则的新萄京3522娱乐手机版尽量转换成一组具有一定规则的新萄京3522娱乐手机版。

  前面说过,map函数会将结果写入到内存,如果集群的任务有很多,损耗会非常利害,shuffle就是减少这种损耗的。图例中大家看到,map输出了结果,此时放在缓存中,如果缓存不够,会写入到磁盘成为溢写文件,为了性能考虑,系统会把多个key合并在一起,类似merge/group,图例的合并就是{"Bear",[1,1]},{"Car",[1,1,1]},然后求和,等Map任务实行完成,Reduce任务就直接读取文件了。

  另外,它也是造成新萄京3522娱乐手机版倾斜的原因,就是某一个key的数量特别多,导致任务计算耗时过长。

  Sqoop: Loading Data in HDFS

  Sqoop是一个工具,用来将传统新萄京3522娱乐手机版库中的新萄京3522娱乐手机版导入到Hadoop中。虽然Hadoop支撑各种各样的新萄京3522娱乐手机版,但它依旧需要和外部新萄京3522娱乐手机版进行交互。

  Sqoop支撑关系型新萄京3522娱乐手机版库,MySQL和PostgreSQL经过了优化。如果要连其他新萄京3522娱乐手机版库例如NoSQL,需要另外下载连接器。导入时需要注意新萄京3522娱乐手机版一致性。

  Sqoop也支撑导出,但是SQL有多种新萄京3522娱乐手机版类型,例如String对应的CHAR(64)和VARCHAR(200)等,必须确定这个类型可不可以使用。

  Flue, Scribe: For Unstruct Data

  2种日志相关的系统,为了处理非结构化新萄京3522娱乐手机版。

  SQL with Pig

  利用Pig语言来进行SQL操作。

  Pig是一种探索大规模新萄京3522娱乐手机版集的脚本语言,Pig是接近脚本方式去描述MapReduce。它和Hive的区别是,Pig用脚本语言说明MR,Hive用SQL说明MR。

  它支撑大家对加载出来的新萄京3522娱乐手机版进行排序、过滤、求和、分组(group by)、关联(Joining)。并且支撑自定义函数(UDF),它比Hive最大的优势在于灵活和速度。当查询逻辑非常复杂的时候,Hive的速度会很慢,甚至无法写出来,那么Pig就有用武之地了。

  DWH with Hive

  利用Hive来实现新萄京3522娱乐手机版仓库

  Hive提供了一种查询语言,因为传统新萄京3522娱乐手机版库的SQL用户迁移到Hadoop,让他们学习底层的MR API是不可能的,所以Hive出现了,帮助SQL用户们完成查询任务。

  Hive很适合做新萄京3522娱乐手机版仓库,它的特性适用于静态,SQL中的Insert、Update、Del等记录操作不适用于Hive。

  它还有一个缺点,Hive查询有延时,因为它得启动MR,这个时间消耗不少。传统SQL新萄京3522娱乐手机版库简单查询几秒内就能完成,Hive可能会花费一分钟。只有新萄京3522娱乐手机版集足够大,那么启动耗费的时间就忽略不计。

  故Hive适用的场景是每天凌晨跑当天新萄京3522娱乐手机版等等。它是类SQL语言,新萄京3522娱乐手机版分析师能直接用,产品经理能直接用,拎出一个大学生培训几天也能用。效率快。

  可以将Hive作通用查询,而用Pig定制UDF,做各种复杂分析。Hive和MySQL语法最接近。

  Scribe, Chukwa For Weblog

  Scribe是脸书开源的日志收集系统,在脸书内部已经得到的应用。

  Chukwa是一个开源的用于监控大型分布式系统的新萄京3522娱乐手机版收集系统。

  Using Mahout

  已经先容过了

  Zookeeper Avro

  Zookeeper,是Hadoop的一个重要组件,它被设计用来做协调服务的。主要是用来解决分布式应用中经常遇到的一些新萄京3522娱乐手机版管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

  Avro是Hadoop中的一个子项目,它是一个基于二进制新萄京3522娱乐手机版传输高性能的中间件。除外还有Kryo、protobuf等。

  Storm: Hadoop Realtime

  Storm是最新的一个开源框架

  目的是大新萄京3522娱乐手机版流的实时处理。它的特点是流,Hadoop的新萄京3522娱乐手机版查询,优化的再好,也要基于HDFS进行MR查询,有没有更快的方法呢?是有的。就是在新萄京3522娱乐手机版产生时就去监控日志,然后马上进行计算。比如页面访问,有人点击一下,我计算就+1,再有人点,+1。那么这个页面的UV我也就能实时知道了。

  Hadoop擅长批处理,而Storm则是流式处理,吞吐肯定是Hadoop优,而时延肯定是Storm好。

  Rhadoop, RHipe

  将R和hadoop结合起来2种架构。

  RHadoop包含三个包(rmr,rhdfs,rhbase),分别对应MapReduce,HDFS,HBase三个部分。

  Spark还有个叫SparkR的。

  rmr

  RHadoop的一个包,和hadoop的MapReduce相关。

  另外Hadoop的删除命令也叫rmr,不知道编辑是不是指代的这个……

  Classandra

  一种流行的NoSql新萄京3522娱乐手机版库

  大家常常说Cassandra是一个面向列(Column-Oriented)的新萄京3522娱乐手机版库,其实这不完全对——新萄京3522娱乐手机版是以松散结构的多维哈希表存储在新萄京3522娱乐手机版库中;所谓松散结构,是指每行新萄京3522娱乐手机版可以有不同的列结构,而在关系型新萄京3522娱乐手机版中,同一张表的所有行必须有相同的列。在Cassandra中可以使用一个唯一识别号访问行,所以大家可以更好理解为,Cassandra是一个带索引的,面向行的存储。

  Cassandra只需要你定义一个逻辑上的容器(Keyspaces)装载列族(Column Families)。

  Cassandra适合快速开发、灵活部署及拓展、支撑高IO。它和HBase互为竞争对手,Cassandra+Spark vs HBase+Hadoop,Cassandra强调AP ,Hbase强调CP。

  MongoDB, Neo4j

  MongoDB是文档型NoSQL新萄京3522娱乐手机版库。

  MongoDB如果不涉及Join,会非常灵活和优势。举一个大家最常见的电子商务网站作例子,不同的产品类目,产品规范、说明和先容都不一样,电子产品尿布零食手机卡等等,在关系型新萄京3522娱乐手机版库中设计表结构是灾难,但是在MongoDB中就能自定义拓展。

  再放一张和关系型新萄京3522娱乐手机版库对比的哲学图吧:

  Neo4j是最流行的图形新萄京3522娱乐手机版库。

  图形新萄京3522娱乐手机版库如其名字,允许新萄京3522娱乐手机版以节点的形式,应用图形理论存储实体之间的关系信息。

  最常见的场景是社交关系链、凡是业务逻辑和关系带点边的都能用图形新萄京3522娱乐手机版库。

  跟关系新萄京3522娱乐手机版库相比,图形新萄京3522娱乐手机版库最主要的优点是解决了图计算(业务逻辑)在关系新萄京3522娱乐手机版库上大量的join操作,比如让你查询:你妈妈的姐姐的舅舅的女儿的妹妹是谁?这得写几个Join啊。但凡关系,join操作的代价是巨大的,而GraphDB能很快地给出结果。

  ——————

  个人水平一般,内容解读不算好,可能部分内容有错误,欢迎指正。

  本文写的是文本挖掘、新萄京3522娱乐手机版可视化和大新萄京3522娱乐手机版。后续还只有一篇了。

  ?【第一篇】新萄京3522娱乐手机版科学家成长指南(上)点此进入查看>>>

  ?【第三篇】新萄京3522娱乐手机版科学家成长指南(下)点此进入查看>>>

注:本文编辑秦路,版权著作权属原创者所有,编辑:Fynlch(王培),新萄京3522娱乐手机版观微信公众号(ID:cbdioreview) ,欲了解更多大新萄京3522娱乐手机版行业相关资讯,可搜索新萄京3522娱乐手机版观(中国大新萄京3522娱乐手机版产业观察网www.cbdio.com)进入查看。

      

责任编辑:王培

分享:
贵州

贵州大新萄京3522娱乐手机版产业政策

贵州大新萄京3522娱乐手机版产业动态

贵州大新萄京3522娱乐手机版企业

更多
企业
更多
XML 地图 | Sitemap 地图