Giter Site home page Giter Site logo

请教脚本用法 about stroke-seq_mb HOT 3 OPEN

yq-ysy avatar yq-ysy commented on July 22, 2024
请教脚本用法

from stroke-seq_mb.

Comments (3)

YQ-YSY avatar YQ-YSY commented on July 22, 2024

发现在小狼毫部署时有很多重复写入错误,考虑应该是词库里的问题,又不知道“辅助程序Python3脚本”里的脚本怎么用,能否麻烦你指导一下怎么用?能否附上示例文件?

Python3脚本主要是用于筛选词库、生成编码、剔除不良词汇等功能。不能直接用于 Rime 本身。
你说的“很多重复写入错误”是指什么?

如果是指一些罕见词汇干扰了常见词汇的排序,例如,97.3797 有两个词:手笔、毛笔。
那么第一步可以用“清理特定词汇.py”来剔除“手笔”这个词(文件里有使用说明),
然后第二步再重新做成 Rime 字典(加上 Rime 规定的文件头)。
对于不熟悉 Rime 的初学者来说,这二个步骤比较麻烦,还不如直接在字典文件里查找不想要的词,手工删除。

from stroke-seq_mb.

chzhsh avatar chzhsh commented on July 22, 2024

感谢回复,重复写入错误提示主要是字词和编码重复但词频不重复的问题:
买 544134 670
买 544134 550
这里小狼毫错误日志就会记录下这条是重复编码错误。
Python3脚本我这里没有运行成功
辅助程序Python3脚本\按行列提取词库.py", line 11, in
readfile = open(sys.argv[1]).readlines()
IndexError: list index out of range
脚本里的第一第二个文件怎么指定的?
#此文件是 python3 脚本,用于排除原词库已有的字词,或者黑名单。用python字典的方式,速度特快,适合百万千万以上级别的词库比较。
#从第二个文件里的提取词组,与第一个文件的提取的关键字(字典)比较,如果不重复,则写入C文件。
#注意所有文件都应保存成utf-8的文本文件,末尾不要有空行。

fa=open(sys.argv[1]).readlines() # 黑名单
fb=open(sys.argv[2]).readlines() # 待清理的文件
outfile = open(sys.argv[2]+"-已清理.txt","w") # 输出已清理的文件

from stroke-seq_mb.

YQ-YSY avatar YQ-YSY commented on July 22, 2024

感谢回复,重复写入错误提示主要是字词和编码重复但词频不重复的问题:
买 544134 670
买 544134 550
这里小狼毫错误日志就会记录下这条是重复编码错误。

——这不是“重复编码错误”,而是故意这样做的。
Rime 有自动排除重码的功能,但这恰恰不是我想要的。
对,我就是需要这样的“故意重码”。

“单手笔顺输入法”包含有三种编码:
“买”笔顺码:544134,词频以 550 为起始。
“买”六全码:544134,词频以 670 为起始。
“买”精简码:544,词频以 800 为起始。

“买”这个字,都是由单一笔画组成,所以就没用上“偏旁部首代码表”里的任何一个代码,
而且,“买”这个字又刚巧是六个笔画,因此“买”的“六全码”就与“笔顺码”完全相同。

——编码重复,但词频不重复,为什么还要放在同一个码表文件里?
这是为了:在未来的某一天,
如果有程序员按我的“悬浮栏功能设计说明”开发专用的“单手笔顺输入法”软件程序时,
通过码表里的预设词频,就能分辨出“哪个是笔顺码、哪个是六全码、哪个是精简码”;
数据库里就不需要再额外增加一个字段“用来表明属于哪个编码,节省了数据量。

并且,我在“悬浮栏功能设计说明”中已经表明:
在“提示栏”里用不同的颜色显示“这是笔顺码、这是六全码、这是精简码”;
用户就能一目了然,知道“买”字的“笔顺码”和“六全码”是相同的。

假设有十几个字与“买”字的“六全码”相同,但“笔顺码”不同,
用户打字时,翻页查看,他就翻过了“六全码”的“买”字,到下一页去了。
翻查完了这十几个字的“六全码”,用户都不满意,又想回头打出这个“买”字,
如果同一个码表文件里只有一个编码,这时他就只能又翻回去,按上下键来重新选择,很麻烦。

现在,三种编码放在同一个码表文件里,编码重复也不剔除,好处就来了:
三种编码是按词频排列的,精简码排在最前,六全码第二,笔顺码最后。
翻查完了这十几个字的“六全码”,用户会惊喜地发现,他想要的“买”字,作为“笔顺码”又出现了!
这就节省了回头翻页的麻烦,加快了打字和检索的速度。

不过,从我自己使用近一年的情况看,上述情况几乎不可能出现。
因为“笔顺输入”的天然优势就是重码极少!
而且“精简码”和“六全码”的词频设置,又把极少数的重码分开了,避免了在候选栏里重叠出现。
也就是说,本来是重码的几个字,通过多打一码或少打一码,都能处于默认的首选字,

Python3脚本我这里没有运行成功
辅助程序Python3脚本\按行列提取词库.py", line 11, in
readfile = open(sys.argv[1]).readlines()
IndexError: list index out of range
脚本里的第一第二个文件怎么指定的?
fa=open(sys.argv[1]).readlines() # 黑名单
fb=open(sys.argv[2]).readlines() # 待清理的文件
outfile = open(sys.argv[2]+"-已清理.txt","w") # 输出已清理的文件

注意:
你这里的错误提示是运行“按行列提取词库.py”出现的错误提示,
你给出的脚本代码却是“清理特定词汇.py”里的代码,
这是两个不同的python3脚本,不要弄混了。

运行“按行列提取词库.py”脚本的正确命令应该是:
python3 按行列提取词库.py 网络词库文件.txt 常见错别字词大全.txt
运行的结果将得到一个新文件: 网络词库文件-已提取..txt

运行“清理特定词汇.py”脚本的正确命令应该是:
python3 清理特定词汇.py 常见错别字词大全.txt 我自己的词库文件.txt
运行的结果将得到一个新文件:我自己的词库文件-已清理..txt

其中“常见错别字词大全.txt”在脚本文件夹里已经包含有,就是该脚本里所说的“黑名单”文件。
如果你不想做任何的“黑名单”排除工作,那么可以新建一个只有英文字母的文件作为“黑名单”文件即可。
但还是建议尽量排除“错别字、恶俗词汇、黑名单”,自觉维护语言环境的良性发展。

from stroke-seq_mb.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.