同义词词林 使用 java_利用同义词林计算词的相似度——基于路径与深度的同义词词林词语相似度计算...

本文介绍了一种基于路径与深度的同义词林词语相似度计算方法,通过Java代码实现。首先,根据《中文信息学报》中的公式进行代码设计,然后对结果进行调整。代码包括节点类定义、词林结构构建、相似度计算等部分,最终将计算结果保存到文件中。
摘要由CSDN通过智能技术生成

我主要根据《中文信息学报》2016年9⽉第30卷第5期中的《基于路径与深度的同义词林词语相似度计算》提及到的计算公式进行了代码实现,并根据其最终的结果对原设计进行了微调。

import os

import csv

import re

class Node(object):

def __init__(self,id,children,parent,words):

self.id = id.copy()

self.children = []

self.parent = None

self.words = words.copy()

self.level = len(id) if len(id) < 5 else 5

def append_node(self,child):

self.children.append(child)

child.parent = self

return

def normalize(cilin):

cilin_to_list = cilin.split()

id_list = re.findall(r"\D|\d\d",cilin_to_list[0].strip())

word_list = cilin_to_list.copy()

del word_list[0]

new_node = Node(id_list,None,None,word_list)

return new_node

def findparent(Root,sub_node,depth):

if len(Root.children) == 0:

retu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值