基于聚类算法的案例匹配方法及系统与流程



1.本发明涉及数据处理技术领域,具体地说是基于聚类算法的案例匹配方法及系统。


背景技术:



2.随着计算机设备及网络技术的蓬勃发展及快速普及,许多传统的信息处理方式因此而改变,大量原本是以书面形式存在的文本信息,被转化成电子文本的形式来储存及传递,但是信息的产生和传递效率提升时,也产生信息爆炸的现象,但传统的信息检索方式可能无法有效帮助我们获取关键信息,所以试图从文本中获取有效信息的研究因此产生。目前文本挖掘技术已经在医学,法律,工程,计算机等很多领域广发应用。在法律方面,日常的法律运作信息化程度也越来越高。计算机技术的发展,使得计算机技术可以应用于快速处理法律文本信息。信息网络和信息系统每天都会有大量文本数据需要处理,这些文本资源中的关键信息可以通过计算机技术提取出来,但因为提取关键文本信息的技术并未应用到法律与案例行为的匹配,所以在法律方面的智能技术比较匮乏。
3.如何对案例信息与法律信息进行匹配,是需要解决的技术问题。


技术实现要素:



4.本发明的技术任务是针对以上不足,提供基于聚类算法的案例匹配方法及系统,来解决如何对案例信息与法律信息进行匹配的技术问题。
5.第一方面,本发明一种基于聚类算法的案例匹配方法,用于实现案例信息与法律信息的匹配,所述方法包括如下步骤:
6.获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中;
7.分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词;
8.基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量;
9.基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。
10.作为优选,对案例文本和法条文本进行预处理,将案例文本和法条文本中无关字符去掉后,分别进行中分分词处理。
11.作为优选,通过jieba分词方法对案例文本和法条文本进行中文分词处理。
12.作为优选,所述具有多个特征词的案例文本以及法律文本、通过tf-idf 权重计算方法构建文本特征向量,包括如下步骤:
13.将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;
14.将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩
阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;
[0015]
统计每个词语的if-idf权重值;
[0016]
获取词袋模型中所有的词语;
[0017]
获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf矩阵元素w[i][j]表示j词在i个文本下的if-idf权重值。
[0018]
作为优选,基于所述特征向量文本为输入,通过k-means算法进行案例和法律的特征匹配。
[0019]
第二方面,本发明一种基于聚类算法的案例匹配系统,用于通过如第一方面一项所述的基于聚类算法的案例匹配方法进行案例和法律的匹配,所述系统包括:
[0020]
采集模块,所述采集模块用于获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中;
[0021]
分词模块,所述分词模块用于分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词;
[0022]
向量构建模块,所述向量构建模块用于基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量;
[0023]
聚类分析模块,所述聚类分析模块用于基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。
[0024]
作为优选,所述分词处理模块用于对案例文本和法条文本进行预处理,将案例文本和法条文本中无关字符去掉后,分别进行中分分词处理。
[0025]
作为优选,所述分词处理模块用于通过jieba分词方法对案例文本和法条文本进行中文分词处理。
[0026]
作为优选,所述向量构建模块用于执行如下:
[0027]
将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;
[0028]
将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;
[0029]
统计每个词语的if-idf权重值;
[0030]
获取词袋模型中所有的词语;
[0031]
获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf矩阵元素w[i][j]表示j词在i个文本下的if-idf权重值。
[0032]
作为优选,所述聚类分析模块用于基于所述特征向量文本为输入,通过 k-means算法进行案例和法律的特征匹配。
[0033]
本发明的基于聚类算法的案例匹配方法及系统具有以下优点:对案例文本和法律文本进行分词,提取作为特征的词语,基于上述分词后的文本、通过通过tf-idf权重计算方法构建文本特征向量,并进行聚类,可以高效快速的实现法律和案例的匹配。
附图说明
[0034]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]
下面结合附图对本发明进一步说明。
[0036]
图1为实施例1基于聚类算法的案例匹配方法的流程框图;
[0037]
图2为实施例1基于聚类算法的案例匹配方法中某个案例的聚类结果示意图;
[0038]
图3为实施例1基于聚类算法的案例匹配方法中所有案例与法律的聚类结果示意图。
具体实施方式
[0039]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0040]
本发明实施例提供基于聚类算法的案例匹配方法及系统,用于解决的技术问题。
[0041]
实施例1:
[0042]
本发明一种基于聚类算法的案例匹配方法,用于实现案例信息与法律信息的匹配,该方法包括如下四个步骤。
[0043]
步骤s100、获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中。
[0044]
本实施例中获取的案例文本以及文本均为txt格式,将所有的案例文本和法律文本均存储于同一个目录下的文件夹中,便于后续遍历文本进行中文分词处理。
[0045]
步骤s200、分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词。
[0046]
本实施例步骤s200对案例文本和法律文本进行预处理,读取案例文本和法条文本的文本内容,将无关字符去掉后,分别进行中分分词处理。
[0047]
本实施例中采用jieba分词方法进行中文分词处理,因此在实施过程中,可调用content_seg=jieba.cut(content)对文本内容分词。
[0048]
结巴分词三种分词模式:
[0049]

