非mdx也能所划即所得啦_日本語非辞書形辞書_v3_For_Quicker_Demo

前排提示:这个项目是日本語非辞書形辞書_v3版本的Demo产品,可能会遇到不少问题,欢迎留言反馈:)

另外,文档发布在v3_For_Quicker_Demo · 语雀 (yuque.com)

最终效果

直接上图:sunglasses:

(实际使用应该没有看起来的这么卡,演示时有停顿)

下载

https://wwp.lanzouf.com/b011uva4d 密码:e3h4

注意:

  1. 最好找个地方专门放,完成设置后,不要随便删也不要随便移动main.exev3_index.txt
  2. 解压路径中最好不要有空格
  3. 目前需要与Quicker配合使用,直接双击exe没有反应是正常的:)

更新说明

2022-08-03

  1. 支持返回多个结果
  2. 索引文件新增单词
  3. 提高准确率,v3版本现在返回的结果与v2基本一致

本次更新需要同时更新Quicker动作和main.exe、index_v3文件才可使用

Quicker动作更新:右键-来源动作-更新即可
main.exe和index_v3文件下载地址https://wwp.lanzouf.com/b011uva4d 密码:e3h4,下载后解压覆盖即可

使用方法

粘贴动作(必看)

YiDicForSaladict

YiDicEBWin

基础设置(必看)

打开Quicker,粘贴动作,然后右键打开编辑,双击运行脚本

脚本内容中填入下载的exe文件的路径(Win11的可以通过右键点击然后复制文件路径获取,双引号可以不删)

接着在下面的工作目录填入文件夹的路径,去掉双引号和main.exe就可以了。

到这里基本设置就完成了。下面介绍高级选项。

沙拉词典 (必看)

如果沙拉词典的在独立窗口搜索剪贴板内容的快捷键不是Alt+C,还需要进行修改。

打开编辑页面,模拟按键B(参数)

参考快捷键语法,填入你喜欢的快捷键即可

EBWin (非必看)

默认的分享的动作需要自己提前打开EBWin才可以用,如果希望每次选中文本后直接启动软件查词,那么还需要另外的设置。

先把电脑上的EBWin软件打开,然后打开YiDicForEBWin的编辑界面

双击下面的激活进程主窗口

点击下面的红框

会发现切换到了EBWin的界面,随便点击EBWin顶部状态栏的一个位置

会发现,软件路径就自动填好了

如果上述方法搞不定的话,自己手动填也行。

当然,你也可以根据自己的需要,填入自己喜欢的词典软件,只是这样一来,需要改程序路径进程名称/pid2个地方。

Todo

  • [ ] 正则支持
    • [ ] 在MS Word中或是像軋(きし)み合(あ)わない这样的句子划词翻译,正则可以直接处理为軋み合わ
    • [ ] 々ゝゞ/\/″\
    • [ ] <ruby></ruby>(浏览器内划词)
  • [ ] 验证算法真实准确度
    • [ ] 跟进日本語非辞書形辞書_v2的进度
      • [x] 0722
    • [ ] 有Mecab分词语料的同学欢迎发送到 NoHeartPen@outlook.com ,只需要書字形書字形基本形2列的数据即可,感激不尽:)
  • [ ] ……
    欢迎提出其他意见

大致思路

举个例子简单说明下脚本的工作原理,方便大家结合自己的需要修改。

对于ご飯を食べたい这个句子,我们用鼠标选中食べた按下快捷键,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

4 Likes

看了半天没整明白,你这是不是 用 Quicker 把多个软件整合起来的意思?还是自己写了个新的软件?

是 用 Quicker 来整合起来的。

自己写了点代码,可以解决日语的用言变形对划词翻译的影响(类似英语单复数以及过去式),但由于技术不过关,不能直接PR到日语词典软件上,再加上目前的准确度不是很高,有待完善,所以现在先用Quicker来整合。

另外,主要是目前为止对于日语的变形问题,没有一个软件支持得很好,最后除了最后提到的那几个软件之外,还有kindle(实测也有问题,也不能处理复杂变形),网易有道词典笔(直接不支持日语划词,只支持中日的整句翻译,估计是发现即使买了日语词典不解决变形就基本等于不能用)

1 Like

第一次知道有 Quicker 这个东西,大概就相当于 AHK 或者 安卓上的 Tasker吧,回头研究一下

嗯嗯,不过我忘了说,这软件不开源,要收费(但比较合理,一年50左右),另外不注册登录就不能用,,轻度使用的话,不付费也行233

好东西收费是应该的

