1111-诗人生平信息提取

生平信息提取

抽取步骤

1.获取自己的分词语料库:主要是所有诗人名称,所有朝代的年号

def add_user_dict():
    CustomDictionary = JClass("com.hankcs.hanlp.dictionary.CustomDictionary")
    #添加作者名字
    author_data=pd.read_excel('./data2/author.xlsx')
    name=author_data.author
    for it in name:
        CustomDictionary.add(it,"nr")
    #添加时间词
    time=[]
    file = 'data3/'
    lists = get_filename(file, '.xlsx')
    for it in lists:
        newfile = file + it
        dd=pd.read_excel(newfile).year_hao
        time.extend(dd)
    print(time)
    for t in time:
        print(t)
        CustomDictionary.add(t,"t")

2.对文本进行分割,按照句号分割,并进行词性标注,标注如下:

#'p'介词
    #'ns'地名
    #'t'时间词
    #'nz'其他专名
    #'j'简称略语
    #'m'数词
    #'n'名词
def demo_CRF_lexical_analyzer(text):
    global bg_time
    CRFnewSegment = HanLP.newSegment("crf")
    term_list = CRFnewSegment.enableCustomDictionaryForcing(True).seg(text)
    ans=[]
    #'p'介词
    #'ns'地名
    #'t'时间词
    #'nz'其他专名
    #'j'简称略语
    #'m'数词
    #'n'名词
    #至少得有时间词与人物
    f1=False
    f2=False
    lists=['n','nr','v','nz','ns','t']
    tmp=[]
    for it in term_list:
        if str(it.nature) in lists:
            tmp.append(str(it.word)+"/"+str(it.nature))
            if str(it.nature)=='t':
                if bool(re.search(r'\d',it.word)):
                    bg_time=str(it.word)
                    f1 = True
            elif str(it.nature)=='ns':
                f2=True
    if f1:
        print(tmp)
        key_print(tmp,text)
    else:
        if f2:
            tmp.append(bg_time+"/t")
            print(tmp)
            key_print(tmp,text)

3.提取每段话的四个要素点:时间,人物,地点,事件

其中事件提取需要根据第2步中的动词,根据动词来获取一段中的事件词

其中时间有的不合格,例如“早春”,“冬季”,按照前一段的具体时间来进行代替,时间的格式都是“xxx年”

def key_print(lists,text):
    time = []
    where = []
    author = []
    move=[]
    for it in lists:
        simple = it.split('/')
        if simple[1] == 't':
            time.append(simple[0])
        elif simple[1] == 'nr':
            author.append(simple[0])
        elif simple[1] == 'ns':
            where.append(simple[0])
        elif simple[1] == 'v':
            move.append(simple[0])

    if len(move)!=0 or len(where)!=0:
        newtime=""
        for it in time:
            if bool(re.search(r'\d',it)):
                newtime=it
                break
        if newtime!="":
            print("时间:" + newtime)
            #保存时间
            data_list.append(newtime)
        else:
            data_list.append(time[0])

        if len(author)!=0:
            author=list(set(author))
            author_list.append(",".join(author))
            print("人物:"+" ".join(author))
        else:
            author_list.append("李白")
            print("人物:李白")
        if len(where)!=0:
            where_list.append(",".join(where))
            print("地点:" + " ".join(where))
        else:
            where_list.append("")
            print("地点:无")
        #处理事件
        things=[]
        if len(move)!=0:
            thing_list=re.split('[,。;]+',text)
            for v in move:
                for it in thing_list:
                    if it.find(v)!=-1:
                            things.append(it)
            #去重
            set_things=list(set(things))
            things_list.append(",".join(set_things))
            print("事件:")
            print(set_things)
        else:
            things_list.append("")
            print("事件:无")

全部代码

本次只拿李白举例,后续实现其他作者

# coding:utf-8
import re
from pyhanlp import *
import pandas as pd
#人名“nr“
#地名“ns”
#机构名“nt”

