用HarvestText自动识别实体及人物别名,用于实体链接分析

用HarvestText自动识别实体及别名,用于实体链接分析
摘要由CSDN通过智能技术生成

用HarvestText自动识别实体及人物别名,用于实体链接分析

可以在这里找到本文对应的Jupyter Notebook.

要运行这个例子,需要更新HarvestText到V0.7及以上版本

pip install --upgrade harvesttext

并且,在这里下载数据集,放到与本文件同一路径下。

from harvesttext import HarvestText
ht = HarvestText()

数据预览

with open("all_comments.txt", encoding="utf-8") as f:
    for i, line in enumerate(f):
        if i >= 10:
            break
        print(f"{i}: {line}")
0: 特神牛逼

1: 请教下,叶尔凡去了哪里?也不见替补哇

2: 下场上!

3: 11号请在东看台26区找我不见不散!//<a href="https://home.zhibo8.cc/user.html?platform=mobile&uid=3348048">@江苏苏宁俱乐部</a>:下场上!

4: 这场看了20分钟就走了。还好是免费的![笑哭]

5: 心疼我的筱婷

6: 卡佩罗牛逼,敢上三个U23球员!为你****🐮

7: 恭喜特谢拉加入“我奶奶都能进”系列[滑稽][捂脸]

8: 视频裁判这么好用居然还有人喷,减少很多争议。耗时间只是刚开始不够专业需要时间来优化。

9: 就算耗时间得到公正判罚也值得了。

可以看到,这里的数据有以下特点:

  1. 包含了许多原始的网络格式。如HTML,还有@和转发等格式。在处理时保留这些东西可能会导致不鲁棒的程序崩溃,或者挖掘出一些无关实体的副作用,所以需要合理的文本清洗。
  2. 网络语言的不正规特点,导致对于同一个对象会有不同的称谓,如示例中的“特神”就是球员“特谢拉”的别名。如果要针对实体进行分析,必须要进行规整。

处理1需要文本清洗,处理2需要挖掘出人物别名,HarvestText提供了能够方便处理这些问题的接口:

文本清洗

ht.clean_text的默认配置就可以处理这类评论和微博类的数据:

sample = '11号请在东看台26区找我不见不散!//<a href="https://home.zhibo8.cc/user.html?platform=mobile&uid=3348048">@江苏苏宁俱乐部</a>:下场上!'
print(ht.clean_text(sample))
11号请在东看台26区找我不见不散! 下场上!

上面的例子就演示了去除HTML代码,以及回复其他用户的特殊格式"//@user",这些信息一般是无用的干扰信息。

函数还提供了更多其他参数,来处理包括:网址;email;html代码中的 一类的特殊字符;网址内的%20一类的特殊字符等问题,可以使用help方法来看函数的注释,以及参照

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值