2021-3-29

昨天终于把解分部的功能做完了,但是最后发现竟然比原文件少了一条数据。
看长度,加输出,把标识数显示为笔画,看起来都是正常按原来思路来的,但是总是差一条。。。
后来我终于想到把原文件的关键字放进处理后的数据里检查看看有没有,终于发现了一条数据,这条数据似乎是嵌套定义,但实际只是部件和基本组件重名而已。

啊!数据耦合好严重!
想加一个父子部件重名的判别条件,似乎和我现在的递归冲突。
改了一下合并方法的参数列表。看来我离终极大佬差了不少距离,没有面向未来编程。

这么点个小问题,让我搞了一个多将近两个小时,效率太低了。

字的笔画列表算出来了,但是保留gb字符集得到的字数却有点问题,少了几百字。
尝试检查gb中不在处理结果中的字条,原来少的部分散落在组件中,看来还需要把组件的处理信息也放到最终的推导结果中。
加上组件信息后再过滤非GB字符就对了。
处理后的结果字加上笔画竟然达到了78692行,397KB,有点担心运行效率的问题了。
非常担心!
读取文件用时0.003988981246948242,而整个加载时间却达到了5.501307010650635,说明反序列化效率不高。
先写吧,写完再说,加载到内存里就快了。

推导部件和字的功能应该算是完成了,提交上,想想明天干啥吧。
转化提取应该是还差最后一个环节,把各方面的信息提取特征出来
每个字要有什么字段的模型现在已经做成一个类,
需要再写一个子类,作为初始化的默认值。
父类类内就需要描述一点功能了,需要加载权值文件到内存中,获取权值信息,如果权值文件没有则需要生成。
生成权值文件,需要用到字和部件的简化信息,需要调用Compound相关功能,得到简化信息后,利用子类的默认值进行初始化,生成权值列表,列表生成后保存到文件。
至此,提取特征的环节大概差不多了,转化提取模块也算完成。

2021-3-30

昨晚竟然看到一个开发输入法的日记,至今开发了七个月了,好像也还是有一些问题,实在不咋简单

学习一下,就按周或者按月放一篇吧,不然都太碎了

类中定义的变量,类似静态变量,所有实例化的对象共用一个地址
python 的int大小竟然是400字节,但是具体的整数对象的话就就没有那么大,对象大小随着数字增大而增大。

那会想着改用整数的不同位来区分各笔画,用在计算曼哈顿距离的笔画统计值上,想用一个类似掩码计算的方式。
这种思路大概只能用于区分有没有某笔画,曼哈顿距离还是要老老实实用字典或者数组

试一下掩码,要看某字合不合要求,首先要看字有没有缺少当前输入的所有笔画种类
要求输入有,字没有的位,即将输入作为掩码,字代入

a=110 m=011(掩) 目标:001a&m=010a^m=101a|m=111~a=001~m=100
a&~m=100
a^~m=010
a|~m=110(将此取反)
~a&m=001(符合要求)

从上推演结果可以看出,将字的缺失笔画置1,包含笔画置0,和输入码相与不为0即说明当前字不满足输入要求,应该从候选结果中剔除。
所以,在字初始化时,要将其缺失笔画置1,包含笔画置0

凭什么python的int的长度是那个样子?上网搜索的结果不尽人意,链式引用很容易断链找不到信息源出来。
python int支持动态扩展,已知的单个元素存储15位二进制数(64位系统30位),
已知int内部定义:
struct _longobject {
PyObject_VAR_HEAD
digit ob_digit[1];
};
数字0是PyObject_VAR_HEAD长度24,往后的若干数字占用一个元素,4个字节(系统64位),以此可以解释一二

利用二进制位不同表示笔画的逻辑是正常的,控制台没有问题,但是文件存储好像不太行。不是文件存储的问题,是原来改 存文件操作的代码的时候忘了写返回值。

老是用for写输出,寻思弄个utils包,结果看了几个源码,一个注释都没有,让我想骂人。
算了还是自己写吧

映射映射,是个需要好好考虑的问题。

2021-3-31

昨晚好像又梦到代码了。

每次调试都要花费5、6秒的时间来等待加载文件序列化,有点浪费时间
写个输出工具都有小插曲,忘了可迭代对象嵌套定义的相关问题

还是要先动手啊,先把核心功能不管啥先写出来。

突然感觉把笔画标识数改成位标识可能会多占空间,记下偏移位数运行时计算也可,但是预存储却可以节约一定的计算时间,看了一下其中最大的笔划标识数在内存中的大小,28,并无二般,可以放心用了。

调下输出格式。
掩码区分笔画分类(横、横折、横勾等类)是否有,比如字中有横折,输入的是横,可以将几个笔画做或运算,然后和,,这里需要论证一下

