Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] 对于同时带词频和辅码的词典,无法在有辅码的字典里直接定义字频。 #1046

Closed
Oyami-Srk opened this issue Apr 8, 2022 · 13 comments

Comments

@Oyami-Srk
Copy link

Oyami-Srk commented Apr 8, 2022

有词典如下:

  • zrm_pinyin.py
  • zrm_pinyin.weight
    前者记载不带辅码的字频
    后者记载带辅码的字频(同一个字字频相等)

P1
若给weight加上注释,则单字会根据字频正常在候选列表中排序。
但若取消weight的注释,则单字则乱序排序(乱序规律未找到,起码不是出现在字典中的前后顺序)
P2

方案与字典文件如下:
zrm.zip
方案中拼写器的片段如下:

speller:
  alphabet: "zyxwvutsrqponmlkjihgfedcba;:"
  initials: 'abcdefghijklmnopqrstuvwxyz'
  delimiter: " '"
  algebra:
    - derive/^(\w*);(\w)(\w)$/$1;$2$3/
    - derive/^(\w*);(\w)(\w)$/$1;$2/
    - derive/^(\w*);(\w)(\w)$/$1/
    - abbrev/^(.{2});+$/$1/

根据 #750 似乎可能是拼写器没有配置「主码」,但是这个abbrev难道没有起到省略辅码的作用吗?而且乱序乱的也不是在字典中出现的顺序。
Github一按回车就Submit就离谱。

@Oyami-Srk Oyami-Srk changed the title 「Bug [BUG] 对于同时带词频和辅码的词典,不同的平台表现不一致。 Apr 8, 2022
@Oyami-Srk Oyami-Srk changed the title [BUG] 对于同时带词频和辅码的词典,不同的平台表现不一致。 [BUG] 对于同时带词频和辅码的词典,无法在有辅码的字典里直接定义字频。 Apr 8, 2022
@Oyami-Srk Oyami-Srk changed the title [BUG] 对于同时带词频和辅码的词典,无法在有辅码的字典里直接定义字频。 [Question] 对于同时带词频和辅码的词典,无法在有辅码的字典里直接定义字频。 Apr 8, 2022
@lotem
Copy link
Member

lotem commented Apr 9, 2022

詞典定義了按字頻排序 sort: by_weight 。兩個版本的區別在於一個沒有定義weight那一列,所以用預設的八股文字頻排序,另一個在詞典裏定義了weight,所以按照文件裏定義的字頻排序。

與主題無關,代碼片段中的abbrev規則只省略了編碼結尾處的分號(如果有這樣的編碼)。

@Oyami-Srk
Copy link
Author

image
关键是这乱的没有规律,预设的八股文也不是这么排的。

@blackhole889
Copy link

我对这个问题也很关心。编码里面有“;”,估计会干扰排序。楼主问题解决了说一声。

@lotem
Copy link
Member

lotem commented Apr 16, 2022

那就看看是不是受到 rime/librime#507 的影响。以上讨论是就程序无错的前提来说应当怎样配置。

@lotem
Copy link
Member

lotem commented Apr 16, 2022

image

关键是这乱的没有规律,预设的八股文也不是这么排的。

原题的图一不就是按照八股文词频排序吗。说明这套配置下工作正常。
你只需继续分析用码表提供的词频那种情况。

@blackhole889
Copy link

反查的时候是否可以仅仅反查词库zrm_pinyin.weight,这样只显示辅助码结果?如何实现这种反查?

@Ace-Who
Copy link

Ace-Who commented Apr 19, 2022

反查的时候是否可以仅仅反查词库zrm_pinyin.weight,这样只显示辅助码结果?如何实现这种反查?

根据编码特征,用 comment_format 过滤就行了。

@blackhole889
Copy link

反查的时候是否可以仅仅反查词库zrm_pinyin.weight,这样只显示辅助码结果?如何实现这种反查?

根据编码特征,用 comment_format 过滤就行了。

辅助码含有;,而另外一个字编码没有;,如两个字的编码分别是
识 shi
识 shi;yv
反查会找到这两个编码,我想仅仅显示带辅助码的那个“shi;yv”。这个如何实现呢?

@LEOYoon-Tsaw
Copy link
Member

把查出来的不帶;的結果扔掉不就完了

@blackhole889
Copy link

把查出来的不帶;的結果扔掉不就完了

请问如何实现?我对拼运不熟悉。能否把代码贴出来。

@LEOYoon-Tsaw
Copy link
Member

用正則,學一下吧,比如
xform/(^| )[a-z]+( |$)/$1$2/

@Oyami-Srk
Copy link
Author

Oyami-Srk commented Apr 22, 2022

经过测试,辅码会对rime的一些功能产生影响(比如说这个issue中的词频、以及我前几天发现的多音字问题)。
我选择将辅码剥离词典尝试用Lua、或者插件来实现辅助码。
这个issue应该和 rime/librime#507 是一样的,算是intended behavior。
可以close掉了。

P.S.:多音字问题在 rime/librime#312 也有提到。

@lotem
Copy link
Member

lotem commented Apr 23, 2022

算是intended behavior。

rime/librime#507 是算法的BUG,已經修好了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants