博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bag of words in c++
阅读量:5168 次
发布时间:2019-06-13

本文共 3401 字,大约阅读时间需要 11 分钟。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
template
void ReadMatFromFile(std::string &filename, std::vector
> &lines_feat) { std::ifstream vm_info(filename.c_str()); std::string lines; DataType var; std::vector
row; lines_feat.clear(); while(!vm_info.eof()) { getline(vm_info, lines); if(lines.empty()) break; std::stringstream stringin(lines); row.clear(); while(stringin >> var) { row.push_back(var); } lines_feat.push_back(row); }}void ReadStringFromFile(std::string &filename, std::vector
&in_string) { std::ifstream vm_info(filename.c_str()); std::string lines, var; while(!vm_info.eof()) { getline(vm_info, lines); if(lines.empty()) break; std::stringstream stringin(lines); while(stringin >> var) { in_string.push_back(var); } }}std::string lowerCase(const std::string& s) { std::string lower(s); for(size_t i=0;i
=65 && ch<=90)) { ch=ch+32; flag=true; } else if((ch>=97 && ch<=122) || (ch>=48 && ch<=57)) { flag=true; } else { ; } if(flag) { letter.push_back(ch); } } letter.push_back('\0'); return letter;}template
int MatMultiply(const std::vector
> &Mata, const std::vector
> &Matb, std::vector
> &MatOut) { if(Mata.at(0).size() != Matb.size()) { std::cout<<"not match!\n"; return -1; } for(size_t i=0; i
col; col.clear(); for(size_t k=0; k
void outer_product(const std::vector
&inst1, const std::vector
&inst2, std::vector
> &out) { std::vector
temp_row(inst2.size()); for(typename::std::vector
::const_iterator it=inst1.begin();it!=inst1.end();++it) { transform(inst2.begin(), inst2.end(), temp_row.begin(), bind2nd(std::multiplies
(), *it)); out.push_back(temp_row); }}void ReadDataFromFile(std::string &filename, std::vector
&lines_feat) { std::ifstream vm_info(filename.c_str()); std::string lines; lines_feat.clear(); while(!vm_info.eof()) { getline(vm_info, lines); if(lines.empty()) break; lines_feat.push_back(lines); }}std::vector
split(const std::string& s, char delimiter) { std::vector
tokens; std::string token; std::istringstream tokenStream(s); while(std::getline(tokenStream, token, delimiter)) { tokens.push_back(token); } return tokens;}int stringtoint(const std::string& s) { std::istringstream iss(s); int num; return iss>>num?num:0;}void printip(const std::string& s) { std::vector
temp, ip_segment; temp=split(s, '-'); ip_segment=split(temp.front(), '.'); std::string ip_start=ip_segment.back(), ip_end=temp.back(); int start, end; start=stringtoint(ip_start); end=stringtoint(ip_end); for(size_t i=start;i<=end;++i) { std::cout<
<<"."<
<<"."<
<<"."<
<<"\n"; }}template
void Display2DVector(std::vector
> &vv) { for(size_t i=0;i
::const_iterator it=vv.at(i).begin();it!=vv.at(i).end();++it) { std::cout<<*it<<" "; } std::cout<<"\n"; } std::cout<<"--------the total of the 2DVector is "<
<
v_string; std::string words; std::set
s_string; ReadStringFromFile(filename, v_string); for(std::vector
::const_iterator it=v_string.begin(); it!=v_string.end(); ++it) { std::cout<<*it<<" "; words=letters(*it); s_string.insert(words); } std::cout<
::const_iterator it=s_string.begin(); it!=s_string.end(); ++it) { std::cout<<*it<<" "; } std::cout<

The bag of words model ignores grammar and order of words.

运行结果如下,第一行为原始数据,第二行为提取后的数据:

转载于:https://www.cnblogs.com/donggongdechen/p/10766901.html

你可能感兴趣的文章
java:Apache Shiro 权限管理
查看>>
objective c的注释规范
查看>>
FreeNas安装配置使用
查看>>
Django(一)框架简介
查看>>
Python操作SQLite数据库的方法详解
查看>>
菜单和工具条(二)
查看>>
hadoop17---RPC和Socket的区别
查看>>
使用JMeter代理录制app测试脚本
查看>>
Linq to Object实现分页获取数据
查看>>
mac常用系统命令
查看>>
android上传文件到服务器
查看>>
我回答了90%的面试题,为什么还被拒?
查看>>
Html - Table 表头固定和 tbody 设置 height 在IE不起作用的解决
查看>>
HDU 2262 回溯算法 递归枚举
查看>>
九度0J 1374 所有员工年龄排序
查看>>
微信小程序图片使用示例
查看>>
Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程
查看>>
1.开发准备
查看>>
centos su命令
查看>>
CLR:基元类型、引用类型和值类型
查看>>