用户工具

站点工具


zh:notes:important_citation

Important citations identification by exploiting generative model into discriminative model

Citation Information

Xin An, Xin Sun, Shuo Xu, Liyuan Hao, and Jinghong Li, 2021. Important Citations Identification by Exploiting Generative Model into Discriminative Model. Journal of Information Science.

Requirements

  • Python 3
    • pandas
    • numpy
    • matplotlib
    • sklearn
    • tensorflow2.3.1
    • keras2.4.3
    • nltk
    • re
    • xlrd
    • xlwt

Dataset

Valenzuela's Dataset

该数据集来自于ACL Anthology,由Valenzuela et al. (2015)所标注,共包括465对施引-被引文献对。Valenzuela et al. (2015)根据引文功能将施引-被引文献对人工标注为Related work (0)、Comparison (1)、Using the work (2)和Extending the work (3)。经过下文数据预处理过程,共收集到456对已标注施引-被引文献对,其中被标记为重要标签的数量为67对。

  • 原始数据在./data/原始数据/Valenzuela_Annotations.csv
  • context、author、abstract等过程数据在./data/Valenzuela_information.xlsx
  • 最终实验数据在./data/Valenzuela_data.csv

Zhu's Dataset

该数据集由Zhu et al. (2015)收集的作者标注数据集,为40位研究人员贡献的100多篇文章。经过下文预处理等过程,共收集到2685对已标注施引-被引文献对,其中被标记为重要标签的数量为311对。

  • 原始数据在./data/原始数据/Zhu_Survey.xlsx
  • context、author、abstract等过程数据在./data/Zhu_information.xls
  • 最终实验数据在./data/Zhu_data.csv

Data Preprocessing

获取PDF数据,转化为TXT格式,并规范化

Valenzuela's Dataset:依据施引文章的url从ACL Anthology下载PDF格式文献(共收集到437篇),保存在./data/PDF数据/Valenzuela_pdf/

Zhu's Dataset:依据作者提供的url下载或文章题目从Google Scholar中下载PDF格式文献(共收集到122篇),保存在./data/PDF数据/Zhu_pdf/

在R中调用XPDF,将PDF格式数据批量转换为TXT格式,转换之后的TXT数据保存在./data/txt数据/

> ./pdf_to_text.R

对转换后的TXT文本进行规范化处理,包括删除文本中的换行符,将连续的空格合并等

> Python ./replace.py

应用ParsCit工具解析文本格式数据

利用Parscit对TXT格式数据进行解析,Parscit解析数据在./data/ParsCit/,提取标题、作者、摘要、参考文献等信息,然后对一些解析错误进行人工修正。

> cd ParsCit
> ./run_parscit.sh valenzuela_txt
> ./run_parscit.sh zhu_txt

提取引用语境信息

运行context_extract.py,应用被引文献的作者和年份构建正则表达式,匹配文本文件,提取引文句及其前一句和后两句构成引用语境,同时输出引文位置信息到Excel文件中,然后对一些提取错误进行人工修正。

> Python ./context_extract.py

提取引文位置

基于前两步,将引文位置信息和Parscit中generic_header位置对比,提取引文位置,然后对提取结果进行一定的人工修正。

> Python ./citation_position.py

使用NLTK对引用语境和摘要进行文本预处理

运行preprocess.py,使用NLTK工具包对所有的引用语境、摘要等文本信息进行预处理,包括去除所有的标点、数字、HTML,并进行分词、词性标注、词形还原、停用词过滤等,得到清洗后的引用语境、摘要等文本信息

> Python ./preprocess.py

Feature Engineering

CIM特征

The database SQL files: acl_subset.sql and zhu.sql. These SQL files share the same table structure.

To import the related information from the file data/pre_title.xls to MySQL database by running AclExcelImporter.java in the package cn.edu.bjut.ui of the project DataConverter.

