700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python NLP 自然语言处理 隐马尔可夫HMM 维特比Viterbi算法 音字转换实现

Python NLP 自然语言处理 隐马尔可夫HMM 维特比Viterbi算法 音字转换实现

时间:2022-09-01 04:07:28

相关推荐

Python NLP 自然语言处理 隐马尔可夫HMM 维特比Viterbi算法 音字转换实现

前言

利用viterbi算法进行自然语言处理当中的音字转换,即给出一串拼音,输出这串拼音对应的句子。

代码

import osimport pandas as pdimport numpy as npfrom collections import Counterimport jsonyl = pd.read_table(uAbgram.txt, header=None, delim_whitespace=True)sum = float(np.sum(np.array(yl.iloc[:, 1])))w_lis = list(yl.iloc[:, 0])# 读取词频统计、音频统计词典def read_dict():f1 = open(pron.json, )f2 = open(char.json, )pron = json.load(f1)char = json.load(f2)return pron, char# 计算发射概率def cal_init_prob(sentence, pron):first = sentence[0]shoot_prob = dict()for c in pron[first]:shoot_prob[c] = (-np.log(float(yl[yl.iloc[:, 0] == c][1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。