精确模式:将句子精确切分,通常对文本进行精确分析,适合;
[0050]

全模式:将文本中句子的词语切分开来,不能进行歧义辨别,但是切分速度很快;
[0051]

索引擎模式:适用于对搜索引擎进行分词,对长词细分。
[0052]
步骤s300、基于所述具有多个特征词的案例文本以及法律文本、通过 tf-idf权重计算方法构建文本特征向量。
[0053]
通过步骤s200对文本进行分词以后,步骤s300所有的法律和案例文本信息聚合在一个txt文本里,一条法律或一条案情是一行代表其中一个文档。特性向量就是将文本表示成向量,将文本结构化。文本中每个词都有一个权重,权重代表了每个词语对于文档相关性
的重要程度。提取特征词后,需要进行权重处理。
[0054]
本实施例采用的tf-idf权重方法,对于该方法,tf指的是词频,idf 指的是倒文档频率,词频很好理解,就是某个特征词出现的频率,倒文档频率总的文档的数目除含有某个关键词的文档的数目的对数值。计算公式如下:
[0055][0056]
tf-idf=词频(tf)x逆文档频率(idf)
[0057]
其中,|d|指的是总的文档的数目,|w∈d|是包含某个词语的文档的数目。 tf-idf计算权重的结果可以看出某个词对于这个文本的重要性,权重越大,就越重要。
[0058]
作为步骤s300的具体实施,包括如下步骤:
[0059]
s310、将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;
[0060]
s320、将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;
[0061]
s330、统计每个词语的if-idf权重值;
[0062]
s340、获取词袋模型中所有的词语;
[0063]
s350、获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf 矩阵元素w[i][j]表示j词在i个文本下的if-idf权重值。
[0064]
其中,上述具体操作中,步骤s310将案例文本和法律文本聚合操作过程中,打开分词后的文件,遍历所有的txt文件,将每一行存为一个文档,操作代码如下:
[0065]
def merge file():
[0066]
path=r"f:\\bi\chinese_text_classification-master\test
‑‑
seg\\"
[0067]
resname="test result.txt"
[0068]
if os.path.exists(resname):
[0069]
os.remove(resname)
[0070]
result=codecs.open(resname,'utf-8')
[0071]
num=1
[0072]
while num(=108:
[0073]
name="aid"%num
[0074]
filename=path+str(name)+".txt"
[0075]
source=open(filename,r')
[0076]
line=source,readline()
[0077]
line=line.strip(\n')
[0078]
line=line.strip\r'
[0079]
while line!=""
[0080]
line=unicode(line,"utf-8")
[0081]
line=line.replace("\n',”)
[0082]
line=line.replace(\r,”)
[0083]
result.write(line+”)
[0084]
line=source,readline()
[0085]
else:
[0086]
print

end file:'+str(nun)
[0087]
result.write(\r\n')
[0088]
source.close()
[0089]
num=num+1
[0090]
步骤s320读取已经合并后的txt文本,一行为一个文档,将文本中的词语转化为词频矩阵,矩阵元素a[i][j]表示j词在i类文本下的词频,统计每个词语的tf-idf权值,然后获取次贷模型的所有词语,将tf-idf矩阵抽取出来,元素 w[i][j]表示j词在i类文本中的tf-idf权重,打印特征文本向量。具体操作代码如下:
[0091]
#读取语料一行语料为一个文档
[0092]
for line in open(

test15_result.txt’,encoding=’gb18030’,errors=’ignore’),
[0093]
readline():
[0094]
#print line
[0095]
corpus.append(line.strip())
[0096]
#print corpus
[0097]
#将文本中的词语转换为词频矩阵矩阵元素a[i][j]表示j词在i类文本下的词频
[0098]
#该类会统计每个词语的tf-idf权重
[0099]
transformer=tfidftransformer()
[0100]
#第一个fit-transform是计算tf-idf第二个fit-transform是将文本转换为词频矩阵
[0101]
tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))
[0102]
#获取词袋模型中的所有词语
[0103]
word=vectorizer.get_feature_names()
[0104]
#将tf-idf矩阵抽取出来,元素w[i][j]表示j词在i类文本中的tf-idf权重;
[0105]
weigth=tfidf.toarray()
[0106]
#打印特征向量文本
[0107]
print(

features length:’+str(len(word)))
[0108]
resnam=’bh tfidf15_result.txt’[0109]
result=codes.open(resname,’w’,

utf-8’)
[0110]
for j in range(len(word)):
[0111]
result.write(word[j]+”)
[0112]
result.write(

\r\n\r\n’)
[0113]
#打印每类文本的tf-id词语权重,第一个for遍历所有文本,第二个for遍历某一类文本下的词语权重
[0114]
for i in range(len(word)):
[0115]
#pint u
”‑‑‑‑‑‑‑
这里输出第“,i,u”类文本的词语tf-id权重
‑‑‑‑‑‑‑”
[0116]
for j in range(len(word)):
[0117]
#print weigth[i][j]
[0118]
result.write(str(weight[i][j]+”))
[0119]
result.write(

\r/n/r/n’)
[0120]
result.close()
[0121]
步骤s400、基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。
[0122]
对于步骤s400,第一方面,本实施例采用k-means算法进行案例和法律的特征匹配。k-均值算法设定了每个划分的中心点,从而形成以中心为分类依据的球形簇;在验证所产生的划分是否合理方面,k-均值算法以划分的类内紧致性作为标准,具体来说,是以点与点的距离之和作为度量标准。这种划分标准以及度量标准保证了算法可以很快达到收敛,这是k-均值算法相比于其他算法的一个重要优势。
[0123]
在k-均值算法中,涉及计算每个对象与各个簇中心点之间的距离,这个距离的度量也是由用户自行设定的。通常的距离度量方式有曼哈顿距离和欧几里得距离等。针对不同的数据类型可以选取不同的距离度量标准。在一般情况下,欧几里得距离是一个很好的度量数据间相似性的标准,也是大部分k-均值算法中选定的距离度量标准。在k-均值算法的执行过程中,需要重复的对每个对象与其所属簇中心点之间的相似度进行计算。而当数据分布在低维欧几里得空间当中时,算法中数据点之间的许多相似度的计算都有可能避免,这将很大程度地提升算法的运行速度。
[0124]
聚类算法的目标通常用一个目标函数来表示。采用欧式距离度量度量相似性的k-均值算法中通常使用误差的平方和作为度量聚类质量的目标函数。给定一个包含n个数据对象的数据集合,算法目标函数如下:
[0125][0126]
第二方面,本实施例采用的算法流程如下:
[0127]
(1)输入:所有的数据点a,聚类个数k
[0128]
(2)随机选取k个初始的中心点
[0129]
(3)repeat
[0130]
(4)计算每个点与各中心点之间的距离,将点分派到其距离最近的中心点所属的簇中
[0131]
(5)求出簇中心点,更新簇的中心点
[0132]
(6)直到中心点不发生变化。
[0133]
第三方面,k的选择如下:
[0134]
对于k-均值算法,有几个十分重要的因素影响着算法的聚类效果,其中包括簇数目k的选定,初始中心点的选取,距离度量方法的选择以及收敛条件的设定。k的选定和初始中心点的选取在算法最初的阶段决定的,这两个部分的初始化会直接影响最终能否得到合适的簇。
[0135]
均值聚类算法最被人诟病的是类别个数k的选择,这个需要先验知识的值的设定会对结果造成很大的影响,二在处理实际问题的过程中,往往是缺乏足够的先验知识的,因此,需要自己寻方法进行这个k的确定。
[0136]
首先是设定一个最大的阈值,令k从小到大逐渐增大,观察sse的变化从而选取合适的k。因为k-均值算法中的目标函数是距离的平方和,随着k的增大,簇逐渐增加,每个簇内的类内相似性也随之增加,由此造成sse的变化是单调地减小。如果以算法目标为基准,选取时sse最小的k,则当k取最大值,即k为数据集中数据对象个数的时候对应的sse最小。但这样是毫无意义的,因为每个数据对象单独成一个簇。在这种方法中,需要绘制k-sse折线图。采取“手肘法”来确定适合的k。观察图像,在最初k很小时,k的增大会使sse 的值迅速减小。当k增加到一定数值时,sse的减小速度会减慢,之后趋于平缓。因此,选取图像中拐点附近的值作为k的初始值,可以得到较好的聚类效果。
[0137]
第四方方面,初始中心点的选择
[0138]
最基本的k-均值算法的初始点选择方式是随机选取k个点为初始中心点,但是这种随机的选取方式很容易造成算法最终陷入一个局部最优的解,所得到的聚类分布并不是最优的。
[0139]
第五方面,本实施例的聚类代码如下:
[0140]
from sklearn ciuster import kmeans
[0141]
clf=kmeans(n_clusters=5)
[0142]
s=clf.fit(weight)
[0143]
print(s)
[0144]
#中心点
[0145]
print(clf.cluster_centers_)
[0146]
#每个样本所属的簇
[0147]
label=[]
[0148]
print(clf.labels_)
[0149]
i=1
[0150]
while i《=len(clf.labels);
[0151]
print(i,clf.labels_[i-1])
[0152]
i=i+1
[0153]
基于上述聚类结果,可通过matplotlib,可以直接调用函数绘图。绘图结果如图2-3所示。
[0154]
某个案例行为聚类结果运行图如图2:可以很清楚地看出案情一附近有两个离的很近的点,这样聚类效果还是不错的。绿的点代表案例行为,红的点是法律条文。
[0155]
所有的法律文本和案例信息文本进行聚类,结果如图3所示:从图中可以看出案例行为分布较为密集,这也就是为什么使用聚类效果不好。并不能很好地区分出与案例行为匹配的法律条文。
[0156]
实施例2:
[0157]
本发明一种基于聚类算法的案例匹配系统,包括采集模块、分词模块、向量构建模块以及聚类分析模块,该系统可基于实施例1公开的方法进行案例和法律的匹配。
[0158]
采集模块用于获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中。
[0159]
本实施例中采集模块获取的案例文本以及文本均为txt格式,将所有的案例文本和法律文本均存储于同一个目录下的文件夹中,便于后续遍历文本进行中文分词处理。
[0160]
分词模块用于分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词。
[0161]
本实施分词模块用于对案例文本和法律文本进行预处理,读取案例文本和法条文本的文本内容,将无关字符去掉后,分别进行中分分词处理。
[0162]
本实施例中采用jieba分词方法进行中文分词处理,因此在实施过程中,可调用content_seg=jieba.cut(content)对文本内容分词。
[0163]
结巴分词三种分词模式:
[0164]

精确模式:将句子精确切分,通常对文本进行精确分析,适合;
[0165]

全模式:将文本中句子的词语切分开来,不能进行歧义辨别,但是切分速度很快;
[0166]

索引擎模式:适用于对搜索引擎进行分词,对长词细分。
[0167]
向量构建模块用于基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量。
[0168]
对文本进行分词以后,向量构建模块用于执行如下:将所有的法律和案例文本信息聚合在一个txt文本里,一条法律或一条案情是一行代表其中一个文档(如图2所示)。特性向量就是将文本表示成向量,将文本结构化。文本中每个词都有一个权重,权重代表了每个词语对于文档相关性的重要程度。提取特征词后,需要进行权重处理。
[0169]
本实施例采用的tf-idf权重方法,对于该方法,tf指的是词频,idf 指的是倒文档频率,词频很好理解,就是某个特征词出现的频率,倒文档频率总的文档的数目除含有某个关键词的文档的数目的对数值。计算公式如下:
[0170][0171]
tf-idf=词频(tf)x逆文档频率(idf)
[0172]
其中,|d|指的是总的文档的数目,|w∈d|是包含某个词语的文档的数目。 tf-idf计算权重的结果可以看出某个词对于这个文本的重要性,权重越大,就越重要。
[0173]
作为向量构建模块的具体操作,包括如下步骤:
[0174]
(1)将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;
[0175]
(2)将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;
[0176]
(3)统计每个词语的if-idf权重值;
[0177]
(4)获取词袋模型中所有的词语;
[0178]
(5)获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf矩阵元素w[i][j]表示j词在i个文
本下的if-idf权重值。
[0179]
其中,上述具体操作中,步骤(1)将案例文本和法律文本聚合操作过程中,打开分词后的文件,遍历所有的txt文件,将每一行存为一个文档。
[0180]
步骤(2)读取已经合并后的txt文本,一行为一个文档,将文本中的词语转化为词频矩阵,矩阵元素a[i][j]表示j词在i类文本下的词频,统计每个词语的tf-idf权值,然后获取次贷模型的所有词语,将tf-idf矩阵抽取出来,元素 w[i][j]表示j词在i类文本中的tf-idf权重,打印特征文本向量。
[0181]
聚类分析模块用于基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。
[0182]
对于该聚类分析模块,其采用k-means算法进行案例和法律的特征匹配。 k-均值算法设定了每个划分的中心点,从而形成以中心为分类依据的球形簇;在验证所产生的划分是否合理方面,k-均值算法以划分的类内紧致性作为标准,具体来说,是以点与点的距离之和作为度量标准。这种划分标准以及度量标准保证了算法可以很快达到收敛,这是k-均值算法相比于其他算法的一个重要优势。
[0183]
在k-均值算法中,涉及计算每个对象与各个簇中心点之间的距离,这个距离的度量也是由用户自行设定的。通常的距离度量方式有曼哈顿距离和欧几里得距离等。针对不同的数据类型可以选取不同的距离度量标准。在一般情况下,欧几里得距离是一个很好的度量数据间相似性的标准,也是大部分k-均值算法中选定的距离度量标准。在k-均值算法的执行过程中,需要重复的对每个对象与其所属簇中心点之间的相似度进行计算。而当数据分布在低维欧几里得空间当中时,算法中数据点之间的许多相似度的计算都有可能避免,这将很大程度地提升算法的运行速度。
[0184]
聚类算法的目标通常用一个目标函数来表示。采用欧式距离度量度量相似性的k-均值算法中通常使用误差的平方和作为度量聚类质量的目标函数。给定一个包含n个数据对象的数据集合,算法目标函数如下:
[0185][0186]
本实施例聚类分析模块采用的算法流程如下:
[0187]
(1)输入:所有的数据点a,聚类个数k
[0188]
(2)随机选取k个初始的中心点
[0189]
(3)repeat
[0190]
(4)计算每个点与各中心点之间的距离,将点分派到其距离最近的中心点所属的簇中
[0191]
(5)求出簇中心点,更新簇的中心点
[0192]
(6)直到中心点不发生变化。
[0193]
本实施例k均值算法中,k的选择如下:
[0194]
对于k-均值算法,有几个十分重要的因素影响着算法的聚类效果,其中包括簇数目k的选定,初始中心点的选取,距离度量方法的选择以及收敛条件的设定。k的选定和初始中心点的选取在算法最初的阶段决定的,这两个部分的初始化会直接影响最终能否得到合
适的簇。
[0195]
均值聚类算法最被人诟病的是类别个数k的选择,这个需要先验知识的值的设定会对结果造成很大的影响,二在处理实际问题的过程中,往往是缺乏足够的先验知识的,因此,需要自己寻方法进行这个k的确定。
[0196]
首先是设定一个最大的阈值,令k从小到大逐渐增大,观察sse的变化从而选取合适的k。因为k-均值算法中的目标函数是距离的平方和,随着k的增大,簇逐渐增加,每个簇内的类内相似性也随之增加,由此造成sse的变化是单调地减小。如果以算法目标为基准,选取时sse最小的k,则当k取最大值,即k为数据集中数据对象个数的时候对应的sse最小。但这样是毫无意义的,因为每个数据对象单独成一个簇。在这种方法中,需要绘制k-sse折线图。采取“手肘法”来确定适合的k。观察图像,在最初k很小时,k的增大会使sse 的值迅速减小。当k增加到一定数值时,sse的减小速度会减慢,之后趋于平缓。因此,选取图像中拐点附近的值作为k的初始值,可以得到较好的聚类效果。
[0197]
本实施例k均值算法中初始中心点的选择如下:
[0198]
最基本的k-均值算法的初始点选择方式是随机选取k个点为初始中心点,但是这种随机的选取方式很容易造成算法最终陷入一个局部最优的解,所得到的聚类分布并不是最优的。
[0199]
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

技术特征:


1.一种基于聚类算法的案例匹配方法,其特征在于,用于实现案例信息与法律信息的匹配,所述方法包括如下步骤:获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中;分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词;基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量;基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。2.根据权利要求1所述的基于聚类算法的案例匹配方法,其特征在于,对案例文本和法条文本进行预处理,将案例文本和法条文本中无关字符去掉后,分别进行中分分词处理。3.根据权利要求1所述的基于聚类算法的案例匹配方法,其特征在于,通过jieba分词方法对案例文本和法条文本进行中文分词处理。4.根据权利要求1所述的基于聚类算法的案例匹配方法,其特征在于,基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量,包括如下步骤:将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;统计每个词语的if-idf权重值;获取词袋模型中所有的词语;获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf矩阵元素w[i][j]表示j词在i个文本下的if-idf权重值。5.根据权利要求1-4任一项所述的基于聚类算法的案例匹配方法,其特征在于,基于所述特征向量文本为输入,通过k-means算法进行案例和法律的特征匹配。6.一种基于聚类算法的案例匹配系统,其特征在于,用于通过如权利要求1-5任一项所述的基于聚类算法的案例匹配方法进行案例和法律的匹配,所述系统包括:采集模块,所述采集模块用于获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中;分词模块,所述分词模块用于分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词;向量构建模块,所述向量构建模块用于基于所述具有多个特征词的案例文本以及法律文本、通过tf-idf权重计算方法构建文本特征向量;聚类分析模块,所述聚类分析模块用于基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。7.根据权利要求6所述的基于聚类算法的案例匹配系统,其特征在于,所述分词处理模块用于对案例文本和法条文本进行预处理,将案例文本和法条文本中无关字符去掉后,分
别进行中分分词处理。8.根据权利要求6所述的基于聚类算法的案例匹配系统,其特征在于,所述分词处理模块用于通过jieba分词方法对案例文本和法条文本进行中文分词处理。9.根据权利要求6所述的基于聚类算法的案例匹配系统,其特征在于,所述向量构建模块用于执行如下:将具有多个词语的案例文本和法律文本聚合到同一个目标文本中,所述目标文本中一条法律信息或一条案例信息为一行并代表一个法律问答或案件文档;将目标文本中词语转换为词频矩阵,词频矩阵的列对应目标文本中单词,词频矩阵行对应文本,词频矩阵中元素a[i][j]表示j词在i个文本下的词频;统计每个词语的if-idf权重值;获取词袋模型中所有的词语;获取if-idf矩阵,所述if-idf矩阵中每一行对应一段文本,为目标文本的向量表示,向量中的值为目标文本中词语的if-idf值,if-idf矩阵元素w[i][j]表示j词在i个文本下的if-idf权重值。10.根据权利要求6所述的基于聚类算法的案例匹配系统,其特征在于,所述聚类分析模块用于基于所述特征向量文本为输入,通过k-means算法进行案例和法律的特征匹配。

技术总结


本发明公开了基于聚类算法的案例匹配方法及系统,属于数据处理技术领域,要解决的技术问题为如何对案例案例信息与法律信息进行匹配。获取多个案例文本以及多个法律文本,将所述多个案例文本以及多个法律文本均存储于同一个文件夹中;分别对每个案例文本以及每个法律文本进行中文分词处理,得到具有多个词语的案例文本以及法律文本,所述词语作为特征词;基于所述具有多个特征词的案例文本以及法律文本、通过TF-IDF权重计算方法构建文本特征向量;基于所述特征向量文本为输入,通过聚类方法进行案例和法律的特征匹配。方法进行案例和法律的特征匹配。方法进行案例和法律的特征匹配。


技术研发人员:

高璇 单震 李萍

受保护的技术使用者:

浪潮卓数大数据产业发展有限公司

技术研发日:

2022.09.26

技术公布日:

2022/12/16

本文发布于:2024-09-23 23:27:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/41417.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文本   案例   所述   分词
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议