C++之基于正倒排索引的Boost搜索引擎项目数据清洗代码及详解(上)

C++之基于正倒排索引的Boost搜索引擎项目数据清洗代码及详解(上)

1.为什么要进行数据清洗

这是因为我们获得的网页信息包含了很多我们不想要的部分(标签),同时我们需要把title还有content从网页里面提取出来,这样方便我们后期对其进行处理。

2. 怎么进行数据清洗

我们可以把这分为三步。

2.1 第一步

第一步就是通过Enumfile函数把src_path里面的文件名(带路径),保存到file_list中,方便后期对文件进行一个一个的读取。

PS:src_path里面存的就是没有被处理过的信息。

这一步的本质是把src_path里面的关于网页的部分先筛选出来,我们只需要以.html结尾的普通网页文件,其他的都不要。

2.2 第二步

把筛选后的文件去标签化,然后把其分为title和content并构建url,接着存入results里面。

PS:之所以要去标签是因为网页里面实际上包含了很多很多没有的部分,可能是文字的大小或者颜色之类的。我们要把这些全部都去除。

就是把这里打钩的全部提取出来。

2.3 第三步

把去标签后的信息全部给写入到output里面。

PS:我们看到这里可能会疑惑为什么不写到一起,为什么要一步就要换一个容器呢?这是为了防止代码因为其中一部分出现问题而崩溃或者出现我们不想看到的结果。我们要降低代码之间的关系,同时这样分开写还可以写一点编译一点,千万不要把所有的代码全部写完后再编译,这是会出现问题的。

    typedef struct DocInfo { std::string title;//文档的标题 std::string content;//文档的内容 std::string url;//该文档在官网中的url }DocInfo_t; int main() { std::vector<std::string> file_list; //第一步:所以EnumFile,EnumFile函数通过递归的方式把src_path里面的文件名(带路径),保存到file_list中,方便后期对文件进行一个一个的读取。 if(!EnumFile(src_path,&file_list)) { std::cout<<"EnumFile error!!!"<<std::endl; return 1; } //第二步:读取file_list里面每一个文件的内容,并进行解析,然后解析进results std::vector<DocInfo_t> results; if(!ParseHtml(file_list,&results))//读取并解析 { std::cout<<"ParseHtml error"<<std::endl; return 2; } //第三步:把解析后的文件的内容写到output里面,然后按照/3作为每个文件的分隔符 if(!SaveHtml(results,output)) { std::cout<<"SaveHtml error"<<std::endl; return 3; } return 0; }

    Read more

    DeepSeek-R1是真码农福音?我们问了100位开发者……

    DeepSeek-R1是真码农福音?我们问了100位开发者……

    从GitHub Copilot到DeepSeek-R1,AI编程工具正在引发一场"效率革命",开发者们对这些工具的期待与质疑并存。据Gartner预测,到2028年,将有75%的企业软件工程师使用AI代码助手。 眼看着今年国产选手DeepSeek-R1凭借“深度思考”能力杀入战场,它究竟是真码农福音还是需要打补丁的"潜力股"? ZEEKLOG问卷调研了社区内来自全栈开发、算法工程师、数据工程师、前端、后端等多个技术方向的100位开发者(截止到2月25日),聚焦DeepSeek-R1的代码生成效果、编写效率、语法支持、IDE集成、复杂代码处理等多个维度,一探DeepSeek-R1的开发提效能力。 代码生成效果:有成效但仍需提升 * 代码匹配比例差强人意 在代码生成与实际需求的匹配方面,大部分开发者(58人)遇到生成代码与实际需求完全匹配无需修改的比例在40%-70%区间,12人遇到代码匹配比例在70%-100%这样较高的区间。 然而,有30人代码匹配比例低于40%。这说明DeepSeek-R1在代码生成方面有一定效果,但在部分复杂或特定场景下,仍有很大的提升空间。

    By Ne0inhk
    在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

    在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

    本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无需依赖基于云的服务。  步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT         要在本地运行 DeepSeek,我们首先需要安装Ollama,它允许我们在我们的机器上运行 LLM,以及CodeGPT,它是集成这些模型以提供编码辅助的 VSCode 扩展。 安装 Ollama Ollama 是一个轻量级平台,可以轻松运行本地 LLM。 下载Ollama 访问官方网站:https://ollama.com * 下载适合您的操作系统(Windows、macOS 或 Linux)的安装程序。 * 验证安装 安装后,打开终端并运行: ollama --version  如果 Ollama 安装正确,

    By Ne0inhk
    AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏

    AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏

    文章目录 * 一、技术选型与准备 * 1.1 传统开发 vs AI生成 * 1.2 环境搭建与工具选择 * 1.3 DeepSeek API 初步体验 * 二、贪吃蛇游戏基础实现 * 2.1 游戏结构设计 * 2.2 初始化游戏 * 2.3 DeepSeek 生成核心逻辑 * 三、游戏功能扩展 * 3.1 多人联机模式 * 3.2 游戏难度动态调整 * 3.3 游戏本地保存与回放 * 3.4 跨平台移植 * 《Vue.js项目开发全程实录/软件项目开发全程实录》 * 编辑推荐 * 内容简介 * 作者简介 * 目录 一、

    By Ne0inhk
    [DeepSeek] 入门详细指南(上)

    [DeepSeek] 入门详细指南(上)

    前言 今天的是 zty 写DeepSeek的第1篇文章,这个系列我也不知道能更多久,大约是一周一更吧,然后跟C++的知识详解换着更。 来冲个100赞兄弟们 最近啊,浙江出现了一匹AI界的黑马——DeepSeek。这个名字可能对很多人来说还比较陌生,但它已经在全球范围内引发了巨大的关注,甚至让一些科技巨头感到了压力。简单来说这 DeepSeek足以改变世界格局                                                   先   赞   后   看    养   成   习   惯  众所周知,一篇文章需要一个头图                                                   先   赞   后   看    养   成   习   惯   上面那行字怎么读呢,让大家来跟我一起读一遍吧,先~赞~后~看~养~成~习~惯~ 想要 DeepSeek从入门到精通.pdf 文件的加这个企鹅群:953793685(

    By Ne0inhk