CN112966079B - 一种用于对话系统的面向事件画像的文本分析方法 - Google Patents

一种用于对话系统的面向事件画像的文本分析方法 Download PDF

Info

Publication number
CN112966079B
CN112966079B CN202110230345.6A CN202110230345A CN112966079B CN 112966079 B CN112966079 B CN 112966079B CN 202110230345 A CN202110230345 A CN 202110230345A CN 112966079 B CN112966079 B CN 112966079B
Authority
CN
China
Prior art keywords
event
word
emotion
sentence
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110230345.6A
Other languages
English (en)
Other versions
CN112966079A (zh
Inventor
李彭伟
李亚钊
程浚
李子
郑伟
阚凌志
陈娜
吴诗婳
郭婉
周兆昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202110230345.6A priority Critical patent/CN112966079B/zh
Publication of CN112966079A publication Critical patent/CN112966079A/zh
Application granted granted Critical
Publication of CN112966079B publication Critical patent/CN112966079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Animal Behavior & Ethology (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种用于对话系统的面向事件画像的文本分析方法,包括:1、事件关系抽取;2、事件抽取和结构化;3、事件相似度计算和融合;4、事件触发词抽取和论元抽取。本发明充分研究构建事理图谱的方法,通过采用知识图谱结构来描述事件之间的逻辑结构关系,同时为了更清晰的描述事件,对事件的多维属性进行画像。本发明提出了一种事理图谱构建的体系结构,包括文本语料采集,事件关系抽取模板构造,事件抽取和结构化,事件相似度计算和融合,事件触发词抽取和论元抽取模型构建,事件关系对构建,图数据库存储,并利用该体系结构构建了顺承事理图谱、因果事理图谱、条件事理图谱、转折事理图谱、并发事理图谱。

Description

一种用于对话系统的面向事件画像的文本分析方法
技术领域
本发明涉及一种用于对话系统的面向事件画像的文本分析方法。
背景技术
事件是人类社会的核心概念之一,人们的社会活动往往是事件驱动的。事件之间在时间、空间上相继发生的演化规律和模式是一种十分有价值的知识。然而,现有的典型知识图谱均以实体及其属性和关系为研究核心,缺乏对事理逻辑这一重要人类知识的刻画。为了弥补这一不足,事理图谱应运而生,它能够揭示事件的演化规律和发展逻辑,刻画和记录人类行为活动。事理图谱描述的是逻辑社会中的知识,节点表示事件,节点间的边表示逻辑关系,本质上,事理图谱是事理逻辑的知识库。
人类对世界的记忆是由多个事件组合形成的,事件跟人类的思考和行为更加贴切,更能体现现实世界中的知识形式和内容,尤其是知识的动态表示。现有的知识图谱不能回答“为什么”,“下一步做什么”这样有关事理逻辑的问题,然而目前很多人工智能应用需要深刻理解并使用事理知识。例如对于消费意图识别而言,机器需要知道“去旅游”事件中往往有多种消费事件“买机票”,“订酒店”等。对于对话系统而言,现有的对话系统难以深入理解对话的上下文因果关系,而系统只有理解了常识事理知识,比如“去机场”前“先打车”,才能根据不同上下文给出更智能的回复。对于金融领域,研究股市涨跌因果关系是很有价值的研究内容,比如“食物价格上涨”导致“通货膨胀”,从而导致了“股市下跌”这条因果关系链清晰显示了股市下跌原因,使用类似这种因果事理知识(参考文献:Zhao S,Wang Q,Massung S,et al.Constructing and Embedding Abstract Event Causality Networksfrom Text Snippets[C].Web Search and Data Mining,2017:335-344.) 可以在实际应用中起到重要作用。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种用于对话系统的面向事件画像的文本分析方法,包括如下步骤:
步骤1、抽取事件关系;
步骤2、抽取事件并结构化;
步骤3、计算并融合事件相似度;
步骤4、抽取事件触发词和论元。
步骤1包括:对因果、顺承、条件、并发、转折事件关系构造事件关联词模板,根据构造的事件关联词模板抽取出事件对,
事件关联词模板包括顺承关系抽取模板、因果关系抽取模板、条件关系抽取模板转折关系抽取模板和并发关系抽取模板;
其中,顺承关系抽取模板包括两种,因果关系抽取模板包括十种,条件关系抽取模板,转折关系抽取模板和并发关系抽取模板各一种。
步骤1中,两种顺承关系抽取模板分别记为模板一和模板二,模板二的优先级高于模板一,句子先匹配模板二,如果匹配成功则获得前后的顺承事件,如果匹配失败再匹配模板一。
步骤2中,通过事件抽取算法完成事件抽取,具体包括:
步骤2-a1,输入数据库中m个事件文本,进行长句切分:使用标志着句子结束的标点符号对每篇文本进行切分,获得长句集;正则表达式为:r'[??!!。;;::\n\r….·]'; r、n是通用的换行符号;
步骤2-a2,补齐句子主语:对长句集里每个句子判断其中的短句是否缺少主语,对于指示前一句话的内容的代词,如果所述代词后紧跟因果动词,把代词和代词前的标点符号一同从原句中剔除;
步骤2-a3,使用jieba分词工具对长句进行分词处理,并使用jieba.posseg获得每个词的词性,最后获得词语和词性的序列;
步骤2-a4,抽取事件关系:使用构造的事件关联词模板,对每个句子提取前事件集、事件关联词和后事件集;
对于因果关系事件对的抽取,还需要继续对原因事件匹配模板,最终抽取出原因事件集和结果事件集和后事件短句集;
顺承事理图谱中使用的正则表达式是r'[,,]/x',表示短句分割标点符号是中英文逗号,其他关系事理图谱(指的是除了顺承事理图谱外其他的事理图谱)中使用的正则表达式是r'[,、,;和与及且跟()~.]/[x|cp]'。
步骤2中,通过结构化算法完成事件结构化,具体包括:
步骤2-b1,输入一个句子的前后事件短句集,进行词性处理:短句中要保留的词性标记集合为:['a','b','c','d','wp','i','j','v','n','nh','ni','nl','ns','nz'],词性标准采用863词性标注集,建立停用词库和否定词库,词过滤算法为:对于事件短句里的每个词,如果该词在否定词库中,或者其词性在词性标记集合中并且该词不属于停用词库,保留该词;根据所述词性标记集合、停用词库和否定词库,运用词过滤算法对短句中的每个词进行过滤;
步骤2-b2,对步骤2-b1第一次过滤的事件词序列结果进行第二次过滤处理:如果事件短句的第一个词和最后一个词是连词或标点符号,去除该连词或标点符号,不断循环该过程,直到开始和结束词都不是连词或标点符号;
步骤2-b3,对事件短句首先判断短句长度是否大于等于2,如果大于等于2,进行事件判定(语句的长度没有限制,只要检测出的词具备主谓结构获主谓宾架构即可以判定为一个事件。在主谓结构下,即具有两个词,如果两个词都没有,则主谓或主谓宾结构失效,不能构成事件),否则直接返回空事件;
事件表示规则规定事件具备语义完整性,符合主谓结构或主谓宾结构,事件表示规则包括如下四条:
候选事件短句以名词或缩写词开头,动词、形容词或成语结尾;
候选事件短句以名词或缩写词开头,动词在短句中间,名词或缩写词结尾;
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词、形容词或成语结尾;
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词在短句中间,名词或缩写词结尾;
步骤2-b4,建立主观性词库,使用主观性词库过滤事件:如果事件短句中包含主观性词库中的词,则事件不属于候选事件,从候选事件短句集中去除;候选事件短句集中包括通过以上步骤已识别的事件;
步骤2-b5,建立情感词典,情感词典包括正面情感词、负面情感词、程度副词和否定词;正面情感词赋值为1,负面情感词赋值为-1,中性词赋值为0;程度副词包括共有六种(很、非常、相当、一点、明显地、特别),每种对应不同分值;否定词赋值为-1;
根据四种情况计算每个情感词的情感分数,第一种情况是程度副词+否定词+情感词,计算方法如式(1-1)所示:
w=t*a*(-1)*2 (1-1)
第二种情况是否定词+程度副词+情感词,计算方法如式(1-2)所示:
w=t*0.5*a (1-2)
第三种情况是否定词+情感词,计算方法如式(1-3)所示:
w=t*(-1) (1-3)
第四种情况是程度副词+情感词,计算方法如式(1-4)所示:
w=t*a 式(1-4)
其中,w表示计算后每个情感词的情感分数,t表示情感词的当前分值,a表示程度副词的分值;
对事件短句进行情感分析的流程为:首先对事件短句中每个词的情感分数w置0,然后判断每个词是否是正面情感词,如果是,则令w加1,否则令w减1,接着检测情感词前面是否有否定词,如果没有则是第四种情况,计算方法如式(1-4)所示,如果有,则在否定词前后查找是否存在程度副词,没有程度副词则是第三种情况,计算方法如式(1-3)所示,有程度副词则再判断程度副词的位置,如果在否定词前面,则是第一种情况,计算方法如式(1-1)所示,如果在否定词后面,则是第二种情况,计算方法如式(1-2)所示,最后得到事件短句所有情感词的情感分数列表,对所有情感词的情感分数求和得到事件短句的情感分数,如果分数大于0,说明事件表达了正面情感;如果分数小于0,说明事件表达了负面情感;如果分数等于0,说明事件表达了中性情感,分数的绝对值表示情感强度;
步骤2-b6,得到结构化后的事件短句集,事件短句集包括结构化后的事件表示、事件id信息、事件情感极性和强度分数、事件关联词。
步骤3包括:
步骤3-1,读取事件集:读取出数据库中每对事件短句集中的事件;事件短句集是步骤2-b6得到的;
步骤3-2,把每个事件放入一个列表中,获得两个以上单独的类;
步骤3-3,计算编辑距离:给定两个事件event1和event2,计算event1和event2 的编辑距离,编辑距离就是字符操作数,如果满足条件:编辑距离小于等于设置的阈值2,并且两个事件的情感极性是一致的,将两个事件所属的类合并为一个类;如果不满足条件,则转至步骤3-4;
步骤3-4,计算余弦值:对训练语料(由人工输入)进行预处理,即分词和去除停用词(分词指通过把文本中的词语进行全扫描,把文本精确的分开,不存在冗余单词,并对长词再次切分。如“今天天气好冷,快出太阳了”,经过处理后变为“今天”“天气”“好”“冷”,“,”“快”“出”“”太阳“了”),最后得到处理完的训练语料;接着训练模型,并保存训练好的模型;对需要获得向量表示的事件短句进行分词处理,加载模型得到事件的向量表示;最后计算两个事件的向量表示V1和V2之间夹角的余弦值Wv,如式(2-1)所示。
Wv=COS(V1,V2) (2-1)
如果余弦值大于设定阈值0.9,将两个事件所属的类合并为一个类,否则不进行聚类处理;
步骤3-5,判断聚类是否结束,如果所有事件都进行了聚类处理则将每类相似事件进行融合,将字符串最长的事件作为代表事件,否则返回步骤3-3。
步骤4中,提出一种基于星形扩张的查询方法,用以验证查询的性能。星形扩张指的是,将图谱中某个节点设置为初始节点,并把这个节点和与其直接相连的其它节点连接起来,类似一个扩张的星座图,一次遍历,称为一个星形查询(一跳查询)。依次以一跳查询的节点为中心,再次开展星形查询,成为依次星形扩张(两跳查询),重复该过程,直至达到指定跳数或遍历完所有节点;
步骤4包括:
步骤4-1,输入数据处理:
处理训练、验证、测试数据获得序列标注数据,即用BIO方式获得事件句子每个字的标签,对于触发词抽取模型,如果一个字不是触发词的一部分,则标签为O,如果是触发词的一部分,则判断是触发词的第一个字还是剩余字,如果是第一个字,则标签为B-事件类型,如果是剩余字,则标签为I-事件类型;事件抽取主要是从文本中抽取预先定义好的各种类型事件实例,抽取的过程中的触发词用于标示事件的谓词,一般是动词和名词居多。如“维和部队乘飞机返回安曼”的触发词是“返回”,触发词有利于判定事件类型。触发词是事件抽取的一个过程,如“我在吃饭”,“我”是一个触发词,有了这个触发词才能找到后面的句子,这个说法属于通用技术称谓。
对于论元抽取模型(论元是形成一个最小描述单元的内容,论元抽取的方法就是论元抽取模型),如果一个字不是论元的一部分,则标签为O,如果是论元的一部分,则判断是论元的第一个字还是剩余字,如果是第一个字,则标签为B-论元角色,如果是剩余字,则标签为I-论元角色,最终对触发词抽取模型和论元抽取模型分别获得事件句子的标注序列;论元抽取指抽取特定类型事件的角色,如“昨天,维和部队乘飞机返回安曼”的论元包括运送对象维和部队、时间、交通工具和目的地。
步骤4-2,模型训练:
首先加载PaddleHub预训练模型,然后构造数据集,定义类EEDataset继承类BaseNLPDataset,类中定义了数据集的存放位置和序列标注标签文档;接着构造处理数据的SequenceLabelReader,加载EEDataset数据并通过SequenceLabelReader读取;接着使用字级别的输出sequence_output作为迁移网络的输入,设置模型输入变量 feed_list,并选择Fine-tune优化策略,然后配置模型运行的设置,配置eval_step为100, model_save_step为100,use_cuda为True,num_epoch为7,batch_size为8,checkpoint_dir 为保存模型路径;最后构建序列标注迁移任务seq_label_task,将上述步骤得到的reader, sequenceoutput,feed_list,max_seq_len,dataset.num_labels,config,add_crf作为输入,调用hub.SequenceLabelTask接口构建序列标注任务;如果参数中do_train为真值True,序列标注任务调用finetune_and_eval()自动进行训练,每X步保存模型并在验证集和测试集上评估得到当前最优模型,模型训练结束后,得到最优事件触发词抽取和论元抽取模型。PaddleHub是一种开源的深度学习平台,该步骤中出现的英文都是该平台的函数调用。验证集和测试集是PaddleHub平台的开发接口,本发明依据该接口录入正确答案。
本发明通过运用自然语言处理相关理论和技术,提出了事理图谱的构建方法及体系结构,通过采用知识图谱结构来描述事件之间的逻辑结构关系,同时为了更清晰的描述事件,对事件的多维属性进行画像。事理图谱构建的内容包括文本语料采集,事件关系抽取模板构造,事件抽取和结构化,事件相似度计算和融合,事件触发词抽取和论元抽取模型构建,事件关系对构建,图数据库存储。本发明通过利用该体系结构构建了顺承事理图谱、因果事理图谱、条件事理图谱、转折事理图谱、并发事理图谱,其中每种事理图谱都是有向有环图,节点表示事件,边表示事件之间的因果、顺承、条件、转折等事理逻辑关系。事理图谱在金融、交通等领域的成果,可以应用到情报领域,主要是事件组织、战场态势推演等。
有益效果:本发明提出了一种用于对话系统的面向事件画像的文本分析方法,通过构造事件关系抽取模板,利用提出的事件抽取和结构化算法、事件相似度计算和融合算法、事件触发词抽取和论元抽取模型最终构建了顺承事理图谱、因果事理图谱、条件事理图谱、转折事理图谱、并发事理图谱。事理图谱描述的是逻辑社会,研究对象是谓词性事件短语和事件间的逻辑关系。通过使用本发明提出的构建方法能够构建多个领域的事理图谱,把事件间的关系和发展模式构建成一种知识库,从而让机器理解并掌握大量事理逻辑知识,为事件预测、事件推理、对话系统构建、消费意图的识别等提供支撑。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。
图1是本发明架构图。
图2是因果事理示例图。
图3是条件事理示例图。
图4是顺承事理示例图。
图5是因果事理示例图。
图6是条件事理示例图。
具体实施方式
如图1所示,本实施例中提出了一种用于对话系统的面向事件画像的文本分析方法,主要包括以下四方面:1)基于事件关联词对因果、顺承等事件关系构造事件关系抽取模板,从而可以根据构造的模板抽取出事件对。2)基于事件表示,本发明提出一种事件抽取和结构化算法,并尝试了多种事件结构化表示方法,比如动宾短语,主谓结构或者主谓宾结构。3)基于编辑距离和事件向量,本发明提出了一种事件相似度计算和融合算法,首先对相似度满足设定阈值的事件进行聚类处理,然后对每一类具有相同含义的不同事件进行融合。4)本发明采用基于预训练模型的序列标注方案构建事件触发词抽取和论元抽取模型。
本发明包括如下步骤:
步骤1、事件关系抽取模板,事件关系抽取模板构造模块对因果、顺承、条件、并发、转折事件关系构造事件关联词模板,从而可以根据构建的模板抽取出事件对,事件对中的事件都属于该事理图谱的构建领域。其中,顺承关系抽取模板共两种,因果关系抽取模板共十种,条件关系抽取模板,转折关系抽取模板和并发关系抽取模板各一种。对于两种顺承关系抽取模板,模板二的优先级高于模板一,句子先匹配模板二,若匹配成功则获得前后的顺承事件,若匹配失败再匹配模板一,模板说明如表1所示。条件、转折、并发关系抽取模板说明分别如表2,表3,表4所示。因果关系抽取模板的优先级从一到十递减,模板说明如表5所示。
表1顺承关系抽取模板
Figure BDA0002957612760000081
表2条件关系抽取模板
Figure BDA0002957612760000082
Figure BDA0002957612760000091
表3转折关系抽取模板
Figure BDA0002957612760000092
表4并发关系抽取模板
Figure BDA0002957612760000093
表5因果关系抽取模板
Figure BDA0002957612760000094
Figure BDA0002957612760000101
步骤2,事件抽取和结构化算法。事件抽取和结构化算法分为两个部分,首先事件抽取算法对数据库中每篇事件文本进行长句切分,句子主语补齐,词性标注操作(参考文献:Guo Z,Zhang Y,Chen S U,et al.Character-Level Dependency Model for JointWord Segmentation,POS Tagging,and Dependency Parsing in Chinese[J].IEICETransactions on Information and Systems,2016,99(01):257-264.),然后匹配关系抽取模板进行事件关系抽取,得到前后事件集和事件对关联词,最后对前后事件集中每个事件进行短句切分,得到前后事件短句集。算法的时间复杂度为O(mn),其中m为数据库中事件文本总数,n为句子总数。下面对事件抽取的步骤进行详细描述。
输入:数据库中m个事件文本。
输出:n个句子的事件短句集和事件对关联词。
1)长句切分:使用标志着句子结束的标点符号对每篇文本进行切分,获得长句集。正则表达式为:r'[??!!。;;::\n\r….·]',长句集里每个句子长度规定大于5个字符。
2)补齐句子主语:对长句切分后的句子集里每个句子判断其中的短句是否缺少主语,比如对于“这、这儿、这些”等代词指示前一句话的内容,若这些代词后紧跟因果动词,那么便把代词和代词前的标点符号一同从原句中剔除。
3)标注词性:使用jieba分词工具对长句进行分词处理(参考文献:冯俐.中文分词技术综述[J].现代计算机(专业版),2018,634(34):19-22.),并使用jieba.posseg获得每个词的词性,最后获得词语和词性的序列。
4)抽取事件关系:借助构造的事件关联词模板,对每个句子提取前事件集,事件关联词和后事件集。对于因果关系事件对的抽取,由于原因事件里面可能还存在因果关系对,因此还需要继续对原因事件匹配模板,最终抽取出原因事件集和结果事件集和后事件短句集。顺承事理图谱中使用的正则表达式是r'[,,]/x',表示短句分割标点符号是中英文逗号,其他关系事理图谱中使用的正则表达式是r'[,、,;和与及且跟() ~.]/[x|cp]'。
事件结构化算法对事件抽取后得到的前后事件短句集里每个事件进行词性处理,事件过滤,事件情感分析等操作,得到事件的结构化表示,事件的id信息,即其文章,句子和事件序号,和事件的情感极性和强度分数,最后得到一个句子结构化后的事件短句集。算法的时间复杂度为O(zy),其中z为一个句子的前事件短句集或后事件短句集中事件的个数,y为一个事件中的词个数。下面对事件结构化的步骤进行详细描述。
输入:一个句子的前后事件短句集。
输出:结构化后的事件短句集,其中包括结构化后的事件表示、事件id信息、事件情感极性和强度分数、事件关联词。
1)词性处理
短句中要保留的词性标记集合:['a','b','c','d','wp','i','j','v','n','nh','ni','nl','ns','nz'],词性标准采用863词性标注集,停用词库包括一些没有意义的词,也叫做噪声词语,比如“啊、吧、又”等词,否定词库包括一些有否定意义的词汇,比如“短缺、没用”等词。词过滤算法为:对于事件短句里的每个词,
若该词在否定词库中,或者其词性在词性标记集合中并且该词不属于停用词库,那么保留该词。根据上述词性标记集合和两种词库,运用词过滤算法对短句中的每个词进行过滤。
接下来,对第一次过滤的事件词序列结果进行第二次过滤处理:如果事件短句的第一个词和最后一个词是连词或标点符号,那就去除该词或符号,不断循环该步骤,直到开始和结束词都不是连词或标点符号。
2)规则过滤事件
对词性处理后的事件短句首先判断短句长度是否大于等于2,若满足条件才进行事件判定,若不满足则直接返回空事件。事件表示规则规定事件具备语义完整性,符合“主谓结构”或“主谓宾结构”。事件表示规则包括如下四条。
候选事件短句以名词或缩写词开头,动词、形容词或成语结尾。
候选事件短句以名词或缩写词开头,动词在短句中间,名词或缩写词结尾。
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词、形容词或成语结尾。
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词在短句中间,名词或缩写词结尾。
3)词库过滤事件
主观性指的是:人在描述客观事实的同时,表达对事实的情感、态度和主观评价,主观性词库包括“感觉、预感、以为”等词。使用主观性词库的判定和过滤规则是:如果事件短句中包含词库中的词,那该事件不属于候选事件,从候选事件短句集中去除。
4)事件情感分析
为了用数字直观说明事件对之间的逻辑关系,比如“通货膨胀导致股市下跌”中结果事件的情感分数经过计算后是-1,则说明了该条事件对产生了负面结果。本发明运用基于语义理解的方法,通过使用情感词典对事件短句进行情感极性和强度分析。因为本实施例在金融领域进行实验,所以使用的是金融领域的情感词典。
情感词典包括正负面情感词,程度副词和否定词。正面情感词赋值为1,负面情感词赋值为-1,中性词赋值为0。程度副词能增强或削弱情感词的强度,共有六种程度副词,每种对应不同分值。否定词可以改变情感词的情感倾向,导致极性反转,因此对否定词全赋值为-1。
根据四种情况计算每个情感词的情感分数。第一种情况是“程度副词+否定词+情感词”,计算方法如式(1-1)所示。
w=t*a*(-1)*2 式(1-1)
第二种情况是“否定词+程度副词+情感词”,计算方法如式(1-2)所示。
w=t*0.5*a 式(1-2)
第三种情况是“否定词+情感词”,计算方法如式(1-3)所示。
w=t*(-1) 式(1-3)
第四种情况是“程度副词+情感词”,计算方法如式(1-4)所示。
w=t*a 式(1-4)
其中,w表示计算后每个情感词的情感分数,t表示情感词的当前分值,a表示程度副词的分值。对事件短句进行情感分析的流程为:首先对事件短句中每个词的情感分数w置0,然后判断每个词是否是正面情感词,若是,则令w加1,若不是则令w 减1,接着检测情感词前面是否有否定词,若没有则是第四种情况,计算方法如式(1-4) 所示,若有则在否定词前后查找是否存在程度副词,没有程度副词则是第三种情况,计算方法如式(1-3)所示,有程度副词则再判断程度副词的位置,若在否定词前面则是第一种情况,计算方法如式(1-1)所示,若在否定词后面则是第二种情况,计算方法如式(1-2)所示,最后得到事件短句所有情感词的情感分数列表,对所有情感词的情感分数求和得到事件短句的情感分数。若分数大于0,说明事件表达了正面情感;若分数小于0,说明事件表达了负面情感;若分数等于0,说明事件表达了中性情感,分数的绝对值表示情感强度。
5)最后得到结构化后的事件短句集,其中包括结构化后的事件表示、事件id信息、事件情感极性和强度分数、事件关联词。
除了上述事件结构化算法,在构建顺承事理图谱时,本发明还采用动宾短语作为事件的结构化表示。
步骤3,事件相似度计算和融合算法。为了将描述同一事件的结构化短句集融合到一个事件节点,防止图谱中出现冗余现象,并保留相似事件短句集中各自的事件关系,本发明提出了一种基于编辑距离和事件向量的事件相似度计算和融合算法,根据事件相似性对相似度满足设定阈值的事件进行聚类处理,对每一类具有相同含义的不同事件进行融合。算法的时间复杂度为O(n2),其中n为数据库中事件总数。下面对算法的步骤进行详细描述。
输入:数据库中n个事件。
输出:聚类后多个事件类,每个类中保留代表事件。
1)读取事件集:读取出数据库中每对事件短句集中的事件保存到文件中。
2)事件分为多类:把每个事件放入一个列表中,获得多个单独的类。
3)计算编辑距离:给定两个事件,计算event1和event2的编辑距离,编辑距离就是字符操作数,如果编辑距离小于等于设置的阈值2,并且两个事件的情感极性是一致的,那么将两个类合并为一个类。如果条件不满足,则转至步骤4。
4)计算余弦值:首先对训练语料进行预处理,即分词和去除停用词,最后得到处理完的训练语料。接着训练模型,并保存训练好的模型。对需要获得向量表示的事件短句进行分词处理,加载模型得到事件的向量表示。最后计算两个事件的向量表示V1和V2之间夹角的余弦值Wv,如式(2-1)所示。
Wv=COS(V1,V2) 式(2-1)
如果余弦值大于设定阈值0.9,那么将两个类合并为一个类。如果上述条件不满足,则俩事件不相似,不进行聚类处理。
5)判断聚类是否结束,若所有事件都进行了聚类处理则将每类相似事件进行融合,将字符串最长的事件作为代表事件,否则回到步骤3继续计算类间相似度。
步骤4,事件触发词抽取和论元抽取模型。本发明采用基于预训练模型的序列标注方案,使用BIO标注方法构建触发词抽取模型和论元抽取模型,前者抽取出触发词并识别相应事件类型,共分为65个事件类型;后者抽取出论元并识别相应论元角色。本发明使用PaddleHub提供的预训练模型和Fine-tune API完成模型的构建、训练和预测。下面对模型构建的步骤进行详细描述。
输入:训练数据train_data,验证数据dev_data,测试数据test_data。
输出:训练过程中保留的最优模型。
1)输入数据处理
处理训练、验证、测试数据获得序列标注数据,即用BIO方式获得事件句子每个字的标签,对于触发词抽取模型,该字若不是触发词的一部分,则标签为“O”,若是触发词的一部分,则判断是触发词的第一个字还是剩余字,若是第一个字,则标签为“B-事件类型”,若是剩余字,则标签为“I-事件类型”。对于论元抽取模型,该字若不是论元的一部分,则标签为“O”,若是论元的一部分,则判断是论元的第一个字还是剩余字,若是第一个字,则标签为“B-论元角色”,若是剩余字,则标签为“I-论元角色”,最终对两种模型分别获得事件句子的标注序列。
处理事件模式生成序列标注标签文档,对于触发词抽取模型,获得触发词抽取模型标签,就是触发词标签的种类:“O”,对65种事件类型各自生成“B-事件类型”,“I- 事件类型”。对于论元抽取模型,获得论元抽取模型标签,就是论元标签的种类:“O”,对每种事件类型的所有论元类型生成“B-论元角色”,“I-论元角色”。
2)模型训练
首先加载PaddleHub预训练模型,然后构造数据集。定义类EEDataset继承类BaseNLPDataset,类中定义了数据集的存放位置和序列标注标签文档。接着构造处理数据的SequenceLabelReader,加载EEDataset数据并通过SequenceLabelReader读取。接着使用字级别的输出sequence_output作为迁移网络的输入,设置模型输入变量 feed_list,并选择Fine-tune优化策略。然后配置模型运行的设置。配置eval_step为100, model_save_step为100,use_cuda为True,num_epoch为7,batch_size为8,checkpoint_dir 为保存模型路径。最后构建序列标注迁移任务seq_label_task,将上述步骤得到的reader, sequenceoutput,feed_list,max_seq_len,dataset.num_labels,config,add_crf作为输入,调用hub.SequenceLabelTask接口构建序列标注任务。若参数中do_train为True,序列标注任务调用finetune_and_eval()自动进行训练,每X(一般设置为100)步保存模型并在验证集和测试集上评估得到当前最优模型。模型训练结束后,得到最优事件触发词抽取和论元抽取模型。
实施例
为了验证本发明提出的事理图谱构建方法的有效性,本发明通过实验进行了测试。
通过使用事理图谱构建方法,本发明构建了相关的事理图谱,如表6所示。
表6
Figure BDA0002957612760000151
Figure BDA0002957612760000161
为了验证事件触发词抽取和论元抽取模型的有效性,本发明使用三个评价指标对模型性能进行分析。评价指标包括:precision表示准确率,计算公式如式(3-1)所示,recall表示召回率,计算公式如式(3-2)所示,f1表示f1值,计算公式如式(3-3)所示。
Figure BDA0002957612760000162
Figure BDA0002957612760000163
Figure BDA0002957612760000164
其中,num_correct表示预测结果中正确的标签个数,num_infer表示预测结果的总标签个数,num_label表示测试数据集中的标签个数。
本发明提供了一种用于对话系统的面向事件画像的文本分析方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (1)

