像在文章系统中.用户一般不会自己填标签.我就想在文章发布时.就让程序从文章中提取出频率最高的几个词做为标签.可是这方面没接触过.谁能提供个思路?

解决方案 »

  1.   

    写了下,瞧瞧行不行?    List<string> dic = new List<string>();
        string str = "像在文章系统中.用户一般不会自己填标签.我就想在文章发布时.就让程序从文章中提取出频率最高的几个词做为标签.可是这方面没接触过.谁能提供个思路?";
        for (int i = 0; i < str.Length; i++)
        {
            if (!dic.Contains(str[i].ToString()))
                dic.Add(str[i].ToString());
        }
        int[] stat = new int[dic.Count];
        for (int j = 0; j < str.Length; j++)
        {
            stat[dic.IndexOf(str[j].ToString())]++;
        }
        int[] temp = stat;
        Array.Sort(temp);
        int max = temp[temp.Length - 1];
        Console.WriteLine("出现最多的字符是:"+dic[Array.IndexOf(stat, max)]);
      

  2.   

    Sorry,刚才出了点差错,重新改了下:    List<string> dic = new List<string>();
        string str = "我爱的人不爱我,爱我的人我不爱,想爱一个人真难";
        for (int i = 0; i < str.Length; i++)
        {
            if (!dic.Contains(str[i].ToString()))
                dic.Add(str[i].ToString());
        }
        int[] stat = new int[dic.Count];
        for (int j = 0; j < str.Length; j++)
        {
            stat[dic.IndexOf(str[j].ToString())]++;
        }
        int[] temp = new int[stat.Length];
        Array.Copy(stat, temp, stat.Length);
        Array.Sort(temp);
        int max = temp[temp.Length - 1];
        Console.WriteLine("出现最多的字是:"+dic[Array.IndexOf(stat, max)]);
      

  3.   

    http://community.csdn.net/Expert/topic/5527/5527563.xml?temp=.734234计算频率的相关讨论参考一下这个帖子
      

  4.   

    中科院有一个开源的分词组件使用了自然语言授权sharpictcla自己去找接口比较麻烦,中科院那帮人又是什么写法难以理解就用什么写法,写的代码就没几行能懂的,所有又有人改写了这个组件,加了一个壳,要看就找个加的壳比较好的
      

  5.   

    nattystyle(霹雳冰) ( ) 的代码非常有用,他已经给出了获得各个字在字符串中出现的次数。
    你只要根据这个次数由多到少排列的单字,组合其前面或后面一个字组成词语(当然不一定构成真正的词语)再次统计下该词语在字符串中出现的次数应该就是答案了
      

  6.   

    英文可以根据空格分词,中文可以到 http://www.vgoogle.net 这里下个他们的中文分词组件,把词列出来再用类似字典的方法就可以找出出现频率高的词了
      

  7.   

    我的一个同学本科论文就是做split word 
    有个语料库,把所以现成的词语 按照字母为序 表明词性 以及词语的使用率 可以用bayes算法分析(选取为一个最优的路径,也就是这段句子所有词语组成的最大率)
    其中通过最小子串去行从文章中提取词语,然后把词语和语料库进行对比
    最终把整篇文章给词语化,然后你就可以把相同的词语进行统计