1.ann
2.代码
import os
import re
import pandas as pd
import numpy as np
import random
import math
from datetime import datetime
from matplotlib import pyplot as plt
train_dir='../../siriyang/中医药命名实体识别/dataset/train'
test_dir='../../siriyang/中医药命名实体识别/dataset/chusai_xuanshou'
prepare_dir='./prepare'
def get_entitie(dir):
entities={} #用来存储实体名,创建为字典类别
files=os.listdir(dir)
files=list(set([file.split('.')[0] for file in files if (".ann" in file or ".txt" in file) ]))
for file in files:
path=os.path.join(dir,file+'.ann')
with open(path,'r',encoding='utf8') as f:
for line in f.readlines():
name=line.split('\t')[1].split(' ')[0]
#以\t制表符,为分隔符,取第二位,再在第二位中,以‘ ’空格为分隔符,取第一位,例如第一行取DRUG_EFFICACY
if name in entities:#统计每个实体的个数
entities[name]+=1
else:
entities[name]=1
return entities
count=get_entitie(train_dir)#调用函数
print(count)
print([i for i in count.keys()])#取出键
print([i for i in count.values()])#取出值
3.结果
def autolabel(rects):
for rect in rects:
height =rect.get_height()
plt.text(rect.get_x() + rect.get_width()/2, height, height, ha='center', va='bottom')#垂直和水平的布局
#rect.get_x(),1.03*height,'%s' % int(height))
plt.xticks(range(len(num_list)), name_list, rotation=80)#rotation=80是横坐标的倾斜度
name_list = [i for i in count.keys()]
num_list = [i for i in count.values()]
plt.figure(figsize=(10,5))#画布大小
plt.title('Category statistics of entities',fontsize=13)#设置标题,footsize是设置字体大小
plt.xlabel(u'category',fontsize=13)#设置x轴的标题,以及它的字号大小
plt.ylabel(u'quantity',fontsize=13)#设置y轴的标题,以及它的字号
#plt.bar(data[i for i in count.keys()],data[i for i in count.values()],alpha=0.6,width=0.8,facecolor='deeppink',edgecolor='darkblue',w=1,label='number of class')
autolabel(plt.bar(range(len(num_list)),num_list,width=0.8,edgecolor='darkblue',lw=1))#edgecolor:柱子轮廓色;lw:柱子轮廓的宽度;
fig=plt.gcf()
#plt.legend(loc=2)
plt.show()
fig.savefig('./Category statistics of entities.png')#把图例保存到当前的目录上
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
def draw_pie(labels,quants):
plt.figure(1,figsize=(10,10))
expl = [0,0,0,0,0,0,0,0,0,0,0,0,0]#第五块离开圆心一点点
colors = ["blue","red","coral","green","yellow","orange"]#设置颜色,可循环显示
plt.pie(quants,explode=expl,colors=colors,labels=labels,autopct='%1.1f%%',pctdistance=0.8,shadow=True)#autopct:百分数的格式
plt.title('length of the entity',bbox={'facecolor':'0.8','pad':5})
fig=plt.gcf()
plt.show()
fig.savefig("./pie.jpg")
plt.close()
labels = [i for i in dic.keys()]
quants = [i for i in dic.values()]
draw_pie(labels,quants)
文章浏览阅读9.9k次。highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用。这款高亮库可以用在博客系统中,其使用方法及其简单,几乎不需要任何学习成本,下面介绍highlight.js的使用。1.获取highlight.js库,用户可以从官网获取:地址:https://highlightjs_语法高亮js css文件
文章浏览阅读5.1k次。strftimestrftime是C语言标准库中用来格式化输出时间的的函数。下面是strftime的用法各参数意义代码使用示例#include<stdio.h>#include<time.h>#define print(s1, s2,s3) \ printf("%-20s%-30s%s\n",s1, s2,s3);int main(){ time_t rawtime; struct tm* timeinfo; char timE[80]; /
文章浏览阅读147次。传送门 01分数规划板题啊。 发现就是一个最优比率环。 这个直接二分+spfa判负环就行了。 代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 1005#define...
文章浏览阅读3.1k次,点赞2次,收藏14次。1)date_format函数(根据格式整理日期) 作用:把一个字符串日期格式化为指定的格式。select date_format('2017-01-01','yyyy-MM-dd HH:mm:ss'); --日期字符串必须满足yyyy-MM-dd格式 结果:2017-01-01 00:00:002)date_add、date_sub函数(加减日期) 作用:把一个字符串日期格式加一天、减一天。select date_add('2019-01-01',1); ..._hive sql 日期函数
文章浏览阅读2.1k次。使用百度语音合成过程时,一直error : notfint libgnustl_shared.so在项目工程gradle文件中添加如下代码段:sourceSets { main { jniLibs.srcDirs = ['libs'] } }..._旧版的百度语言合成报错
文章浏览阅读425次。Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的。账本上记录了n个月以来的收入情况,其中第i个月的收入额为Ai(i=1,2,3…n-1,n), 。当 Ai大于0时表示这个月盈利Ai 元,当 Ai小于0时表示这个月亏损Ai元。所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和。 刁姹的任务是秘密进行的,为了调查商人的账本,她只好跑到商人那_狡猾的商人[hnoi2005]
文章浏览阅读2.2k次。雷达探测是电磁威慑的重要组成。国外发达国家正从体系、平台、频段、架构、硬件、处理等方面开发新一代雷达技术。针对高超声速目标、弹道导弹、无人集群目标、隐身飞机等新型极高速、极隐身、极庞大目标,将以网络为基础,整合各类探测手段,实现对目标的全球预警、全程连续跟踪、全维协同精确打击,形成全域全时全维的体系化探测感知能力。对深空目标、临空目标、隐身目标、集群目标的探测研究新型威胁目标是驱动雷达探测技术前进的原动力之一,而新时期的新型威胁目标呈现“高、低、快、慢、小、隐、群”等特征。_探地雷达成像matlab
文章浏览阅读3.1k次,点赞2次,收藏12次。计算机取证 volatility_kali安装volatility
文章浏览阅读2.1k次。地址:https://blog.csdn.net/fareast_mzh/article/details/81464031_html禁止浏览器缓存图片
文章浏览阅读1.3k次。限制用户登录后访问硬盘分区。我们的部门有一台公用计算机,该计算机由我维护。其他同事也可以偶尔使用它。我在操作系统中为自己创建了一个超级管理员用户,还创建了一个受限用户。登录到计算机后,如何允许受限用户查看但不能访问用于存储重要文件的D分区?您可以通过以下操作实现该目标:在系统桌面上使用鼠标依次选择“开始”。在弹出窗口的“打开”(Open)字段中键入gpedit.msc,然后单击“确定”(OK)按钮..._win7 分区只能某个用户打开
文章浏览阅读6.7k次,点赞17次,收藏21次。1.在vscode里面按下快捷键ctrl+shift+p2.输入Classpath3.点击Output下的Browse选择.class文件的输出路径4.如图,选择完以后,.class文件的输出层级目录会自动建立_vscode怎么class文件
文章浏览阅读1.2w次,点赞4次,收藏24次。python的缩进规则:对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。通常情况下都是采用4个空格长度作为一个缩进量(一个Tab键就表示4个空格)。一,Python缩进长度及缩进字符。 看到网上一些Python缩进的错误示范,“tab符和空格不能混用”,“缩进一定是4个空格”下列演示。def change(a): print(id(a)) # 指向的是同一个对象(tab缩进) a=10_python缩进规则