前排提示:这个项目是日本語非辞書形辞書_v3版本的Demo产品,可能会遇到不少问题,欢迎留言反馈:)
另外,文档发布在v3_For_Quicker_Demo · 语雀 (yuque.com)
最终效果
直接上图
(实际使用应该没有看起来的这么卡,演示时有停顿)
下载
https://wwp.lanzouf.com/b011uva4d 密码:e3h4
注意:
- 最好找个地方专门放,完成设置后,不要随便删也不要随便移动
main.exe
和v3_index.txt
- 解压路径中最好不要有空格
- 目前需要与Quicker配合使用,直接双击exe没有反应是正常的:)
更新说明
2022-08-03
- 支持返回多个结果
- 索引文件新增单词
- 提高准确率,v3版本现在返回的结果与v2基本一致
本次更新需要同时更新Quicker动作和main.exe、index_v3文件才可使用
Quicker动作更新:右键-来源动作-更新即可
main.exe和index_v3文件下载地址https://wwp.lanzouf.com/b011uva4d 密码:e3h4,下载后解压覆盖即可
使用方法
粘贴动作(必看)
基础设置(必看)
打开Quicker,粘贴动作,然后右键打开编辑,双击运行脚本
在脚本内容
中填入下载的exe文件的路径(Win11的可以通过右键点击然后复制文件路径
获取,双引号可以不删)
接着在下面的工作目录
填入文件夹的路径,去掉双引号和main.exe就可以了。
到这里基本设置就完成了。下面介绍高级选项。
沙拉词典 (必看)
如果沙拉词典的在独立窗口搜索剪贴板内容
的快捷键不是Alt+C
,还需要进行修改。
打开编辑页面,模拟按键B(参数)
参考快捷键语法,填入你喜欢的快捷键即可
EBWin (非必看)
默认的分享的动作需要自己提前打开EBWin才可以用,如果希望每次选中文本后直接启动软件查词,那么还需要另外的设置。
先把电脑上的EBWin软件打开,然后打开YiDicForEBWin
的编辑界面
双击下面的激活进程主窗口
点击下面的红框
会发现切换到了EBWin的界面,随便点击EBWin顶部状态栏的一个位置
会发现,软件路径就自动填好了
如果上述方法搞不定的话,自己手动填也行。
当然,你也可以根据自己的需要,填入自己喜欢的词典软件,只是这样一来,需要改程序路径
和进程名称/pid
2个地方。
Todo
- [ ] 正则支持
- [ ] 在MS Word中或是像
軋(きし)み合(あ)わない
这样的句子划词翻译,正则可以直接处理为軋み合わ - [ ]
々ゝゞ/\/″\
- [ ]
<ruby></ruby>
(浏览器内划词)
- [ ] 在MS Word中或是像
- [ ] 验证算法真实准确度
- [ ] 跟进日本語非辞書形辞書_v2的进度
- [x] 0722
- [ ] 有Mecab分词语料的同学欢迎发送到 NoHeartPen@outlook.com ,只需要
書字形
和書字形基本形
2列的数据即可,感激不尽:)
- [ ] 跟进日本語非辞書形辞書_v2的进度
- [ ] ……
欢迎提出其他意见
大致思路
举个例子简单说明下脚本的工作原理,方便大家结合自己的需要修改。
对于ご飯を食べたい
这个句子,我们用鼠标选中食べた
按下快捷键,Quicker会将选中的文字复制到剪贴板,然后启动电脑上的main.exe
文件,这个exe文件会读取剪贴板,获取到最近一次复制的内容,即食べた
。
然后程序会读取最右侧的假名即た
,根据v2版本的词条规律我们可以知道,た
出现在词尾假名说明要么是一段动词,要么是五段动词(注:技术细节处会给出这么假设的相关数据)。
我们先假设它是五段动词,然后程序会将た
替换为つ
,然后在这个v3_index.txt
文件中查找有没有食べつ
这个动词。
……
找了一圈没有,那说明这个我们的假设是错误的。
然后程序会验证另一种假设:将词尾た
替换为る
,然后再去v3_index.txt
文件中查找食べる
,很幸运,这次找到了。
程序会将找到的食べる
写入剪贴板,Quicker检测到剪贴板内容发生变化后就会调起词典软件了(所以你也可以在支持mdx的GoldenDic上用,享受双倍的快乐)。
另外,v3_index.txt
里面保存的原型数量也会影响最终的效果,可以自由向里面添加收集到的单词。
技术细节
可能有人会好奇,最近怎么突然高产了起来开始刷版本号,v2版本都才出一周多,怎么这么快v3版本就来了。
这是因为v3版本其实是v2版本的逆过程,而且v3版本之后的改进在很大程度上取决于v2版本的成果,所以先制作了这么一个小工具,供有兴趣的同学折腾。
接下来是正文:
如果有人分析过v2版本的源文件,就会注意到穷举出的变形的词尾假名似乎重复率有点高呀,有没有什么规律呢?
我们把词尾部分都提取出来,整理下得到下面这个表格:
查阅这个表格我们就知道た
只能由一段和五段动词产生,但具体是谁我们只能采用笨办法:查原型来判断。
虽然有一半左右的的词尾假名都只有一种来源,但在丢失了上下文的情况下,我们可能都需要进行3次替换和3次遍历查找,不过好在即使是最差的情况,大多数人的电脑应该也能满足日常的需要。
不过,即使把v2的172580个词条都给查一遍,也只要区区6分钟
所以这算法也没有那么烂吧……QAQ
最后,手动@MOJi、@沙拉词典、@EBWin、@欧路词典、@Yomichan、@AnkiHelper等开发者,最强开源日语取词算法的Python版本已经托管在Github上啦,欢迎PR和提交issue呀:)
https://github.com/NoHeartPen/JapaneseConjugation