精华内容
下载资源
问答
  • 本期内容以我研究的内容展开主要分为以下部分:1按照研究内容确定主题词,并按照主题词查找任意词;2按照主题词和任意词在web of science中进行文献检索;3安装和使用endnote来管理文献,从web of science中导入文献...

    18f61c9506756b1003f9a9ef4c0a3e0f.png

    本期内容以我研究的内容展开主要分为以下部分:

    1按照研究内容确定主题词,并按照主题词查找任意词;

    2按照主题词和任意词在web of science中进行文献检索;

    3安装和使用endnote来管理文献,从web of science中导入文献;

    4从知网和google中将文献导入endnote;

    5利用endnote在word中插入引用文献和生成全部引用文献;

    6如何上google,已经给大家写好文稿,大家自行学习

    我研究的主要内容是自动驾驶中基于端到端的驾驶策略学习方法研究,我利用这个例子来完成我下面的讲解内容,大家可以按照自己的研究内容进行一步步学习;

    1、确定主题词

    从我研究的内容中可以先简单确定以下主题词:

    自动驾驶、端到端和驾驶策略;我们利用我们现有的基础理论将主题词进行展开,比如端到端中有模仿学习、深度学习、强化学习、深度强化学习等这些关键词,驾驶策略中可以细分为很多小部分,比如换道策略、掉头策略、自动刹车、通过环形路口和十字路口等;我们将这些内容整理出来,翻译成英文(翻译成英文主要是因为英文文献会更多更新)备着后面要用,我简单的整理一下做成表格,大家可以简单一点:

    自动驾驶: Self-driving car、unmaned driving、automatic driving

    端到端: End to end

    模仿学习: Imitation learning

    强化学习: Reinforcement learning、strengthen learning

    深度学习: deep learning

    驾驶策略: Driving strategy

    换道: Change lane

    掉头: U-turn

    刹车:brake

    简单整理之后这还不是最后的主题词我们要去pubmed中确定是否有该主题词或者主题词的任意词是什么,这里的任意词就是主题词的另外一种说法,这里我是这样理解的,至于官方怎么说我不是很懂,大家按照我的方法做就好了。

    进入pubmed (https://www.ncbi.nlm.nih.gov/pubmed/)选择MeSH,对主题词进行检索

    2d4fdd964d8ca343b86a99254e9b8ef3.png

    有些主题词不存在也没关系,后面也可以检索

    我就简单举两个例子:检索self-driving car没有

    72f72041a1086c5c91c1b73036a5ffe9.png

    检索unmaned driving,显示有四个,将需要的主题词保存下来,这里有Automobile Driving

    d9a26f1fcee99ed3bc6158dfe3e3e355.png

    查看深度学习deep learning

    ce3a0c603c5aa89383d116204f238017.png

    可以看到deep learning本身就是主题词,下面是它的任意词,我们保存它的任意词

    按照上面的方法对你的主题词进行查找,最后整理你的主题

    整理后的表格

    自动驾驶: Self-driving car、unmaned driving、automatic driving、Automobile Driving

    端到端: End to end

    模仿学习、强化学习、深度学习:imitation learning, Deep Learning,Hierarchical Learning,Learning, Hierarchical,Reinforcement learning、strengthen learning

    驾驶策略、换道、掉头、刹车:Driving strategy,Change lane,U-turn,brake

    整理完后第一步就算完成了

    2、进入web of science进行文献检索

    如果你是在校学生那么就简单了,直接通过学校的资源库进入web of science就行了,在图书馆官网进入资源列表,找到web of science进入(如果不是学生也别急,先把教程看完,后面会有解决办法)

    a6c8252f9652a83039cda09042a443e4.png

    4bf5f6f4fc3f2b873c979d057491e968.png

    进入后选择高级检索,可以看到右边有一些字段标识,这里我会用到主题搜索,所以用TS=(),注意括号必须为英文的括号,括号内放入主题词和任意词,用or连接

    先将自动驾驶这个主题词进行检索:

    2c075c215092f214278a303bd3bcc86a.png

    可以看到检索除了39960篇相关文献

    8b531d0bccdfdf21444d03fb085af41d.png

    第二步对端到端进行检索,还是一样的方法

    5203b7fa436a787fa4e65227c28cb1cb.png

    以看到检索了1270239篇

    e64933a276e050b1fbb4ae3b31d339ee.png

    第三步检索驾驶策略,有98149篇

    5ad3fadd931d663320701cfcdc40291f.png

    主题词检索完成后开始进行组配检索,将三个主题词进行整合,用勾选三条检索结果用and连接,进行组配检索。

    a5df80c57c71af61136faf2cd92ab675.png

    组配结果有437篇(有这么多么,哈哈可能主题词不太对啊)

    c14ff58b355d1fd3304d3672ad5ae292.png

    点击437可以查看有哪些文献

    d4a72432b2af19bbe4fdb4aa9eeb316c.png

    3、利用endnote来管理文献和引用文献

    很多学校有正版的endnote可以下载,没有也可以购买正版使用,那没有钱怎么版,我已经给你打包好了,这里还是强烈支持正版

    一次性下一步安装好endnote后进入,刚开始进入会让你创建一个数据库来存放你的文献,按照自己要求创建就好了,创建完成后进入下面的页面

    4e3a7b8b9bb1bfd79a4646f42224f9af.png

    这里我们用web of science来导入我们的文献

    承接上文,选中你需要的文献,当然你可以选择整个页面点导出

    3a8b4ed7c8fed64751985bedfd439790.png

    点击导出,选择第一个endnote desktop

    648b994441a5aae812056f1fff95c218.png

    75ceb2c644fa748ecd12de63e8e201fe.png

    选择导出到你选择的文件夹

    8b0f7483ebc83ae6064b50f31bfe66b7.png

    打开endnote,选择file 选择import 选择file 选择你刚保存的文件进行导入

    12da5d8d53c75718f38c52b5d73e8d5c.png

    这里注意,import option先选择other,然后选择web of science ,是按字母顺序排的。

    ce9b693ea7f0e9fb75af8afabee60866.png

    d15de6346382d39bc81b718635505c77.png

    编码选择utf-8

    c8f9ee0e2c69709501641d8793ad18f5.png

    Ok文献导入成功

    163067f255ed8da1cdfd4e5a5f1d69e0.png

    这里你还可以自己手动添加,选择references 选择new reference

    753d3671a8e7a9c30600c251996106fa.png

    这里你可以创建你的groups对你的文献进行分类

    b40a3eca63d6d439e8ba19fe184ca2ac.png

    然后选择all references,将想要分组的文献拖进你的群组就好了

    fe8ce9f6f3508243fb233eccb4ee822c.png

    1322baf0ae2f63c89c4c7a073a3b9eaf.png

    4、知网和google文献的导入方式也简单提一下:

    在知网中选择文献,点击导出

    363d832fd4ca8050ac288bfbe526c43b.png

    点击导出,会下载txt文件

    71c62eafaad6a62d1af25c3aec4f39ea.png

    c1b260c6c4fb053152bde53116e0efbe.png

    打开endnote还是一样导入,这里选择endnote import

    1236550f204be52c662acae7ebabd3d6.png

    760a6d0c804a7ab05f447d155dd64234.png

    在google学术中进入设置

    688fae7d8c2560b4723b2222a09d0c28.png

    选择显示导入endnote的链接,进行保存

    9b1bab0754f43246e85de6b6131d95f5.png

    然后搜索文献,就会有导入endnote的按钮了

    c695a4892e398d834bbbcc04ba56b68c.png

    点击后会下载下面的文件

    906526f8ebd02d381df14d22211a9c65.png

    打开就自动添加到endnote中去了

    5、如何将文献引用到论文中去

    方法一(不推荐):打开word,当你安装了endnote之后会显示endnote插件

    cee07bad381a29c7fb5d528a7b16950e.png

    将你的图标放到你想引用的位置,style可以设置你要的格式,点击insert citation

    de0f018652ff88c635a068b184b9db37.png

    然后进行从你文献库中进行搜索,插入

    c811b47962f5a3db503dbabdadf30af7.png

    最后结果为

    b0bee79f3cf5a9b49eb4c22f43ddbe10.png

    方法二(推荐),直接写完论文在一次性引用,将你的文献存放到一个group组就好,然后点击导出

    cba0b95f11cdfc0ae9c8f04520c65f86.png

    选择rtf格式会好一点,然后选好你要的论文格式

    973a5934fd540d1a43bb6fcbd940fe42.png

    完成后

    b19a8c8a2f6fe6baecae7af8c663abc7.png

    打开复制到自己的论文中去就好了

    6、最后解决以下有些小伙伴上不了web of science的问题

    由于这期内容过多,我就给一个知乎的链接https://zhuanlan.zhihu.com/p/46314185,请自行查看

    展开全文
  • 前面我们已经计算得到tfidf的结果‘tfidf_keywords_values’和textrank的结果‘textrank_...这个项目中,我们采用tfidf和textrank两种方式得到了每篇文章两组权重前20的词组,对于如何确定主题词和关键词,我们处理的

    前面我们已经计算得到tfidf的结果‘tfidf_keywords_values’和textrank的结果‘textrank_keywords_values’。
    下面要计算基于tfidftextrank计算离线文章画像

    所谓文章画像,就是给文章定义一些主题词和关键词,用来代表这篇文章。
    关键词和主题词最大的区别在于

    • 主题词是经过规范化处理的。
    • 关键词是文章中权重较高的词。

    这个项目中,我们采用tfidf和textrank两种方式得到了每篇文章两组权重前20的词组,对于如何确定主题词和关键词,我们处理的方式是:
    1) 关键词:textrank处理的topN个词,其权重乘以对应词的逆文档频率(较少个别意义不大的词在多个文档中出现导致权重过高)
    2) 主题词:textrank和tfidf计算结果的共同出现的词

    一、文章关键词

    因为我们是将每篇文章的textrank处理得到的topN个词乘以idf,消除在多篇文章出现的词带来的权重影响,所以要分别加载textrank_keywords_values和idf_keywords_values

    # 加载idf逆文档频率
    idf = ktt.spark.sql("select * from idf_keywords_values") # 
    # 加载textrank_keywords_values
    textrank_keywords_df = ktt.spark.sql("select * from textrank_keywords_values")
    # 重命名idf的keyword列为keyword1
    idf = idf.withColumnRenamed("keyword", "keyword1")   
    
    # 按照keyword关键词作连接,相当于在textrank结果右边补充对应词的逆文档频率
    result = textrank_keywords_df.join(idf,textrank_keywords_df.keyword==idf.keyword1)
    
    # 利用withcolumn方法新增‘weights’列,数据=textrank词权重X该词的idf,最后只选择需要的列
    keywords_res = result.withColumn("weights", result.textrank * result.idf).select(["article_id", "channel_id", "keyword", "weights"])
    
    

    在这里插入图片描述
    以上计算已经得到最终的结果,但是每篇文章的每个关键词和权重都是单独一列,因此利用文章id进行聚合,将关键词结果放在一起,让结果以字典形式展现

    # spark sql的dataframe注册临时表temptable,方便用sql语句操作
    keywords_res.registerTempTable("temptable")  
    
    # 根据文章id进行分组,一篇文章的所有textrank关键词用collect_list聚合成list,weights同理
    merge_keywords = ktt.spark.sql("select article_id, min(channel_id) channel_id, collect_list(keyword) keywords, collect_list(weights) weights from temptable group by article_id")
    
    # 定义函数,实现:单独聚合的keyword和weight如何成为keyword:weight的字典形式
    def _func(row):
        return row.article_id, row.channel_id, dict(zip(row.keywords, row.weights))
    
    # 调用函数,合并关键词权重合并成字典
    keywords_info = merge_keywords.rdd.map(_func).toDF(["article_id", "channel_id", "keywords"])
    
    

    在这里插入图片描述

    二、文章主题词

    前面我们计算完了关键词,接下来我们将 TF-IDF 和 TextRank 的共现词作为主题词,将 TF-IDF 权重表 tfidf_keywords_values 和 TextRank 权重表 textrank_keywords_values 进行关联,并利用 collect_set() 对结果进行去重,即可得到 TF-IDF 和 TextRank 的共现词,即主题词

    # 利用inner join取两个结果的keyword交集
    topic_sql =  select t.article_id article_id2, collect_set(t.keyword) topics 
    		from tfidf_keywords_values t                 
    		inner join textrank_keywords_values r
                  where t.keyword=r.keyword
       		group by article_id2
                  
    article_topics = ktt.spark.sql(topic_sql)
    
    

    article_topics 结果如下所示,topics 即为每篇文章的主题词列表

    在这里插入图片描述

    三、文章画像

    最后,将主题词结果和关键词结果合并,即为文章画像,保存到表 article_profile

    # 通过文章id,将关键词和主题词的结果必定
    article_profile = keywords_info.join(article_topics,keywords_info.article_id==article_topics.article_id2).select(["article_id", "channel_id", "keywords", "topics"])
    
    # 结果写入hive数仓的表
    articleProfile.write.insertInto("article_profile")
    
    

    到hive中检查一下表

    hive> select * from article_profile limit 1;
    OK
    26      17      {"策略":0.3973770571351729,"jpg":0.9806348975390871,"用户":1.2794959063944176,"strong":1.6488457985625076,"文件":0.28144603583387057,"逻辑":0.45256526469610714,"形式":0.4123994242601279,"全自":0.9594604850547191,"h2":0.6244481634710125,"版本":0.44280276959510817,"Adobe":0.8553618185108718,"安装":0.8305037437573172,"检查更新":1.8088946300014435,"产品":0.774842382276899,"下载页":1.4256311032544344,"过程":0.19827163395829256,"json":0.6423301791599972,"方式":0.582762869780791,"退出应用":1.2338671268242603,"Setup":1.004399549339134}   ["Electron","全自动","产品","版本号","安装包","检查更新","方案","版本","退出应用","逻辑","安装过程","方式","定性","新版本","Setup","静默","用户"]
    Time taken: 0.322 seconds, Fetched: 1 row(s)
    
    

    四、Apscheduler 定时更新

    定义离线更新文章画像的方法,首先合并最近一个小时的文章信息,接着计算每个词的 TF-IDF 和 TextRank 权重,并根据 TF-IDF 和 TextRank 权重计算得出文章关键词和主题词,最后将文章画像信息保存到 Hive

    def update_article_profile():
        """
        定时更新文章画像
        :return:
        """
        ua = UpdateArticle()
        # 合并文章信息
        sentence_df = ua.merge_article_data()
        if sentence_df.rdd.collect():
            textrank_keywords_df, keywordsIndex = ua.generate_article_label()
            ua.get_article_profile(textrank_keywords_df, keywordsIndex)
    

    利用 Apscheduler 添加定时更新文章画像任务,设定每隔 1 个小时更新一次

    from apscheduler.schedulers.blocking import BlockingScheduler
    from apscheduler.executors.pool import ProcessPoolExecutor
    
    # 创建scheduler,多进程执行
    executors = {
        'default': ProcessPoolExecutor(3)
    }
    
    scheduler = BlockingScheduler(executors=executors)
    
    # 添加一个定时更新文章画像的任务,每隔1个小时运行一次
    scheduler.add_job(update_article_profile, trigger='interval', hours=1)
    
    scheduler.start()
    

    利用 Supervisor 进行进程管理,配置文件如下

    [program:offline]
    environment=JAVA_HOME=/root/bigdata/jdk,SPARK_HOME=/root/bigdata/spark,HADOOP_HOME=/root/bigdata/hadoop,PYSPARK_PYTHON=/miniconda2/envs/reco_sys/bin/python,PYSPARK_DRIVER_PYTHON=/miniconda2/envs/reco_sys/bin/python
    command=/miniconda2/envs/reco_sys/bin/python /root/toutiao_project/scheduler/main.py
    directory=/root/toutiao_project/scheduler
    user=root
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/root/logs/offlinesuper.log
    loglevel=info
    stopsignal=KILL
    stopasgroup=true
    killasgroup=true
    
    展开全文
  • 2018年如何调整论文格式 古典文学中常见论文这个词,当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的*,简称为论文。... 主题词是经过规范化的词,在确定主题词时,要对论文进行主题分...
  • 如何确定网站核心关键词呢?确定的关键词都适合吗?如何判断关键词竞争度呢?今天冯文星SEO博客继续更新:SEO优化教程第4讲-网站核心关键词确定及关键词竞争度分析。 一、网站核心关键词确定1、选的关键词要...

    不管是个人站长还是企业网站,在做SEO的过程中都必须要考虑网站的核心关键词有哪些?该如何确定网站核心关键词呢?确定的关键词都适合吗?如何判断关键词竞争度呢?今天冯文星SEO博客继续更新:SEO优化教程第4讲-网站核心关键词确定及关键词竞争度分析。

    SEO优化教程第4讲-网站核心关键词确定及关键词竞争度分析。


    一、网站核心关键词确定

    1、选的关键词要根据企业的主营产品或者服务。(品类词)

    2、选择的关键词一定要与自己的网站主题内容要匹配,也就是你的网站是做什么行业的,那么我们就围绕自己网站的行业来选词。

    3、我们在选择关键词的时候还可以分析竞争对手的关键词。根据公司的行业来在百度里面找到同行,找到排名靠前的网站,利用站长工具分析竞争对手的网站查看关键词的排名以及流量,从竞争对手的关键词中选出适合自己网站的关键词。

    4、我们也可以站在用户的角度,换位思考,假如自己是用户,在搜索相关信息的时候会搜索什么样的词。

    5、选择关键词的时候,也可以选择相关词或者近义词,为了满足更多用户的搜索习惯,我们可以考虑使用相关词或者近义词(自行车  单车  脚踏车)

    6、我们在选择关键词的时候一定要选择具备商业价值的关键词。所谓的商业价值的词指的是能产生成交转化的词。

    7、我们可以利用百度的下拉框词或者是百度的相关搜索的关键词。

    网站核心关键词确定-百度下拉框
    网站核心关键词确定-百度相关搜索
    二、关键词竞争度分析

    1、看看百度的收录结果,也就是我们在百度里面搜素一个关键词看看这个关键词的收录结果有多大收录的结果数量越大,表明这个词的竞争难度越高。
    关键词竞争度分析-百度收录量

    2、看关键词的搜索量,所谓的搜索量指的是关键词的指数,相对来说,搜索量越高,竞争难度也就越高。对于关键词的搜索量来说,一般超过1000的就是高难度的词;搜索量500-1000属于中等偏上的难度;100-500属于中等难度;搜索量低于100的属于简单的关键词,竞争难度小。
    关键词竞争度分析-百度指数

    3、搜索一个关键词,如果发现这个关键词有很多企业在做百度的竞价推广,那么表明这个词的商业价值很高,竞争度也比较大。

    4、当我们搜索一个关键词发现排名的快照主页链接越多的则表明这个词的竞争强度较大。因为主页顶级域名的权重高于二级域名的权重高于栏目域名的权重高于内容页面的权重。如:seoyh.fwxseo.com是二级域名,而www.fwxseo.com/seoyh是二级目录。一般大型的站点采用都是子域名的形式,普通的企业站采用的都是栏目域名。

    5、对于一些非法行业的站点的关键词不好优化。对于要做非法站点,不能用正规的手法做,可以用作弊的手法。劫持别人的关键词排名。劫持一般分为两类,第一类,你懂黑客的技术可以攻破别人的网站(犯法的);第二类,就是自己养站(站群)或者你自己养一个权重高的站点,可以借助权重高的站点,带动自己的新站点。

    转载于:https://www.cnblogs.com/szwh/p/7803715.html

    展开全文
  • 目录一、使用sklearn里面的LatentDirichletAllocation做主题挖掘二、使用gensim的ldamodel做主题挖掘三、如何将结果可视化四、如何确定主题数4.1 观察可视化图形4.2 使用模型检验指标判断 B站视频《[数说弹幕]我不...

    这一步的实现是建立在分词工作已经做好了的基础上,具体方法可以参考我之前的文章,这里不再重复说明。这里介绍两种方法,两种方法都好用,看你习惯哪种了。

    一、使用sklearn里面的LatentDirichletAllocation做主题挖掘

    from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer #基于TF-IDF的词频转向量库
    tf_vectorizer=TfidfVectorizer(stop_words=stoplist,tokenizer=jieba_cut,use_idf=True) #创建词向量模型,这里的jieba_cut是自定义的分词函数
    tf=tf_vectorizer.fit_transform(comment_list) #将评论关键字列表转换为词向量空间
    
    from sklearn.decomposition import LatentDirichletAllocation #导入 LDA模型库
    n_topics=5 #设置主题个数
    lda=LatentDirichletAllocation(n_components=n_topics,max_iter=200,
                                   learning_method='online',
                                   learning_offset=50.,
                                   random_state=0)
    lda.fit(tf)#拟合模型
    

    得到下面模型结果

    LatentDirichletAllocation(batch_size=128, doc_topic_prior=None,
                              evaluate_every=-1, learning_decay=0.7,
                              learning_method='online', learning_offset=50.0,
                              max_doc_update_iter=100, max_iter=50,
                              mean_change_tol=0.001, n_components=5, n_jobs=None,
                              perp_tol=0.1, random_state=0, topic_word_prior=None,
                              total_samples=1000000.0, verbose=0)
    
    #定义展示模型函数
    def print_top_words(model,feature_names, n_top_words):
        for topic_idx, topic in enumerate(model.components_):
            print("Topic #%d:" %topic_idx)
            print(' '.join([feature_names[i] for i in topic.argsort()[:-n_top_words - 1:-1]]))
        print()
    n_top_words=20 #设置每个主题展示词组个数
    tf_feature_names=tf_vectorizer.get_feature_names()
    print_top_words(lda,tf_feature_names,n_top_words)
    

    结果如下:

    Topic #0:
    奔涌 后浪 BILIBILI 排面 泪目 高考 看到 P3 帅 弹幕 作文 TESTV 河流 沙滩 当自强 老泪纵横 必胜 热乎 星巴克 嘶吼
    Topic #1:
    干杯 哔哩哔哩 加油 FPX 哭 牌面 冲冲冲 复旦 中考 说 博爱 哥哥 牛壁 牛皮 写 电 鸭 刘振邦 子霖叔 青年人
    Topic #2:
    光 火 牛逼 和而不同 IG 老番茄 NB 美美与共 君子 青年 时代 前辈 同学 学习 有幸 感谢 遇见 冠军 浪 祖国
    Topic #3:
    站 B 爱 老师 中国 何冰 破 党妹 年轻 感动 共勉 谢谢 小破站 朋友 喜欢 RNG 李子 最好 时代 NANA
    Topic #4:
    致敬 强大 鼓励 赞美 内心 热泪盈眶 未来 奔跑 吝啬 青春 世界 合影 年轻人 激动 拥抱 热血沸腾 否定 表达 嘲讽 弱小
    

    二、使用gensim的ldamodel做主题挖掘

    from gensim.corpora import Dictionary
    from gensim.models import ldamodel
    from gensim.models import CoherenceModel, LdaModel
    from gensim import models
    %matplotlib inline
    
    d=Dictionary(words_list) #分词列表转字典
    corpus=[d.doc2bow(text) for text in words_list] #生成语料库
    model=ldamodel.LdaModel(corpus,id2word=d,iterations=2500,num_topics=4,alpha='auto')#生成模型
    model.show_topics(num_words=20) #展示每个主题下的20个词组
    

    结果如下:

    [(0,
      '0.028*"老师" + 0.027*"来" + 0.027*"站" + 0.024*"破" + 0.023*"小" + 0.021*"要" + 0.021*"是" + 0.021*"好" + 0.020*"何冰" + 0.017*"看" + 0.016*"未来" + 0.015*"冲" + 0.015*"哭" + 0.014*"致敬" + 0.012*"牛逼" + 0.011*"NB" + 0.010*"高能" + 0.009*"B站" + 0.008*"世界" + 0.008*"热血沸腾"'),
     (1,
      '0.418*"后浪" + 0.417*"奔涌" + 0.009*"谢谢" + 0.006*"奔跑" + 0.006*"中考" + 0.006*"前辈" + 0.006*"是" + 0.004*"感谢" + 0.004*"中国" + 0.004*"生活" + 0.004*"否定" + 0.004*"弱小" + 0.004*"嘲讽" + 0.003*"演员" + 0.003*"习惯" + 0.003*"看着" + 0.003*"感激" + 0.003*"满怀" + 0.002*"人" + 0.002*"优秀"'),
     (2,
      '0.337*"干杯" + 0.265*"哔哩哔哩" + 0.109*"有" + 0.053*"光" + 0.049*"火" + 0.035*"泪目" + 0.025*"爱" + 0.013*"牌面" + 0.004*"B站" + 0.004*"感动" + 0.003*"长江后浪推前浪" + 0.003*"朋友" + 0.002*"水印" + 0.002*"了解" + 0.002*"讲" + 0.002*"厉害" + 0.002*"事" + 0.002*"好看" + 0.002*"小人" + 0.002*"泪光"'),
     (3,
      '0.216*"加油" + 0.135*"排面" + 0.047*"BILIBILI" + 0.025*"人" + 0.016*"B" + 0.016*"强大" + 0.015*"鼓励" + 0.015*"赞美" + 0.015*"内心" + 0.014*"时代" + 0.014*"君子" + 0.014*"站" + 0.013*"吝啬" + 0.011*"美美与共" + 0.011*"干杯" + 0.010*"喜欢" + 0.010*"和而不同" + 0.009*"青春" + 0.009*"小破站" + 0.009*"今年"')]
    

    可以看到不仅展示了主题词组,还展示了词组权重。

    三、如何将结果可视化

    import warnings
    try:
        import pyLDAvis.gensim
        CAN_VISUALIZE=True
        pyLDAvis.enable_notebook()
        from IPython.display import display
    except ImportError:
        ValueError("SKIP: please install pyLDAvis")
        CAN_VISUALIZE=False
    warnings.filterwarnings('ignore')
    %matplotlib inline
    
    prepared = pyLDAvis.gensim.prepare(model,corpus,d)
    pyLDAvis.show(prepared, open_browser=True)
    

    结果输出为html可交互的可视化图表
    在这里插入图片描述
    具体动图可参看我的B站视频,视频链接在文章开头。

    四、如何确定主题数

    4.1 观察可视化图形

    通过上面的可视化图表,看每个类别圆形区域是否重叠较多,再在程序中手动调整主题数。

    4.2 使用模型检验指标判断

    通过一些模型检验指标来判断,例如u_mass, c_v等
    设置两个用作比较的模型

    goodLdaModel = LdaModel(corpus=corpus, id2word=dictionary, iterations=50, num_topics=3)
    badLdaModel = LdaModel(corpus=corpus, id2word=dictionary, iterations=50, num_topics=10)
    

    使用U_Mass Coherence

    goodcm = CoherenceModel(model=goodLdaModel, corpus=corpus, dictionary=dictionary, coherence='u_mass')
    badcm = CoherenceModel(model=badLdaModel, corpus=corpus, dictionary=dictionary, coherence='u_mass')
    

    可视化主题模型

    pyLDAvis.enable_notebook()
    pyLDAvis.gensim.prepare(goodLdaModel, corpus, dictionary)
    pyLDAvis.gensim.prepare(badLdaModel, corpus, dictionary)
    print goodcm.get_coherence()
    -14.0842451581
    print badcm.get_coherence()
    -14.4434307511
    

    这个指标值越大越好,所以goodcm要好于badcm
    使用C_V coherence

    goodcm = CoherenceModel(model=goodLdaModel, texts=texts, dictionary=dictionary, coherence='c_v')
    badcm = CoherenceModel(model=badLdaModel, texts=texts, dictionary=dictionary, coherence='c_v')
    

    结果是:

    print goodcm.get_coherence()
    0.552164532134
    print badcm.get_coherence()
    0.5269189184
    

    这个指标也是越大越好。

    下一篇文章我将着重讲情感分析以及一点点情绪分析的内容,敬请期待

    展开全文
  • 演讲主题和内容的确定 提示: 根据会议性质及听众需求做主题的设定,而演讲稿件的确定可以先从框架开始,熟悉框架后再往里面填充和丰富具体内容。这样会使演讲者思路更清晰,知道先讲什么,后讲什么,结尾说什么。...
  • ”准备工作可以包括以下几个方面: 1演讲主题和内容的确定 提示: 根据会议性质及听众需求做主题的设定,而演讲稿件的确定可以先从框架开始,熟悉框架后再往里面填充和丰富具体内容。这样会使演讲者思路更清晰,...
  • 首先,这篇文章是一篇枯燥的方法论,或许你会不喜欢,但是我还是建议你看下去。因为这些方法论不是由哪个家哪个家研究出来的长篇大论,而是一个软件...最开始我以为这个是我凭空想象的,写这段话的时候,顺便问...
  • 对于一个网站来说,设置一个有利于...一、首先要确定好网站主题的核心。 1、如果一个网站只有一个主题核心,那真的太好设置了。可以是直接使用“核心A+品牌词”的格式来设置。(这就是合格的标题了)例如,一个做“...
  • 【灵活选】词性分类之后,回到原文中,根据原文中空格前后的单词或语句确定所填词的词性,然后从分好类的单词中选择出词性、意思、语法都符合要求的最佳选项。我们可以根据一些简单的语法知识确定答案。 *小技巧:...
  • LDA学习笔记

    2020-12-08 12:05:21
    LDA中的主题矩阵如何计算?分布矩阵如何计算?LDA的共轭分布解释下?PLSA和LDA的区别?怎么确定LDA的topic个数LDA和Word2Vec区别?LDA和Doc2Vec区别?LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?trick?...
  • 熟悉Visual Studio 的小伙伴肯定听说过“Nuget”这个,关于Nuget是如何如何方便就不再赘述了,这里主要介绍一下如何搭建个人的Nuget服务器。 直奔主题 第一步:打开VS2017 新建空的 Web 应用程序,命名为 ...
  • 如何确定高质量的相关文档集以及如何从相关文档集中挑选有用的扩展项是解决伪反馈中查询主题漂移的两个重要方面。对此,针对XML(extensible markup language)文档,提出了一个解决框架:一方面,研究了XML 伪反馈...
  • 但是,LDA的作者们采用的是贝叶斯派的思想,认为它们应该服从一个分布,所以主题分布和分布是不确定的。这里相当于抛硬币,对于PLSA,所以这个参数是固定的唯一的;而贝叶斯学派(LDA)看来 事实上有很多很多硬币
  • 以下为博云近期在活动中分享的关于《如何通过 DevOps 让数字化转型变得更加敏捷》的主题演讲实录。 01 金融科技进入VUCA时代 大家好,今天分享的题目是《如何通过 DevOps 让数字化转型变得更加...
  • 统计中文文本中人物出现次数

    千次阅读 2020-04-09 22:49:21
    在文献计量学中,关键词的共方法常用来确定该文献集所代表学科中各主题之间的关系。而在这里,我们需要通过分析一篇小说或剧本,来分析剧中各个角色之间的人物关系。两者有很相同的地方。 一般我们认为,在一篇文章...
  •  一、基本了解 大作文除去开头和结尾部分,以及作为过渡意义的承接段落外,其余大部分均为分论点论证,这部分会从微观维度支撑论证对主题词的角度倾向(总论点)。这部分需要非常清晰有效的逻辑,以及对应详实而丰富...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    83 <br>0125 按要求生成指定位数编号 83 <br>0126 确定两字符串是否相等 84 <br>0127 判断两字符串中指定子串是否相等 84 <br>0128 判断字符串是否为日期格式 85 <br>0129 清除字符串中指定...
  • 1.特征向量的寻找:新闻分类的第一步,寻找新闻中具有代表... 引入概念单文本词汇频率/逆文本频率值TF/IDF的概念(来源于如何确定网络和查询的相关性一节)。因新闻分类的这一步骤和关键词搜索中寻找能代笔网页信息
  • 摘要:AI、5G时代下,下一代网络的发展走向会如何? 在今年召开的《面向2030的新型网络》主题论坛中,业内专家给出了它们的答案。研讨会中,专家对于未来网络展望的关键词是:算力网络、确定性网络、内生安全。这三...
  • 主题词:心育知识、综合实践活动、学科渗透 XX年7月始,我们在全县21所中小学校中进行了“心育”综合实践活动实验,该实验在XX年经教育部规划课题总课题组批准,被确定为全国教育科学研究“十五”规划重大课题子课题...
  • 对于程序开发新手来说,一个最常见的困惑是测试的主题。他们隐约觉得“单元测试”是很好的,而且他们也应该做单元测试。但他们却不懂这个的真正含义。如果这听起来像是在说你,不要怕!在这篇文章中,我将介绍什么...
  • 3.15消费与服务国旗下演讲稿 各位领导,各位老师,各位同学,大家好: 今天是3.15国际消费者权益日,中国消费者协会确定今年的主题为"消费与服务"。所以,我演讲的题目是“消费服务,我的责任”。 著名相声演员...
  • 首先,确定网站的核心关键字,查找网站的讨论究竟是什么主题,然后安排与相关的关键字或词组的各种关键字的核心组成。对企业或企业来说,这些核心的关键字是他们的产品,业务范围,如产品名称,公司名称或...
  • 315消费者权益日学生代表发言稿 各位领导,各位老师,各位同学,大家好: 今天是3.15国际消费者权益日,中国消费者协会确定今年的主题为"消费与民生 "。所以,我演讲的题目是“消费与民生,我的责任”。 著名相声...
  • 4.13.1 演示过程用户要求改变主题怎么办? 70 4.13.2 演示过程如何答辩? 70 4.14 如何组织演示后工作 72 4.14.1 争取约见重要领导 72 4.14.2 提供备忘,后续跟进 72 4.14.3 总结演示得失,形成反馈文档 72 4.14.4 ...
  • 4.13.1 演示过程用户要求改变主题怎么办? 70 4.13.2 演示过程如何答辩? 70 4.14 如何组织演示后工作 72 4.14.1 争取约见重要领导 72 4.14.2 提供备忘,后续跟进 72 4.14.3 总结演示得失,形成反馈文档 72 4.14.4 ...
  • 并利用具体的例子来全面介绍每个特性,不仅讨论了各个特性是什么,还说明了它是如何工作的,如何使用这个特性来开发软件,以及有关的常见陷阱。  本书面向所有oracle 数据库应用开发人员和dba。 作译者 作者  ...

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

如何确定主题词