1.一种用于对话系统的面向事件画像的文本分析方法,其特征在于,包括如下步骤:
步骤1、抽取事件关系;
步骤2、抽取事件并结构化;
步骤3、计算并融合事件相似度;
步骤4、抽取事件触发词和论元;
步骤1包括:对因果、顺承、条件、并发、转折事件关系构造事件关联词模板,根据构造的事件关联词模板抽取出事件对,
事件关联词模板包括顺承关系抽取模板、因果关系抽取模板、条件关系抽取模板转折关系抽取模板和并发关系抽取模板;
其中,顺承关系抽取模板包括两种,因果关系抽取模板包括十种,条件关系抽取模板,转折关系抽取模板和并发关系抽取模板各一种;
步骤1中,两种顺承关系抽取模板分别记为模板一和模板二,模板二的优先级高于模板一,句子先匹配模板二,如果匹配成功则获得前后的顺承事件,如果匹配失败再匹配模板一;
步骤2中,通过事件抽取算法完成事件抽取,具体包括:
步骤2-a1,输入数据库中m个事件文本,进行长句切分:使用标志着句子结束的标点符号对每篇文本进行切分,获得长句集;正则表达式为:r'[??!!。;;::\n\r….·]';
步骤2-a2,补齐句子主语:对长句集里每个句子判断其中的短句是否缺少主语,对于指示前一句话的内容的代词,如果所述代词后紧跟因果动词,把代词和代词前的标点符号一同从原句中剔除;
步骤2-a3,使用jieba分词工具对长句进行分词处理,并使用jieba.posseg获得每个词的词性,最后获得词语和词性的序列;
步骤2-a4,抽取事件关系:使用构造的事件关联词模板,对每个句子提取前事件集、事件关联词和后事件集;
对于因果关系事件对的抽取,还需要继续对原因事件匹配模板,最终抽取出原因事件集和结果事件集和后事件短句集;
顺承事理图谱中使用的正则表达式是r'[,,]/x',表示短句分割标点符号是中英文逗号,其他关系事理图谱中使用的正则表达式是r'[,、,;和与及且跟()~.]/[x|cp]';
步骤2中,通过结构化算法完成事件结构化,具体包括:
步骤2-b1,输入一个句子的前后事件短句集,进行词性处理:短句中要保留的词性标记集合为:['a','b','c','d','wp','i','j','v','n','nh','ni','nl','ns','nz'],词性标准采用863词性标注集,建立停用词库和否定词库,词过滤算法为:对于事件短句里的每个词,如果该词在否定词库中,或者其词性在词性标记集合中并且该词不属于停用词库,保留该词;根据所述词性标记集合、停用词库和否定词库,运用词过滤算法对短句中的每个词进行过滤;
步骤2-b2,对步骤2-b1第一次过滤的事件词序列结果进行第二次过滤处理:如果事件短句的第一个词和最后一个词是连词或标点符号,去除该连词或标点符号,不断循环该过程,直到开始和结束词都不是连词或标点符号;
步骤2-b3,对事件短句首先判断短句长度是否大于等于2,如果大于等于2,进行事件判定,否则直接返回空事件;
事件表示规则规定事件具备语义完整性,符合主谓结构或主谓宾结构,事件表示规则包括如下四条:
候选事件短句以名词或缩写词开头,动词、形容词或成语结尾;
候选事件短句以名词或缩写词开头,动词在短句中间,名词或缩写词结尾;
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词、形容词或成语结尾;
候选事件短句以名词修饰词或形容词开头,名词或缩写词是第二个词,动词在短句中间,名词或缩写词结尾;
步骤2-b4,建立主观性词库,使用主观性词库过滤事件:如果事件短句中包含主观性词库中的词,则事件不属于候选事件,从候选事件短句集中去除;
步骤2-b5,建立情感词典,情感词典包括正面情感词、负面情感词、程度副词和否定词;正面情感词赋值为1,负面情感词赋值为-1,中性词赋值为0;程度副词包括共有六种,每种对应不同分值;否定词赋值为-1;
根据四种情况计算每个情感词的情感分数,第一种情况是程度副词+否定词+情感词,计算方法如式(1-1)所示:
w=t*a*(-1)*2 (1-1)
第二种情况是否定词+程度副词+情感词,计算方法如式(1-2)所示:
w=t*0.5*a (1-2)
第三种情况是否定词+情感词,计算方法如式(1-3)所示:
w=t*(-1) (1-3)
第四种情况是程度副词+情感词,计算方法如式(1-4)所示:
w=t*a (1-4)
其中,w表示计算后每个情感词的情感分数,t表示情感词的当前分值,a表示程度副词的分值;
对事件短句进行情感分析的流程为:首先对事件短句中每个词的情感分数w置0,然后判断每个词是否是正面情感词,如果是,则令w加1,否则令w减1,接着检测情感词前面是否有否定词,如果没有则是第四种情况,计算方法如式(1-4)所示,如果有,则在否定词前后查找是否存在程度副词,没有程度副词则是第三种情况,计算方法如式(1-3)所示,有程度副词则再判断程度副词的位置,如果在否定词前面,则是第一种情况,计算方法如式(1-1)所示,如果在否定词后面,则是第二种情况,计算方法如式(1-2)所示,最后得到事件短句所有情感词的情感分数列表,对所有情感词的情感分数求和得到事件短句的情感分数,如果分数大于0,说明事件表达了正面情感;如果分数小于0,说明事件表达了负面情感;如果分数等于0,说明事件表达了中性情感,分数的绝对值表示情感强度;
步骤2-b6,得到结构化后的事件短句集,事件短句集包括结构化后的事件表示、事件id信息、事件情感极性和强度分数、事件关联词;
步骤3包括:
步骤3-1,读取事件集:读取出数据库中每对事件短句集中的事件;
步骤3-2,把每个事件放入一个列表中,获得两个以上单独的类;
步骤3-3,计算编辑距离:给定两个事件event1和event2,计算event1和event2的编辑距离,编辑距离就是字符操作数,如果满足条件:编辑距离小于等于设置的阈值,并且两个事件的情感极性是一致的,将两个事件所属的类合并为一个类;如果不满足条件,则转至步骤3-4;
步骤3-4,计算余弦值:对训练语料进行预处理,即分词和去除停用词,最后得到处理完的训练语料;接着训练模型,并保存训练好的模型;对需要获得向量表示的事件短句进行分词处理,加载模型得到事件的向量表示;最后计算两个事件的向量表示V1和V2之间夹角的余弦值Wv ,如式(2-1)所示:
Wv=COS(V1,V2) (2-1)
如果余弦值大于设定阈值,将两个事件所属的类合并为一个类,否则不进行聚类处理;
步骤3-5,判断聚类是否结束,如果所有事件都进行了聚类处理则将每类相似事件进行融合,将字符串最长的事件作为代表事件,否则返回步骤3-3;
步骤4包括:
步骤4-1,输入数据处理:
处理训练、验证、测试数据获得序列标注数据,即用BIO方式获得事件句子每个字的标签,对于触发词抽取模型,如果一个字不是触发词的一部分,则标签为O,如果是触发词的一部分,则判断是触发词的第一个字还是剩余字,如果是第一个字,则标签为B-事件类型,如果是剩余字,则标签为I-事件类型;
对于论元抽取模型,如果一个字不是论元的一部分,则标签为O,如果是论元的一部分,则判断是论元的第一个字还是剩余字,如果是第一个字,则标签为B-论元角色,如果是剩余字,则标签为I-论元角色,最终对触发词抽取模型和论元抽取模型分别获得事件句子的标注序列;
步骤4-2,模型训练:
首先加载PaddleHub预训练模型,然后构造数据集,定义类EEDataset继承类BaseNLPDataset,类中定义了数据集的存放位置和序列标注标签文档;接着构造处理数据的SequenceLabelReader,加载EEDataset数据并通过SequenceLabelReader读取;接着使用字级别的输出sequence_output作为迁移网络的输入,设置模型输入变量feed_list,并选择Fine-tune优化策略,然后配置模型运行的设置,配置eval_step为100,model_save_step为100,use_cuda为True,num_epoch为7,batch_size为8,checkpoint_dir为保存模型路径;最后构建序列标注迁移任务seq_label_task,将上述步骤得到的reader,sequenceoutput,feed_list,max_seq_len,dataset.num_labels,config,add_crf作为输入,调用hub.SequenceLabelTask接口构建序列标注任务;如果参数中do_train为真值True,序列标注任务调用finetune_and_eval()自动进行训练,每X步保存模型并在验证集和测试集上评估得到当前最优模型,模型训练结束后,得到最优事件触发词抽取和论元抽取模型。
CN202110230345.6A 2021-03-02 2021-03-02 一种用于对话系统的面向事件画像的文本分析方法 Active CN112966079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110230345.6A CN112966079B (zh) 2021-03-02 2021-03-02 一种用于对话系统的面向事件画像的文本分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110230345.6A CN112966079B (zh) 2021-03-02 2021-03-02 一种用于对话系统的面向事件画像的文本分析方法

