拼音输入法开发告一段落

news/2025/10/30 16:49:19/文章来源:https://www.cnblogs.com/funwithwords/p/19177550

[来龙去脉]

语料:wiki_zh 1.2GB

词典:74001行 sysdic,其中字约17,000个,来自googlepinyin (不是所有的GB18030汉字都能用UNICODE表示)。

词是googlepinyin+sunpinyin合并去重。

mmseg时只用了字。

118M lm_sc.t3g

This is a 3-gram back-off model, using -log(pr)
1 items in 0-level
10876 items in 1-level
1945235 items in 2-level
12444533 items in 3-level

训练时间:不到半小时。

效果:输入自然流畅。

TODO:

  • 往userdict里加词太慢,不断copy数据库,改成加词前自己备份文件,加词时不copy.
  • 把县可读xuan之类删掉。

用到的极其乱的程序:

#!/usr/bin/python

d = {}
def merge_all_w(f, s):d[f[0]] = ' '.join(f[1:])def get_all_g_w(f, s):w = f[0]if len(w) <= 1: returnf[1:] = f[3:]print(' '.join(f))def get_all_s_w(f, s):w = f[0]if len(w) <= 1: returnf[1:] = f[2:]print(' '.join(f))d = {}
def get_g_zi (f, s):w = f[0]if len(w) > 1: returnd.setdefault(w, []).append(f[3])d = {}
def sort_g_by_freq (f, s): # 按词频降序排列w = f[0]if len(w) <= 1: returnfreq = int(float(f[1]))f[1:] = f[3:]d.setdefault(freq, []).append(' '.join(f))wid = 16563
def get_g_23 (f, s): # 高频词里的二三字词global widxx = len(f[0])if xx != 2 and xx != 3: returnf[1] = str(wid); wid += 1f[2:] = f[3:]print(' '.join(f))def get_s_zi (f, s): #if int(f[1]) >= 100 and len(f[0]) == 1:f[1:] = f[2:]; print(' '.join(f))def all_minus_sys(f, s):if not f[0] in st: print(s)def sys_dic_pie(f, s):if int(f[1]) > 100 and len(f[0]) > 1:print(f[0], f[1], "'".join(f[2:]))else: print(s)wid = 58005
def usr_dic_pie(f, s):global widprint(f[0], wid, "'".join(f[1:]))wid += 1def do_ (cb):try:while True: s = input(); cb(s.split(), s)except EOFError: passexcept Exception as e : print('ERROR:', e)do_(usr_dic_pie)'''
do_(sys_dic_pie)
st = set()
for s in open('/t/sysdic', 'r'): st.add(s.split()[0])
do_(all_minus_sys)
do_(merge_all_w)
for k,v in d.items(): print(f'{k} {v}')
do_(get_all_s_w)
do_(get_all_g_w)
do_(get_g_23)
do_(get_g_zi)
n = 100
for k,v in d.items(): print(f'{k} {n}', ' '.join(v)); n += 1
#噷 16562 hm
do_(sort_g_by_freq)
for k in sorted(d.keys(), reverse=True):print('\n'.join(d[k]))do_(get_s_zi)
'''
# grep -v '%' 多音字
View Code

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fluid 正式入驻青云 KubeSphere Marketplace,共建云原生数据加速新生态

随着企业数字化转型的深入推进,云原生架构 已成为现代应用构建的主流选择。 在大数据处理、AI 大模型训推等业务场景中,如何实现高效弹性数据资源管理与调度,已成为云原生落地的关键挑战之一。 近日,云原生数据编排…

博客园第二次作业

关于分治算法寻找第k小的数(快速选择算法):基本情况:如果数组只有一个元素,直接返回该元素。 选择枢轴:从数组中随机选择一个元素作为枢轴。 分区操作:将数组分为三部分:小于枢轴的元素、等于枢轴的元素、大于…

2025年口碑好的防水三防灯用户好评厂家排行

2025年口碑好的防水三防灯用户好评厂家排行 在工业照明领域,防水三防灯因其卓越的防尘、防水、防腐性能,成为化工、矿山、户外场馆等严苛环境的首选照明设备。随着LED技术的成熟,市场对高品质三防灯的需求持续增长…

深入解析:2025 最新 Docker 镜像源加速列表与使用指南(10月更新)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

revit api选择selection class

revit api选择selection class// 在Revit二次开发中,Selection 类是用于处理Revit用户界面中元素选择的核心类。它允许你获取当前用户选择的元素,或者提示用户选择新的元素(包括单个元素、多个元素、点、边、面、矩…

IT岗位求职记录系统 - 呓语

使用Trae开发一个IT岗位求职记录系统,记录适合自己的IT岗位,主要目标是训练学生使用数据库的增删改查。功能,要求包括岗位的添加(字段要包括:企业名称、岗位名称、薪资、具体要求等)、岗位列表(筛选查询等功能)…

