一种基于二叉树的数学公式抄袭检测算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
\times
二叉树结点的数据结构
含义
+ \times \times \times
+ link \sum
Ù
y
z
x
\times
由数学公式的公式元素串表示生成其二叉树表示 的方法是先建立根结点, 根结点的公式元素是公式元素 串中优先级最低的公式元素, 由于公式元素串中位于根 结点公式元素之前的公式元素在根结点的左子树, 位于 根结点公式元素之后的公式元素在根结点的右子树, 递 归建立根结点的左右子树。 每个结点的公式元素类别和结合方式根据公式元 素确定。每个结点的高度根据公式 (1) 计算。每个结点 的结构码在对树形结构作归一化处理后生成。
H (node) = H r > H l? H r :H l + 1
图2
y
z
10
=
aHale Waihona Puke Baidu
i
i
l
树形结构归一化后的二叉树
对树形结构作归一化后处理后, 后序遍历二叉树, 根据式 (2) 生成各结点的结构码, 最终得到根结点的结 构码, 即二叉树的结构码。
ìC l + H + C r , 非叶子结点 C (node) = í î1, 叶子结点
5
实验结果及分析
为了验证算法的性能, 从 258 篇公开发表的学术论
文中选取 1 000 个含义和结构互不相同的数学公式, 预 处理后存入公式检测数据库。 实验环境为 CPU Pentium 2.0 GHz, 内存 2 GB, 操 作系统 Windows XP SP3, 数据库 ACCESS 2007。 实验中采用准确率 P、 召回率 R 和 F1 值作为评价 标准。
其中,H (node) 是结点 node 的高度,H l 是结点 node 左 子树的高度,H r 是结点 node 右子树的高度。 例 如 ,(å ai + x ´ y ´ z) ´ ( x ´ y + y ´ z) 的 LaTeX 格 式
i=1 10
为 “(\sum_{i=1}^{10}a^i + x\times y\times z)\times(x \times y+y \times z) ” , 其对应二叉树表示如图 1 所示。
\times
+
+ \times \times
2 数学公式的二叉树表示 2.1 二叉树构造
在 LaTeX 文档中, 根据标记提取用字符串形式表示 的数学公式。由于 LaTeX 格式的数学公式具有较强的 结构特征, 因此, 可将一个复杂的数学公式分解为多个 子式, 再将每个子式分解成多个更小的子式 [15], 如此反 复, 直到不能分解为止。分解后得到的最小子式称为公 式元素。 对于三目运算符, 如求和运算 “∑” , 它与上、 下、 右 都有联系, 通过增加一个 “ link” 运算符, 将其与右面的子 式结合起来。 从左向右遍历增加了 “ link” 运算符后的字符串, 生 成公式元素的优先级列表。依据结构特征和优先级列 表可生成数学公式的二叉树表示。二叉树中结点的数 据结构如表 1 所示。
1.渤海大学 工学院, 辽宁 锦州 121000 2.渤海大学 信息科学与技术学院, 辽宁 锦州 121000 3.渤海大学 新能源学院, 辽宁 锦州 121000 4.大连理工大学 计算机科学与技术学院, 辽宁 大连 116024 1.College of Engineering, Bohai University, Jinzhou, Liaoning 121000, China 2.College of Information Science and Technology, Bohai University, Jinzhou, Liaoning 121000, China 3.New Energy College, Bohai University, Jinzhou, Liaoning 121000, China 4.School of Computer Science and Technology, Dalian University of Technology, Dalian, Liaoning 116024, China QIN Yuping, TANG Yawei, LUN Shuxian, et al. Mathematical formula plagiarism detection algorithm based on binary tree. Computer Engineering and Applications, 2015, 51 (1) : 257-260. Abstract: A mathematical formula plagiarism detection algorithm based on binary tree is proposed. Firstly, the paper gets the mathematical formula from the detected document, generates the binary tree of the mathematical formula by its LaTeX form, normalizes the binary tree structure to get the structure code, and then searches the table that named the structure code. If the tale exists, then indexing the record that equals to the formula element of root node and the normalizing variable names pre-order traversing formula element sequence of the binary tree. The indexing resuls confirms if the mathematical formula belong to plagiarism. The experimental results show that the algorithm realize the accurately plagiarism-detection of mathematical formula, so it is a more practical algorithm. Key words: mathematical formula; plagiarism detection; binary tree; normalization; structure code 摘 要: 提出了一种基于二叉树的 LaTeX 格式数学公式抄袭检测算法。在待检测文档中提取数学公式, 根据数学公
x y i 10
link
\times
\sum
Ù
x
\times
x
y
y
z
=
a
i
y
z
l
图1
数学公式的二叉树表示
2.2
归一化处理
由于一些运算符的操作数具有可交换属性, 即交换
前后数学公式的含义不变, 但它们对应的二叉树树形结 构可能不同, 因此, 必须对二叉树树形结构作归一化处 理。树形结构归一化处理的方法是先序遍历二叉树, 若 当前结点公式元素类别为 OPS 且其左子树的高度大于 右子树的高度, 则交换其左右子树。例如, 对图 1 作归 一化处理后的二叉树如图 2 所示。
式的 LaTeX 格式生成其二叉树表示, 对树形结构作归一化处理得到结构码; 在公式检测库中查找文件名为该结构码 的数据表, 若该数据表存在, 则在数据表中查找与二叉树根结点公式元素和变量名归一化的先序遍历序列都相同的 记录; 根据查找结果确定数学公式是否为抄袭。实验结果表明, 该算法准确地实现了数学公式的抄袭检测, 是一种 较实用的算法。 关键词: 数学公式; 抄袭检测; 二叉树; 归一化; 结构码 文献标志码: A 中图分类号: TP181 doi: 10.3778/j.issn.1002-8331.1302-0091
结构码。 另外, 数学公式中的变量名与公式含义无关。对于 一个树形结构确定的二叉树, 为使按给定的遍历方式遍 历后得到的公式元素序列唯一, 必须对序列中的变量名 作归一化处理。对变量名作归一化处理的方法是按从 左到右的顺序, 用固定的变量名序列依次替换遍历序列 中公式元素类别为 VAR 的公式元素。
Computer Engineering and Applications 计算机工程与应用
2015, 51 (1)
257
一种基于二叉树的数学公式抄袭检测算法
秦玉平 1, 唐亚伟 2, 伦淑娴 3, 王秀坤 4
QIN Yuping1, TANG Yawei2, LUN Shuxian3, WANG Xiukun4
1
引言
为保护知识产权, 防止学术论文抄袭, 论文查重检
章结构相似度法 [7]、 段落相似度法 [8]、 句子相似度法 [9] 和 局部词频指纹法 [10] 等。但这些方法都针对纯文本内容 的检测, 对数学公式的抄袭检测尚处于探索阶段 [11-13], 现 有的抄袭检测系统都不能对数学公式进行检测。但一
测技术已成为信息检索领域的一个研究热点 [1-2], 并取得 了一些研究成果。如数字指纹法 [3-4]、 词频统计法 [5-6], 篇
基金项目: 国家自然科学基金 (No.60974071, No.11171042) ; 辽宁省自然科学基金 (No.201202003) ; 辽宁省教育厅重点实验室项 目 (No.LS2010180) 。 作者简介: 秦玉平 (1965—) , 男, 博士, 教授, 主要研究领域为机器学习; 唐亚伟 (1988— ), 男, 硕士研究生, 主要研究领域为机器学 习; 伦淑娴 (1972—) , 女, 博士, 教授, 主要研究领域为模式识别; 王秀坤 (1945—) , 女, 博导, 教授, 主要研究领域为数据 库系统。 E-mail: jzqinyuping@gmail.com 收稿日期: 2013-02-20 修回日期: 2013-04-15 文章编号: 1002-8331 (2015) 01-0257-04 CNKI 网络优先出版: 2013-05-03, http://www.cnki.net/kcms/detail/11.2127.TP.20130503.1707.008.html
258
2015, 51 (1)
Computer Engineering and Applications 计算机工程与应用
篇学术论文, 尤其是自然科学学术论文, 其思想、 观点或 创意等核心内容往往体现在公式中, 因此, 对数学公式 的抄袭检测的研究具有十分重要的意义。 LaTeX 软件已被广泛地用于制作科技论文、 书籍、 档案、 学位论文、 手稿、 私人信件以及各种复杂的符号公 式等。另外, 其他格式的文档可转化为 LaTeX 格式 [14]。 为此, 本文提出了一种基于二叉树结构的 LaTeX 格式数 学公式检测算法, 实现了对数学公式的抄袭检测, 并通 过实验结果验证了算法的有效性。
(1)
(2)
秦玉平, 唐亚伟, 伦淑娴, 等: 一种基于二叉树的数学公式抄袭检测算法
2015, 51 (1)
259
C (node) 是结点 node 的结构码, C l 是结点 node 左 其中, C r 是结点 node 右子树根结点的 子树根结点的结构码,
序列相同的记录, 若存在, 输出数学公式 fi 所在的论文 名和发表信息, 转步骤 2。 步骤 7 检测结束。
表1
成员 公式元素 元素类别 优先级 结合方式 结点高度 结构码 数据类型 字符串 字符串 整型数 字符串 整型数 字符串 公式元素 OPS (可交换运算符) , OPU (不可交换运算 符) , VAR (变量) , CON(常量 ) 运算符优先级 (值越大, 优先级越高, 常量 和变量的优先级为最大机器数) LR(左右 ), UD(上下 ), SG(独立 ) 以该结点为根的二叉树高度 以该结点为根的树结构 (二叉树结点的结构 码为: “ 左子树结构码” + “ 结点高度” + “ 右子 树结构码” )
二叉树结点的数据结构
含义
+ \times \times \times
+ link \sum
Ù
y
z
x
\times
由数学公式的公式元素串表示生成其二叉树表示 的方法是先建立根结点, 根结点的公式元素是公式元素 串中优先级最低的公式元素, 由于公式元素串中位于根 结点公式元素之前的公式元素在根结点的左子树, 位于 根结点公式元素之后的公式元素在根结点的右子树, 递 归建立根结点的左右子树。 每个结点的公式元素类别和结合方式根据公式元 素确定。每个结点的高度根据公式 (1) 计算。每个结点 的结构码在对树形结构作归一化处理后生成。
H (node) = H r > H l? H r :H l + 1
图2
y
z
10
=
aHale Waihona Puke Baidu
i
i
l
树形结构归一化后的二叉树
对树形结构作归一化后处理后, 后序遍历二叉树, 根据式 (2) 生成各结点的结构码, 最终得到根结点的结 构码, 即二叉树的结构码。
ìC l + H + C r , 非叶子结点 C (node) = í î1, 叶子结点
5
实验结果及分析
为了验证算法的性能, 从 258 篇公开发表的学术论
文中选取 1 000 个含义和结构互不相同的数学公式, 预 处理后存入公式检测数据库。 实验环境为 CPU Pentium 2.0 GHz, 内存 2 GB, 操 作系统 Windows XP SP3, 数据库 ACCESS 2007。 实验中采用准确率 P、 召回率 R 和 F1 值作为评价 标准。
其中,H (node) 是结点 node 的高度,H l 是结点 node 左 子树的高度,H r 是结点 node 右子树的高度。 例 如 ,(å ai + x ´ y ´ z) ´ ( x ´ y + y ´ z) 的 LaTeX 格 式
i=1 10
为 “(\sum_{i=1}^{10}a^i + x\times y\times z)\times(x \times y+y \times z) ” , 其对应二叉树表示如图 1 所示。
\times
+
+ \times \times
2 数学公式的二叉树表示 2.1 二叉树构造
在 LaTeX 文档中, 根据标记提取用字符串形式表示 的数学公式。由于 LaTeX 格式的数学公式具有较强的 结构特征, 因此, 可将一个复杂的数学公式分解为多个 子式, 再将每个子式分解成多个更小的子式 [15], 如此反 复, 直到不能分解为止。分解后得到的最小子式称为公 式元素。 对于三目运算符, 如求和运算 “∑” , 它与上、 下、 右 都有联系, 通过增加一个 “ link” 运算符, 将其与右面的子 式结合起来。 从左向右遍历增加了 “ link” 运算符后的字符串, 生 成公式元素的优先级列表。依据结构特征和优先级列 表可生成数学公式的二叉树表示。二叉树中结点的数 据结构如表 1 所示。
1.渤海大学 工学院, 辽宁 锦州 121000 2.渤海大学 信息科学与技术学院, 辽宁 锦州 121000 3.渤海大学 新能源学院, 辽宁 锦州 121000 4.大连理工大学 计算机科学与技术学院, 辽宁 大连 116024 1.College of Engineering, Bohai University, Jinzhou, Liaoning 121000, China 2.College of Information Science and Technology, Bohai University, Jinzhou, Liaoning 121000, China 3.New Energy College, Bohai University, Jinzhou, Liaoning 121000, China 4.School of Computer Science and Technology, Dalian University of Technology, Dalian, Liaoning 116024, China QIN Yuping, TANG Yawei, LUN Shuxian, et al. Mathematical formula plagiarism detection algorithm based on binary tree. Computer Engineering and Applications, 2015, 51 (1) : 257-260. Abstract: A mathematical formula plagiarism detection algorithm based on binary tree is proposed. Firstly, the paper gets the mathematical formula from the detected document, generates the binary tree of the mathematical formula by its LaTeX form, normalizes the binary tree structure to get the structure code, and then searches the table that named the structure code. If the tale exists, then indexing the record that equals to the formula element of root node and the normalizing variable names pre-order traversing formula element sequence of the binary tree. The indexing resuls confirms if the mathematical formula belong to plagiarism. The experimental results show that the algorithm realize the accurately plagiarism-detection of mathematical formula, so it is a more practical algorithm. Key words: mathematical formula; plagiarism detection; binary tree; normalization; structure code 摘 要: 提出了一种基于二叉树的 LaTeX 格式数学公式抄袭检测算法。在待检测文档中提取数学公式, 根据数学公
x y i 10
link
\times
\sum
Ù
x
\times
x
y
y
z
=
a
i
y
z
l
图1
数学公式的二叉树表示
2.2
归一化处理
由于一些运算符的操作数具有可交换属性, 即交换
前后数学公式的含义不变, 但它们对应的二叉树树形结 构可能不同, 因此, 必须对二叉树树形结构作归一化处 理。树形结构归一化处理的方法是先序遍历二叉树, 若 当前结点公式元素类别为 OPS 且其左子树的高度大于 右子树的高度, 则交换其左右子树。例如, 对图 1 作归 一化处理后的二叉树如图 2 所示。
式的 LaTeX 格式生成其二叉树表示, 对树形结构作归一化处理得到结构码; 在公式检测库中查找文件名为该结构码 的数据表, 若该数据表存在, 则在数据表中查找与二叉树根结点公式元素和变量名归一化的先序遍历序列都相同的 记录; 根据查找结果确定数学公式是否为抄袭。实验结果表明, 该算法准确地实现了数学公式的抄袭检测, 是一种 较实用的算法。 关键词: 数学公式; 抄袭检测; 二叉树; 归一化; 结构码 文献标志码: A 中图分类号: TP181 doi: 10.3778/j.issn.1002-8331.1302-0091
结构码。 另外, 数学公式中的变量名与公式含义无关。对于 一个树形结构确定的二叉树, 为使按给定的遍历方式遍 历后得到的公式元素序列唯一, 必须对序列中的变量名 作归一化处理。对变量名作归一化处理的方法是按从 左到右的顺序, 用固定的变量名序列依次替换遍历序列 中公式元素类别为 VAR 的公式元素。
Computer Engineering and Applications 计算机工程与应用
2015, 51 (1)
257
一种基于二叉树的数学公式抄袭检测算法
秦玉平 1, 唐亚伟 2, 伦淑娴 3, 王秀坤 4
QIN Yuping1, TANG Yawei2, LUN Shuxian3, WANG Xiukun4
1
引言
为保护知识产权, 防止学术论文抄袭, 论文查重检
章结构相似度法 [7]、 段落相似度法 [8]、 句子相似度法 [9] 和 局部词频指纹法 [10] 等。但这些方法都针对纯文本内容 的检测, 对数学公式的抄袭检测尚处于探索阶段 [11-13], 现 有的抄袭检测系统都不能对数学公式进行检测。但一
测技术已成为信息检索领域的一个研究热点 [1-2], 并取得 了一些研究成果。如数字指纹法 [3-4]、 词频统计法 [5-6], 篇
基金项目: 国家自然科学基金 (No.60974071, No.11171042) ; 辽宁省自然科学基金 (No.201202003) ; 辽宁省教育厅重点实验室项 目 (No.LS2010180) 。 作者简介: 秦玉平 (1965—) , 男, 博士, 教授, 主要研究领域为机器学习; 唐亚伟 (1988— ), 男, 硕士研究生, 主要研究领域为机器学 习; 伦淑娴 (1972—) , 女, 博士, 教授, 主要研究领域为模式识别; 王秀坤 (1945—) , 女, 博导, 教授, 主要研究领域为数据 库系统。 E-mail: jzqinyuping@gmail.com 收稿日期: 2013-02-20 修回日期: 2013-04-15 文章编号: 1002-8331 (2015) 01-0257-04 CNKI 网络优先出版: 2013-05-03, http://www.cnki.net/kcms/detail/11.2127.TP.20130503.1707.008.html
258
2015, 51 (1)
Computer Engineering and Applications 计算机工程与应用
篇学术论文, 尤其是自然科学学术论文, 其思想、 观点或 创意等核心内容往往体现在公式中, 因此, 对数学公式 的抄袭检测的研究具有十分重要的意义。 LaTeX 软件已被广泛地用于制作科技论文、 书籍、 档案、 学位论文、 手稿、 私人信件以及各种复杂的符号公 式等。另外, 其他格式的文档可转化为 LaTeX 格式 [14]。 为此, 本文提出了一种基于二叉树结构的 LaTeX 格式数 学公式检测算法, 实现了对数学公式的抄袭检测, 并通 过实验结果验证了算法的有效性。
(1)
(2)
秦玉平, 唐亚伟, 伦淑娴, 等: 一种基于二叉树的数学公式抄袭检测算法
2015, 51 (1)
259
C (node) 是结点 node 的结构码, C l 是结点 node 左 其中, C r 是结点 node 右子树根结点的 子树根结点的结构码,
序列相同的记录, 若存在, 输出数学公式 fi 所在的论文 名和发表信息, 转步骤 2。 步骤 7 检测结束。
表1
成员 公式元素 元素类别 优先级 结合方式 结点高度 结构码 数据类型 字符串 字符串 整型数 字符串 整型数 字符串 公式元素 OPS (可交换运算符) , OPU (不可交换运算 符) , VAR (变量) , CON(常量 ) 运算符优先级 (值越大, 优先级越高, 常量 和变量的优先级为最大机器数) LR(左右 ), UD(上下 ), SG(独立 ) 以该结点为根的二叉树高度 以该结点为根的树结构 (二叉树结点的结构 码为: “ 左子树结构码” + “ 结点高度” + “ 右子 树结构码” )