主要是我这几天才看到了有关这个软件收费和强制登录的讨论,就下意识地打打预防针(主要是那几篇文章的老哥太冲了 :rofl:

我一向认为好东西收费天经地义,而且收费了就有责任做好,也是一种改善的动力

Quicker 是个国产的,恕我有点崇洋媚外,难道这种通用的粘合剂软件没有国外的更主流一些的?感觉AHK也能干这个事情,安卓上的 Tasker 更不用说

啊,我比较喜欢的是他的场景和快捷键功能,再加上我一开始就是为了用别人分享的动作才下载的,所以就懒得折腾AHK了。

场景就是,在不同的软件界面内,同一套快捷键可以调用不同的工具,比如我在资源管理器上ctrl+鼠标右键调用的是


在笔记软件里面调用的是
图片

快捷键的特殊:不止ctrl+alt这样的模式(虽然这样的思路我在AHK上也有看到),各种奇怪的快捷键模式都支持,让我意识到什么是真正的快捷键,点名批评Win11上的那个shfit+F10的快捷键,我只想问设计者真会这么用吗……

最后,有比较成熟的社区和大量别人分享的项目可以白嫖(而且要改成符合自己习惯的也没有那么难),小白也可以用得很欢乐。好吧其实是看了下AHK文档被劝退了

1 Like

AHK 快捷键也可以方便地限定在特定的活动软件下有效。你这样能整合出一套完整、有实用价值、方便非专业用户使用的解决方案,倒也是个不错的创新。

2 Likes

啥意思
v3出来了
就是说v2的版本,算是已经完成了?

哈哈哈,没有没有,这个只是v3的一个雏形吧,v2还是会继续维护的(古语都还没开始动呢),不过v2能够暴力穷举的部分已经做得差不多了(古语还暂时不会做),最近的维护工作可能就是手动修改增加词条了。

不出意外的话,日本語非辞書形辞典应该就这3个版本了,他们之间的区别:

  1. 不基于词性、真·暴力穷举的v1:放弃维护;
  2. 基于词性暴力穷举的v2:以mdx词典形式发布,持续维护;
  3. 基于v1和v2的经验,让词典软件能推导辞書形的v3:以代码形式发布,持续维护,欢迎大家去给日语词典软件开发者反馈,推荐他们尝试下这种不基于语法的日语划词翻译解决方案:)

重大更新 :sunglasses:

话说quicker到底是个啥?看了官网没看懂。。。

为啥v3不做mdx?

你估计没用过沙拉查词,你去看看使用简介就会用quicker啦

1 Like

不好意思,我过几天录一个视频演示下如何从零上手:),或者也可以等我修改沙拉查词的源码,到时候就可以不用装Quicker了(不过最快可能要9月底)

v3版本做不了mdx,因为推断「辞書形」只是v3的一个目标(这一点来说,v2和v3是基本一样的,以后v2更新的话,v3也会更新);

v3的重头戏是:解决日文独有的排版问题(下次更新才会开始解决哈)

所以如果不在意日文独有的排版问题,可以忽略v3版本

比如Word标注了读音之后:

选中查词就会发现剪贴板上的是 食(た)べる,而我们实际要查的是食べる,所以这种时候我们也得自己手动打。

不过考虑到没有几个会在Word里面手动注音然后才翻词典,所以并不值得为了个Word专门做v3。

但是很多公众号也喜欢用类似的方法来标音,所以这个需求还是有解决的价值。不过,这个在mdx里面做起来就太麻烦了其实是我太弱了233,也没有必要——词典体积至少要翻5倍。

再比如青空文库里面那些奇怪的标注方式

(这里面的标记々已经在v2里面解决,//″\稍微麻烦点——要手动判断清浊音,但我懒得搞;ゝゞ最麻烦,任意2个靠得近的假名似乎都可以直接用这个标记来表示(我是从刺青得出的结论),如果非要穷举的话,估计词典体积也得翻5倍)

最后,如果是看网页的话,下面这样的标记复制到剪贴板后,会变成类似怒鳴どなる这样完全搅在一起的状态


当然,也可以穷举(但是词典体积至少又得翻五倍),而且也很麻烦。如果从软件角度是可以比较轻松的解决这个问题(注:仅限于电脑浏览器,手机浏览器可能不行)。

(多说一句,如果用FireFox就不会搅在一起)

综上,v3版本要做的事情用mdx来做太麻烦了,全部实现的话,词典至少15M起步,这样一来,就要修改、维护一个200M的文件,我的电脑实在遭不住。

而且我也尝试了下,差点把我给搞自闭了:原理和把下面的读音给批量替换成需要的形式是一致的。

と‐・す 【賭】
たいくつ‐が・る 【退屈─】  退屈がる  
そり‐こく・る 【剃─】  剃こくる  
たか‐ぶ・る【高─・昂】品词  高ぶる  
たか‐ぶ・る高  高ぶる  
あい‐くろし・い 【愛─】  愛くろしい  
あい‐ぐ・す 【相具】  相具す  
あが・る【上・揚・挙・騰】上る、揚る、挙る、騰る
そり‐かえ・る 【反返】  反返る

看出规律了吗,没看出来的话,和楼主一起等大佬出手吧:)

另外,给这项目起名字好像又没有取好233