软件中心使用哪些数据为您提供建议?
在What’s New部分的下方,有一个推荐给你的部分。
目前我还没有启用它,但除了软件列表之外,您对已安装的内容采取了哪些数据?
-
该软件列表是否包含通过Synaptic或
apt-get
安装的软件? -
是否需要有关安装时间(或顺序)的数据?
-
这些数据用于什么? (除了建议,如果有的话)
-
它如何解决您可能喜欢的软件? (例如,它只需要类别,还是更深入的分类)?
-
如果我安装了A并且它推荐了C,然后我安装了B,这是否意味着它可能会停止推荐C(可能因为B和C非常相似)?
APT或高级打包工具基本上解决了依赖性问题并检索所请求的包。 它适用于另一个工具dpkg
,它处理包(应用程序)的实际安装和删除。 APT非常强大,主要用于命令行(控制台/终端)。 但是,有许多GUI /图形工具可以让您使用APT而无需触及命令行。
Synaptic是使用APT的GUI / Graphical工具之一。 这就是Synaptic Package Manager的网站所说的相同内容 –
Synaptic是apt的图形包管理程序。 它提供与apt-get命令行实用程序相同的function,以及基于Gtk +的GUI前端。
因此,Synaptic和终端基本上都做同样的事情,即使用APT,使用不同的接口(分别是GUI和CLI)。
这就是软件中心推荐的Ubuntu Wiki 页面所述 –
我们可以使用的数据
我们拥有的关于我们所拥有的人的当前数据是:
所有其他人都安装了什么(新的推荐服务/爆米花)
所有其他人都在使用(zeitgeist / new推荐服务/ popcon)
其他人喜欢或不喜欢什么特定的应用程序(rnr)
我们有关用户系统的数据是:
用户安装了哪些应用程序
用户正在使用哪些应用程序(popcon / zeitgeist)
用户正在使用哪些mimetypes(zeitgeist)
也许是用户的SSO ID
也许是用户喜欢的应用程序(基于他/她的评论)
用户的联系人
现在有趣的是使用“ 或许 ”这个词使得事情有点粗略。
基本上推荐服务器的作用是它存储系统上安装的软件包列表。 无论是由软件中心安装,突触还是终端都无关紧要,因为它最有可能使用dpkg
或APT。 我可以这么说,因为我没有使用过软件中心,但仍然可以根据我通过终端安装的软件包获得建议。
存储
服务器存储每个参与者安装的包的列表,以及为它们生成的推荐的缓存。
服务
当发送包含UUID的请求时,服务器返回表示该UUID的推荐的Json包列表。
将有一个涉及UUID的REST API调用,它将以某种sc可以理解的格式返回推荐。
最终,软件中心也是APT的GUI /图形工具。
但是,您提出的一些要点属于未解决的问题类别,并且没有提供有关建议如何正确工作的信息,即算法。
尚未解决的问题
我们如何迎合多人使用计算机的人? 我们是否应该向UUID添加本地用户名以确保它是唯一的(当部分或全部用户没有SSO帐户时?
- 这是一个有趣的问题,人们会在这里期待什么。 如果我有专用游戏机和生产力机器,那么我们应该有两个不同的建议。 如果OTOH我有一台笔记本电脑和一台桌面用于相同的事情,建议应该是相同的。 希望系统可以从上下文中解决。
该算法是否考虑了软件评级以及是否已安装? 如果有人从未对软件进行评级(即没有SSO帐户的用户),效果会降低吗?
如果有人重新安装Ubuntu怎么办?
- 所以我们应该定期“ping”(即使系统没有安装/删除软件ping,告诉服务器它仍在使用中),UUID能够随着时间的推移删除不再有效的UUID。
一个有趣的观点是引导数据集,即在我们在服务器上有合理数量的数据之前要提供哪些建议。 对于基于评论的建议,我们已经在那里进行了大量的评审,以启动基于评论的建议。 对于基于已安装软件包otoh的建议,我们需要开始接收数据一段时间才能开始提供有用的建议。
最好联系Canonical的开发人员或团队,他们为最准确的答案设计了软件中心的建议。
也就是说,我觉得推荐系统不是那么聪明,因为它推荐了许多其他用户已安装的流行软件包,而不是鲜为人知但相似的软件包,这些软件包实际上可能与用户更相关。