1 基 于 Hadoop 平 台 协 同 过 滤 推 荐 算 法 杨 志 文, 刘 波 ( 华 南 师 范 大 学 计 算 机 学 院, 广 州 510631) 摘 要 : 针 对 协 同 过 滤 推 荐 算 法 在 数 据 稀 疏 性 及 在 大 数 据 规 模 下 系 统 可 扩 展 性 的 两 个 问 题, 在 分 析 研 究 Hadoop 分 布 式 平 台 与 协 同 过 滤 推 荐 算 法 后, 提 出 了 一 种 基 于 Hadoop 平 台 实 现 协 同 过 滤 推 荐 算 法 的 优 化 方 案. 实 验 证 明, 在 Hadoop 平 台 上 通 过 MapReduce 结 合 Hbase 数 据 库 实 现 算 法, 能 够 有 效 地 提 高 协 同 过 滤 推 荐 算 法 在 大 数 据 规 模 下 的 执 行 效 率, 从 而 能 够 进 一 步 地 搭 建 低 成 本 高 性 能 动 态 扩 展 的 分 布 式 推 荐 引 擎. 关 键 词 : Hadoop; MapReduce; Hbase; 协 同 过 滤 推 荐 算 法 Hadoop-Based Collaborative Filtering Recommendation Algorithm YANG Zhi-Wen, LIU Bo (School of Computer Science, South China Normal Universit, Guangzhou 510631, China) Abstract: In order to solve data sparsit and scalabilit of the Collaborative Filtering (CF) recommendation algorithm when the volume of the dataset is ver large. After deepl analzing the Hadoop distributed computing platform and the characteristic of Collaborative Filtering recommendation algorithm, the paper propose a optimization scheme on Hadoop platform. The experimental results show that it can effectivel improve the execution efficienc of Collaborative Filtering recommendation algorithm in large data size, when it is realized b MapReduce with Hbase database on the Hadoop platform.and then, it contribute to build one recommendation sstem which is low cost, high-performance and dnamic scalabilit. Ke words: Hadoop; MapReduce; Hbase; collaborative filtering recommendation algorithm 随 着 互 联 网 的 迅 速 发 展, 人 们 如 何 在 繁 多 的 信 息 获 取 自 己 需 要 的 内 容 成 为 了 一 个 越 来 越 重 要 的 问 题. 至 20 世 纪 90 年 代 提 出 推 荐 系 统 概 念 以 来, 对 于 推 荐 系 统 的 研 究 得 到 了 广 泛 的 关 注 和 飞 速 的 发 展. 其 中, Goldberg 等 人 提 出 的 协 同 过 滤 算 法 以 其 很 强 的 普 适 性 在 各 类 个 性 化 推 荐 系 统 中 得 到 了 广 泛 的 重 视 和 应 用. 目 前 的 大 部 分 协 同 过 滤 推 荐 算 法 主 要 是 通 过 计 算 某 一 用 户 对 未 评 分 项 目 的 预 测 评 分 并 以 此 作 为 主 要 依 据 向 该 用 户 进 行 推 荐 [1]. 根 据 算 法 采 用 最 近 邻 对 象 的 不 同 可 分 为 基 于 用 户 (User-based) 的 协 同 过 滤 基 于 项 目 (Item-based) 的 协 同 过 滤 和 基 于 模 型 (Model-based) 的 协 同 过 滤 三 种 算 法. 但 协 同 过 滤 推 荐 算 法 存 在 着 与 生 俱 来 的 稀 疏 性 问 题 冷 启 动 问 题 和 可 扩 展 性 等 缺 陷, 一 直 无 法 得 到 有 效 的 解 决 [2]. 迄 今 为 止 很 多 学 者 致 力 于 采 用 各 种 方 法 对 基 本 的 协 同 过 滤 算 法 本 身 进 行 改 进. 如 文 献 [3] 利 用 神 经 网 络 预 测 用 户 未 评 分 项 的 评 分 从 而 降 低 数 据 的 稀 疏 性, 文 献 [4] 提 出 基 于 项 目 间 相 似 性 提 高 协 调 过 滤 推 荐 算 法 的 可 扩 展 性. 然 而 随 着 评 分 数 据 规 模 的 急 剧 扩 大, 庞 大 的 计 算 量 将 严 重 影 响 协 同 过 滤 推 荐 算 法 的 执 行 效 率 与 推 荐 效 果. 针 对 协 同 过 滤 推 荐 算 法 数 据 稀 疏 性 和 可 扩 展 性 问 题, 本 文 将 跳 开 对 推 荐 算 法 本 身 的 改 进, 在 实 现 机 制 上 提 出 一 种 基 于 Hadoop [5,6] 分 布 式 平 台 实 现 协 同 过 滤 推 荐 算 法 的 改 进 方 案, 即 使 用 对 稀 疏 数 据 具 有 良 好 支 持 的 分 布 式 数 据 库 Hbase 来 保 存 用 户 评 分 矩 阵 作 为 数 据 源, 在 此 基 础 上 实 现 MapReduce 框 架 下 协 同 推 荐 算 法 的 分 布 式 计 算, 将 计 算 任 务 分 配 给 Hadoop 集 群 内 的 每 台 机 器, 从 而 有 效 地 提 高 荐 算 法 的 执 行 效 率. 1 收 稿 时 间 :2012-12-16; 收 到 修 改 稿 时 间 :2013-01-14 108 软 件 技 术 算 法 Software Technique Algorithm
2013 年 第 22 卷 第 7 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用 1 协 同 过 滤 推 荐 算 法 与 Hadoop 平 台 1.1 协 同 过 滤 推 荐 算 法 传 统 的 基 于 项 目 (Item-based) 的 协 同 过 滤 推 荐 算 法 为 例, 它 基 于 这 样 一 个 假 设 [7] : 如 果 用 户 对 一 些 项 目 的 评 分 比 较 相 似, 则 他 们 对 其 他 项 目 的 评 分 也 比 较 相 似. 通 过 统 计 技 术 搜 索 目 标 用 户 的 若 干 最 近 邻 居, 然 后 根 据 最 近 邻 居 对 项 目 的 评 分 预 测 目 标 用 户 对 项 目 的 评 分, 产 生 对 应 的 推 荐 列 表. 其 具 体 算 法 的 工 作 流 程 一 般 可 以 分 为 三 步 : 1) 数 据 表 述 输 入 数 据 一 般 被 表 述 为 一 个 m n 的 用 户 - 项 目 评 估 矩 阵 R, 如 图 1 所 示, m 是 用 户 数, n 是 项 目 数, 矩 阵 元 素 Rij 表 示 第 i 个 用 户 对 第 j 个 项 目 的 评 估 值. R R L R R R L R M M O M R R L R 11 12 1n 21 22 2n m1 m1 mn 图 1 用 户 - 项 目 矩 阵 2) 最 近 邻 搜 索 [8] (Nearest neighbor search, NNS) 得 出 目 标 项 目 的 最 近 邻 集 合, 即 计 算 项 目 I 与 其 它 项 目 的 相 似 度, 根 据 相 似 度 的 大 小 进 行 排 序 从 而 确 定 目 标 项 目 的 最 近 邻, 比 较 常 用 的 方 法 有 余 弦 相 似 度 或 者 皮 尔 逊 相 关 系 数 等, 以 余 弦 相 似 性 为 例. sim( i, i ) = x x ix x R R R 2 i 在 评 分 矩 阵 中, 每 个 项 目 的 所 有 评 分 可 以 视 为 这 个 矩 阵 的 一 个 列 向 量, 计 算 两 个 项 目 的 相 似 度 就 可 以 通 过 计 算 两 个 项 目 对 应 的 两 个 列 向 量 之 间 的 余 弦 值, 用 这 个 余 弦 值 来 表 示 这 两 个 项 目 的 相 似 度. sim(i x,i ) 表 示 项 目 i x 和 项 目 i 之 间 的 相 似 度, U x 表 示 评 价 过 i x 与 i 的 用 户 集 合, U x 和 U 分 别 表 示 评 价 过 项 目 i x 和 项 目 i 的 用 户 集 合, R ix 和 R i 分 别 表 示 u i 对 项 目 i x 和 i 的 评 分. 3) 得 出 目 标 用 户 的 推 荐 结 果 根 据 目 标 用 户 的 最 近 邻 用 户 的 所 有 评 分 项, 预 测 其 对 项 目 i 的 评 分 P a, 其 中 N 表 示 目 标 项 目 的 最 近 邻, r ai 表 示 目 标 用 户 对 项 目 i i 的 评 分. P a, = i sim R 2 i r, i ai i N sim, i i N (1) (2) 得 出 用 户 对 所 有 项 目 的 预 测 评 分 后, 根 据 P a 的 大 小 顺 序 排 列 选 择 最 佳 的 推 荐 结 果 给 目 标 用 户. [9] 1.2 Hadoop 平 台 Hadoop 是 当 前 热 门 的 云 计 算 解 决 方 案 之 一, 是 Apache 组 织 的 一 个 开 源 的 分 布 式 计 算 平 台, 以 Hadoop 分 布 式 文 件 系 统 (HDFS) 和 MapReduce 为 核 心 为 用 户 提 供 了 系 统 底 层 细 节 透 明 的 分 布 式 基 础 架 构. 从 而 用 户 可 以 利 用 Hadoop 轻 松 地 组 织 计 算 机 资 源, 搭 建 自 己 的 分 布 式 计 算 平 台, 并 且 可 以 充 分 利 用 集 群 的 计 算 和 存 储 能 力, 完 成 海 量 数 据 的 处 理. 现 在 Hadoop 已 经 发 展 成 为 包 含 了 多 个 子 项 目 的 集 合, 它 们 提 供 互 补 性 服 务 或 在 核 心 层 上 提 供 了 更 高 层 的 服 务. MapReduce 是 Google 提 出 的 一 个 软 件 编 程 框 架, 用 于 大 规 模 数 据 集 的 并 行 运 算. 如 图 2 所 示 : 一 个 MapReduce 作 业 执 行 时 会 被 拆 分 为 Map 和 Reduce 两 个 阶 段, Map 阶 段 对 输 入 数 据 进 行 分 布 式 处 理 映 射 成 一 组 新 的 键 值 对 <ke, value>, 经 过 一 定 处 理 后 交 给 Reduce 阶 段, Reduce 对 相 同 ke 下 的 所 有 value 进 行 处 理 后 再 输 出 键 值 对 作 为 最 终 的 结 果. 2 推 荐 算 法 的 实 现 图 2 MapReduce 作 业 流 程 图 如 上 所 述, 对 于 基 于 项 目 的 协 同 过 滤 推 荐 算 法 的 主 要 计 算 集 中 在 项 目 相 似 度 计 算 和 预 测 评 分 计 算 两 个 阶 段. 因 此, 下 面 分 别 给 出 这 两 个 阶 段 的 算 法 过 程 描 述 和 MapReduce 框 架 下 实 现 方 法. 2.1 相 关 Web 页 面 获 取 算 法 1 项 目 间 的 相 似 度 计 算 输 入 : 项 目 集 合 I 用 户 集 合 U 评 分 矩 阵 R U I 输 出 : 项 目 间 的 相 似 度 矩 阵 SIM I I 第 1 步 : 设 i=1; 第 2 步 : 若 i>= I, 结 束 ; 第 3 步 : i++, 若 i> I, 则 跳 转 至 第 2 步 ; Software Technique Algorithm 软 件 技 术 算 法 109
第 4 步 : 从 评 分 矩 阵 里 面 找 到 表 示 评 价 过 i x 与 i 的 用 户 集 合 U x, 分 别 表 示 评 价 过 项 目 i x 和 项 目 i 的 用 户 集 合 U x 和 U, 分 别 表 示 ui 对 项 目 i x 和 i 的 评 分 R ix 和 R i ; 第 5 步 : 根 据 公 式 (1) 计 算 项 目 i x 与 i 的 相 似 度 sim(i x,i ); 第 6 步 : i++, 跳 转 至 第 3 步 ; 算 法 2 预 测 评 分 计 算 输 入 : 目 标 用 户 ua 目 标 项 目 i 选 取 的 最 近 邻 数 量 评 分 矩 阵 R U I 项 目 间 相 似 度 矩 阵 SIM I I 输 出 : 用 户 u a 对 项 目 i 的 预 测 评 分 第 1 步 : 从 项 目 相 似 度 矩 阵 中 选 择 K 个 与 项 目 i 相 似 度 最 高 的 项 目 组 成 最 近 邻 集 合 N ; 第 2 步 : 根 据 公 式 (2) 计 算 用 户 u a 对 项 目 i 的 预 测 评 分 P a ; 2.2 MapReduce [10] 以 Grouplens 网 站 下 载 的 数 据 视 频 数 据 MovieLens 1M 为 例, 包 含 的 3 个 文 件 (movies.dat ratings.dat 和 users.dat) 分 别 存 储 了 电 影 信 息 评 分 信 息 以 及 用 户 信 息. Rating.dat 的 数 据 格 式 如 下 所 示 : UserID::MovieID::Rating::Timestamp 个 等 级. UserID 表 示 用 户 ID, 从 1 至 6040. MovieID 表 示 电 影 ID, 从 1 至 3952. Rating 表 示 用 户 对 电 影 的 评 级, 从 1 到 5 共 5 Timestamp 表 示 用 户 给 电 影 评 分 的 时 间 戳. Hadoop 是 用 JAVA 语 言 实 现, 然 而 它 的 基 本 数 据 类 型 不 是 标 准 的 JAVA 对 象, 而 是 对 它 们 的 一 个 封 装, 序 列 化. 根 据 第 二 节 对 协 同 过 滤 推 荐 算 法 的 分 析, org.apache.hadoop.io 包 中 提 供 了 一 套 可 用 于 序 列 优 化 的 Writable 基 本 类 型 并 不 能 满 足 需 求. 所 以 首 先 需 要 通 过 实 现 Writable 接 口 和 WritableComparable 接 口 定 制 灵 活 合 适 的 Writable 类 型. 然 后 根 据 算 法 实 现 的 三 个 步 骤 如 图 3 所 示 对 应 地 分 成 三 个 MapReduce 任 务 进 行 联 合 计 算. 这 里 需 要 将 Reduce 默 认 的 TextOutputFormat 纯 文 本 格 式 输 出 改 成 SequenceFileOutputFormat 二 进 制 输 出 格 式. 以 便 直 接 通 过 它 里 面 存 放 的 键 值 对 的 数 据 格 式 读 取 数 据, 而 不 需 要 像 纯 文 本 文 档 输 入 时 对 每 行 数 据 进 行 格 式 分 析, 减 少 了 大 量 中 间 数 据 的 存 储, 适 合 多 个 MapReduce 任 务 组 成 一 个 作 业 链, 提 高 执 行 效 率. 图 3 算 法 流 程 图 Step1: 得 到 用 户 - 项 目 评 分 矩 阵. 针 对 MapReduce 并 行 程 序 设 计 原 则 可 知, 输 入 数 据 的 切 分 步 骤 与 数 据 不 相 关, 可 以 并 行 化 处 理, map 阶 段 接 收 输 入 的 <ke, value>(ke 是 当 前 输 入 的 行 号, value 是 对 应 行 的 内 容 ), 然 后 对 此 行 内 容 进 行 切 分 工 作, shuffle 排 序 聚 集 分 发 都 是 按 照 ke 值 进 行 的, map 的 输 出 设 计 有 UserID 作 为 ke, MovieID 和 Rating 作 为 value 输 出. Reduce 阶 段 接 收 到 用 户 对 每 个 MovieID 的 评 分 后 合 成 用 户 - 项 目 评 分 矩 阵. Step2: 根 据 算 法 1 计 算 出 所 有 项 目 MovieID 间 的 相 似 度. map 阶 段 接 收 到 用 户 项 目 评 分 矩 阵 后, 对 每 个 用 户 下 的 项 目 评 分 进 行 提 取, 以 项 目 对 (MoiveID(i), MovieID(j)) 作 为 ke, 项 目 对 应 的 (Rating(i), Rating(j)) 作 为 value 输 出 给 reduce 阶 段 进 行 项 目 间 相 似 度 的 计 算, 并 将 计 算 结 果 保 存 输 出. Step3: 根 据 所 有 项 目 MovieID 间 的 相 似 度, 得 出 每 个 项 目 MovieID 相 似 度 最 高 的 N 个 项 目 定 义 最 近 邻 居. 而 后, 根 据 算 法 2 计 算 出 每 个 用 户 UserID 对 未 评 分 的 项 目 MovieID 的 预 测 评 分, 通 过 对 评 分 的 排 序, 得 出 推 荐 项 目 结 果 返 回 给 用 户. 3 数 据 源 的 优 化 Hadoop 平 台 支 持 文 本 数 据 以 及 RDBMS 数 据 库 ( 如 MSQL) 作 为 输 入 数 据 源. 但 文 本 输 入 时 需 要 对 数 据 进 行 格 式 分 析 和 序 列 化 处 理, 占 用 了 大 量 的 计 算 时 间. 而 传 统 的 RDBMS 数 据 库 在 数 据 量 过 大 时 会 出 现 读 写 分 离 策 略. 考 虑 到 协 同 过 滤 推 荐 算 法 计 算 数 据 评 分 矩 阵 的 稀 疏 性 ( 一 般 用 户 评 价 信 息 所 涉 及 的 项 目 只 能 占 总 数 的 1%~2% 左 右 ), 本 文 引 用 Hadoop 平 台 项 目 组 下 对 稀 疏 性 数 据 具 有 良 好 支 持 的 HBase 分 布 式 数 据 库 作 为 数 据 源. 110 软 件 技 术 算 法 Software Technique Algorithm
2013 年 第 22 卷 第 7 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用 HBase [11] 是 一 个 分 布 式 面 向 列 的 开 源 数 据 库, 在 Hadoop 之 上 提 供 类 似 Bigtable 的 能 力. 不 同 于 一 般 关 系 数 据 库 的 数 据 模 型, 用 户 将 数 据 存 储 在 一 个 表 里, 一 个 数 据 行 拥 有 一 个 可 选 择 的 键 和 任 意 数 量 的 列. 主 要 用 于 需 要 随 机 访 问 实 时 读 取 的 大 数 据. 相 比 文 本 数 据 及 RDBMS 数 据 库, HBase 数 据 库 有 以 下 优 势. HBase 是 一 个 基 于 列 模 式 的 映 射 数 据 库, HTable 为 null 的 Column 不 会 被 存 储, 这 样 既 节 省 了 空 间 又 提 高 了 读 性 能, 很 适 宜 存 储 松 散 型 数 据. HBase 架 构 在 Hadoop 上, 不 仅 具 有 很 好 的 可 收 缩 性, 当 数 据 越 来 越 大 时, 只 要 扩 展 Hadoop 集 群, HBase 会 自 动 水 平 切 分 扩 展, 跟 Hadoop 的 无 缝 集 合 保 障 了 其 数 据 库 可 靠 性 和 海 量 数 据 分 析 的 高 性 能. HBase 能 够 结 合 使 用 MapReduce 编 程 框 架 并 行 处 理 大 规 模 数 据, 使 得 数 据 存 储 与 并 行 计 算 完 美 地 结 合 在 一 起 [12]. 如 表 1, 使 用 HBase 数 据 库 需 要 对 原 先 MapReduce 程 序 进 行 修 改. 扩 展 ( 继 承 )MapReduce 里 面 的 相 关 类 ( 如 Mapper 和 Reducer, InputFormat 和 OutputFormat) 来 方 便 MapReduce 直 接 读 写 HTable 中 的 的 数 据. 表 1 Hbase 扩 展 包 Hbase MapReduce Hadoop MapReduce reduce.tablemapper.mapper reduce.tablereducer.reducer reduce.tableinputformat.inputformat reduce.tableoutputformat.outputformat 根 据 数 据 源 MovieLens 1M 的 数 据 特 性, 设 计 基 于 HBase 数 据 库 的 数 据 模 型 如 表 2. 将 数 据 写 入 HBase 后 作 为 底 层 存 储 结 构, MapReduce 在 上 进 行 调 用 处 理 数 据, 可 以 有 效 提 高 程 序 的 执 行 效 率. 软 件 环 境 : Ubuntu10.10; JDK1.6; Hadoop0.20.203.0 表 2 数 据 模 型 4.2 实 验 数 据 本 文 使 用 的 是 Grouplens 网 站 上 提 供 的 视 频 评 分 数 据 包 : ml-1m: 数 据 包 括 了 6040 个 用 户 对 3900 部 电 影. ml-10m: 数 据 包 括 了 71567 个 用 户 对 10681 部 电 影. 试 验 过 程 中, 根 据 节 点 数 量 分 别 启 动 1~4 台 Task Tracker 节 点, 构 成 不 同 规 模 的 分 布 式 集 群 环 境. 对 不 同 级 别 的 数 据 量 进 行 分 组 实 验, 每 次 测 试 重 复 进 行 三 次 取 平 均 值. 获 取 不 同 的 数 据 量 在 不 同 规 模 Hadoop 集 群 下 所 需 要 的 计 算 时 间 T. 由 于 计 算 时 间 受 到 集 群 各 节 点 自 身 硬 件 水 平 及 网 络 状 况 等 影 响, 并 不 具 有 稳 定 客 观 的 参 考 价 值, 而 本 文 实 验 是 为 了 验 证 通 过 对 Hadoop 集 群 的 扩 展 能 有 效 地 提 高 超 大 数 据 规 模 下 协 同 过 滤 推 荐 算 法 的 执 行 效 率, 所 以 我 们 采 用 参 数 f=t1/tn 作 比 较. T1 是 TaskTracker 节 点 为 1 时 算 法 的 执 行 时 间, Tn 是 TaskTracker 节 点 为 n 时 算 法 的 执 行 时 间. 通 过 比 较 f 参 数 可 以 得 出 Hadoop 节 点 数 量 对 算 法 执 行 效 率 的 影 响 状 况. 4 实 验 结 果 与 分 析 4.1 实 验 环 境 Hadoop 集 群 : 4 台 普 通 PC 机 搭 建 Hadoop 组 成 集 群, 命 名 为 hd0~hd3, 其 中 hd0 作 为 NameNode 同 时 作 为 JobTracker, 其 它 hd1~hd3 作 为 DataNode 和 TaskTracker. 图 4 Software Technique Algorithm 软 件 技 术 算 法 111
从 实 验 结 果 图 4, 可 以 看 出, 对 于 同 一 数 据 集, 增 加 TaskTracker 节 点 数 量, 可 以 有 效 地 提 高 推 荐 算 法 的 效 率. 而 且 相 比 较 下 计 算 数 据 集 较 大, Hadoop 集 群 的 大 小 影 响 越 明 显. 因 为 对 Hadoop 集 群 进 行 扩 展 只 需 要 将 新 的 TaskTracker 节 点 地 址 添 加 到 Hadoop 的 slaves 列 表 中, 所 以 在 Hadoop 平 台 实 现 协 同 过 滤 推 荐 算 法, 能 够 有 效 地 克 服 算 法 本 身 数 据 稀 疏 性 和 可 扩 展 性 问 题. 通 过 实 验, 发 现 MapReduce 框 架 下 实 现 协 同 过 滤 推 荐 算 法 存 在 着 一 个 缺 点, 即 在 每 次 的 计 算 中, 多 需 要 对 数 据 源 进 行 初 始 化, 这 个 过 程 耗 费 一 定 的 计 算 时 间, 从 而 影 响 了 推 荐 算 法 的 实 时 响 应 性. 5 总 结 本 文 提 出 了 一 种 基 于 Hadoop 平 台 对 协 同 过 滤 推 荐 算 法 实 现 的 研 究, 试 图 通 过 云 计 算 平 台 实 现 推 荐 算 法 的 分 布 式 计 算, 从 而 克 服 算 法 本 身 数 据 稀 疏 性 及 可 扩 展 性 问 题. 与 基 于 单 机 实 现 协 同 过 滤 推 荐 算 法 的 方 法 相 比, 应 用 Hadoop 云 计 算 平 台, 不 仅 可 以 使 用 更 适 合 存 储 稀 疏 性 数 据 的 分 布 式 数 据 库 HBase 代 替 传 统 关 系 数 据 库 RDBMS, 还 能 结 合 MapReduce 编 程 框 架 实 现 算 法 的 并 行 计 算. 实 验 数 据 表 明, 在 采 用 多 台 PC 机 组 成 的 Hadoop 集 群 通 过 增 加 计 算 节 点 能 够 有 效 减 少 计 算 时 间. 随 着 计 算 数 据 规 模 的 增 加, 可 以 廉 价 动 态 地 扩 展 集 群 的 计 算 能 力. 参 考 文 献 1 范 波, 程 久 军. 用 户 间 相 似 度 协 同 过 滤 推 荐 算 法. 计 算 机 科 学, 2012(1). 2 Sarwar MB. Sparsit, scalabilit and distribution in recommender sstems [Ph.D dissertation]. Universit of Minisota, 2001. 3 张 锋, 常 会 友. 使 用 BP 神 经 网 络 缓 解 协 同 过 滤 推 荐 算 法 的 稀 疏 性 问 题. 计 算 机 研 究 与 发 展,2006:(4). 4 Sarwar B, Karpis G, Konstan Jet. Item-Based Collaborative Filtering Recommendation Algorithms C. Proc. of the 10th International World Wide Web Conference. New York 2001: 285 295. 5 The Apache Hadoop project.http://hadoop.apache.org/. 6 Dean J, Ghemawat S. MapReduce: Simplified data processing on large cluseters. Communications of the ACM, 2005,51(1): 107 113. 7 Brees J, Hecherman D, Kadie C. Empirical analsis of predictive algorithms for collaborative filtering. Proc. of the 14th Conference on Uncertaint in Artificial Intelligence (UAI 98). 1998:43 52. 8 季 昀. 基 于 协 同 过 滤 推 荐 算 法 电 影 网 站 的 构 建 [ 学 位 论 文 ]. 哈 尔 滨 工 业 大 学,2009. 9 White T, 曾 大 聘, 周 傲 英.Hadoop 权 威 指 南. 北 京 : 清 华 大 学 出 版 社,2010.9 10. 10 Miller BN, Albert I, Lam S K, et al. MovieLens unplugged: experiences with an occasiionall connected recommender sstem. Proc. of the Conference on Human Factors in Computing Sstems. 1995:210 217. 11 The Apache HBase project.http://hbase.apache.org/. 12 陆 嘉 恒.Hadoop 实 战. 北 京 : 机 械 工 业 出 版 社.245 246. ( 上 接 第 116 页 ) 6 Zhang ZY. Flexible Camera Calibration B Viewing a Plane From Unknown Orientations. Proc. of IEEE International Conference on Computer Vision, 1999,11(1):666 673. 7 Zhang ZY. MEMBER S.A Flexible New Technique for Camera Calibration. IEEE Trans. on Pattern Analsis And Machine Intelligence, 2000,22(11):1330 1334. 8 马 颂 德, 张 正 友. 计 算 机 视 觉. 北 京 : 科 学 出 版 社,1998. 9 Steve V. Binocular vision-based augmented realit sstem with an increased registration depth using dnamic correction of feature positions. Virtual Realit, Proc. IEEE, 2003: 271 272. 10 于 舒 春, 朱 延 河, 闫 继 红, 等. 基 于 新 型 双 目 机 构 的 立 体 视 觉 系 统 标 定. 机 器 人,2007,29(4):353 362. 11 Heikkila J, Silven O. A Four-step Camera Calibration Procedure with Implicit Image Correction. Proc. of the IEEE Computer Societ Conference on ComputerVision and Pattern Recognition. Los Alamitos, CA, USA: IEEE Computer Societ, 1997:1106 1112. 112 软 件 技 术 算 法 Software Technique Algorithm