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()

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

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报