CN107844533A - 一种智能问答系统及分析方法 - Google Patents
一种智能问答系统及分析方法 Download PDFInfo
- Publication number
- CN107844533A CN107844533A CN201710976008.5A CN201710976008A CN107844533A CN 107844533 A CN107844533 A CN 107844533A CN 201710976008 A CN201710976008 A CN 201710976008A CN 107844533 A CN107844533 A CN 107844533A
- Authority
- CN
- China
- Prior art keywords
- word
- words
- answers
- answer
- unit
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 238000007405 data analysis Methods 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 43
- 239000013598 vector Substances 0.000 claims description 43
- 230000011218 segmentation Effects 0.000 claims description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000013528 artificial neural network Methods 0.000 claims description 24
- 210000002569 neuron Anatomy 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 230000000306 recurrent effect Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 230000036961 partial effect Effects 0.000 claims description 4
- 230000009849 deactivation Effects 0.000 claims 2
- 238000003672 processing method Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 3
- 241000270322 Lepidosauria Species 0.000 abstract description 2
- 239000010410 layer Substances 0.000 description 37
- 238000009395 breeding Methods 0.000 description 6
- 230000001488 breeding effect Effects 0.000 description 6
- 238000005065 mining Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003064 k means clustering Methods 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 238000000729 Fisher's exact test Methods 0.000 description 1
- 241000257303 Hymenoptera Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
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)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机技术域,公开了一种智能问答系统及分析方法,收集数据集为spring的相关问题并分析;数据分析完毕之后,对数据集进行分词和关键词提取的预处理;使用关联规则表达问题和答案之间的关联性;根据用户的答案自动到数据库中寻找答案;其次,进行问题和问题之间的关联性以及答案和答案之间的关联性表达;智能问答系统包括:爬虫单元,分词单元,关键词提取单元,语义相似度检测单元,聚类单元关联规则单元。本发明支撑各种形式问题的智能问答;方便了用户,提高了办事效率,提升了企业形象。
Description
技术领域
本发明属于计算机技术域,尤其涉及一种智能问答系统及分析方法。
背景技术
从早期的数字图书馆、专家系统到如今的搜索引擎,人们一直致力于追求 快速、准确的信息获取方法。目前,网络上的数据资源浩如烟海、错综复杂, 而用户的信息需求又千变万化、千姿百态,基于关键词组合的信息需求表示方 式和基于浅层分析的语义分析这类传统的信息检索技术俨然不能满足当下用户 的需求,智能问答技术通过对数据的深度加工和组织管理、以更自然的交互方 式满足用户更精确的信息需求。而目前大多数智能问答系统对于用户问题的处 理采用的是基于FAQ(Frequently Asked Questions)库的关键词检索方式。
综上所述,现有技术存在的问题是:
第一,开放性不足:以FAQ库作为检索资源,内容有限,对于FAQ库之 外的用户问题,无法做出解答,很难满足用户需求。第二,智能性不足:以关 键词匹配为基础的检索,匹配算法只是停留在语言的表面,而没有触及语义, 因此检索效果很难有进一步的提高:并且,大多数系统要求用户采用关键词的 组合来表达检索需求,然而用户对检索的需求往往很复杂,很多时候无法用几 个关键词的简单组合来表示,如果用户无法将自己的需求表达清楚,智能问答 系统就无法给出用户满意的答案。
发明内容
针对现有技术存在的问题,本发明提供了一种智能问答系统及分析方法。
本发明是这样实现的,一种智能问答系统的分析方法,所述智能问答系统 的分析方法包括:收集数据集为spring的相关问题并分析;
数据分析完毕之后,对数据集进行分词和关键词提取的预处理;
使用关联规则表达问题和答案之间的关联性;根据用户的答案自动到数据 库中寻找答案;其次,进行问题和问题之间的关联性以及答案和答案之间的关 联性表达。
进一步,关键词的提取采用聚类方式,首先直接对问题聚类,聚类完毕之 后再次进行关键词提取。
进一步,所述关联性采用循环神经网络RNNs处理输入之间前后关联;所 述循环神经网络RNNs包包括:输入单元,输入集标记为{x0,x1,...,xt,xt+1,...};
输出单元,输出集标记为{y0,y1,...,yt,yt+1.,..};
隐藏单元,输出集标记为{s0,s1,...,st,st+1,...}。
进一步,循环神经网络RNNs处理方法包括:
1)前向计算每个神经元的输出值:
2)反向计算每个神经元的误差项值,即误差函数E对神经元j的加权输入 的偏导数;
3)计算每个权重的梯度:
4)已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在t时刻的梯 度为:
已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在时刻的梯度为:
表示t时刻误差项向量的第i个分量;
表示t-1时刻循环层第i个神经元的输出值
最终梯度:各个时刻误差项向量的第i个分量;
表示t-1时刻循环层第i个神经元的输出值;
最终梯度:各个时刻的梯度之和.
即:
5)最后根据随机梯度下降算法SGD更新权重。
进一步,所述分词的预处理方法包括:
采用IK Analyzer分词工具进行分词;
所述关键词提取的预处理方法,包括:
通过TF-IDF对问答进行关键词提取;
对于在某一特定文件里的词语ti,重要性表示为:
上式子中ni,j是该词在文件dj中的出现次数,分母则是在文件dj中所有字词 的出现次数之和;
特定词语的IDF,由总文件数目除以包含该特定词语文件的数目,再将得到 的商取对数得到:
其中,
|D|:语料库中的文件总数;
包含词语ti的文件数目如果该特定词语不在语料库中,导致被除数为零,然 后计算
TF-IDF=TF*IDF。
进一步,对问题和答案进行分词、去除停用词后、对问题和答案进行关键 词提取后,对问题进行语义相似度分析;所述语义相似度分析通过基于空间向 量的余弦算法进行语义相似度的计算;包括:
d)预处理:首先进行中文分词和去停用词,然后按照停用词表中的词语将 语料中对文本内容出现频率很高的词、符号、标点及乱码去掉;
e)文本特征项选择与加权:过滤掉常用副词、助词频度高的词之后,根据 剩下词的频度确定若干关键词;
f)向量空间模型VSM及余弦计算:
用D表示文本,特征项用t表示出现在文档D中且能够代表该文档内容的 基本语言单位;文本用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项, 其中,1<=k<=N;
在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)向 量之间夹角的余弦值表示,公式为:
其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。
通过夹角的大小,判断向量的相似程度;夹角越小,代表越相似;
利用公式计算:
余弦值越接近1,表明夹角越接近0度,两个向量越相似。
本发明的另一目的在于提供一种智能问答系统包括:
爬虫单元,用于收集数据集为spring的相关问题并分析;
分词单元,用于根据所收集的数据集,对数据集进行分词;
关键词提取单元,用于根据分词的结果,使用TF-IDF进行关键词的提取;
语义相似度检测单元,用于对问题和答案进行分词、去除停用词后、对问 题和答案进行关键词提取后,对问题进行语义相似度分析;
聚类单元,用于先聚类再TF-IDF提取出关键词;
关联规则单元,用于表达问题和答案之间的关联性;根据用户的答案自动 到数据库中寻找答案;还用于进行问题和问题之间的关联性以及答案和答案之 间的关联性表达。
本发明的优点及积极效果为:
本发明的智能问答系统将积累的无序语料信息,进行有序和科学的整理, 并建立基于知识的分类模型;这些分类模型可以指导新增加的语料咨询和服务 信息,节约人力资源,提高信息处理的自动性,降低网站运行成本。基于对网 站多年积累的关于政府和企业的基本情况常见问题及其解答,整理为规范的问 答库形式,以支撑各种形式问题的智能问答。与现有技术相比降低了百分之20 的成本,主要体现在索搜时间大幅度缩减,索搜正确率大幅度提高。方便了用 户,提高了办事效率,提升了企业形象。
本发明K-Means聚类的优点:
算法快速、简单;对大数据集有较高的效率并且是可伸缩性的;时间复杂度近 于线性,而且适合挖掘大规模数据集。K-Means聚类算法的时间复杂度是O(nkt), 其中n代表数据集中对象的数量,t代表着算法迭代的次数,k代表着簇的数目。
本发明关联规则的优点
关联规则是发现数据间的关系:可能会共同发生的那些属性co-occurrence;
一个好的规则可以用lift或者FishersExact Test进行校验。
现有技术中,由频繁k-1项集进行自连接生成的候选频繁k项集数量巨大。 在验证候选频繁k项集的时候需要对整个数据库进行扫描,非常耗时。
对于这种问题,本发明使用另一种数据结构用来存储频繁项集,FP-Growth 是一种特殊的前缀树,由频繁项头表和项前缀树构成。FP-Growth算法基于以上 的结构加快整个挖掘过程。
FP-Tree:将事务数据表中的各个事务数据项按照支持度排序后,把每个事务 中的数据项按降序依次插入到一棵以NULL为根结点的树中,同时在每个结点 处记录该结点出现的支持度。
附图说明
图1是本发明实施例提供的智能问答系统的分析方法流程图。
图2是本发明实施例提供的定向循环结构图。
图3是本发明实施例提供的循环神经网络图。
图4是本发明实施例提供的将循环神经网络进行展开成一个全神经网络图。
图5是本发明实施例提供的IK Analyzer结构图。
图6是本发明实施例提供的可视化结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细描述。
本发明实施例提供的智能问答系统的分析方法,包括:
收集数据集为spring的相关问题并分析;
数据分析完毕之后,对数据集进行预处理;预处理包括分词,关键词提取。 分词的过程中使用IK分词,其次是关键词的提取,关键词的提取采用两种方式, 第一种方式,使用的TF-IDF;第二种方式使用聚类,首先直接对问题聚类,聚 类完毕之后再次使用TF-IDF发现关键词,第二种方式相比较前一种方法而言, 实用性比较高。
使用关联规则将问题和答案之间的关联性表示出来,根据用户的答案自动 到数据库中寻找答案。其次,进行问题和问题之间的关联性以及答案和答案之 间的关联性。问题和问题关联性,使用在问题补全方面的运用,用户输入部分 问题,菜单显示输入的字符;答案和答案之间的关联性,使得问题的答案更加 完整。
图1是本发明实施例提供的智能问答系统的分析方法流程图。
一、下面结合具体实施例对本发明的应用原理作进一步描述。
1、环神经网络与神经网络的区别
本发明不同于传统的FNNs(Feed-forward Neural Networks,前向反馈神经网络),RNNs引入了定向循环,能够处理那些输入之间前后关联的问题。定向循 环结构如图2所示。
2、循环神经网络定义:
RNNs的目的是使用来处理序列数据。在传统的神经网络模型中,是从输入 层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。 但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下 一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是 独立的。RNNs之所以称为循环神经网络,如图3;即一个序列当前的输出与前面 的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前 输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的 输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNNs能 够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设 当前的状态只与前面的几个状态相关,图3便是一个典型的RNNs:
3、循环神经网络结构
RNNs包含输入单元(Input units),输入集标记为{x0,x1,...,xt,xt+1,...},而输 出单元(Output units)的输出集则被标记为{y0,y1,...,yt,yt+1.,..}。RNNs还包含隐藏 单元(Hidden units),本发明将其输出集标记为{s0,s1,...,st,st+1,...},这些隐藏单元 完成了最为主要的工作。你会发现,在图中:有一条单向流动的信息流是从输 入单元到达隐藏单元的,与此同时另一条单向流动的信息流从隐藏单元到达输 出单元。在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐 藏单元,这些被称为“BackProjections”,并且隐藏层的输入还包括上一隐藏层 的状态,即隐藏层内的节点可以自连也可以互连。
图4将循环神经网络进行展开成一个全神经网络。例如,对一个包含5个 单词的语句,那么展开的网络便是一个五层的神经网络,每一层代表一个单词。 对于该网络的计算过程如下:
xt表示第t,t=1,2,3...步(step)的输入。比如,x1为第二个词的one-hot向量(根据图4,x0为第一个词);
PS:使用计算机对自然语言进行处理,便需要将自然语言处理成为机器能 够识别的符号,加上在机器学习过程中,需要将其进行数值化。而词是自然语 言理解与处理的基础,因此需要对词进行数值化,词向量(Word Representation, Word embeding)便是一种可行又有效的方法。何为词向量,即使用一个指定长 度的实数向量v来表示一个词。有一种种最简单的表示方法,就是使用One-hot vector表示单词,即根据单词的数量|V|生成一个|V|*1的向量,当某一位为一的 时候其他位都为零,然后这个向量就代表一个单词。缺点也很明显:
由于向量长度是根据单词个数来的,如果有新词出现,这个向量还得增加,(Impossible to keep up to date);主观性太强(subjective)这么多单词,还得人工打labor并且adapt,想想就恐怖。最不能忍受的一点便是很难计算单词之间的相似 性。现在有一种更加有效的词向量模式,该模式是通过神经网或者深度学习对 词进行训练,输出一个指定维度的向量,该向量便是输入词的表达。如word2vec。
st为隐藏层的第t步的状态,它是网络的记忆单元。st根据当前输入层的 输出与上一步隐藏层的状态进行计算。st=f(Uxt+Wst-1),其中f一般是非线性的 激活函数,如tanh或ReLU,在计算s0时,即第一个单词的隐藏层状态,需要 用到s-1,但是其并不存在,在实现中一般置为0向量;ot是第t步的输出,如 下个单词的向量表示,ot=softmax(Vst)。
隐藏层状态st是网络的记忆单元.st包含了前面所有步的隐藏层状态。而输 出层的输出ot只与当前步的st有关,在实践中,为了降低网络的复杂度,往往 st只包含前面若干步而不是所有步的隐藏层状态;
在传统神经网络中,每一个网络层的参数是不共享的。而在RNNs中,每 输入一步,每一层各自都共享参数U,V,W。其反应者RNNs中的每一步都在做 相同的事,只是输入不同,因此大大地降低了网络中需要学习的参数;
传统神经网络的参数是不共享的,并不是表示对于每个输入有不同的参数, 而是将RNN是进行展开,这样变成了多层的网络,如果这是一个多层的传统神 经网络,那么xt到st之间的U矩阵与xt+1到st+1之间的U是不同的,而RNNs 中的却是一样的,同理对于s与s层之间的W、s层与o层之间的V也是一样的。
图4中每一步都会有输出,但是每一步都要有输出并不是必须的。比如, 本发明需要预测一条语句所表达的情绪,本发明仅仅需要关系最后一个单词输 入后的输出,而不需要知道每个单词输入后的输出。同理,每步都需要输入也 不是必须的。RNNs的关键之处在于隐藏层,隐藏层能够捕捉序列的信息。
二、下面结合分词对本发明作进一步描述,
分词
本发明智能问答系统是依赖于中文的。首先做得是对问答进行分词。本发 明主要采用的是IK Analyzer分词工具。
1、IK Analyzer简介
IK Analyzer是一个开源的、基于Java语言开发的轻量级的中文分词工具包, 最初,它以Lucene为应用主题,结合词典分词和文法分析算法的中文分词组件, 后来,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时i哦那 个了对Lucene的默认优化实现。本发明使用的IK 2012版本,IK实现了简单的 分词歧义排除算法,使得IK分词器从单纯的词典分词向模拟语义分词衍化。
IK Analyzer结构设计图如图5。
2、关键词提取
本发明智能问答系统在对问题和答案进行分词、去除停用词后、对问题和 答案进行关键词提取。这里本发明主要通过TF-IDF对问答进行关键词提取。
TF-IDF简介:
TF-IDF(term frequency–inverse document frequency)是一种用于资 讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词 对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随 着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率 成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询 之间相关程度的度量或评级。除了TF-IDF以外,互联网上的搜寻引擎还会使用 基于连结分析的评级方法,以确定文件在搜寻结果中出现的顺序。
TF-IDF原理:
词频(term frequency,TF):指的是某一个给定的词语在该文件中出现的 次数。这个数字通常会被归一化(一般是词频除以文章总词数),以防止它偏向 长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词 语重要与否。)
对于在某一特定文件里的词语ti来说,它的重要性可表示为:
以上式子中ni,j是该词在文件dj中的出现次数,而分母则是在文件dj中所有 字词的出现次数之和。
逆向文件频率(inverse document frequency,IDF):主要思想是如果包 含词条t的文档越少,IDF越大,则说明词条具有很好的类别区分能力。某一特 定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商 取对数得到:
其中,
|D|:语料库中的文件总数
包含词语ti的文件数目(即的文件数目)如果该词语不在语料库中,就会导 致被除数为零,因此一般情况下使用。然后计算
TF-IDF=TF*IDF
某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率, 可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重 要的词语。
可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语 言中的出现次数成反比。所以,自动提取关键词的算法就很清楚了,就是计算 出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词。
TF-IDF示例
以《中国的蜜蜂养殖》为例,假定该文长度为1000个词,"中国"、"蜜蜂"、 "养殖"各出现20次,则这三个词的"词频"(TF)都为0.02。然后,搜索Google 发现,包含"的"字的网页共有250亿张,假定这就是中文网页总数。包含"中国" 的网页共有62.3亿张,包含"蜜蜂"的网页为0.484亿张,包含"养殖"的网页为 0.973亿张。则它们的逆文档频率(IDF)和TF-IDF如下:
表1逆文档频率和TF-IDF分布图
从上表可见,"蜜蜂"的TF-IDF值最高,"养殖"其次,"中国"最低。(如果还 计算"的"字的TF-IDF,那将是一个极其接近0的值。)所以,如果只选择一个词, "蜜蜂"就是这篇文章的关键词。
除了自动提取关键词,TF-IDF算法还可以用于许多别的地方。比如,信息检 索时,对于每个文档,都可以分别计算一组搜索词("中国"、"蜜蜂"、"养殖") 的TF-IDF,将它们相加,就可以得到整个文档的TF-IDF。这个值最高的文档就 是与搜索词最相关的文档。
三、语义相似度
1、本发明智能问答系统在对问题和答案进行分词、去除停用词后、对问题 和答案进行关键词提取后,本发明对问题进行语义相似度分析。这里本发明主 要通过基于空间向量(VSM:Vector space model)的余弦算法进行语义相似度 的计算。
2、基于空间向量的余弦算法
算法步骤:
g)预处理:预处理主要是进行中文分词和去停用词,然后按照停用词表中 的词语将语料中对文本内容识别意义不大但出现频率很高的词、符号、标点及 乱码等去掉。
h)文本特征项选择与加权:过滤掉常用副词、助词等频度高的词之后,根 据剩下词的频度确定若干关键词。频度计算参照TF公式。加权是针对每个关键 词对文本特征的体现效果大小不同而设置的机制,权值计算参照IDF公式。
i)向量空间模型VSM及余弦计算:向量空间模型的基本思想是把文档简化 为以特征项(关键词)的权重为分量的N维向量表示,用向量来表示文本,从 而简化了文本中的关键词之间的复杂关系,文档用十分简单的向量表示,使得 模型具备了可计算性。
用D(Document)表示文本,特征项(Term,用t表示)指出现在文档D中 且能够代表该文档内容的基本语言单位,主要是由词或者短语构成,文本可以 用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,要求满足1<=k<=N。 假设一篇文档中有a、b、c、d四个特征项,那么这篇文档就可以表示
D(a,b,c,d);
对于其它要与之比较的文本,也将遵从这个特征项顺序。对含有n个特征项的 文本而言,通常会给每个特征项赋予一定的权重表示其重要程度,即
D=D(T1,W1;T2,W2;…,Tn,Wn);
简记为
D=D(W1,W2,…,Wn);
本发明把它叫做文本D的权值向量表示,其中Wk是Tk的权重,1<=k<=N。
在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)常用 向量之间夹角的余弦值表示,公式为:
其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N。
3、语义相似度计算示例:
句子A:我喜欢看电视,不喜欢看电影。
句子B:我不喜欢看电视,也不喜欢看电影。
分词:
句子A:我/喜欢/看/电视,不/喜欢/看/电影。
句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。
计算词频:
句子A:我1,喜欢2,看2,电视1,电影1,不1,也0。
句子B:我1,喜欢2,看2,电视1,电影1,不2,也1。
写出词频向量:
句子A:[1,2,2,1,1,1,0]
句子B:[1,2,2,1,1,2,1]
本发明可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相 似。
利用公式计算:
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余 弦相似性"。所以,上面的句子A和句子B是很相似。
四、下面结合聚类对本发明作进一步描述。
1、本发明智能问答系统处理中,本发明涉及了非监督学习方法-聚类。本发 明主要采用R语言中K-Means聚类完成对问题的聚类。
2、聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。
3、K-Means简介
K-means算法是基于距离的聚类算法,采用距离作为相似性的评价指标,即 认为两个对象的距离越近,其相似度就越大。
算法基本过程:
1)从N个文档随机选取K个文档作为质心;
2)对剩余每个文档测量其到每个质心的距离,并把它归到最近的质心的类;
3)重新计算已经得到的各个类的质心;
4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束;
4、K-Means示例:
利用R语言中自带的Iris数据集作K-Means聚类分析。
关键代码实现:
newiris<-iris;
newiris$Species<-NULL;
kc<-kmeans(newiris,3)//调用Kmeans函数;
table(iris$Species,kc$cluster);
plot(newiris[c("Sepal.Length","Sepal.Width")],col=kc$cluster)//可视化;
points(kc$centers[,c("Sepal.Length","Sepal.Width")],col=1:3,pch=8,cex=2)/ 标注质心;
可视化结果如图6。
五、下面结合关联规则对本发明作进一步描述。
1、关联规则定义:
关联规则是形如X→Y的蕴涵式,其中,X和Y分别称为关联规则的先导(antecedent或left-hand-side,LHS)和后继(consequent或right-hand-side,RHS)。 其中,关联规则XY,存在支持度和信任度。
2、如何量化关联规则
关联规则挖掘的一个典型例子便是购物车分析。通过关联规则挖掘能够发 现顾客放入购物车中的不同商品之间的关联,分析顾客的消费习惯。这种关联 规则的方向能够帮助卖家了解哪些商品被顾客频繁购买,从而帮助他们开发更 好的营销策略。比如:将经常同时购买的商品摆近一些,以便进一步刺激这些 商品一起销售;或者,将两件经常同时购买的商品摆远一点,这样可能诱发买 这两件商品的用户一路挑选其他商品。
在数据挖掘当中,通常用“支持度”(support)和“置性度”(confidence) 两个概念来量化事物之间的关联规则。它们分别反映所发现规则的有用性和确 定性。比如:
Computer=>antivirus_software,其中support=2%,confidence=60%
表示的意思是所有的商品交易中有2%的顾客同时买了电脑和杀毒软件,并 且购买电脑的顾客中有60%也购买了杀毒软件。在关联规则的挖掘过程中,通 常会设定最小支持度阈值和最小置性度阈值,如果某条关联规则满足最小支持 度阈值和最小置性度阈值,则认为该规则可以给用户带来感兴趣的信息。
3、关联规则几个基本概念
支持度(Support):
支持度表示项集{X,Y}在总项集里出现的概率。公式为:
Support(X→Y)=P(X,Y)/P(I)=P(X∪Y)/P(I)=num(XUY)/num(I)
其中,I表示总事务集。num()表示求事务集里特定项集出现的次数。
比如,num(I)表示总事务集的个数
num(X∪Y)表示含有{X,Y}的事务集的个数(个数也叫次数)。
置信度(Confidence):
置信度表示在先决条件X发生的情况下,由关联规则”X→Y“推出Y的概 率。即在含有X的项集中,含有Y的可能性,公式为:
Confidence(X→Y)=P(Y|X)=P(X,Y)/P(X)=P(XUY)/P(X)
提升度(Lift):
提升度表示含有X的条件下,同时含有Y的概率,与不含X的条件下却含 Y的概率之比。
Lift(X→Y)=P(Y|X)/P(Y)。
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是 基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔 关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频 集。
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和 预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最 小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只 包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中 规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度 的规则才被留下来。为了生成所有频集,使用了递推的方法。
六、下面结合算法思路对本发明作进一步描述。
第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rul es)。
算法实例
某商场的交易记录,共有9个事务,利用Apriori算法寻找所有的频繁项 集的过程如下:
从连接步,首先C3={{I1,I2,I3},{I1,I2,I5},{I1,I3,I5},{I2,I3,I4},{I2,I3,I5}, {I2,I4,I5}}(C3是由L2与自身连接产生)。根据Apriori性质,频繁项集的所有 子集也必须频繁的,可以确定有4个候选集{I1,I3,I5},{I2,I3,I4},{I2,I3,I5}, {I2,I4,I5}}不可能时频繁的,因为它们存在子集不属于频繁集,因此将它们从C3 中删除。注意,由于Apriori算法使用逐层搜索技术,给定候选k项集后,只需 检查它们的(k-1)个子集是否频繁。
频繁项集产生关联规则
Confidence(A->B)=P(B|A)=support_count(AB)/support_count(A)
关联规则产生步骤如下:
1)对于每个频繁项集l,产生其所有非空真子集;
2)对于每个非空真子集s,如果support_count(l)/support_count(s)>=min_conf, 则输出s->(l-s),其中,min_conf是最小置信度阈值。
例如,在上述例子中,针对频繁集{I1,I2,I5}。可以产生哪些关联规则? 该频繁集的非空真子集有{I1,I2},{I1,I5},{I2,I5},{I1},{I2}和{I5},对 应置信度如下:
如果min_conf=70%,则强规则有I1&&I5->I2,I2&&I5->I1,I5->I1&&I2。
七、下面结合爬虫对本发明作进一步描述。
本发明智能问答系统问题和答案来源为爬虫,主要采用的是Crawler4j。
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常 的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或 者脚本。
Crawler4j简介:
Crawler4j是一个基于Java的爬虫开源项目。
crawler4j的使用主要分为两个步骤:
实现一个继承自WebCrawler的爬虫类,
通过CrawlController调用实现的爬虫类。
WebCrawler是一个抽象类,继承它必须实现两个方法:shouldVisit和visit。 其中,shouldVisit是判断当前的URL是否已经应该被爬取(访问),visit则是爬取 该URL所指向的页面的数据,其传入的参数即是对该web页面全部数据的封装 对象Page。WebCrawler还有其它一些方法可供覆盖,其方法的命名规则类似于 Android的命名规则。如getMyLocalData方法可以返回WebCrawler中的数据; onBeforeExit方法会在该WebCrawler运行结束前被调用,可以执行一些资源释 放之类的工作。
八、下面结合循环神经网络对本发明作进一步描述。
一)文本分析和预测的训练过程:
1、前向计算每个神经元的输出值:
例如:t时刻循环层的输出:
2、反向计算每个神经元的误差项值,即误差函数E对神经元j的加权输入 的偏导数;
任意时刻k的误差项:误差项沿时间反向传播
循环层将误差项反向传递到上一层网络:
3、计算每个权重的梯度:
首先计算误差函数E对权重矩阵W的梯度
4、已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在t时刻的梯 度为:
已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在t时刻的梯度为:
表示t时刻误差项向量的第i分量;表示t-1时刻循环层第i神经元 的输出值。
最终梯度:各个时刻的梯度之和,即:
5、最后根据随机梯度下降算法(SGD)更新权重。
二)文本分析和预测的运行结果
有关spring答案的一段文本,包括415个词,123个不同的词。迭代10000 次训练出模型。根据随机输入的一个词生成之后50个词的文本。从输出中本发 明不难发现模型在不断的训练包括语法,词组等内容,使句子越来越符合正常 的语法结构,越来越符合常规的语言形式。
八、下面结合具体实施例对本发明作进一步描述。
假如数据库中记录的交易信息如下(最低support为3),如下表所示。
首先本发明先要了解所有的一项集出现的频率(support,重新排序的结果见 上表的Sort部分):B(6),E(5),A(4),C(4),D(4)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
Claims (7)
1.一种智能问答系统的分析方法,其特征在于,所述智能问答系统的分析方法包括:收集数据集为spring的相关问题并分析;
数据分析完毕之后,对数据集进行分词和关键词提取的预处理;
使用关联规则表达问题和答案之间的关联性;根据用户的答案自动到数据库中寻找答案;其次,进行问题和问题之间的关联性以及答案和答案之间的关联性表达。
2.如权利要求1所述的智能问答系统的分析方法,其特征在于,关键词的提取采用聚类方式,首先直接对问题聚类,聚类完毕之后再次进行关键词提取。
3.如权利要求1所述的智能问答系统的分析方法,其特征在于,所述关联性采用循环神经网络RNNs处理输入之间前后关联;所述循环神经网络RNNs包包括:输入单元,输入集标记为{x0,x1,...,xt,xt+1,...};
输出单元,输出集标记为{y0,y1,...,yt,yt+1.,..};
隐藏单元,输出集标记为{s0,s1,...,st,st+1,...}。
4.如权利要求3所述的智能问答系统的分析方法,其特征在于,循环神经网络RNNs处理方法包括:
1)前向计算每个神经元的输出值:
2)反向计算每个神经元的误差项值,即误差函数E对神经元j的加权输入的偏导数;
3)计算每个权重的梯度:
4)已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在t时刻的梯度为:
已知误差项值和上一时刻隐藏层的输出St-1,则权重矩阵在时刻的梯度为:
<mrow>
<mo>&dtri;</mo>
<msub>
<mi>w</mi>
<mi>t</mi>
</msub>
<mi>E</mi>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>1</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>1</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>1</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>2</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>1</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mi>n</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>2</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>1</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>2</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>2</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mn>2</mn>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mi>n</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mi>n</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>1</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mi>n</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>2</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
<mtd>
<mn>...</mn>
</mtd>
<mtd>
<mrow>
<msubsup>
<mi>&delta;</mi>
<mi>n</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>s</mi>
<mn>2</mn>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
表示t时刻误差项向量的第i个分量;
表示-1时刻循环层第i个神经元的输出值;
最终梯度:各个时刻误差项向量的第i个分量;
表示t-1时刻循环层第i个神经元的输出值;
最终梯度:各个时刻的梯度之和;
即:
5)最后根据随机梯度下降算法SGD更新权重。
5.如权利要求1所述的智能问答系统的分析方法,其特征在于,
所述分词的预处理方法包括:
采用IK Analyzer分词工具进行分词;
所述关键词提取的预处理方法,包括:
通过TF-IDF对问答进行关键词提取;
对于在某一特定文件里的词语ti,重要性表示为:
<mrow>
<msub>
<mi>tf</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>n</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mrow>
<munder>
<mo>&Sigma;</mo>
<mi>k</mi>
</munder>
<msub>
<mi>n</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
上式子中ni,j是该词在文件dj中的出现次数,分母则是在文件dj中所有字词的出现次数之和;
特定词语的IDF,由总文件数目除以包含该特定词语文件的数目,再将得到的商取对数得到:
<mrow>
<msub>
<mi>idf</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mfrac>
<mrow>
<mo>|</mo>
<mi>D</mi>
<mo>|</mo>
</mrow>
<mrow>
<mo>|</mo>
<mrow>
<mo>{</mo>
<mi>j</mi>
<mo>:</mo>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
<mo>&Element;</mo>
<msub>
<mi>d</mi>
<mi>j</mi>
</msub>
<mo>}</mo>
</mrow>
<mo>|</mo>
</mrow>
</mfrac>
<mo>;</mo>
</mrow>
其中,
|D|:语料库中的文件总数;
包含词语ti的文件数目如果该特定词语不在语料库中,导致被除数为零,然后计算
TF-IDF=TF*IDF。
6.如权利要求1所述的智能问答系统的分析方法,其特征在于,
对问题和答案进行分词、去除停用词后、对问题和答案进行关键词提取后,对问题进行语义相似度分析;所述语义相似度分析通过基于空间向量的余弦算法进行语义相似度的计算;包括:
a)预处理:首先进行中文分词和去停用词,然后按照停用词表中的词语将语料中对文本内容出现频率很高的词、符号、标点及乱码去掉;
b)文本特征项选择与加权:过滤掉常用副词、助词频度高的词之后,根据剩下词的频度确定若干关键词;
c)向量空间模型VSM及余弦计算:
用D表示文本,特征项用t表示出现在文档D中且能够代表该文档内容的基本语言单位;文本用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,其中,1<=k<=N;
在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)向量之间夹角的余弦值表示,公式为:
<mrow>
<mi>S</mi>
<mi>i</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>D</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>D</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mi>&theta;</mi>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>W</mi>
<mrow>
<mn>1</mn>
<mi>k</mi>
</mrow>
</msub>
<mo>&times;</mo>
<msub>
<mi>W</mi>
<mrow>
<mn>2</mn>
<mi>k</mi>
</mrow>
</msub>
</mrow>
<msqrt>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msubsup>
<mi>W</mi>
<mrow>
<mn>1</mn>
<mi>k</mi>
</mrow>
<mn>2</mn>
</msubsup>
<mo>)</mo>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msubsup>
<mi>W</mi>
<mrow>
<mn>2</mn>
<mi>k</mi>
</mrow>
<mn>2</mn>
</msubsup>
<mo>)</mo>
</mrow>
</msqrt>
</mfrac>
<mo>;</mo>
</mrow>
其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1<=k<=N;
通过夹角的大小,判断向量的相似程度;夹角越小,代表越相似;
利用公式计算:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>C</mi>
<mi>o</mi>
<mi>s</mi>
<mi>&theta;</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>&times;</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
<mo>&times;</mo>
<mn>2</mn>
<mo>+</mo>
<mn>2</mn>
<mo>&times;</mo>
<mn>2</mn>
<mo>+</mo>
<mn>1</mn>
<mo>&times;</mo>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>&times;</mo>
<mn>1</mn>
<mo>+</mo>
<mn>1</mn>
<mo>&times;</mo>
<mn>2</mn>
<mo>+</mo>
<mn>0</mn>
<mo>&times;</mo>
<mn>1</mn>
</mrow>
<mrow>
<msqrt>
<mrow>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
<mo>&times;</mo>
<msqrt>
<mrow>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>2</mn>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mn>1</mn>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfrac>
<mn>13</mn>
<mrow>
<msqrt>
<mn>12</mn>
</msqrt>
<mo>&times;</mo>
<msqrt>
<mn>16</mn>
</msqrt>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mn>0.938</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
余弦值越接近1,夹角越接近0度,两个向量越相似。
7.一种如权利要求1所述智能问答系统的分析方法的智能问答系统,其特征在于,所述智能问答系统包括:
爬虫单元,用于收集数据集为spring的相关问题并分析;
分词单元,用于根据所收集的数据集,对数据集进行分词;
关键词提取单元,用于根据分词的结果,使用TF-IDF进行关键词的提取;
语义相似度检测单元,用于对问题和答案进行分词、去除停用词后、对问题和答案进行关键词提取后,对问题进行语义相似度分析;
聚类单元,用于先聚类再TF-IDF提取出关键词;
关联规则单元,用于表达问题和答案之间的关联性;根据用户的答案自动到数据库中寻找答案;还用于进行问题和问题之间的关联性以及答案和答案之间的关联性表达。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710976008.5A CN107844533A (zh) | 2017-10-19 | 2017-10-19 | 一种智能问答系统及分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710976008.5A CN107844533A (zh) | 2017-10-19 | 2017-10-19 | 一种智能问答系统及分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107844533A true CN107844533A (zh) | 2018-03-27 |
Family
ID=61661430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710976008.5A Pending CN107844533A (zh) | 2017-10-19 | 2017-10-19 | 一种智能问答系统及分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844533A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595629A (zh) * | 2018-04-24 | 2018-09-28 | 北京慧闻科技发展有限公司 | 用于答案选择系统的数据处理方法及应用 |
CN108763535A (zh) * | 2018-05-31 | 2018-11-06 | 科大讯飞股份有限公司 | 信息获取方法及装置 |
CN108959388A (zh) * | 2018-05-31 | 2018-12-07 | 科大讯飞股份有限公司 | 信息生成方法及装置 |
CN109033428A (zh) * | 2018-08-10 | 2018-12-18 | 深圳市磐创网络科技有限公司 | 一种智能客服方法及系统 |
CN109033270A (zh) * | 2018-07-09 | 2018-12-18 | 深圳追科技有限公司 | 一种基于人工客服日志自动构建客服知识库的方法 |
CN109344320A (zh) * | 2018-08-03 | 2019-02-15 | 昆明理工大学 | 一种基于Apriori的图书推荐方法 |
CN109815323A (zh) * | 2019-01-08 | 2019-05-28 | 四川灵灵器机器人有限责任公司 | 一种人机交互训练问答生成算法 |
CN110134777A (zh) * | 2019-05-29 | 2019-08-16 | 三角兽(北京)科技有限公司 | 问题去重方法、装置、电子设备和计算机可读存储介质 |
CN110362662A (zh) * | 2018-04-09 | 2019-10-22 | 北京京东尚科信息技术有限公司 | 数据处理方法、装置以及计算机可读存储介质 |
CN111373395A (zh) * | 2018-08-31 | 2020-07-03 | 北京嘀嘀无限科技发展有限公司 | 基于层次聚类的人工智能系统和方法 |
CN111667029A (zh) * | 2020-07-09 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种聚类方法、装置、设备及存储介质 |
CN112215646A (zh) * | 2020-10-12 | 2021-01-12 | 四川长虹电器股份有限公司 | 基于改进Aprion算法的品牌推广方法 |
CN116860951A (zh) * | 2023-09-04 | 2023-10-10 | 贵州中昂科技有限公司 | 一种基于人工智能的信息咨询服务管理方法及管理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354185A (zh) * | 2015-10-30 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 用于问答系统挖掘关联问句的方法及装置 |
CN105354300A (zh) * | 2015-11-05 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 一种信息推荐方法及装置 |
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN106372107A (zh) * | 2016-08-19 | 2017-02-01 | 中兴通讯股份有限公司 | 自然语言文句库的生成方法及装置 |
US20170109355A1 (en) * | 2015-10-16 | 2017-04-20 | Baidu Usa Llc | Systems and methods for human inspired simple question answering (hisqa) |
CN106776797A (zh) * | 2016-11-22 | 2017-05-31 | 中国人名解放军理工大学 | 一种基于本体推理的知识问答系统及其工作方法 |
CN106844723A (zh) * | 2017-02-10 | 2017-06-13 | 厦门大学 | 基于问答系统的医学知识库构建方法 |
-
2017
- 2017-10-19 CN CN201710976008.5A patent/CN107844533A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170109355A1 (en) * | 2015-10-16 | 2017-04-20 | Baidu Usa Llc | Systems and methods for human inspired simple question answering (hisqa) |
CN105354185A (zh) * | 2015-10-30 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 用于问答系统挖掘关联问句的方法及装置 |
CN105354300A (zh) * | 2015-11-05 | 2016-02-24 | 上海智臻智能网络科技股份有限公司 | 一种信息推荐方法及装置 |
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN106372107A (zh) * | 2016-08-19 | 2017-02-01 | 中兴通讯股份有限公司 | 自然语言文句库的生成方法及装置 |
CN106776797A (zh) * | 2016-11-22 | 2017-05-31 | 中国人名解放军理工大学 | 一种基于本体推理的知识问答系统及其工作方法 |
CN106844723A (zh) * | 2017-02-10 | 2017-06-13 | 厦门大学 | 基于问答系统的医学知识库构建方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362662A (zh) * | 2018-04-09 | 2019-10-22 | 北京京东尚科信息技术有限公司 | 数据处理方法、装置以及计算机可读存储介质 |
CN108595629B (zh) * | 2018-04-24 | 2021-08-06 | 北京慧闻科技发展有限公司 | 用于答案选择系统的数据处理方法及应用 |
CN108595629A (zh) * | 2018-04-24 | 2018-09-28 | 北京慧闻科技发展有限公司 | 用于答案选择系统的数据处理方法及应用 |
CN108763535A (zh) * | 2018-05-31 | 2018-11-06 | 科大讯飞股份有限公司 | 信息获取方法及装置 |
CN108959388A (zh) * | 2018-05-31 | 2018-12-07 | 科大讯飞股份有限公司 | 信息生成方法及装置 |
CN108959388B (zh) * | 2018-05-31 | 2020-09-11 | 科大讯飞股份有限公司 | 信息生成方法及装置 |
CN108763535B (zh) * | 2018-05-31 | 2020-02-07 | 科大讯飞股份有限公司 | 信息获取方法及装置 |
CN109033270A (zh) * | 2018-07-09 | 2018-12-18 | 深圳追科技有限公司 | 一种基于人工客服日志自动构建客服知识库的方法 |
CN109344320A (zh) * | 2018-08-03 | 2019-02-15 | 昆明理工大学 | 一种基于Apriori的图书推荐方法 |
CN109033428A (zh) * | 2018-08-10 | 2018-12-18 | 深圳市磐创网络科技有限公司 | 一种智能客服方法及系统 |
CN109033428B (zh) * | 2018-08-10 | 2021-09-10 | 深圳市磐创网络科技有限公司 | 一种智能客服方法及系统 |
CN111373395A (zh) * | 2018-08-31 | 2020-07-03 | 北京嘀嘀无限科技发展有限公司 | 基于层次聚类的人工智能系统和方法 |
CN109815323A (zh) * | 2019-01-08 | 2019-05-28 | 四川灵灵器机器人有限责任公司 | 一种人机交互训练问答生成算法 |
CN110134777A (zh) * | 2019-05-29 | 2019-08-16 | 三角兽(北京)科技有限公司 | 问题去重方法、装置、电子设备和计算机可读存储介质 |
CN111667029A (zh) * | 2020-07-09 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种聚类方法、装置、设备及存储介质 |
CN111667029B (zh) * | 2020-07-09 | 2023-11-10 | 腾讯科技(深圳)有限公司 | 一种聚类方法、装置、设备及存储介质 |
CN112215646A (zh) * | 2020-10-12 | 2021-01-12 | 四川长虹电器股份有限公司 | 基于改进Aprion算法的品牌推广方法 |
CN116860951A (zh) * | 2023-09-04 | 2023-10-10 | 贵州中昂科技有限公司 | 一种基于人工智能的信息咨询服务管理方法及管理系统 |
CN116860951B (zh) * | 2023-09-04 | 2023-11-14 | 贵州中昂科技有限公司 | 一种基于人工智能的信息咨询服务管理方法及管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844533A (zh) | 一种智能问答系统及分析方法 | |
CN108073568B (zh) | 关键词提取方法和装置 | |
US10198431B2 (en) | Information relation generation | |
CN110633366B (zh) | 一种短文本分类方法、装置和存储介质 | |
WO2023108980A1 (zh) | 基于文本对抗样例的信息推送方法及装置 | |
TWI556180B (zh) | 用以遞迴檢閱網際網路及其他來源以識別、收集、管理、判定及鑑定商業身分與相關資料之系統及方法 | |
WO2018151856A1 (en) | Intelligent matching system with ontology-aided relation extraction | |
Vysotska et al. | Development of Information System for Textual Content Categorizing Based on Ontology. | |
Burdisso et al. | τ-SS3: A text classifier with dynamic n-grams for early risk detection over text streams | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
CN109271624A (zh) | 一种目标词确定方法、装置及存储介质 | |
CN112132238A (zh) | 一种识别隐私数据的方法、装置、设备和可读介质 | |
CN111325018A (zh) | 一种基于web检索和新词发现的领域词典构建方法 | |
CN111061939A (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
Paulheim | Machine learning with and for semantic web knowledge graphs | |
CN115935983A (zh) | 事件抽取方法、装置、电子设备及存储介质 | |
Glass et al. | Inducing implicit relations from text using distantly supervised deep nets | |
CN113535949A (zh) | 基于图片和句子的多模态联合事件检测方法 | |
CN117272142A (zh) | 一种日志异常检测方法、系统及电子设备 | |
Tarnpradab et al. | Attention based neural architecture for rumor detection with author context awareness | |
CN115328945A (zh) | 数据资产的检索方法、电子设备及计算机可读存储介质 | |
Butcher | Contract Information Extraction Using Machine Learning | |
Mirylenka et al. | Linking IT product records | |
CN112214511A (zh) | 一种基于wtp-wcd算法的api推荐方法 |
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 |