import os
def get_filename(path,filetype):  # 输入路径、文件类型例如'.xlsx'
    name = []
    for root,dirs,files in os.walk(path):
        for i in files:
            if os.path.splitext(i)[1]==filetype:
                name.append(i)
    return name            # 输出由有后缀的文件名组成的列表

def add_user_dict():
    CustomDictionary = JClass("com.hankcs.hanlp.dictionary.CustomDictionary")
    #添加作者名字
    author_data=pd.read_excel('./data2/author.xlsx')
    name=author_data.author
    for it in name:
        CustomDictionary.add(it,"nr")
    #添加时间词
    time=[]
    file = 'data3/'
    lists = get_filename(file, '.xlsx')
    for it in lists:
        newfile = file + it
        dd=pd.read_excel(newfile).year_hao
        time.extend(dd)
    print(time)
    for t in time:
        print(t)
        CustomDictionary.add(t,"t")


def key_print(lists,text):
    time = []
    where = []
    author = []
    move=[]
    for it in lists:
        simple = it.split('/')
        if simple[1] == 't':
            time.append(simple[0])
        elif simple[1] == 'nr':
            author.append(simple[0])
        elif simple[1] == 'ns':
            where.append(simple[0])
        elif simple[1] == 'v':
            move.append(simple[0])

    if len(move)!=0 or len(where)!=0:
        newtime=""
        for it in time:
            if bool(re.search(r'\d',it)):
                newtime=it
                break
        if newtime!="":
            print("时间:" + newtime)
            #保存时间
            data_list.append(newtime)
        else:
            data_list.append(time[0])

        if len(author)!=0:
            author=list(set(author))
            author_list.append(",".join(author))
            print("人物:"+" ".join(author))
        else:
            author_list.append("李白")
            print("人物:李白")
        if len(where)!=0:
            where_list.append(",".join(where))
            print("地点:" + " ".join(where))
        else:
            where_list.append("")
            print("地点:无")
        #处理事件
        things=[]
        if len(move)!=0:
            thing_list=re.split('[,。;]+',text)
            for v in move:
                for it in thing_list:
                    if it.find(v)!=-1:
                            things.append(it)
            #去重
            set_things=list(set(things))
            things_list.append(",".join(set_things))
            print("事件:")
            print(set_things)
        else:
            things_list.append("")
            print("事件:无")
    #事件:动作+人物+地点


def demo_CRF_lexical_analyzer(text):
    global bg_time
    CRFnewSegment = HanLP.newSegment("crf")
    term_list = CRFnewSegment.enableCustomDictionaryForcing(True).seg(text)
    ans=[]
    #'p'介词
    #'ns'地名
    #'t'时间词
    #'nz'其他专名
    #'j'简称略语
    #'m'数词
    #'n'名词
    #至少得有时间词与人物
    f1=False
    f2=False
    lists=['n','nr','v','nz','ns','t']
    tmp=[]
    for it in term_list:
        if str(it.nature) in lists:
            tmp.append(str(it.word)+"/"+str(it.nature))
            if str(it.nature)=='t':
                if bool(re.search(r'\d',it.word)):
                    bg_time=str(it.word)
                    f1 = True
            elif str(it.nature)=='ns':
                f2=True
    if f1:
        print(tmp)
        key_print(tmp,text)
    else:
        if f2:
            tmp.append(bg_time+"/t")
            print(tmp)
            key_print(tmp,text)
import xlwt