To import the related information from the file data/zhu_data_0924.xlsx to MySQL database by running ZhuExcelImporter.java in the package cn.edu.bjut.ui of the project DataConverter.

To convert the data to the format of CIM model by running ToCIM.java in the package cn.edu.bjut.ui of the project DataConverter. Note that the parameter “data/CIM/acl” for Valenzuela's dataset and “data/CIM/zhu” for Zhu's dataset.

To run CIM.java in the package cn.edu.bjut.ui of the project CIM,several files will be saved in the directory data/acl and data/zhu, respectively. Note that the parameter “data/acl” for Valenzuela's dataset and “data/zhu” for Zhu's dataset.

To run FromCIM.java in the package cn.edu.bjut.ui of the project DataConverter, two files .symKL and .psi will be saved in the directory data. Note that the parameter “data/CIM/acl” for Valenzuela's dataset and “data/CIM/zhu” for Zhu's dataset.

结构特征

基于数据预处理过程,统计相应引文被“引言(Introduction)”、“相关工作(Related Work)”、“方法(Method)”、“实验(Experiment)”、“讨论(Discussion)”及“结论(Conclusion)”6个章节提及的频次,以及提及该引文的章节数量。

被引次数特征

从Google Scholar上获取被引文献截止到施引文献出版年份时的总被引次数,应用以下公式进行标准化处理

$\frac{TC}{Yciting - Ycited + 1}$

其中$TC$是被引文献截止到施引文献出版年份时收到的引用总数,$Yciting$和$Ycited$分别是施引文献和被引文献的发表年份。

单独引用特征

基于数据预处理过程,计算施引文献中被引文献单独引用数量占所有引用数的比例,$\frac{Sc}{Gc}$,其中$Sc$是目标被引文献被单独引用的数量,$Gc$是该文献在施引文献正文中被提及的总数。

作者重叠特征

运行author_overlap.py, 将姓氏、名字和中间名的首字母组合成每个作者的标识符来识别和区分作者,使用Jaccard系数来度量施引文献作者集与被引文献作者集之间的相似度,导出到Excel文件中。

> Python ./author_overlap.py

线索词特征

运行cue_words.py, 线索词列表在./data/cue_words.xls,通过正则表达式匹配来统计出现在引文中的重要线索词和不重要线索词的数量, 导出到Excel文件中。

> Python ./cue_words.py

相似度特征

运行cos_simi_tfidf.py,使用TF-IDF将引用语境与被引文献摘要进行向量化表示,然后通过余弦相似度计算被引文献的摘要与施引文献中的引用语境之间的相似性,导出到Excel文件中。

> Python ./cos_simi_tfidf.py

Experiment

基于最终实验数据Valenzuela_data.csvZhu_data.csv

GridSearch优化模型参数

运行gridsearch.py,应用GridSearch,五折交叉验证优化SVM、RF模型参数。

> Python ./gridsearch.py

SVM、RF、CNN模型PR曲线

运行pr.py, 将SVM、RF、CNN模型在Valenzuela's Dataset和Zhu's Dataset上的PR性能曲线绘制到同一张图上。

> Python ./pr.py

SVM、RF、CNN模型ROC曲线

运行roc.py,将SVM、RF、CNN模型在Valenzuela's Dataset和Zhu's Dataset上的ROC性能曲线绘制到同一张图上。

> Python ./roc.py

特征重要性对比

使用Valenzuela's Dataset,保持结构特征组(G2)不变,将其他组特征分别加入到判别式模型SVM中,通过gridsearch优化模型参数,在五折交叉验证下观察使用不同特征组的平均AUC-PR和AUC-ROC数值的变化,以此对各特征贡献进行评估,相应运行代码同前几步。

应用配对样本t检验,检验不同特征组之间结果是否存在显著差异。

> from scipy import stats
> stats.ttest_rel(G1,G2)
zh/notes/important_citation.txt · 最后更改: 2022/01/27 08:23 由 pzczxs