a = 0b1011
m = 0b1100
c = 0b0110  # 同类的两个笔画相或结果,中间两位(2横勾,3横)表示同类笔画,3可代2
目标(第1位第4位忽略):01-10 : 0010-10 : 0010-01 : 01若将待处理数位的强特征(不可代换)位演化到弱特征位(可代换他位),即新目标为:11-10 : 0010-10 : 0010-01 : 01利用原来的~a&m,可得目标结果特征位演化过程:利用同类笔画相与结果,和待处理数据相与,不为零,则将该同类笔画的 低特征位 置1综上,提取转换时作预处理,将每一笔画相与,得到字的精确特征,然后利用同类规则计算各类笔画包含状态,将每类中低特征位置1(当前字包含该类笔画)或0(不含该类)再补充一点,最后,将特征位取反(方便输入时直接和掩码做与运算)

感觉这里好像是优化阶段的问题,但是在按键消息映射的模糊处理中,这一点似乎又绕不开。让精密的计算机做模糊的事,计算机似乎不太好受,人也不好受。
同类的组织建立,弱特征根不太好确定,分类尤其不好组织。
就用二元组吧,记录强特征到弱特征的路径。

一 14
横: 1
横折: 512
横折弯钩: 65536
横折折: 1048576
横折弯
横折折折: 524288
横折折折钩: 131072
横折折撇: 2097152
横折提: 134217728
横折钩: 8
横撇: 8192
横撇弯钩: 268435456
横斜钩: 33554432
横钩: 262144
丨9
竖: 64
竖弯: 67108864
竖弯钩: 4
竖折: 2048
竖折折: 536870912
竖折折钩: 256
竖折撇: 1024
竖提: 16384
竖钩: 2
丿3
撇: 16
撇折: 4096
撇点: 4194304
丶5
弯钩: 16777216
捺: 32
提: 32768
斜钩: 8388608
点: 128

怎么就这么费劲的呢?!

2021-4-1

先前学习的时候做的笔记确实是很好,虽然不很详细,但足够回忆知识点。
以后不管是学习还是搜索问题,就尽量都记录下来吧,按照自己理解整理一遍,详细的原文附上链接。也好方便回忆,查漏补缺。

脑子似乎有些疲,先写写论文吧,老师还让我再详细写写机器人的说明文档,先写文档换换脑子,有好点子随时记录下吧。

这么个简单的文档弄了一天没整明白。。下午脑子还昏昏欲睡。

记一下查论文的浏览器标签内容吧,智慧校园,万方、知网、,,,算了,还是新建个标签文件夹,把待看的网页扔进去吧先。

2021-4-2

人有的时候实在是太坏了,我在免费用谷歌学术,却还要用验证码来反向训练谷歌的ai。其实算是爱玩吧,人嘛,总不像机器死板,不知道它的ai现在还好吗

自动拆分群里的大佬说,原来上学,项目开题需要可行性报告,我似乎没接触过。。

2021-4-3

要养成及时提交的习惯。这堆了好多了。。

其实还是是我太菜,看看人家的论文里明明写着那么多参考文献呢。

笔画数量和按键数量不对等,这一点,还是要利用特征码来解决吗?
将同一按键对应的笔画化作一类,选择其中一个笔画作为按键映射码,将此类笔画按照先前预想的同类笔画的处理方式处理。

现在又开始担心,如果老师要问键位相关速度的当量怎么办,或许不会问,没这么为难?

【键位相关速度当量的研究】一堆符号,怎样排列,可以让每个符号前后都出现一遍其他符号?

2021-4-4

转化提取应该是还差最后一个环节,把各方面的信息提取特征出来

  1. 每个字要有什么字段的模型现在已经做成一个类,
  2. 需要再写一个子类,作为初始化的默认值。
  3. 父类类内就需要描述一点功能了,需要加载权值文件到内存中,获取权值信息,如果权值文件没有则需要生成。

生成权值文件,

  1. 需要用到字和部件的简化信息,需要调用Compound相关功能,
  2. 得到简化信息后,利用子类的默认值进行初始化,
  3. 计算特征码,生成权值列表,
  4. 列表生成后保存到文件。

特征码计算,

  1. 利用笔画列表,将每一笔画相与,得到字的精确特征,
  2. 然后利用同类规则计算各类笔画包含状态,
  3. 将每类中低特征位置1(当前字包含该类笔画)或0(不含该类)
  4. 最后,将特征位取反(方便输入时直接和掩码做与运算)

同类规则,文件内定义强特征到弱特征的字典映射

  • 预划分的同类笔画,定义强特征笔画和弱特征笔画(二元组)
  • 键划同类笔画,按键划定义按键内映射笔画,将键划内其他笔画以此为弱特征,按上条方式处理

至此,提取特征的环节大概差不多了,转化提取模块也算完成。

那天寻思看看机器人的文档,弄了弄visio,提示激活office,开了激活工具搞没了idea,只记得当时提示让关闭idea,但是竟然给删了,我很不可思议感觉