if __name__ == '__main__':
    add_user_dict()
    text='早年经历苏轼于宋仁宗景祐三年十二月十九日(1037年1月8日)出生于眉州眉山,是初唐大臣苏味道之后。苏轼的祖父是苏序,表字仲先,祖母史氏。苏轼的父亲苏洵,即《三字经》里提到的“二十七,始发奋”的“苏老泉”。苏洵发奋虽晚,但是很用功。苏轼其名“轼”原意为车前的扶手,取其默默无闻却扶危救困,不可或缺之意。苏轼生性放达,为人率真,深得道家风范。好交友,好美食,创造许多饮食精品,好品茗,亦雅好游山林。进京应试嘉祐元年(1056年),苏轼首次出川赴京,参加朝廷的科举考试。苏洵带着二十一岁的苏轼,十九岁的苏辙,自偏僻的西蜀地区,沿江东下,于嘉祐二年(1057年)进京应试。当时的主考官是文坛领袖欧阳修,小试官是诗坛宿将梅尧臣。这两人正锐意诗文革新,苏轼那清新洒脱的文风,一下子把他们震动了。策论的题目是《刑赏忠厚之至论》,苏轼的《刑赏忠厚之至论》获得主考官欧阳修的赏识,却因欧阳修误认为是自己的弟子曾巩所作,为了避嫌,使他只得第二。苏轼在文中写道:“皋陶为士,将杀人。皋陶曰杀之三,尧曰宥之三。”欧、梅二公既叹赏其文,却不知这几句话的出处。及苏轼谒谢,即以此问轼,苏轼答道:“何必知道出处!”欧阳修听后,不禁对苏轼的豪迈、敢于创新极为欣赏,而且预见了苏轼的将来:“此人可谓善读书,善用书,他日文章必独步天下。”名动京师在欧阳修的一再称赞下,苏轼一时声名大噪。他每有新作,立刻就会传遍京师。当父子名动京师、正要大展身手时,突然传来苏轼苏辙的母亲病故的噩耗。二兄弟随父回乡奔丧。嘉祐四年十月守丧期满回京,嘉祐六年(1061年),苏轼应中制科考试,即通常所谓的“三年京察”,入第三等,为“百年第一”,授大理评事、签书凤翔府判官。四年后还朝判登闻鼓院。治平二年,苏洵病逝,苏轼、苏辙兄弟扶柩还乡,守孝三年。三年之后,苏轼还朝,震动朝野的王安石变法开始了。苏轼的许多师友,包括当初赏识他的恩师欧阳修在内,因反对新法与新任宰相王安石政见不合,被迫离京。朝野旧雨凋零,苏轼眼中所见,已不是他二十岁时所见的“平和世界”。 自请出京熙宁四年(1071年)苏轼上书谈论新法的弊病。王安石很愤怒,让御史谢景在皇帝跟前说苏轼的过失。苏轼于是请求出京任职:熙宁四年至熙宁七年(1074年)被派往杭州任通判、熙宁七年秋调往密州(山东诸城)任知州、熙宁十年(1077年)四月至元丰二年(1079年)三月在徐州任知州、元丰二年四月调往湖州任知州。革新除弊,因法便民,颇有政绩。乌台诗案元丰二年(1079年),苏轼四十三岁,调任湖州知州。上任后,他即给皇上写了一封《湖州谢表》,这本是例行公事,但苏轼是诗人,笔端常带感情,即使官样文章,也忘不了加上点个人色彩,说自己“愚不适时,难以追陪新进”,“老不生事或能牧养小民”,这些话被新党抓了辫子,说他是“愚弄朝,妄自尊大”,说他“衔怨怀怒”,“指斥乘舆”,“包藏祸心”,讽刺政府,莽撞无礼,对皇帝不忠,如此大罪可谓死有余辜了。他们从苏轼的大量诗作中挑出他们认为隐含讥讽之意的句子,一时间,朝廷内一片倒苏之声。这年七月二十八日,苏轼上任才三个月,就被御史台的吏卒逮捕,解往京师,受牵连者达数十人。这就是北宋著名的“乌台诗案”(乌台,即御史台,因其上植柏树,终年栖息乌鸦,故称乌台)。乌台诗案这一巨大打击成为他一生的转折点。新党们非要置苏轼于死地不可。救援活动也在朝野同时展开,不但与苏轼政见相同的许多元老纷纷上书,连一些变法派的有识之士也劝谏神宗不要杀苏轼。王安石当时退休金陵,也上书说:“安有圣世而杀才士乎?”在大家努力下,这场诗案就因王安石“一言而决”,苏轼得到从轻发落,贬为黄州(今湖北黄冈)团练副使,本州安置,受当地官员监视。苏轼坐牢103天,几次濒临被砍头的境地。幸亏北宋时期在太祖赵匡胤年间既定下不杀士大夫的国策,苏轼才算躲过一劫。被贬黄州出狱以后,苏轼被降职为黄州(今湖北黄冈市)团练副使(相当于现代民间的自卫队副队长)。这个职位相当低微,并无实权,而此时苏轼经此一役已变得心灰意冷,苏轼到任后,心情郁闷,曾多次到黄州城外的赤壁山游览,写下了《赤壁赋》、《后赤壁赋》和《念奴娇·赤壁怀古》等千古名作,以此来寄托他谪居时的思想感情。于公余便带领家人开垦城东的一块坡地,种田帮补生计。“东坡居士”的别号便是他在这时起的。东山再起1084年(元丰七年),苏轼离开黄州,奉诏赴汝州就任。由于长途跋涉,旅途劳顿,苏轼的幼儿不幸夭折。汝州路途遥远,且路费已尽,再加上丧子之痛,苏轼便上书朝廷,请求暂时不去汝州,先到常州居住,后被批准。当他准备要南返常州时,神宗驾崩。常州一带水网交错,风景优美。他在常州居住,既无饥寒之忧,又可享美景之乐,而且远离了京城政治的纷争,能与家人、众多朋友朝夕相处。于是苏东坡终于选择了常州作为自己的终老之地。1085年,宋哲宗即位,高太后以哲宗年幼为名,临朝听政,司马光重新被启用为相,以王安石为首的新党被打压。苏轼复为朝奉郎知登州(蓬莱)。四个月后,以礼部郎中被召还朝。在朝半月,升起居舍人,三个月后,升中书舍人,不久又升翰林学士知制诰,知礼部贡举。当苏轼看到新兴势力拼命压制王安石集团的人物及尽废新法后,认为其与所谓“王党”不过一丘之貉,再次向皇帝提出谏议。他对旧党执政后,暴露出的腐败现象进行了抨击,由此,他又引起了保守势力的极力反对,于是又遭诬告陷害。苏轼至此是既不能容于新党,又不能见谅于旧党,因而再度自求外调。筑建苏堤元祐四年(1089年),苏轼任龙图阁学士知杭州。由于西湖长期没有疏浚,淤塞过半,“崶台平湖久芜漫,人经丰岁尚凋疏”,湖水逐渐干涸,湖中长满野草,严重影响了农业生产。苏轼来杭州的第二年率众疏浚西湖,动用民工20余万,开除葑田,恢复旧观,并在湖水最深处建立三塔(今三潭映月)作为标志。他把挖出的淤泥集中起来,筑成一条纵贯西湖的长堤,堤有6桥相接,以便行人,后人名之曰“苏公堤”,简称“苏堤”。苏堤在春天的清晨,烟柳笼纱,波光树影,鸟鸣莺啼,是著名的西湖十景之一“苏堤春晓”。“东坡处处筑苏堤”,苏轼一生筑过三条长堤。苏轼被贬颍州(今安徽阜阳)时,对颍州西湖也进行了疏浚,并筑堤。绍圣元年(1094年),苏轼被贬为远宁军节度副使,惠州(今广东惠阳)安置。年近6旬的苏轼,日夜奔驰,千里迢迢赴贬所,受到了岭南百姓热情的欢迎。苏轼把皇帝赏赐的黄金拿出来,捐助疏浚西湖,并修了一条长堤。为此,“父老喜云集,箪壶无空携,三日饮不散,杀尽村西鸡”,人们欢庆不已。如今,这条苏堤在惠州西湖入口处,像一条绿带,横穿湖心,把湖一分为二,右边是平湖,左边是丰湖。 流落儋州苏轼在杭州过得很惬意,自比唐代的白居易。但元祐六年(1091年),他又被召回朝。但不久又因为政见不合,元祐六年八月调往颍州任知州、元祐七年(1092年)二月任扬州知州、元祐八年(1093年)九月任定州知州。元祐八年高太后去世,哲宗执政,新党再度执政,绍圣元年(1094年)六月,别为宁远军节度副使,再次被贬至惠阳(今广东惠州市)。绍圣四年(1097年),年已62岁的苏轼被一叶孤舟送到了徼边荒凉之地海南岛儋州(今海南儋县)。据说在宋朝,放逐海南是仅比满门抄斩罪轻一等的处罚。他把儋州当成了自己的第二故乡,“我本儋耳氏,寄生西蜀州”。他在这里办学堂,介学风,以致许多人不远千里,追至儋州,从苏轼学。在宋代100多年里,海南从没有人进士及第。但苏轼北归不久,这里的姜唐佐就举乡贡。为此苏轼题诗:“沧海何曾断地脉,珠崖从此破天荒。”人们一直把苏轼看作是儋州文化的开拓者、播种人,对他怀有深深的崇敬。在儋州流传至今的东坡村、东坡井、东坡田、东坡路、东坡桥、东坡帽等等,表达了人们的缅怀之情,连语言都有一种“东坡话”。最后结局徽宗即位后,苏轼被调廉州安置、舒州团练副使、永州安置。元符三年四月(1100年)大赦,复任朝奉郎,北归途中,于建中靖国元年七月二十八日(1101年8月24日)卒于常州(今属江苏)。葬于汝州郏城县(今河南郏县),享年六十五岁。苏轼留下遗嘱葬汝州郏城县钧台乡上瑞里。次年,其子苏过遵嘱将父亲灵柩运至郏城县安葬。宋高宗即位后,追赠苏轼为太师,谥为“文忠”。'
    text2='早年天才长安元年(701年),李白,字太白。其生地今一般认为是唐剑南道绵州(巴西郡)昌隆(后避玄宗讳改为昌明)青莲乡。祖籍为甘肃天水。其家世、家族皆不详。据《新唐书》记载,李白为兴圣皇帝(凉武昭王李暠)九世孙,按照这个说法李白与李唐诸王同宗,是唐太宗李世民的同辈族弟。亦有说其祖是李建成或李元吉。神龙元年(705年), 十一月,武则天去世。李白五岁。发蒙读书始于是年。《上安州裴长史书》云:“五岁诵六甲。”六甲,唐代的小学识字课本,长史,州之次官。开元三年(715年),李白十五岁。已有诗赋多首,并得到一些社会名流的推崇与奖掖,开始从事社会干谒活动。亦开始接受道家思想的影响,好剑术,喜任侠。是年岑参生。开元六年(718年),李白十八岁。隐居戴天大匡山(在今四川省江油县内)读书。往来于旁郡,先后出游江油、剑阁、梓州(州治在今四川省境内)等地,增长了不少阅历与见识。辞亲远游开元十二年(724年),李白二十四岁。离开故乡而踏上远游的征途。再游成都、峨眉山,然后舟行东下至渝州(今重庆市)。开元十三年(725年),李白出蜀,“仗剑去国,辞亲远游”。开元十四年(726年),李白二十六岁。春往扬州(今江苏省扬州市)。秋,病卧扬州。冬,离扬州北游汝州(今河南省临汝县),至安陆(今湖北省安陆县)。途经陈州时与李邕相识。结识孟浩然。开元十五年(727年),是年诏令“民间有文武之高才者,可到朝廷自荐”。秋,全国六十三州水灾,十七州霜旱。李白二十七岁。居于安陆寿山,与故宰相许圉师之孙女结婚,逐家于安陆。是年王昌龄进士及第。开元十六年(728年),土蕃屡次入侵。李白二十八岁。早春,出游江夏(今湖北省武汉市),与孟浩然相会于斯。开元十七年(729年),八月五日,唐玄宗为自己四十岁生日举行盛大的庆贺活动,并以每年八月五日为千秋节。诏令天下诸州宴乐,休假三日。以宇文融管理全国财赋,强制税法,广为聚敛,供朝廷奢侈之用。李白二十九岁。在安陆。蹉跎岁月开元十八年(730年),李白三十岁。春在安陆。前此曾多次谒见本州裴长史,因遭人谗谤,于近日上书自白,终为所拒。初夏,往长安,谒宰相张说,并结识其子张垍。寓居终南山玉真公主(玄宗御妹)别馆。又曾谒见其它王公大臣,均无结果。暮秋游邢州(在长安之西)。冬游坊州(在长安之北)。是年杜甫十九岁,游于晋(今山西省)。开元十九年(731年),玄宗多任宦官,尤宠高力士,时四方表奏,皆先为高力士所决。十月,玄宗驾幸洛阳。李白三十一岁。穷愁潦倒于长安,自暴自弃,与长安市井之徒交往,初夏,离长安,经开封(今河南省开封市),到宋城(今河南省商丘县)。秋到篙山五岳之一的中岳(为河南省登封县的名山),恋故友元丹丘的山居所在,逐有隐居之意。暮秋,滞留洛阳。开元二十年(732年),十月,玄宗到洛阳以北(今山西省一带)地区出巡,诏令巡幸所至,地方官员可将本地区贤才直接向朝廷推荐。十一月,至北都太原(唐朝开国之地),祀后土(土地神),大赦天下。十二月,归还洛阳。是年全国户数为七百八十六万一千二百三十六,人口四千五百四十三万一千二百六十五,为有史以来的最高记录。李白三十岁。自春历夏在洛阳,与元演、崔成甫结识。秋,自洛阳返安陆。途经南阳(今河南省南阳市),结识崔宗之。冬,元演自洛阳到安陆相访,二人同游随州(今湖北省随县)。岁未,归家安陆。开元二十一年(733年),正月,唐玄宗亲注老子《道德经》。令天下士庶(身份很低的役人与庶民)家藏一册,梅年贡举时加试《老子》策。三月,韩休同中书门下平章事(宰相)。五月,张九龄同中书门下平章事。二人为人正直,敢于力谏,张九龄尤以文学才能,道德文章,为世所重。分天下为十五道,各置采访使(负责监察督办所辖地区的政治等项),是年长安久雨,京师饥谨,诏令放太仓米二百万石以赈民。李白三十三岁。构石室于安陆白兆山桃花岩。开山田,日以耕种、读书为生活。开元二十二年(734年),正月,唐玄宗巡幸洛阳。二月,秦州(今甘肃天水县西南)地震,房屋倒塌,崩坏殆尽,压死者四千余人。征沼自称生于尧时的道士张果先生,玄宗亲问以治道神仙之术。授其银青光禄大夫(银印上系以青色缓带,以为品位高的标志。副职),位侍中(唐门下省协助宰相起草文书等项的官吏)。 西游献赋开元二十三年(公元735年),玄宗又一次狩猎,正好李白也在西游,乘机献上《大猎赋》,希望能博得玄宗的赏识。他的《大猎赋》希图以“大道匡君,示物周博”,而“圣朝园池遐荒,殚穷六合”,幅员辽阔,境况与前代大不相同,夸耀本朝远胜汉朝,并在结尾处宣讲道教的玄埋,以契合玄宗当时崇尚道教的心情。是年,李白进长安后结识了卫尉张卿,并通过他向玉真公主献了诗,最后两句说“几时入少室,王母应相逢”,是祝她入道成仙。由此,他一步步地接近了统治阶级的上层。李白这次在长安还结识了贺知章。李白去紫极宫,在那里遇见了贺知章,立刻上前拜见,并呈上袖中的诗本。贺知章颇为欣赏《蜀道难》和《乌栖曲》。李白瑰丽的诗歌和潇洒出尘的风采令贺知章惊异万分,竟说:“公非人世之人,可不是太白星精耶?”贺知章称他为谪仙人。三年后,李白发出“行路难,归去来”的感叹,离开长安。李白供奉翰林天宝元年(公元742年),由于玉真公主和贺知章的交口称赞,玄宗看了李白的诗赋,对其十分仰慕,便召李白进宫。李白进宫朝见那天,玄宗降辇步迎,“以七宝床赐食于前,亲手调羹”。玄宗问到一些当世事务,李白凭半生饱学及长期对社会的观察,胸有成竹,对答如流。玄宗大为赞赏,随即令李白供奉翰林,职务是给皇上写诗文娱乐,陪侍皇帝左右。玄宗每有宴请或郊游, 必命李白侍从,利用他敏捷的诗才,赋诗纪实。虽非记功,也将其文字流传后世,以盛况向后人夸示。李白受到玄宗如此的宠信,同僚不胜艳羡,但也有人因此而产生了嫉恨之心。天宝二年(743年),,李白四十三岁。诏翰林院。初春,玄宗于宫中行乐,李白奉诏作《官中行乐词》,赐宫锦袍。暮春,兴庆池牡丹盛开,玄宗与杨玉环同赏,李白又奉诏作《清平调》。对御用文人生活日渐厌倦,始纵酒以自昏秽。与贺知章等人结“酒中人仙”之游,玄宗呼之不朝。尝奉诏醉中起草诏书,引足令高力士脱靴,宫中人恨之,谗谤于玄宗,玄宗疏之。 李杜相识天宝三年(公元744年)的夏天,李白到了东都洛阳。在这里,他遇到蹭蹬的杜甫。中国文学史上最伟大的两位诗人见面了。此时,李白已名扬全国,而杜甫风华正茂,却困守洛城。李白比杜甫年长十一岁,但他并没有以自己的才名在杜甫面前倨傲。而“性豪也嗜酒”、“结交皆老苍”的杜甫,也没有在李白面前一味低头称颂。两人以平等的身份,建立了深厚的友情。在洛阳时,他们约好下次在梁宋(今开封、商丘一带)会面,访道求仙。同年秋天,两人如约到了梁宋。两人在此抒怀遣兴,借古评今。他们还在这里遇到了诗人高适,高适此时也还没有禄位。然而,三人各有大志,理想相同。三人畅游甚欢,评文论诗,纵谈天下大势,都为国家的隐患而担忧。这时的李杜都值壮年,此次两人在创作上的切磋对他们今后产生了积极影响。这年的秋冬之际,李杜又一次分手。李白到齐州(今山东济南一带)紫极宫请道士高天师如贵授道箓,从此他算是正式履行了道教仪式,成为道士。其后李白又赴德州安陵县,遇见这一带善写符箓的盖还,为他造了真箓。此次的求仙访道,李白得到了完满的结果。天宝四年(公元745年)秋天,李白与杜甫在东鲁第三次会见。短短一年多的时间,他们两次相约,三次会见,知交之情不断加深。他们一道寻访隐士高人,也偕同去齐州拜访过当时驰名天下的文章家、书法家李邕。就在这年冬天,李杜两人分手。安史入幕天宝十四年(公元755年),安史之乱爆发,李白与妻子宗氏一道南奔避难。春在当涂。旋闻洛阳失陷,中原横溃,乃自当涂返宣城,避难刻中(今浙江省膝县)。至漂阳(今江苏省滦阳县),与张旭相遇。夏至越中。闻郭子仪、李光弼在河北大胜,又返金陵。秋,闻玄宗奔蜀,遂沿长江西上,入庐山屏风叠隐居。至德元年(756年),正月,安禄山在洛阳自称大燕皇帝。五月,郭子仪、李光弼大破史思明,收复河北十余郡。六月,安禄山率部攻破潼关,生擒哥舒翰。至德二年(757年),,李白五十七岁。正月,在永王军营,作组诗《永王东巡歌》抒发了建功报国情怀。永王擅自引兵东巡,导致征剿,兵败。李白在浔阳入狱。被宋若思、崔涣营救。成为宋若思的幕僚后,为宋写过一些文表,并跟随他到了武昌。李白在宋若思幕下很受重视,并以宋的名义再次向朝廷推荐,希望再度能得到朝廷的任用。终以参加永王东巡而被判罪长流夜郎(今贵州桐梓)。是年杜甫四十六岁,四月,从贼营逃出,谒肃宗于风翔,授右拾遗。乾元元年(758年),四月,史思明反。五月,肃宗罢张镐宰相,出为荆州大都督长史。十二月,史思明陷魏州(今河北省南部)。李白五十八岁。李白自寻阳出发,开始长流夜郎,妻弟宗嫌相送。春末夏初。途经西塞驿(今武昌县东),至江夏,访李邕故居,登黄鹤楼,眺望鹦鹉洲。秋至江陵,冬入三峡。是年杜甫四十七岁,为华州司功参军。溘然病逝乾元二年(759年),朝廷因关中遭遇大旱,宣布大赦,规定死者从流,流以下完全赦免。李白经过长期的辗转流离,终于获得了自由。他随即顺着长江疾驶而下,而那首著名的《早发白帝城》最能反映他当时的心情。到了江夏,由于老友良宰正在当地做太守,李白便逗留了一阵。乾元二年,李白应友人之邀,再次与被谪贬的贾至泛舟赏月于洞庭之上,发思古之幽情,赋诗抒怀。不久,又回到宣城、金陵旧游之地。差不多有两年的时间,他往来于两地之间,仍然依人为生。上元二年(761年),已六十出头的李白因病返回金陵。在金陵,他的生活相当窘迫,不得已只好投奔了在当涂做县令的族叔李阳冰。上元三年 (762年),李白病重,在病榻上把手稿交给了李阳冰,赋《临终歌》而与世长辞。关于李白之死,历来众说纷纭,莫衷一是。总体可以概括为三种死法:其一是醉死,其二是病死,其三是溺死。第一种死法见诸《旧唐书》,说李白“以饮酒过度,醉死于宣城”;第二种死法亦见诸其他正史或专家学者的考证之说。说当李光弼东镇临淮时,李白不顾61岁的高龄,闻讯前往请缨杀敌,希望在垂暮之年,为挽救国家危亡尽力,因病中途返回,次年病死于当涂县令、唐代最有名的篆书家李阳冰处;而第三种死法则多见诸民间传说,极富浪漫色彩,说李白在当涂的江上饮酒,因醉跳入水中捉月而溺死,与诗人性格非常吻合。但是不管哪一种死法,都因参与永王李璘谋反作乱有着直接的关系。因为李白流放夜郎,遇赦得还后不久,就结束了他传奇而坎坷的一生,这是一个不争的事实。'
    lists=text2.split("")
    #时间序列
    data_list=[]
    author_list=[]
    where_list=[]
    things_list=[]
    #
    bg_time=""
    for it in lists:
        print(it)
        demo_CRF_lexical_analyzer(it)
    print("============分析结果================")
    print(len(data_list))
    for i in range(len(data_list)):
        print(data_list[i],author_list[i],where_list[i],things_list[i])

    print("===========保存数据================")
    xl = xlwt.Workbook()
    # 调用对象的add_sheet方法
    sheet1 = xl.add_sheet('sheet1', cell_overwrite_ok=True)

    sheet1.write(0, 0, "data")
    sheet1.write(0, 1, "author")
    sheet1.write(0, 2, "where")
    sheet1.write(0, 3, "things")
    for i in range(0, len(data_list)):
        sheet1.write(i + 1, 0,data_list[i])
        sheet1.write(i + 1, 1, author_list[i])
        sheet1.write(i + 1, 2, where_list[i])
        sheet1.write(i + 1, 3, things_list[i])

    xl.save("libai_experience.xlsx")

结果展示

 

结语

困扰我多天的抽取终于搞定了,继续肝!!!

posted @ 2021-11-11 23:14  清风紫雪  阅读(360)  评论(0编辑  收藏  举报