Publications (2)

Publication Number Publication Date
CN112966079A CN112966079A (zh) 2021-06-15
CN112966079B true CN112966079B (zh) 2022-09-30

Family

ID=76276383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110230345.6A Active CN112966079B (zh) 2021-03-02 2021-03-02 一种用于对话系统的面向事件画像的文本分析方法

Country Status (1)

Country Link
CN (1) CN112966079B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114676705A (zh) * 2021-06-17 2022-06-28 腾讯云计算(北京)有限责任公司 一种对话关系处理方法、计算机及可读存储介质
CN113722462B (zh) * 2021-09-02 2022-03-04 中科雨辰科技有限公司 目标论元信息抽取数据处理系统
CN114398898B (zh) * 2022-03-24 2022-06-24 三峡智控科技有限公司 基于日志事件关系生成kpi曲线并标记波段特征的方法
CN114707004B (zh) * 2022-05-24 2022-08-16 国网浙江省电力有限公司信息通信分公司 基于图像模型和语言模型的事理关系抽取处理方法及系统
CN114860960B (zh) * 2022-07-11 2022-11-11 南京师范大学 一种基于文本挖掘的洪涝型Natech灾害事件知识图谱构建方法
CN115757826B (zh) * 2022-11-18 2024-01-05 中国科学院空天信息创新研究院 事件图谱构建方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726293A (zh) * 2018-11-14 2019-05-07 数据地平线(广州)科技有限公司 一种因果事件图谱构建方法、系统、装置及存储介质
WO2020001373A1 (zh) * 2018-06-26 2020-01-02 杭州海康威视数字技术股份有限公司 一种本体构建方法及装置
CN110968700A (zh) * 2019-11-01 2020-04-07 数地科技(北京)有限公司 一种融合多类事理与实体知识的领域事件图谱构建方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055537B (zh) * 2016-05-23 2019-03-12 王立山 一种自然语言机器识别方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020001373A1 (zh) * 2018-06-26 2020-01-02 杭州海康威视数字技术股份有限公司 一种本体构建方法及装置
CN109726293A (zh) * 2018-11-14 2019-05-07 数据地平线(广州)科技有限公司 一种因果事件图谱构建方法、系统、装置及存储介质
CN110968700A (zh) * 2019-11-01 2020-04-07 数地科技(北京)有限公司 一种融合多类事理与实体知识的领域事件图谱构建方法和装置

