rime / home

Rime::Home is home to Rime users and developers
https://rime.im
4.26k stars 230 forks source link

有没有什么办法可以设置输入拼音全部匹配时候的优先级高于简拼跟模糊音的优先级? #1546

Open haolly opened 5 months ago

haolly commented 5 months ago

例如 输入 ban, 办法的“办”字优先级应该高于“备案” 输入 zi ,字词的“字”应该高于“志” 这个模糊音

lotem commented 5 months ago
  1. 出廠配置就是全拼優先,而且輸入 ban 根本不會出簡拼的「備案」。
  2. 模糊音的一般用途是普通話有差異的兩個音用家的口音不分,那麼對用家來說這兩個音應當是完全混同的。字音尚且無法區分何談哪個音優先呢。所以我不理解爲什麼有這個需求。
haolly commented 5 months ago

不好意思,没说清楚,我设置了简拼:

  • derive/^([a-z]).+$/$1/ # 通过正则表达式提取每个拼音的首字母
  • derive/^([zcs]h).+$/$1/ # 特别处理 zh, ch, sh 的首字母简写
  • abbrev/^([a-z]).+$/$1/ # 允许使用首字母作为缩写
  • abbrev/^([a-z]{2,}).+$/$1/ # 允许使用前两个字母作为缩写

所以会出现第一种情况 对于第二点,应该是对模糊音的理解出现分歧。

輸入法軟體可以使用者的實際情況設定有模糊音功能,使得許多普通話不標準的使用者能熟悉掌握。許多南方人因為受方言的影響,分不清普通話中的前鼻音後鼻音和捲舌音如z、c、s和zh、ch、sh等,在軟體不支援模糊音之前使用拼音輸入文字經常出現打錯拼音需要修改的現象。

可以参考wikipedia中的说明 我所理解的模糊音就是上面说的,至少我认识的人都是这么认为的。举例来说,在日常生活中,我是区分不了un更ong这两个发音的,所以打“云吞” 这词语的时候就比较麻烦,“yongtong” “yuntong” “yongtun” ,所以我会设置模糊音

  • derive/un$/ong/ # yuntong`

对于您说的模糊音的理解,其实平常说话我们也不会去在乎发音是否标准,因为每个人都有方言的影响,你只管说就行,但是当使用场景变成文字交流的时候,人们都要遵从某一个标准,例如普通话,你写的文字需要让对方看懂,这时候打字正确就是很重要了

lotem commented 5 months ago

你的配置裏 abbrev 規則定義了簡拼,另有 derive 規則把首字母定義爲非簡拼的拼式。在音節切分有不同解釋的情況下,簡拼的優先級低於全拼,但是 derive 規則生成的拼式(如模糊音)視同全拼。因此你說的“簡拼”的優先級問題出在你實際用到的單字母的拼式沒有定義爲簡拼;配置中真正的簡拼因爲優先級總是低於相同拼寫的全拼而從爲使用過。

你談到的模糊音的理解跟我說的沒什麼不同。也許我用了一些語言學的說法,總之說的是一個意思。 因爲區分不了兩個發音,所以無從分辨候選字中哪些字是標準音通過打出的、哪些字是通過模糊音打出的。無論標準音是哪種情況,模糊音的用戶都會用同一個拼音輸入,因此這些字對這個用戶來說都是同音字,沒有優先級高低之分,只須全部按照字詞的使用頻率排序。話說回來,即時我按照所求,把模糊音的優先級調低,用戶也判斷不了我是否做了這項改動,因爲不去查字典的話也分不清楚哪些字屬於模糊音。