【关键词提取】第二篇:数据集、实现代码介绍
原文地址:http://www.cnblogs.com/lessmore/category/1009890.html 轉載請保留本行,歡迎交流。
目錄:
這一篇博客將介紹我的關鍵詞提取系統使用的數據集,和我實現的代碼結構,如果讀者希望在閱讀博客的同時查看數據、運行代碼,這將是一個很好的指南。
2.1 數據集介紹
本文中用于訓練、測試的數據來自于SemEval 2017 Task 10。共有500篇來自計算機科學、材料科學和物理學等領域的論文,每篇包含選用的部分段落和關鍵詞標注信息。其中350篇用作訓練集,剩余150篇用作測試集。每篇論文選段均為200詞左右純文本,不包括標題、摘要等結構信息,對測試集進行簡單統計,每篇標注的關鍵詞約20個。可以看出,數據集具有以下特點,文本長度較短,但是標注的關鍵詞數量遠遠高于通常值,這對機器學習有利于獲得更好的結果。這里有兩張文本和對應關鍵詞標注的截圖,可以得到直觀的感受。
大家可以從SemEval 2017 Task 10 的官方網站得到更多關于數據集的信息。
2.2 實現代碼介紹
我的系統對于實現關鍵詞提取,采取兩個步驟,首先生成候選詞,然后在候選詞上用分類模型選出關鍵詞。我們在生成候選詞階段采用了兩種方法,提取名詞短語和CRF 標注方法,并在第六章比較了兩者的性能。
代碼再這里src,是用python 3實現的,使用了NLTK, sklearn等庫,一些數據沒有包括在內,例如詞向量,以及訓練數據。
代碼的目錄及各文件含義說明如下:
根目錄:
--main.py 運行文件
--ekrsy/ 代碼文件夾
----init.py
----base.py 實現Document和KeyPhrase兩個類
----feature.py 實現提取特征的各種函數
----util.py 封裝一些工具方法
----glove.py 封裝從文件讀取詞向量借口
----test.py 一些測試方法
----log.py 定義日志格式
----crf_tool.py 實現CRF++標注的數據轉換和調用模型做標注
----candidate.py 實現提取候選詞的函數
----model.py 實現各種分類模型
----corpus.py 封裝文檔集類
--data/ 放置使用的數據文件
----train/ 訓練數據集
----dev/ 測試數據集
----crf/ crf標注使用CRF++的配置文件
----extern_resource/ 外部資源數據
------freq 維基百科英文文章計算的詞頻
------idf 維基百科計算的逆文檔頻率
------ieee IEEE texonomy 分類列表
------glove.6B.50d.txt GLOVE訓練的詞向量數據
具體代碼細節在這一系列文章中都不會再涉及,如果需要跑結果代碼應該很好懂。
這篇文章介紹了我們實現的關鍵詞提取系統使用的數據集和實現代碼結構。接下來將介紹特征設計,候選詞生成等內容。
轉載于:https://www.cnblogs.com/lessmore/p/ke2_dataset_code.html
總結
以上是生活随笔為你收集整理的【关键词提取】第二篇:数据集、实现代码介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React入门教程第三课--gulp编译
- 下一篇: 自学it18大数据笔记-第二阶段hado