Also Published As

Publication number Publication date
CN112966079A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN112966079B (zh) 一种用于对话系统的面向事件画像的文本分析方法
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
Al-Hroob et al. The use of artificial neural networks for extracting actions and actors from requirements document
CN109783806B (zh) 一种利用语义解析结构的文本匹配方法
Rachman et al. CBE: Corpus-based of emotion for emotion detection in text document
Hussein Arabic document similarity analysis using n-grams and singular value decomposition
US20200311345A1 (en) System and method for language-independent contextual embedding
CN107862037B (zh) 一种基于实体连通图的事件模版构造方法
Yeasmin et al. Study of abstractive text summarization techniques
Mezghanni et al. CrimAr: A criminal Arabic ontology for a benchmark based evaluation
CN114138979B (zh) 基于词拓展无监督文本分类的文物安全知识图谱创建方法
CN101271448A (zh) 汉语基本名词短语的识别及其规则的生成方法和装置
Brenon et al. Classifying encyclopedia articles: Comparing machine and deep learning methods and exploring their predictions
CN114239828A (zh) 一种基于因果关系的供应链事理图谱构建方法
Devisree et al. A hybrid approach to relationship extraction from stories
Silva et al. Xte: Explainable text entailment
Rao et al. Enhancing multi-document summarization using concepts
KR101769610B1 (ko) 문제 유형에 따른 질의 그래프 생성 시스템 및 방법
Yu Stylometric Features for Multiple Authorship Attribution
Bolshakova et al. Automating Hierarchical Subject Index Construction for Scientific Documents
CN117829140B (zh) 用于规章与法规的自动比对方法及其系统
Meguellati et al. Feature selection for location metonymy using augmented bag-of-words
Mohapatra Natural language driven image edits using a semantic image manipulation language
CN108733757B (zh) 文本搜索方法及系统
Iftikhar et al. Identification of textual entailments in business rules

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant