Codejie's C++ Space

Using C++

LingosHook:Lingoes生词本第十八版


    LingosHook第十八版(v1.2.001)主要围绕提高HTML数据词典识别率和识别速度做了大幅度的修改,可以这里下载了。修改内容如下:
        1. 定义三种词典解析类型,并以此为据重新设计实现HTML数据分析算法;
        2. 增加对词典解析配置,包括指定词典解析类型和是否解析;

     描述的有些晕,还是上图说明吧。
     如下图所示,在配置界面中新增了一个按钮,用于配置词典的解析参数;


    点击此按钮,将弹出如下对话框,用于设置词典解析参数;


    (对,是的,我终于把图标变小了,用的是歪门邪道,不说也罢。。。)

    对话框中罗列了曾经使用过的词典。
        1. 点击其图标可以设置指定词典的HTML数据是否被解析,‘X’为不解析;
        2. 通过右键菜单可以看出,程序当前在支持三种HTML数据解析类型:0,1,2;
        3. 右键菜单中前端标记有‘黑点’的类型表示此类型为程序默认类型;默认类型也可配置,请看下图;



        4. 当当前使用类型不为默认类型时,可设置其为默认类型;
        5. 标记为粗体的词典表示当前使用的类型为默认类型;
        6. 点击'Reset the type of dictionary html data'按钮,可以将类型设置为其默认类型,如果存在的话;

    上图中所列词典为我当前测试的词典,除了‘Jukuu’词典结果暂时无法归类外,其它词典都可以归为以上三类。因此当使用的词典不再以上列表中时,可先尝试依次设置不同解析类型,以检测是否可以分解其HTML数据。
    从我的分析看,结果的外层格式是由Lingoes定死的,但各结果数据格式来自词典自定义,这也是结果不同于的根本所在,所以无法预知Lingoes的HTML数据结果格式到底有多少种。有兴趣的可以自己添加解析类型,源码在这里;当然你也可以发来词典名称和所查单词,由我来分析(这个请别太认真,我就说说,不能保证的。。。。)。

HtmlDictParser::TDictDefAttr g_stSysDictDefAttr[SIZE_DICTDEFATTR] = 
    
{
        
{L"E1C27E806399D047822B6650194A3D32", HtmlDictParser::HTMLDATATYPE_1},//Vicon EC
        {L"7AB175CC5F622A44A0DECE976AF22A16", HtmlDictParser::HTMLDATATYPE_1},//Langdao EC
        {L"1E388F323A0BD943B30FC68598772814", HtmlDictParser::HTMLDATATYPE_1},//Fundset DC
        {L"0895DFE8DB67F9409DB285590D870EDD", HtmlDictParser::HTMLDATATYPE_2},//Dict.CN online
        {L"D4722835273E184582F2D24696A738EA", HtmlDictParser::HTMLDATATYPE_1},//Longman Dictionary of Contemporary English
        {L"25D62D261B9B6943BE86B7DCF8F9D255", HtmlDictParser::HTMLDATATYPE_1},//Concise English Synonym & Antonym Dictionary
        {L"74BF7ECCE3A9AC43B5E8902261A19B29", HtmlDictParser::HTMLDATATYPE_1},//Hudong Wiki
        {L"C68363F3F2F8F04997C0552720B30742", HtmlDictParser::HTMLDATATYPE_1},//Google Web Definition
        {L"3A259F0851B07D4AAA30FBFA43686AB3", HtmlDictParser::HTMLDATATYPE_2},//Dr.eye Online
        {L"9455286C1F1BC84985523D2608B6A913", HtmlDictParser::HTMLDATATYPE_3},//Web Translation
    }
;



<---- 疲惫的分割线 ---->

    经过这次修改,LingosHook设计期的功能都实现了,应该可以收工,休息了。。。。

posted on 2010-08-04 22:25 codejie 阅读(1947) 评论(4)  编辑 收藏 引用 所属分类: C++轮子精神LingosHook

评论

# re: LingosHook:Lingoes生词本第十八版 2010-08-05 21:35 DavidWison

这...0.1.2...啥用....



  回复  更多评论   

# re: LingosHook:Lingoes生词本第十八版[未登录] 2010-08-05 22:40 codejie

@DavidWison
...难道我中文也那么差吗?
0,1,2代表总结出来的三种HTML数据类型,不同的词典分别属于其中某一个类型,LingosHook根据设定的类型,调用不同的解析函数进行数据分析,以获得正确的单词数据。。。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十八版 2010-08-06 08:58 DavidWison

2个小问题
classification也改成index一样能用上下键.
试试 test 多加了 "Test." 和 "test." major 多加了 "Major"  回复  更多评论   

# re: LingosHook:Lingoes生词本第十八版 2010-08-06 10:21 codejie

@DavidWison
1. up/down这个问题应该是wxActivex控件抢焦点引起的,我回头看看啊;
2. 猜想你使用了Dr.eye词典的吧?这个问题不是问题吧?这个本来就是LingosHook的一个特别的功能,尽量解析出结果中所有的'单词'.比如你试试'AC',还应该会得到'a.c.'等等.就是说,如果结果显示了和查询单词相关的单词,LingosHook也能够提取出来.  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