开发日记2021-14周相关推荐

  1. 杨镇一中2021高考成绩查询,杨镇一中高三第14周周历

    原标题:杨镇一中高三第14周周历 杨镇一中高三第14周重点工作: 2019年5月27日-6月2日 1.稳定常规. 2.精准帮扶. 3.智慧备考. 4.高考档案整理. 5.语文英语专家讲座. 6.高三适 ...

  2. 开发日记2021-17、20周

    2021-4-19 温习了下观察者模式,学习了状态模式. 但是感觉状态模式不是太能把握透彻,代码结构不太一样,理解起来有些偏差. 写着写着就陷入到了沉思中,总会忘记要把想法记下来. 这里就是草稿就是思 ...

  3. ping 工具开发日记(1)

    ping 工具开发日记(1) 2021.1.15 hyp 0.准备 开发语言:python 3.8 开发环境:windows 7 开发工具:pycharm 应用功能:1.能实现不同系统(windows ...

  4. Linux 小程序开发日记(终章)(pyqt+yolov5)

    Linux 小程序开发日记(终章) 哈喽大家好,我是爱喝欢乐水的柳橙汁,这一篇,是最后一篇啦.我会将所有个过程都梳理一遍. 关于代码的详细注释,大家就参考一下之前的笔记吧.这一篇博客我就放上我精简的代 ...

  5. 云音乐vue开发日记

    云音乐vue开发日记 前言 2020-11-21 1.vue中sass的配置 2.页面布局 3.引组件 2020-11-22 1.el-menu的使用 2.css经验 3.element-ui修改默认 ...

  6. 【DuerOS开发日记】2.打造属于自己的小度(1):使用PythonSDK

    目录 [Minecode|开发日记]1.据说小度在等待帅的人把它唤醒 [Minecode|开发日记]2.打造属于自己的小度(1):使用PythonSDK [Minecode|开发日记]3.打造属于自己 ...

  7. 20189200余超 2018-2019-2 移动平台应用开发实践第六周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第六周作业 Android简介.活动.UI组件 1.Android系统架构 这是Android系统架构图,够一目了然了吧,Androi ...

  8. 20145204张亚军第14周博客总结

    <信息安全系统设计基础>第14周学习总结 教材学习内容 虚拟存储器 虚拟存储器是硬件异常.硬件地址翻译.主存.磁盘文件和内核软件的完美交互. 为每个进程提供了一致的地址空间,并保护每个进程 ...

  9. YunTable开发日记(16)-教程(0.9版RC)

    为了帮助广大初学者能尽快上手YunTable,我代表整个YunTable核心团队写一篇使用教程,原因很简单,那就是我写文章比较熟练,呵呵:) 本教程将首先给大家介绍YunTable的架构和命令接口,以 ...

  10. 第14周---温湿度传感器采集

    第14周---温湿度传感器采集 实验目的 "软件I2C"和"硬件I2C" 温湿度数据采集 实验目的 学习I2C总线通信协议,完成基于I2C硬件协议的AHT20温 ...

最新文章

  1. 2020互联网校招薪资列表及谈薪注意事项
  2. 如何自动搞定全站图片的alt属性?
  3. 柠檬网络电视_睡觉时旁边放柠檬,真能促进长高提升记忆力?权威解答来了
  4. layoutSubviews调用
  5. delphi framerect 画透明_闭上眼睛一起进入彩色画的梦境,幻彩花精灵,彩铅手绘教程...
  6. Deepin添加PPA显示没有公钥签名
  7. Ruby的case语句
  8. 3-11 三天打渔、两天晒网 - 实验7 简单的循环程序 - 《Python编程基础及应用实验教程》(高等教育出版社)
  9. Python(4)print一个10行10列的星星图案
  10. 计算机无线网卡连接网络,无线网络连接不稳定
  11. 如何正确选择注塑模具浇口位置?这下真的懂了
  12. linux cadaver 命令,备份Linux系统的数据到坚果云
  13. 怎么给电脑安装window7系统呢
  14. 软考有哪些实质性的用处?
  15. android梦网物联卡信息,梦网物联云:实现智能穿戴只需一张物联网卡
  16. python爬取信息案例——部分国家东京奥运奖牌
  17. C语言 用迭代法求 x=根号a。求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2
  18. OC 教程 UI快速创建模板
  19. 有个朋友要做眼睛手术
  20. 基于matlab的热红外图像温度检测

热门文章

  1. Intellij IDEA中包下建包总在同一级的解决方法
  2. 工业互联网:6 商业模式
  3. 将展开型博弈转换成策略型博弈
  4. wps保存的csv文件是什么编码的_厌烦了无限制的广告?快来试试这款办公软件,媲美微软和WPS...
  5. es4----es6数组方法
  6. 常见的IP地址定位术语大集合
  7. 【pwn学习】堆溢出(三)- Unlink和UAF
  8. Win10连接网络打印机提示0x0000052e?
  9. 揭秘软文外链代发产业
  10. 图片加水印后下载(满屏水印,单个水印,可自定义角度)