tumashu / chinese-yasdcv

一个简单的sdcv字典程序的emacs前端。
27 stars 3 forks source link

“点词翻译”预测中文的问题 #2

Closed xuchunyang closed 9 years ago

xuchunyang commented 9 years ago

Hi,

我的电脑上没有安装 scws(安装遇到了困难),所以没有测试。但是我看了你的代码(主要是 yasdcv--current-word 这个函数),我觉得可能有两个问题:

比如:Emacs 取到了中国人使用中文,假设分词的结果是中国 人 使用 中文

  1. 当光标在字上时,你的实现好像先得到前面的字,最终得到结果是中国,而不是
  2. 当光标在字上时,首先得到字,最终的结果是中国,而不是中文?

我的猜测对吗?

tumashu commented 9 years ago

差不多, 就是得到光标前一个字符作为搜索字符, 然后提取较长一段中文,将其分成词语列表,用搜索字符搜索。。。。,

tumashu commented 9 years ago

这个方式确实有一点问题。。。。

xuchunyang commented 9 years ago

差不多, 就是得到光标前一个字符作为搜索字符, 然后提取较长一段中文,将其分成词语列表,用搜索字符搜索。。。。,

就像我在 1 中提到的,应该用光标的,而不是光标前的字符(光标在句尾的后一位除外),不然你用字符搜索有可能错位。

其实“字符搜索”显然还有发生歧义的可能,也就是 2 中的问题,这点可以用光标的偏移量来解决。

以上的两个问题,我在PR #3 中都解决了。