单独学智能体,是永远无法变现的

——只有场景化与商业化落地,才是真正的智能体出路一、现象:智能体火了,但你可能仍觉得“没用”最近你可能有这样的感觉: 打开社交媒体,不管是知乎、抖音、头条,几乎每天都有人在讲“智能体”“AI Agent”。 它们…

2025年可靠的公园音乐喷泉行业内知名厂家排行榜

2025年可靠的公园音乐喷泉行业内知名厂家排行榜行业概述音乐喷泉作为现代城市景观的重要组成部分,已从单纯的观赏性设施发展为融合声、光、电、水等多种元素的综合性艺术表演系统。随着技术进步和市场需求增长,音乐喷…

对数log讲解

1. 什么是对数? 对数是指数运算的逆运算。如果 \(a^b = c\)(其中 \(a > 0\) 且 \(a ≠ 1\)),那么 \(\log_a c = b\) 基本定义\(\log_a x = y\) 意味着 \(a^y = x\) 例如:\(\log_2 8 = 3\),因为 \(2^3 = 8\)2.…

2025年质量好的半自动真空贴体机最新TOP品牌厂家排行

2025年质量好的半自动真空贴体机最新TOP品牌厂家排行随着包装行业的快速发展,半自动真空贴体机已成为食品、医疗、工业等领域不可或缺的设备。2025年,市场上涌现出众多优秀的半自动真空贴体机品牌厂家,它们在技术创…

2025 年小型高压氧舱,单人高压氧舱,民用高压氧舱,进口高压氧舱厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!

引言 随着小型、单人、民用及进口高压氧舱在家庭保健、社区医疗等场景的普及,用户对产品品质、安全性及售后服务的要求愈发严苛。为精准筛选优质厂家,本次测评联合医疗器械行业协会、国家医用氧舱质量监督检验中心等…

基于小波变换的图像特征提取与畸变校正实现

一、技术实现 1. 小波多尺度特征提取 % 使用db4小波进行三级分解 [cA,cH,cV,cD] = wavedec2(I,3,db4);% 提取各尺度特征 level1 = appcoef2(cA,1); % 低频特征 level2 = detcoef2(all,cH,1); % 水平细节 level3 …

完整教程:3.0 labview使用SQLServer

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年包装机源头厂家最新推荐排行榜:覆盖多品类设备,精选 实力企业助企业高效采购给袋包装机/宠物食品包装机/宠物饲料包装机/预制袋包装机/水平包装机公司推荐

引言 当前包装行业自动化、智能化升级加速,市场上包装机厂家数量繁杂,产品质量、功能适配性差异显著,企业采购时常面临设备稳定性不足、售后服务滞后、定制化方案缺失等难题,尤其不同行业对设备卫生标准、精度、耐…

2025年5轴CNC加工源头厂家爱权威推荐榜单:插针/电极 /航空插头源头厂家精选

在高端制造业快速发展的背景下,5轴CNC加工技术作为精密制造的核心,广泛应用于航空航天、医疗器械、新能源汽车等关键领域。据行业调研数据显示,2024年全球5轴CNC加工服务市场规模已达181.8亿元,预计到2031年将增长…

playphrase

PlayPhrase,是一个基于短句的视频片段检索器。只要把想要查询语境的英文短句输入进去,就能得到数个台词包含这个短句的欧美原声影片片段。

.net开源acadsharp库读取dwg读取特定名称的块

.net开源acadsharp库读取dwg读取特定名称的块using System; using System.IO; using ACadSharp; using ACadSharp.IO; using ACadSharp.Entities; using ACadSharp.Tables; // BlockRecord 在这个命名空间下public cla…

2025年知名的液压缸厂家最新TOP实力排行

2025年知名的液压缸厂家最新TOP实力排行在工业自动化与机械制造领域,液压缸作为核心动力元件,其性能与质量直接影响整个系统的运行效率与稳定性。随着中国制造业的持续升级,液压缸行业也迎来了新一轮的技术革新与市…

Metasploit基础使用教程

Metasploit基础使用教程 msfconsole 是 Metasploit Framework 的主控制台程序,它是用户与 Metasploit 交互最常用的方式。 功能特点:提供统一界面来加载 exploit、payload、auxiliary 模块 支持自动补全、历史记录、…

2025年绞吸式抽沙船厂家权威推荐榜单:绞吸式清淤船/绞吸挖泥船 /绞吸抽沙船源头厂家精选

在河道疏浚、港口建设和矿产开采领域,高效可靠的绞吸式抽沙船正成为提升作业效率的核心装备。 根据全球疏浚设备市场分析报告显示,绞吸式抽沙船在全球疏浚船舶中占比达到34%,年销售额增长率维持在5.8% 的水平。中国…