用modelscope分析《天龙八部》,金庸大师最偏爱的是TA

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 用modelscope分析《天龙八部》,金庸大师最偏爱的是TA

内容


近期在读金庸先生的天龙八部,心念念在金庸先生作品中,偏爱哪位人物,喜欢哪个武功招式,偏向哪个武侠组织。正临云栖大会modelscope发布,了解modelscope里上线了40多个信息抽取的模型,不仅仅包括新闻、简历、微博、医疗、金融等行业,还覆盖中、英、饿、西、法等语种模型,甚至包括不同规格(base、large、lstm)模型。经过一番尝试,发现小说这个行业模型比较适合,拿来把玩一下,全部的实体抽取模型可以通过这个链接访问 https://modelscope.cn/models?page=1&tasks=named-entity-recognition


从网上下载了天龙八部新修版,一共百万余字,按行分别使用modelscope进行文本解析。按照 武侠人物、组织、招式、地点、头衔、武器分别进行分析,发现有些有趣的现象。

image.png

武侠人物云图

image.png

本来,我以为最top的是乔峰,但没想到金老爷子偏爱的是段誉。而且,屡战屡败的鸠摩智竟然名列前茅。


招式云图

image.png

《天龙八部》招式出现次数最多的是凌波微步。。打不过可以跑呀。

此外,还看到了降龙二十八掌,一开始以为是文本错误,经过一番查询,才知道是金老爷子在新版本把十八掌改成了二十八掌,与之同时,结局也改了下,段誉与王语嫣最终没能携手。。。。给众多读者留下了不少遗憾。

武侠组织图

image.png

丐帮,果然还是第一大帮,而且关于丐帮的故事在整个小说里也占据很大比重。

头衔云图

image.png

头衔其实就是外号或者昵称,出乎意料的是南海鳄神是出现最多的。不过看过天龙八部的都知道,南海鳄神十分在乎别人对自己的称呼,逢人必自报家门,且非常抗拒岳老三这个称呼,每次都要纠正自己是南海鳄神岳老二。


武器云图

image.png



六脉神剑,段家绝学,运转六脉剑气。段誉在少林寺、曼陀山庄,两度凭借此神功打败慕容复,为慕容博称赞为“天下第一剑”。


地点云图

image.png

天龙八部小说合计五册,基本每册都会有一个新的舞台。从这些热门地点我们基本就能还原出天龙八部的故事梗概:

第一章:段誉在无量山-大理国-天龙寺的神奇经历

第二章:段誉乔峰在姑苏结为兄弟,乔峰被指契丹人逐出丐帮

第三章:虚竹巧破珍珑棋局,成为缥缈峰灵鹫宫主人

第四章:少林寺大战,三兄弟聚义

第五章:收尾,西夏招婿,段誉继位,雁门关大战,萧峰自戕

附加代码

我们可以选择通过modelscope的notebook或本地安装,如是在本地安装,先通过一行命令下载安装modelscope

pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

先通过以下命令下载模型,试用模型的pipeline能力

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
ner_pipeline = pipeline('named-entity-recognition', 'damo/nlp_raner_named-entity-recognition_chinese-base-book')
ner_pipeline('风族最强大的存在,风帝,为当世顶尖强者之一。')

调用上面的代码后,输出如下:

[
  {
    "end": 2,
    "span": "风族",
    "start": 0,
    "type": "ORG"
  },
  {
    "end": 11,
    "span": "风帝",
    "start": 9,
    "type": "TIT"
  }
]

再通过以下代码开始处理《天龙八部》,可以从网上找了个txt,保持成"天龙八部.txt", 接下来通过以下代码将不同类型对应的实体保存到词典里

import codecs
per_map = {}
org_map = {}
loc_map = {}
kun_map = {}
tit_map = {}
wea_map = {}
def find_typemap(v):
    if v['type'] == 'PER':
        return per_map
    if v['type'] == 'ORG':
        return org_map
    if v['type'] == 'LOC':
        return loc_map
    if v['type'] == 'KUN':
        return kun_map
    if v['type'] == 'TIT':
        return tit_map
    if v['type'] == 'WEA':
        return wea_map
def proc(js):
    for v in js['output']:
        entity = v['span']
        m = find_typemap(v)
        if entity in m:
            m[entity] += 1
        else:
            m[entity] = 1
lines = codecs.open('天龙八部.txt', encoding='gb18030', errors='replace').readlines()
for line in lines:
    result = ner_pipeline(line)
    proc(result)

打印下六组类型对应的实体词,获得词云数据,通过微词云平台获取词云图片。

相关文章
|
9月前
|
数据采集 人工智能
对ModelScope 中的中文竞技场进行分析测评
ModelScope 是一款功能强大的人工智能模型,它在多个领域都有着广泛的应用
|
9月前
|
人工智能 自然语言处理 搜索推荐
对ModelScope模型进行测评分析
对ModelScope模型进行测评分析
175 0
civ
|
9月前
|
大数据
ModelScope模型分析测评
中文竞技场大模型页面的双模型匿名对话模式可以给我很多启发,下面是针对 Modelscope 测评文章的写作创造、人类价值观和中文游戏模块进行测评总结:
civ
191 2
ModelScope模型分析测评
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
对Modelscope中文竞技场模型分析
对Modelscope中文竞技场模型分析
164 3
|
9月前
|
开发者
从Modelscope模块分析测评
从Modelscope模块分析测评
|
9月前
|
机器学习/深度学习 自然语言处理 PyTorch
关于对Modelscope模型测评分析
关于对Modelscope模型测评分析
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
阿里云 ModelScope模块分析测评
阿里云 ModelScope 是一种用于模型评估和性能分析的开源工具。它旨在帮助用户更好地了解和评估不同的机器学习模型,并提供可视化和统计分析来支持决策制定。
|
9月前
|
机器学习/深度学习 自然语言处理 API
Modelscope 对中文竞技场模块分析
Modelscope 对中文竞技场模块分析
206 31
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
modelscope对中文竞技场测评分析
modelscope对中文竞技场测评分析
229 26
|
机器学习/深度学习 自然语言处理 JavaScript
用modelscope分析了百万字的《天龙八部》,原来金庸大师最偏爱的是TA
用modelscope分析了下百万字的《天龙八部》,摸清楚了金庸大师的取名智慧