CN112100344B - 一种基于知识图谱的金融领域知识问答方法 - Google Patents
一种基于知识图谱的金融领域知识问答方法 Download PDFInfo
- Publication number
- CN112100344B CN112100344B CN202010831368.8A CN202010831368A CN112100344B CN 112100344 B CN112100344 B CN 112100344B CN 202010831368 A CN202010831368 A CN 202010831368A CN 112100344 B CN112100344 B CN 112100344B
- Authority
- CN
- China
- Prior art keywords
- question
- financial
- defining
- hidden layer
- questions
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 6
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 30
- 230000009193 crawling Effects 0.000 abstract 1
- 238000012800 visualization Methods 0.000 abstract 1
- 230000011218 segmentation Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 206010033307 Overweight Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Animal Behavior & Ethology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
发明公开了一种基于知识图谱的金融领域知识问答方法,包括:首先爬取金融数据建立知识库,通过Word2vec向量化实体,用余弦相似度算法计算实体间的相似度,通过基于金融词典采用最大向前的遍历方法对用户提出的问句进行遍历切割分析问句,再通过RNN神经网络对金融领域的问题进行分类训练,根据问题类别进行数据检索,然后用相似度算法抽取语料库中与问题关键词相似度较高的词语进行问句的词汇扩充,最后根据模板匹配方法完成数据库查询语句的匹配,将查询到的结果作为问题的答案返回给用户并通过ECharts将实现金融实体属性数据和实体间关系的可视化。本发明通过神经网络训练模型以及相似度对比自适应调参,有效的提高了问答系统的准确率。
Description
技术领域
本发明属于机器学习技术领域,特别涉及一种基于知识图谱的金融领域知识问答方法。
背景技术
知识图谱是图结构的数据库,图中用以实体为节点和以关系为边的形式表示,在搜索,分析和推荐数据方面有重要的应用。随着知识图谱技术的迅速发展,单个知识图谱无法满足实际需求,因此,知识图谱的多源知识嵌入技术逐渐成熟。在完成知识抽取步骤时需要用到自然语言处理技术来抽取与金融主题相关的实体,并将对应关系存储在关系型数据库中。在自然语言处理中已经提出了多种卷积神经网络模型来拟合各种任务。完成知识图谱的构建不但提高了系统查询检索的效率同时也为的基于知识图谱的金融领域问答功能奠定了技术基础。
冯万利,朱全银等人已有的研究基础包括:Wanli Feng.Research of themestatement extraction for chinese literature based on lexicalchain.International Journal of Multimedia and Ubiquitous Engineering,Vol.11,No.6(2016),pp.379-388;Wanli Feng,Ying Li,Shangbing Gao,Yunyang Yan,JianxunXue.A novel flame edge detection algorithm via a novel active contourmodel.International Journal of Hybrid Information Technology,Vol.9,No.9(2016),pp.275-282;刘金岭,冯万利.基于属性依赖关系的模式匹配方法[J].微电子学与计算机,2011,28(12):167-170;刘金岭,冯万利,张亚红.初始化簇类中心和重构标度函数的文本聚类[J].计算机应用研究,2011,28(11):4115-4117;刘金岭,冯万利,张亚红.基于重新标度的中文短信文本聚类方法[J].计算机工程与应用,2012,48(21):146-150.;朱全银,潘禄,刘文儒,等.Web科技新闻分类抽取算法[J].淮阴工学院学报,2015,24(5):18-24;李翔,朱全银.联合聚类和评分矩阵共享的协同过滤推荐[J].计算机科学与探索,2014,8(6):751-759;Quanyin Zhu,Sunqun Cao.A Novel Classifier-independent FeatureSelection Algorithm for Imbalanced Datasets.2009,p:77-82;Quanyin Zhu,YunyangYan,Jin Ding,Jin Qian.The Case Study for Price Extracting of Mobile PhoneSell Online.2011,p:282-285;Quanyin Zhu,Suqun Cao,Pei Zhou,Yunyang Yan,HongZhou.Integrated Price Forecast based on Dichotomy Backfilling and DisturbanceFactor Algorithm.International Review on Computers and Software,2011,Vol.6(6):1089-1093;朱全银,冯万利等人申请、公开与授权的相关专利:冯万利,邵鹤帅,庄军.一种智能冷藏车状态监测无线网络终端装置:CN203616634U[P].2014;朱全银,胡蓉静,何苏群,周培等.一种基于线性插补与自适应滑动窗口的商品价格预测方法.中国专利:ZL2011 10423015.5,2015.07.01;朱全银,曹苏群,严云洋,胡蓉静等,一种基于二分数据修补与扰乱因子的商品价格预测方法.中国专利:ZL 2011 10422274.6,2013.01.02;李翔,朱全银,胡荣林,周泓.一种基于谱聚类的冷链物流配载智能推荐方法.中国专利公开号:CN105654267A,2016.06.08;朱全银,辛诚,李翔,许康等人,一种基于K-means和LDA双向验证的网络行为习惯聚类方法.中国专利公开号:CN 106202480 A,2016.12.07。
余弦相似度算法:
通过余弦相似度算法分析爬取的金融数据并进行与主题相关的文本相似度计算,对已经进行预处理的词袋中的词向量进行分析,得出与问句相关较高的金融词汇。余弦相似度算法理论表达的是,如果在给出的一句话中的表达主题的词汇与金融越相似,那么它们与金融的相关度越高。因此,可以通过计算金融一词出现的词频来衡量文本与主题的相似程度。
利用“余弦的相似性”来衡量两个词向量之间的差异,计算得出的两个词向量的余弦值越接近1即表示两个词向量的夹角越接近0度,在本次项目中表示与“金融”这个词向量越相似,反之则表明两组文本的相速度较低。
TF-IDF相似度算法:
对词向量和词频使用常用的加权统计的方法,来评估一个词向量对本次项目中的数据文件的一份文件的重要程度。
余弦相似度算法虽然可以计算得出出现频率较高的词向量,但出现频率较高的词汇中可能包含了一些通用词语,与主题而言作用不是很大。也有可能一些出现频率很少的词汇可以表达主题,所以单纯计算一个词语在文章中出现的频率是不合适的,TF-IDF算法将表达文章主题的词汇权重设计较大,最终达到过滤掉文件中的常见词语,保留高权重的低频重要词汇。
TF-IDF=TF×IDF (3-5)
问答算法:
首先建立一个有关金融的领域知识图谱,为了便于操作选用能够转化成字典类型的数据。然后分割问句用Word2vec工具创建词向量,再将分割出来的词向量在词汇表中查找,用已经训练好的分类模型将词向量与问题模板进行规则匹配,取相似度最大的作为问题模板,最后将关键词放入Neo4j数据库中进行查找,返回问题的答案。
在自然语言处理的技术领域,知识图谱虽然能基本实现基于问答功能,但无法根据具体语义实现精确的搜索功能,实体间的隐藏联系无法获得有效的挖掘。
如:张晓婧等人提出一种基于知识图谱的论文关联信息推荐方法及装置通过对用户的查询内容进行解析,对所述查询内容进行检索,得到包含查询内容的多篇论文,并通过知识库中边属性的相关数据,得到相关联的论文数据从而提高用户获取相关论文的信息的效率,中国专利公开号:CN104346446A,2015.02.11;肖仰华等人提出一种基于中文知识图谱的个性化推荐方法与系统,利用知识图谱中实体间超链接关系度量出任意两个词条间语义关联,并通过语义分析模型来刻画用户和推荐物品之间的关联以实现精准推荐,依赖于标签数据对用户和推荐物品的刻画以实现较高的准确率,中国专利公开号:CN103593792A,2014.02.19;刘静等人提出一种基于自然语言生成技术的知识图谱辅助理解系统,利用自然语言生成技术将知识图谱转换为自然语言文本,方便领域专家在不了解知识图谱的源代码和软件的基础上,在使用知识图谱前,对于其领域的知识图谱有准确、深入且全面的了解,中国专利公开号:CN 110347798A,2019.07.12。
发明内容
发明目的:针对现有技术中存在的问题,本发明提出一种基于知识图谱的金融领域知识问答方法,通过机器学习或深度学习从金融语料数据中找出与搜索问题相关和可能包含问题答案的结果返回给用户,从而实现基于模板匹配的金融问答功能。
技术方案:为解决上述技术问题,本发明提供一种基于知识图谱的金融领域知识问答方法,具体步骤如下:
(1)使用分类好的金融词典,采用最大向前的遍历方法对用户提交的问题进行切割分析,切割问句得到的关键词集为Sen;
(2)通过深度学习对金融领域的问题进行分类训练,根据问题类别进行数据检索,对数据集进行词汇扩充,扩充词集记为Word;
(3)在模板集Mod中根据问句类型和关键词匹配查询语句进行查询,查询得到的结果作为问题的答案返回;
(4)通过RNN前馈神经网络对金融文本中的词序列进行训练;
(5)通过知识图谱建立金融领域问答与服务系统。
进一步的,所述步骤(1)中得到的关键词集为Sen的具体步骤如下:
(1.1)处理从金融交易平台获取的公开数据,将其导入数据库;
(1.2)将所有管理者及其属性的相关数据Person,用MD5算法加密生成唯一约束主键;
(1.3)创建金融词典,将词典类数据集为stock_dict;
(1.4)定义买入信号类名词数据集为Buysignal,切割得到的买入信号类词语记为Buysignal’;
(1.5)定义城市类名词数据集为City,切割得到的城市类词语记为City’;
(1.6)定义交易数据概念类名词数据集为Concept,切割得到的交易数据概念类词语记为Concept’;
(1.7)定义管理者类名词数据集为Controller,切割得到的管理者类词语记为Controller’;
(1.8)定义公司类名词数据集为Industry,切割得到的公司类词语记为Industry’;
(1.9)定义主体业务类名词数据集为Mainbusiness,切割得到的主体业务类词语记为Mainbusiness’;
(1.10)定义市场类型相关名词数据集为Marketype,切割得到的市场类型相关词语记为Marketype’;
(1.11)定义交易动作类名词数据集为Movement,切割得到的交易动作类词语记为Movement’;
(1.12)定义卖出信号类名词数据集为Sellsignal,切割得到的卖出信号类词语记为Sellsignal’;
(1.13)定义交易数据动作编号类名词数据集为Stockid,切割得到的交易数据动作编号类词语记为Stockid’;
(1.14)定义交易数据名称类名词数据集为Stockname,切割得到的交易数据名称类词语记为Stockname’;
(1.15)定义技术形态类名词数据集为Techform,切割得到的技术形态类词语记为Techform’;
(1.16)定义职务名称类名词数据集为Title,切割得到的职务名称类词语记为Title’;
(1.17)定义高级管理者类名词数据集为Topmanager,切割得到的高级管理者类词语记为Topmanager’;
(1.18)将问句根据词典的分类最大向前遍历进行切割,将切割后得到的关键词记为Sen。
进一步的,所述步骤(2)中获得扩充词集Word的具体步骤如下:
(2.1)从数据库上读取语料文件,构成文件数据集定义corpus语料库中语料文件集Document={Doc1,Doc2,Doc3};其中Doc1,Doc2,Doc3分别代表采访类文件及,交易数据文件集,门户网站金融信息文件集;
(2.2)首先使用分词接口对语料文件集分词,然后将不同类型的词放入对应的文件中Word={W1,W2,W3,W4,W5,W6,W7},其中W1,W2,W3,W4,W5,W6,W7分别代表名词,形容词,动词,副词,代词,语气词,叠词总词数记为sum;
(2.3)获取词袋模型中切割好的的所有词语以及文本关键词,用Word2vec将W1名词和W3动词集转化为维度为300维的词向量集,记为M1和M2;
(2.4)将M1和M2中词向量中与金融这一主题词汇做余弦相似度计算,将抽取出的排名靠前的10个词汇存入数据集Gi中,计算出Gi数据集中数据总数记为length,per=length/sum;
(2.5)将出现频率较小的词放入集合Qi作为分类词典测;
(2.6)词频矩阵A[m][n]表示与金融相关的高频词词在每一类文件集类文本下的词频X={X1,X2,X3,…,Xn};
(2.7)将矩阵抽取出来,用数据结构tfidf[i][j]表示j词i类文本中的tfidf权重,统计每个词语的tfidf权值;
(2.8)首先遍历所有corpus语料库中文本的tfidf词语权重;
(2.9)遍历每一个Document文本下的词语权重输出第i类文本的所有词语的tfidf权重;
(2.10)输出第i类文本的所有词语的tfidf权重。
进一步的,所述步骤(3)中在模板集Mod中根据问句类型和关键词匹配查询语句进行查询,查询得到的结果作为问题的答案返回的具体步骤如下:
(3.1)用户输入需要提交的金融领域相关问题;
(3.2)使用jieba分词对问句进行分类并进行词性的标注,并将Word2vec每个词分别为用300维的词向量进行表示;
(3.3)利用词典信息对词向量加权表示获得问句特征和词汇特征;
(3.4)将问句的类型与语料库中的问题模板进行余弦相似度计算返回TopN(N=5)的相似度结果x[i];
(3.5)如果问句相似度匹配的结果小于80%,用EMD算法计算与语料库中所有问句的距离;
(3.6)匹配分问答模板对交易数据的未来发展情况进行评分预测,根据不同的关键词匹配不同的数据库实体查询语句并返回查询结果。
进一步的,所述步骤(4)中通过RNN前馈神经网络对金融文本中的词序列进行训练的具体步骤如下:
(4.1)将输入的语料corpus通过word2vec转换为向量,并通过string_to_semi_redundant_sequences()返回解析的序列和目标以及关联的字典;
(4.2)定义三个LSTM组成的RNN,每个LSTM有512个节点,并返回LSTM完整序列;
(4.3)使用概率为50%的drop-out模块来连接LSTM模块,最后一层是全连接层,softmax长度等于字典尺寸,损失函数采用categorical_crossentropy,优化器采用Adam;
(4.4)设一个m个序列的输入x[1],x[2],x[3],····x[m];
(4.5)如果循环次数i小于序列数m,则在步骤(6-10)中继续循环;
(4.6)定义隐藏层在当前t时刻接受的输入为x[t]和前一个时刻即t-1时刻的隐藏层a[t-1];
(4.7)定义第h个隐藏层和第h-1个隐藏层之间的权重矩阵为W_ah,第h个隐藏层和当前t时刻之间的输入向量之间权重矩阵为W_xh;
(4.8)计算矩阵的乘积v=W_xh*x[t]+W_ah*a[t-1],定义偏置为b_h,则t时刻隐藏层为h[t]=v+b_h;
(4.9)将当前隐藏层h[t]传给激活函数tanh计算得出a[t],并保存a[t]传入t+1时刻隐藏层;
(4.10)计算t时刻的输出值o[t],定义隐藏层和输出层之间的权重矩阵为W_ao,o[t]=W_ao*a[t];
(4.11)对i执行加1操作
(4.12)通过将o[t]传给激活函数softmax得到多类别输出的标准化概率向量y[t]。
进一步的,所述步骤(5)中通过知识图谱建立金融领域问答与服务系统的具体步骤如下:
(5.1)通过循环训练得到最优参数的RNN模型,抽取金融语料库中的两个实体entity1和entity2以及二者之间的关系relation;
(5.2)基于半结构化数据库建立好的小型三元组知识图谱库;
(5.3)利用算法模型对金融语料库corpus中的语句进行实体抽取,通过实体间关系csv文件映射到图数据库中;
(5.4)输入金融文本数据,筛选文本数据中的实体,并且抽取二者之间的关系;
(5.5)在图数据库中存在搜索的实体;
(5.6)用Cython语句将搜索结果以图的形式展示在web端;
(5.7)对python接口封装,利用web框架Dijango对数据进行展示;
(5.8)显示不存在该实体;
(5.9)在问答中搜索金融知识问题,对问题进行thulac中文分词,通过金融垂直领域分词处理,最后得到文本数据中的实体;
(5.10)利用Cython语句对数据库进行搜索;
(5.11)数据库中存在该问题答案;
(5.12)将用户输入的金融相关问题的关键字或语句调用算法获取回答,将查询完的数据返回WEB页面,实现金融知识的问答。
本发明采用上述技术方案,具有以下有益效果:
本发明改变了现有问答系统中未考虑当前项目现存问题的情况,使用深度学习算法构建RNN神经网络进行用户项目问题的专业分类,同时使用多种相似度算法比较组合检索到用户所表达的内容,将复杂数据转为可用的数据集,将知识图谱用于金融知识问答与服务领域,提高金融问答算法的准确率,更好地服务于金融知识问答算法。
附图说明
图1为本发明的总体流程图;
图2为具体实施例中数据预处理流程图;
图3为具体实施例中相似度计算流程图;
图4为具体实施例中模板匹配流程图;
图5为具体实施例中RNN循环流程图;
图6为具体实施例中系统流程图。
具体实施方式
下面结合工程国家标准的具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1-6所示,本发明所述的一种基于知识图谱的金融领域知识问答方法,包括如下步骤:
步骤1:使用分类好的金融词典,采用最大向前的遍历方法对用户提交的问题进行切割分析,切割问句得到的关键词集为Sen;
步骤1.1:处理从金融交易平台获取的公开数据,将其导入数据库;
步骤1.2:将所有管理者及其属性的相关数据Person,用MD5算法加密生成唯一约束主键;
步骤1.3:创建金融词典,将词典类数据集为stock_dict;
步骤1.4:定义买入信号类名词数据集为Buysignal,切割得到的买入信号类词语记为Buysignal’;
步骤1.5:定义城市类名词数据集为City,切割得到的城市类词语记为City’;
步骤1.6:定义交易数据概念类名词数据集为Concept,切割得到的交易数据概念类词语记为Concept’;
步骤1.7:定义管理者类名词数据集为Controller,切割得到的管理者类词语记为Controller’;
步骤1.8:定义公司类名词数据集为Industry,切割得到的公司类词语记为Industry’;
步骤1.9:定义主体业务类名词数据集为Mainbusiness,切割得到的主体业务类词语记为Mainbusiness’;
步骤1.10:定义市场类型相关名词数据集为Marketype,切割得到的市场类型相关词语记为Marketype’;
步骤1.11:定义交易动作类名词数据集为Movement,切割得到的交易动作类词语记为Movement’;
步骤1.12:定义卖出信号类名词数据集为Sellsignal,切割得到的卖出信号类词语记为Sellsignal’;
步骤1.13:定义交易数据动作编号类名词数据集为Stockid,切割得到的交易数据动作编号类词语记为Stockid’;
步骤1.14:定义交易数据名称类名词数据集为Stockname,切割得到的交易数据名称类词语记为Stockname’;
步骤1.15:定义技术形态类名词数据集为Techform,切割得到的技术形态类词语记为Techform’;
步骤1.16:定义职务名称类名词数据集为Title,切割得到的职务名称类词语记为Title’;
步骤1.17:定义高级管理者类名词数据集为Topmanager,切割得到的高级管理者类词语记为Topmanager’;
步骤1.18:将问句根据词典的分类最大向前遍历进行切割,将切割后得到的关键词记为Sen;
步骤2:通过深度学习对金融领域的问题进行分类训练,根据问题类别进行数据检索,对数据集进行词汇扩充,扩充词集记为Word:
步骤2.1:从数据库上读取语料文件,构成文件数据集定义corpus语料库中语料文件集Document={Doc1,Doc2,Doc3};,其中Doc1,Doc2,Doc3分别代表采访类文件集,交易数据交易信息文件集,门户网站金融信息文件集;
步骤2.2:首先使用分词接口对语料文件集分词,然后将不同类型的词放入对应的文件中Word={W1,W2,W3,W4,W5,W6,W7},其中W1,W2,W3,W4,W5,W6,W7分别代表名词,形容词,动词,副词,代词,语气词,叠词总词数记为sum;
步骤2.3:获取词袋模型中切割好的的所有词语以及文本关键词,用Word2vec将W1名词和W3动词集转化为维度为300维的词向量集,记为M1和M2;
步骤2.4:将M1和M2中词向量中与金融这一主题词汇做余弦相似度计算,将抽取出的排名靠前的10个词汇存入数据集Gi中,计算出Gi数据集中数据总数记为length,per=length/sum;
步骤2.5:将出现频率较小的词放入集合Qi作为分类词典测;
步骤2.6:词频矩阵A[m][n]表示与金融相关的高频词词在每一类文件集类文本下的词频X={X1,X2,X3,…,Xn};
步骤2.7:将矩阵抽取出来,用数据结构tfidf[i][j]表示j词i类文本中的tfidf权重,统计每个词语的tfidf权值;
步骤2.8:首先遍历所有corpus语料库中文本的tfidf词语权重,然后遍历每一个Document文本下的词语权重输出第i类文本的所有词语的tfidf权重;
步骤2.9:输出第i类文本的所有词语的tfidf权重;
步骤3:在模板集Mod中根据问句类型和关键词匹配查询语句进行查询,查询得到的结果作为问题的答案返回
步骤3.1:用户输入需要提交的金融领域相关问题;
步骤3.2:使用jieba分词对问句进行分类并进行词性的标注,并将Word2vec每个词分别为用300维的词向量进行表示;
步骤3.3:利用词典信息对词向量加权表示获得问句特征和词汇特征;
步骤3.4:将问句的类型与语料库中的问题模板进行余弦相似度计算返回TopN(N=5)的相似度结果u[i];
步骤3.5:如果问句相似度匹配的结果小于80%,用EMD算法计算与语料库中所有问句的距离;
步骤3.6.:匹配问答模板对交易数据的未来发展情况进行评分预测,根据不同的关键词匹配不同的数据库实体查询语句并返回查询结果;
步骤3.7:将查询到的结果通过Django框架返回给前端用户;
步骤4:通过RNN前馈神经网络对词序列进行训练;
步骤4.1:将输入的语料corpus通过word2vec转换为向量,并通过string_to_semi_redundant_sequences()返回解析的序列和目标以及关联的字典;
步骤4.2:定义三个LSTM组成的RNN,每个LSTM有512个节点,并返回LSTM完整序列;
步骤4.3:使用概率为50%的drop-out模块来连接LSTM模块,最后一层是全连接层,softmax长度等于字典尺寸,损失函数采用categorical_crossentropy,优化器采用Adam;
步骤4.4:设一个m个序列的输入x[1],x[2],x[3],····x[m];
步骤4.5:如果循环次数i小于序列数m,则在步骤(6-10)中继续循环;
步骤4.6:定义隐藏层在当前t时刻接受的输入为x[t]和前一个时刻即t-1时刻的隐藏层a[t-1];
步骤4.7:定义第h个隐藏层和第h-1个隐藏层之间的权重矩阵为W_ah,第h个隐藏层和当前t时刻之间的输入向量之间权重矩阵为W_xh;
步骤4.8:计算矩阵的乘积v=W_xh*x[t]+W_ah*a[t-1],定义偏置为b_h,则t时刻隐藏层为h[t]=v+b_h;
步骤4.9:将当前隐藏层h[t]传给激活函数tanh计算得出a[t],并保存a[t]传入t+1时刻隐藏层;
步骤4.10:计算t时刻的输出值o[t],定义隐藏层和输出层之间的权重矩阵为W_ao,o[t]=W_ao*a[t];
步骤4.11:对i执行加1操作
步骤4.12:通过将o[t]传给激活函数softmax得到多类别输出的标准化概率向量y[t];
步骤5:通过知识图谱建立金融领域问答与服务系统;
步骤5.1:通过循环训练得到最优参数的RNN模型,抽取金融语料库中的两个实体entity1和entity2以及二者之间的关系relation;
步骤5.2:基于半结构化数据库建立好的小型三元组知识图谱库;
步骤5.3:利用算法模型对金融语料库corpus中的语句进行实体抽取,通过实体间关系csv文件映射到图数据库中;
步骤5.3:输入金融文本数据,筛选文本数据中的实体,并且抽取二者之间的关系;
步骤5.3:在图数据库中存在搜索的实体;
步骤5.4:用Cython语句将搜索结果以图的形式展示在web端;
步骤5.5:对python接口封装,利用web框架Dijango对数据进行展示;
步骤5.6:显示不存在该实体;
步骤5.7:在问答中搜索金融知识问题,对问题进行thulac中文分词,通过金融垂直领域分词处理,最后得到文本数据中的实体;
步骤5.8:利用Cython语句对数据库进行搜索;
步骤5.9:数据库中存在该问题答案;
步骤5.10:将用户输入的金融相关问题的关键字或语句调用算法获取回答,将查询完的数据返回WEB页面,实现金融知识的问答。
上述步骤的变量定义如下表所示:
使用到的基础数据主要有52694条金融实体数据,以及导入neo4j图数据库生成132406条关系,通过基于金融知识图谱的问答模板匹配方式来实现问答系统的问答算法,在1个问题匹配24个查询模板的情况下,通过测试集的测试最终准确率为89.9%。
发明创造性的提出了一种基于知识图谱的金融知识问答方法及系统,本方法改变了现有问答系统中未考虑当前项目现存问题的情况,使用深度学习算法构建RNN神经网络进行用户项目问题的专业分类,同时使用多种相似度算法比较组合检索到用户所表达的内容,将复杂数据转为可用的数据集,将知识图谱用于金融知识问答与服务领域,提高金融问答算法的准确率,更好地服务于金融知识问答算法。
Claims (1)
1.一种基于知识图谱的金融领域知识问答方法及系统,其特征在于,包括如下步骤:
(1) 使用分类好的金融词典,采用最大向前的遍历方法对用户提交的问题进行切割分析,切割问句得到的关键词集为Sen;
(2) 通过深度学习对金融领域的问题进行分类训练,根据问题类别进行数据检索,对数据集进行词汇扩充,扩充词集记为Word;
(3) 在模板集Mod中根据问句类型和关键词匹配查询语句进行查询,查询得到的结果作为问题的答案返回;
(4) 通过RNN前馈神经网络对金融文本中的词序列进行训练;(4.1) 将输入的语料corpus通过word2vec转换为向量,并通过string_to_semi_redundant_sequences()返回解析的序列和目标以及关联的字典;
(4.2) 定义三个LSTM组成的RNN,每个LSTM有512个节点,并返回LSTM完整序列;
(4.3) 使用概率为50%的drop-out模块来连接LSTM模块,最后一层是全连接层,softmax长度等于字典尺寸,损失函数采用 categorical_crossentropy,优化器采用Adam;
(4.4) 设一个m个序列的输入x[1],x[2],x[3],····x[m];
(4.5) 如果循环次数i小于序列数m,则在步骤(4.6-4.10)中继续循环;
(4.6) 定义隐藏层在当前t时刻接受的输入为x[t]和前一个时刻即t-1时刻的隐藏层a[t-1];
(4.7) 定义第h个隐藏层和第h-1个隐藏层之间的权重矩阵为W_ah,第h个隐藏层和当前t时刻之间的输入向量之间权重矩阵为W_xh;
(4.8) 计算矩阵的乘积v=W_xh*x[t]+W_ah*a[t-1],定义偏置为b_h,则t时刻隐藏层为h[t]=v+b_h;
(4.9) 将当前隐藏层h[t]传给激活函数tanh计算得出a[t],并保存a[t]传入t+1时刻隐藏层;
(4.10) 计算t时刻的输出值o[t],定义隐藏层和输出层之间的权重矩阵为W_ao,o[t]=W_ao*a[t];
(4.11) 对i执行加1操作;
(4.12) 通过将o[t]传给激活函数softmax得到多类别输出的标准化概率向量y[t];
(5) 通过知识图谱建立金融领域问答与服务系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010831368.8A CN112100344B (zh) | 2020-08-18 | 2020-08-18 | 一种基于知识图谱的金融领域知识问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010831368.8A CN112100344B (zh) | 2020-08-18 | 2020-08-18 | 一种基于知识图谱的金融领域知识问答方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100344A CN112100344A (zh) | 2020-12-18 |
CN112100344B true CN112100344B (zh) | 2024-02-27 |
Family
ID=73753095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010831368.8A Active CN112100344B (zh) | 2020-08-18 | 2020-08-18 | 一种基于知识图谱的金融领域知识问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100344B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377721B (zh) * | 2019-07-26 | 2022-05-10 | 京东方科技集团股份有限公司 | 自动问答方法、装置、存储介质及电子设备 |
CN112632292A (zh) * | 2020-12-23 | 2021-04-09 | 深圳壹账通智能科技有限公司 | 业务关键词的提取方法、装置、设备及存储介质 |
CN113157873B (zh) * | 2021-01-25 | 2024-05-28 | 北京海致星图科技有限公司 | 一种基于模板匹配和深度学习的知识库问答系统构建方法 |
CN113505207B (zh) * | 2021-07-02 | 2024-02-20 | 中科苏州智能计算技术研究院 | 一种金融舆情研报的机器阅读理解方法及系统 |
CN113672720A (zh) * | 2021-09-14 | 2021-11-19 | 国网天津市电力公司 | 一种基于知识图谱和语义相似度的电力审计问答方法 |
CN114238595A (zh) * | 2021-12-01 | 2022-03-25 | 中冶赛迪重庆信息技术有限公司 | 一种基于知识图谱的冶金知识问答方法及系统 |
CN114564636A (zh) * | 2021-12-29 | 2022-05-31 | 东方财富信息股份有限公司 | 一种金融信息搜索中台的召回排序算法和层叠式技术架构 |
CN114154513B (zh) * | 2022-02-07 | 2022-07-26 | 杭州远传新业科技股份有限公司 | 一种领域语义网自动构建方法及系统 |
CN115203576B (zh) * | 2022-09-09 | 2023-01-17 | 中信建投证券股份有限公司 | 一种金融知识协同管理系统、方法、设备及存储介质 |
CN115759104B (zh) * | 2023-01-09 | 2023-09-22 | 山东大学 | 基于实体识别的金融领域舆情分析方法与系统 |
CN115860925A (zh) * | 2023-02-19 | 2023-03-28 | 广东德澳智慧医疗科技有限公司 | 一种基于人工智能负债数据智能查询和投资管理系统 |
CN116010465B (zh) * | 2023-03-28 | 2023-06-23 | 杭州东岸网络信息服务有限公司 | 金融业务管理系统及方法 |
CN116662521B (zh) * | 2023-07-26 | 2023-11-14 | 广东省建设工程质量安全检测总站有限公司 | 一种电子文档筛选查询方法及系统 |
CN116701609B (zh) * | 2023-07-27 | 2023-09-29 | 四川邕合科技有限公司 | 基于深度学习的智能客服问答方法、系统、终端及介质 |
CN116775849B (zh) * | 2023-08-23 | 2023-10-24 | 成都运荔枝科技有限公司 | 一种线上问题处理系统及方法 |
CN116975206B (zh) * | 2023-09-25 | 2023-12-08 | 华云天下(南京)科技有限公司 | 一种基于aigc大模型的垂直领域训练方法、装置及电子设备 |
CN117033816A (zh) * | 2023-10-08 | 2023-11-10 | 湖北省长投智慧停车有限公司 | 停车推荐方法、装置、电子设备及存储介质 |
CN117271700B (zh) * | 2023-11-23 | 2024-02-06 | 武汉蓝海科创技术有限公司 | 集成智能学习功能的设备使用与维修知识库的构建系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446519A (zh) * | 2018-10-10 | 2019-03-08 | 西安交通大学 | 一种融合数据类别信息的文本特征提取方法 |
CN110046250A (zh) * | 2019-03-17 | 2019-07-23 | 华南师范大学 | 三嵌入卷积神经网络模型及其文本多分类方法 |
CN111241295A (zh) * | 2020-01-03 | 2020-06-05 | 浙江大学 | 基于语义句法交互网络的知识图谱关系数据抽取方法 |
CN111353030A (zh) * | 2020-02-26 | 2020-06-30 | 陕西师范大学 | 基于旅游领域知识图谱的知识问答检索方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810472B2 (en) * | 2017-05-26 | 2020-10-20 | Oracle International Corporation | Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network |
EP3454260A1 (en) * | 2017-09-11 | 2019-03-13 | Tata Consultancy Services Limited | Bilstm-siamese network based classifier for identifying target class of queries and providing responses thereof |
-
2020
- 2020-08-18 CN CN202010831368.8A patent/CN112100344B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446519A (zh) * | 2018-10-10 | 2019-03-08 | 西安交通大学 | 一种融合数据类别信息的文本特征提取方法 |
CN110046250A (zh) * | 2019-03-17 | 2019-07-23 | 华南师范大学 | 三嵌入卷积神经网络模型及其文本多分类方法 |
CN111241295A (zh) * | 2020-01-03 | 2020-06-05 | 浙江大学 | 基于语义句法交互网络的知识图谱关系数据抽取方法 |
CN111353030A (zh) * | 2020-02-26 | 2020-06-30 | 陕西师范大学 | 基于旅游领域知识图谱的知识问答检索方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于word2vec和LSTM的句子相似度计算及其在水稻FAQ问答系统中的应用;梁敬东;崔丙剑;姜海燕;沈毅;谢元澄;;南京农业大学学报(第05期);178-185 * |
基于领域知识图谱的智能问答关键技术研究;刘良;中国优秀硕士学位论文全文数据库 信息科技辑(第07期);I138-1455 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100344A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100344B (zh) | 一种基于知识图谱的金融领域知识问答方法 | |
CN109858028B (zh) | 一种基于概率模型的短文本相似度计算方法 | |
Fatima et al. | Text Document categorization using support vector machine | |
Tang et al. | Multi-label patent categorization with non-local attention-based graph convolutional network | |
CN107688870B (zh) | 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置 | |
CN102184262A (zh) | 基于web的文本分类挖掘系统及方法 | |
CN101097570A (zh) | 一种自动识别分类广告类型的广告分类方法 | |
CN114254653A (zh) | 一种科技项目文本语义抽取与表示分析方法 | |
JP2022508737A (ja) | 自然言語文書を検索するシステム | |
CN114997288A (zh) | 一种设计资源关联方法 | |
CN109614490A (zh) | 基于lstm的金融新闻倾向性分析方法 | |
CN115248839A (zh) | 一种基于知识体系的长文本检索方法以及装置 | |
CN104794209A (zh) | 基于马尔科夫逻辑网络的中文微博情绪分类方法及系统 | |
Velmurugan et al. | Mining implicit and explicit rules for customer data using natural language processing and apriori algorithm | |
Medić et al. | A survey of citation recommendation tasks and methods | |
Timonen | Term weighting in short documents for document categorization, keyword extraction and query expansion | |
CN112100323B (zh) | 一种基于表示学习的隐藏关联挖掘方法 | |
CN114443961A (zh) | 一种内容过滤科技成果推荐方法、模型及存储介质 | |
Iloga et al. | An efficient generic approach for automatic taxonomy generation using HMMs | |
Sakhare | A Sequence-to-Sequence Text Summarization Using Long Short-Term Memory Based Neural Approach | |
CN112100370B (zh) | 一种基于文本卷积和相似度算法的图审专家组合推荐方法 | |
Kang et al. | Internet-Based Researcher Interest Mining | |
CN111274404A (zh) | 一种基于人机协同的小样本实体多领域分类方法 | |
Kang et al. | Keyword extraction based on semantic similarity metric and multi-feature computing | |
Sun et al. | A method for discovering and obtaining company hot events from Internet news |
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 |