美文网首页知识点搭建博客
快速汇总知识点&提高中文写作能力的策略

快速汇总知识点&提高中文写作能力的策略

作者: 董八七 | 来源:发表于2018-06-19 22:12 被阅读62次

    科研材料的写作在很大程度上不是靠个人感性知识的输出,而通常是基于大量相关材料和信息的汇总。在涉及一个新的领域时,缺乏对概念的认知和理解,也缺少对应的学习材料,这限制了任务的及时完成。本文给出了一个有效解决这些问题的策略,包括如何快速的收集中文文献,如何从收集的大量素材中提取有用信息,进而针对性地通过对这些信息的学习提高写作的水平。

    1 文献收集

    收集文献的目的是构建句子库,需要平文本。从语言种类上,文献包含少量的中文和大量的英文文献。通常使用的格式的PDF,英文PDF转平文本相对容易的多,而中文则极不理想。幸运的是,部分中文期刊官网提供HTML全文查看,这些就解决了中文PDF下载繁琐和转换困难的问题。HTML全文查看并不是要一条一条的复制粘贴,有效率更好的方法,人称“爬虫”。爬虫就是用程序循环访问相关网页并抽取需要的内容。爬虫用到的语言有多种,由于我偏重于R而且只会这个,所以下面给一个抓取林业一级核心《林业科学》的示例。在一级核心刊物上发表文章不是一件非常容易的事,所以刊发的文章在用词、表达和逻辑上还是能够代表国内的顶级水平的,是比较合适的学习材料。目前《林业科学》、《农业科学》和《遗传》等提供近几年的全文,足够了。


    分2层执行,底层是每篇文章,其网址依赖于上层卷目录中的信息
    上层代码如下

    # 加载包
    library(rvest)
    library(tidyverse)
    # 2014-2018 指定要爬取的url
    for (vol in 44:95) {
      url <- paste0("http://www.linyekexue.net/CN/volumn/volumn_14", vol, ".shtml")
      webpage <- read_html(url)
      period <- webpage %>% html_nodes("font") %>% html_text %>% .[1] %>% str_split(" ") %>% 
        unlist %>% .[1]
      year <- period %>% str_extract("\\d{4}")
      issue <- period %>% str_extract("\\d{1,2}期") %>% str_replace("期", "")
      page <- webpage %>% html_nodes(".J_VM") %>% html_text %>% str_extract("\\d{1,3}-\\d{1,3}") %>% 
        .[!is.na(.)] %>% str_split("-") %>% lapply("[[", 1) %>% unlist %>% .[-1]
      cat("---", vol, "---\n")
      for (i in 1:length(page)) {
        url <- paste0("http://html.rhhz.net/linyekexue/html/", year, "-", issue, 
          "-", page[i], ".htm") %>% cn_journal_txt
        cat("###", i, "\n")
      }
    }
    

    底层代码(一个函数)

    cn_journal_txt <- function(url) {
      library(rvest)
      library(tidyverse)
      webpage <- read_html(url)
      titl <- webpage %>% html_nodes(".article_title_cn") %>% html_text %>% .[1] %>% 
        str_replace_all("(\n\\s{1,})|(\r)|(:)|(/)|(\\*)", "")
      author <- webpage %>% html_nodes("#zuozhe1_CN") %>% html_text %>% str_replace_all("(\\d)|(,)|(\r)|(\n)|(\t)", 
        "")
      year <- webpage %>% html_nodes("#copy_CN") %>% html_text %>% str_extract("\\d{4}")
      titl <- paste(author, year, titl, sep = " - ")
      abs <- webpage %>% html_nodes(".abs") %>% html_text %>% .[1] %>% str_replace_all("(\n\\s{1,})|(\t)", 
        "")
      # subtitl <- webpage %>% html_nodes('.outline_anchor') diff str in diff pages
      paragraph0 <- webpage %>% html_nodes(".Ident-First-Line") %>% html_text
      paragraph <- webpage %>% html_nodes(".paragraph") %>% html_text
      paragraph <- c(paragraph0, paragraph) %>% unique()
      write(c(abs, paragraph), file = paste0("output/lykx_html/", titl, ".txt"))
    }
    

    抓到的内容


    接着用dword构句子库,并根据关键字提取句子、所在文献等信息。

    有了这些信息,就能有目的地学习不熟悉的概念,学习专业的表达方式,从而让学习和写作变得更高效些。

    相关文章

      网友评论

        本文标题:快速汇总知识点&提高中文写作能力的策略

        本文链接:https://www.haomeiwen.com/subject/nnpzeftx.html