HarvestText文本挖掘和预处理工具

联合创作 · 2023-09-25 21:39

HarvestText 是一个专注无(弱)监督方法,能够整合领域知识(如类型,别名)对特定领域文本进行简单高效地处理和分析的库。适用于许多文本预处理和初步探索性分析任务,在小说分析,网络文本,专业文献等领域都有潜在应用价值。


使用案例:



【注:本库仅完成实体分词和情感分析,可视化使用 matplotlib】


具体功能如下:



  • 基本处理

    • 精细分词分句

      • 可包含指定词和类别的分词。充分考虑省略号,双引号等特殊标点的分句。


    • 文本清洗

      • 处理URL, email, 微博等文本中的特殊符号和格式,去除所有标点等


    • 实体链接

      • 把别名,缩写与他们的标准名联系起来。


    • 命名实体识别

      • 找到一句句子中的人名,地名,机构名等命名实体。


    • 实体别名自动识别(更新!)

      • 从大量文本中自动识别出实体及其可能别名,直接用于实体链接。例子见这里


    • 依存句法分析

      • 分析语句中各个词语(包括链接到的实体)的主谓宾语修饰等语法关系,


    • 内置资源

      • 通用停用词,通用情感词,IT、财经、饮食、法律等领域词典。可直接用于以上任务。


    • 信息检索

      • 统计特定实体出现的位置,次数等。


    • 新词发现

      • 利用统计规律(或规则)发现语料中可能会被传统分词遗漏的特殊词汇。也便于从文本中快速筛选出关键词。


    • 字符拼音纠错(调整)

      • 把语句中有可能是已知实体的错误拼写(误差一个字符或拼音)的词语链接到对应实体。


    • 自动分段

      • 使用TextTiling算法,对没有分段的文本自动分段,或者基于已有段落进一步组织/重新分段


    • 存取消除

      • 可以本地保存模型再读取复用,也可以消除当前模型的记录。


    • 英语支持

      • 本库主要旨在支持对中文的数据挖掘,但是加入了包括情感分析在内的少量英语支持



  • 高层应用

    • 情感分析

      • 给出少量种子词(通用的褒贬义词语),得到语料中各个词语和语段的褒贬度。


    • 关系网络

      • 利用共现关系,获得关键词之间的网络。或者以一个给定词语为中心,探索与其相关的词语网络。


    • 文本摘要

      • 基于Textrank算法,得到一系列句子中的代表性句子。


    • 关键词抽取

      • 基于Textrank, tfidf等算法,获得一段文本中的关键词


    • 事实抽取

      • 利用句法分析,提取可能表示事件的三元组。


    • 简易问答系统

      • 从三元组中建立知识图谱并应用于问答,可以定制一些问题模板。效果有待提升,仅作为示例。




用法


首先安装, 使用pip




pip install --upgrade harvesttext


或进入setup.py所在目录,然后命令行:




python setup.py install


随后在代码中:




from harvesttext import HarvestText
ht = HarvestText()


即可调用本库的功能接口。

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报