如题,主要是中文方面的,词应当如何划分,比如:
“程序员天天对着电脑,应该多补充维生素”
对这一句,应当怎么进行词组划分,谢谢

解决方案 »

  1.   

    这个问题别说是20分,2000分都估计很难有人回答毕竟这个是 www.baidu.com 的看家技术之一不过倒是有个笨的解决方法,用词典,比较句子里面第n位到第n+k位之间和词典中的最大公共串问题,是个算法问题
      

  2.   

    Eastunfail君所言极是,我所知道的这段中文分词代码大约有将近6到7万行(c++)
      

  3.   


     Eastunfail(浴血雏龙)==(恶鱼杀手) 你所提的最大公共串好象不太可行,比如:“中国软件”,这个方式,那么“中国软件”肯定是一个词,而“软件”就无法分离出来!!
      

  4.   

    也许不叫最大公共串,我算法没学好,呵呵
    例如词典:........
    软的
    软件
    软禁
    .........
    ........
    演出
    中国
    中间
    ......首先比较从第一个字符开始长度为1的UNICODE字符“中”,没有找到相匹配的,在找长度为2的“中国”,找到了,找长度为3的“中国软”,没有找到,回溯,将“中国”输出,并从缓冲区中删除“中国”,然后重复以上步骤找到“软件”。ok~~~~~~~~~
      

  5.   

    Eastunfail(浴血雏龙)==(恶鱼杀手)  你采用的这种方式我还是有几点疑问:第一:算法的效率肯定是无法接受的,还有就是准确性不足
    对于算法效率,主要是回溯的时机无法控制,比如一个词一直无法打到,那么是不是在找了二十多个字以后再回溯?!
    还有就是词的准确性:比如:“中华人民共和国”这个词,由于有“中华”(我不太确认),那么“中华人民共和国”肯定就无法找到啦!!