个人平时比较喜欢看些新闻资讯,比如科技类的huxiu, 36kr,体育新闻等,对相关的APP也有用到,今日头条做的很不错,周围很多人在用,但是在用了一段时间之后发现很多APP都有以下特点:
1. 信息多而且杂,即使我只订阅或者关注了某些类别,推送的消息首先是太多其次是不相关。太多的信息我消费不了,不相关的信息我比较反感。
2. 现在的APP号称可以进行精准和个性化的推荐,头条做的还行,但是感觉不能及时的捕捉用户的兴趣变化,推荐的结果变化也小, 惊喜度不够。
3. 聚合类的新闻资讯有很多重复性的内容,而且很多只是简单的抓取和展现,对阅读的方式和体验都没有太大改善。
以上大概是用过之后感觉有些不便的地方,之前做过一段时间的推荐和文本处理相关的事情,加上自己有些想法,就想实现一个简单的系统,拿自己做个试验试试,也好验证下自己的想法,针对以上问题,个人的想法是1. 每天给用户展现一定数量的有价值的新闻,即限制推送给用户新闻的数量,相关性方面需要针对用户的特征建模,预期效果不太明显,只能通过一些策略来控制,比如最热和相关结合,某个事件或者某个类别展现一条新闻等策略实现。2. 针对用户的行为及时更新用户的特征权重,及让变化更实时一点。3. 很多人看文章只是看文章的大意,很少通读全文的,如果能对文章进行摘要,对APP类的应该会比较好,但是现在对中文貌似没有好的摘要方法,只能不断的进行尝试改进,我会用之前文章介绍的摘要算法进行实验,结合中文的词法和语义做些尝试。
以上纯粹是个人的观点和看法,肯定有不妥的地方,这方面有想法的可以在一起交流下。
目前开发工作已经进行了一些,之前一直用java来做web相关的服务和设计,奈何一般的云服务器跑java的话费用较高,故采用了python来进行相关的开发工作。系统的简单设计如下:
系统主要分为OnLine Service, OffLine Service, 其中OnLine 部分主要进行以下操作:
a). Fetcher利用UA和PA来获取推荐展示的新闻数据,首先会向redis请求相关数据计算,然后到MySql获取数据,目前假定MySql可以满足一定量的并发请求,以后可以考虑按照数据类型在MySql前面再加一层缓存。
b). Updater主要是根据用户行为来更新缓存中的UA权重,这样下次就可以根据用户的最新行为进行推荐展示。
目前采用的方式是tornado 框架来提供web服务,redis作为缓存存储数据,mysql作为底层数据存储, rabbitmq 来作为消息队列,jieba分词器来进行中文分词,redis + mysql 目前已经实现,web主要剩下页面的设计和实现,特征提取和摘要正在进行,由于事情比较多,可能最后实现的跟文章中说的会有很大区别,接下来会讲部分想法的实现过程和效果, 具体取决于进度和工作了,如果有兴趣可以一起交流。

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用