{
varextractor = newTfidfExtractor;
varwordWeight = extractor.ExtractTagsWithWeight(text, 50);
StringBuilder sbr = newStringBuilder;
sbr.Append( "词语");
sbr.Append( ",");
sbr.Append( "权重");
sbr.AppendLine( ",");
foreach( varitem inwordWeight)
{
sbr.Append(item.Word);
sbr.Append( ",");
sbr.Append(item.Weight);
sbr.AppendLine( ",");
}
stringfilename = "关键词权重统计.csv";
File.WriteAllText(filename, sbr.ToString, Encoding.UTF8);
Console.WriteLine( "关键词提取完成:"+ filename);
returnwordWeight.ToArray;
}
使用 JiebaNet.Segmenter.Common下的 Counter类统计词频,其实现来自Python标准库的Counter类(具体接口和实现细节略有不同),代码如下:
///<summary>
///分词并统计词频:默认为精确模式,同时也使用HMM模型
///</summary>
///<param name="text"></param>
///<param name="wordWeightAry"></param>
///<returns></returns>
staticKeyValuePair< string, int>[] Counter( stringtext, WordWeightPair[] wordWeightAry)
{
varsegmenter = newJiebaSegmenter;
varsegments = segmenter.Cut(text);
varfreqs = newCounter< string>(segments);
KeyValuePair< string, int>[] countAry = newKeyValuePair< string, int>[wordWeightAry.Length];
for( inti = 0; i < wordWeightAry.Length; i++)
{
stringkey = wordWeightAry[i].Word;
countAry[i] = newKeyValuePair< string, int>(key, freqs[key]);
}
StringBuilder sbr = newStringBuilder;
sbr.Append( "词语");
sbr.Append( ",");
sbr.Append( "词频");
sbr.AppendLine( ",");
foreach( varpair incountAry)
{
sbr.Append(pair.Key);
sbr.Append( ",");
sbr.Append(pair.Value);
sbr.AppendLine( ",");
}
stringfilename = "词频统计结果.csv";
File.WriteAllText(filename, sbr.ToString, Encoding.UTF8);
Console.WriteLine( "词频统计完成:"+ filename);
returncountAry;
}
使用 WordCloudSharp生成词云图,蒙版图必须使用黑白图片,记得手动引用 System.Drawing,代码如下:
///<summary>
///创建词云图
///</summary>
///<param name="countAry"></param>
staticvoidCreateWordCloud(KeyValuePair< string, int>[] countAry)
{
stringmarkPath = "mask.jpg";
stringresultPath = "result.jpg";
Console.WriteLine( "开始生成图片,读取蒙版:"+ markPath);
Image mask = Image.FromFile(markPath);
//使用蒙版图片
varwordCloud = newWordCloud(mask.Width, mask.Height, mask: mask, allowVerical: true, fontname: "YouYuan");
//不使用蒙版图片
//var wordCloud = new WordCloud(1000, 1000,false, null,-1,1,null, false);
varresult = wordCloud.Draw(countAry.Select(it => it.Key).ToList, countAry.Select(it => it.Value).ToList);
result.Save(resultPath);
Console.WriteLine( "图片生成完成,保存图片:"+ resultPath);
}
运行测试
以本文为分析文本生成词云图,代码如下:
staticvoidMain( string[] args)
{
stringtext = File.ReadAllText( "待处理数据.txt");
varwordWeight = ExtractTagsWithWeight(text);
varwordFreqs = Counter(text, wordWeight);
CreateWordCloud(wordFreqs);
Console.Read;
}
蒙版图如下:
词云图如下(使用蒙版):
词云图如下(不使用蒙版):
在得到关键词的词频信息后,通 过在线工具网站生成词云图片会更加方便一点,如词云文字、图悦等。
参考资料 返回搜狐,查看更多
责任编辑:
夏磊关键词关键词点击技术部署网站关键词关键词难过版exl选定关键词关键词下载无损韶关网站关键词关键词外卖商家appduu的关键词京东开车关键词关键词api接口家长群关键词用关键词拜年啤酒行业关键词轻熟关键词狗狗衣服关键词怀柔关键词seo商标淘宝关键词面条售卖关键词java实现关键词马犬关键词任丘关键词排名雀巢奶粉关键词关键词分组大全定向选关键词google 关键词api中国关键词推荐光子床关键词忘记设置关键词汽车淘宝关键词黑龙眼关键词青春关键词文案迪士尼财经关键词护肤领域关键词qq飘雪关键词支会宝关键词大朗镇关键词推广西安关键词包年阅读方法关键词省钱关键词书包广告关键词英文关键词 牧教师关键词多少字洪江关键词排名买卖内容关键词声控关键词大全ai关键词阳光终究的关键词北电试题关键词关键词甘肃公安定制桌子关键词关键词加年轮辅助筷关键词卖凉席关键词关键词 图文 开发贵溪关键词排名何惧的关键词关键词游戏歌词酸奶制作关键词物流招聘关键词网站关键词瘦身荆州关键词搜索春节慰问关键词认识人生关键词淘宝关键词女性石油企业关键词静态动态关键词古浪关键词优化关键词的停顿ps圆形关键词关键词测试视频标题引流关键词彼得原理关键词雨伞关键词德语年度关键词 视频霸凌关键词芭芭拉本子关键词姐妹图关键词老人关键词发散搜索全部关键词tl漫画关键词bilibili 屏蔽关键词迅雷关键词大全银行搜索关键词汽修人关键词点击网址关键词提升肌肤关键词qq关键词显示关键词 幼儿 游戏反编译关键词团圆拼盘关键词保修智能关键词断句的关键词兔玩偶关键词喜剧的关键词推广维度关键词笛梵关键词谢怜关键词童装短袖关键词事迹关键词怎么惠民保关键词关键词软件功能制定关键词优化吸附箱关键词网络服装关键词关键词题作文最新包包关键词管理分享关键词酒吧销售关键词洗涤设备关键词环境科学关键词劳模事迹关键词盲盒关键词累是关键词学院关键词广告渣反关键词zblog自动关键词imvu红唇关键词卖番薯关键词江爽关键词关键词教育 招聘普宁关键词推广关键词是爱当前关键词设置氧机关键词口味的关键词关键词幼小衔接夏装裙子关键词关键词 记录 代码男孩生日关键词情侣日常关键词品牌关键词拓展清唱关键词伴奏关键词教师女孩男生可爱关键词热门广告关键词说关键词练习雅思划关键词中国 人寿 关键词篮球书包关键词壁挂收纳关键词红牛的关键词女生游戏关键词关键词指数最长心动关键词测试关键词怎么插入汽车关键词解决文章 关键词 加粗seo蜘蛛关键词孕期酱油关键词抓关键词教学超全关键词护肤领域关键词智慧停车关键词热度的关键词小米网站关键词毛绒兔子关键词直播限制关键词最新关键词舞蹈首播引流关键词关键词位置关系中长的关键词关键词女生怀孕正能量 关键词片关键词搜索关键词写作训练书写关键词大全关键词文案爱情ljj关键词解读搜狗广告关键词亚马逊关键词审核暑期关键词酒店公司亮点关键词鞋类导购关键词关键词都是名词关键词牛欣欣v联盟关键词东方绅士关键词关键词捆绑消费环境科学关键词书法销售关键词关键词影片名关键词全网推广裤裙搜索关键词荣耀唤醒关键词婴儿月份关键词关键词指数太高安全品质 关键词衣袖分类关键词简历关键词特点par行动关键词小说关键词举例玩具关键词推荐关键词运营中心番号 欧美 关键词搜索钙片关键词rap的关键词生成关键词java白洁长尾关键词赤峰网站关键词