DeepDive 是斯坦福大学提供的一个开源知识挖掘系统,Github地址为:https://github.com/HazyResearch/deepdive,项目主页:http://deepdive.stanford.edu/。其代码以及详细介绍请参考这两个链接。本文主要介绍Ubuntu14.04 下安装配置DeepDive的流程。
一.安装所有依赖
依赖:
Java (1.7.0_45 版本或以上)
Python 2.X (已预装)
PostgreSQL (9.1 以上版本)
SBT
Gnuplot
在命令行窗口输入以下命令:
sudo apt-get install openjdk-7-jdk icedtea-7-plugin sudo apt-get install postgresql sudo apt-get install curl echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list sudo apt-get update sudo apt-get install sbt sudo apt-get install gnuplot-x11
二. 下载并编译deepdive
1. 下载deepdive项目
git clone https://github.com/HazyResearch/deepdive.git
2. 配置maven仓库镜像(sbt打包项目时会从maven仓库中下载各种依赖包,部分依赖包被墙会导致打包失败,解决方法可以是配置vpn或配置maven仓库的国内镜像)
sbt 打包项目时会从maven仓库中下载各种依赖包,部分依赖包被墙会导致打包失败,解决方法可以是配置vpn或设置maven仓库的国内镜像
-->
在 ‘~/.sbt’ 目录下添加一个 ‘repositories‘ 文件,里面输入以下内容:
[repositories] local osc: http://maven.oschina.net/content/groups/public/ typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly sonatype-oss-releases maven-central sonatype-oss-snapshots
3. 编译deepdive项目,在命令窗口中输入make即可:
make
需要等待相当长的时间,成功会会显示下面的消息:
SUCCESS! DeepDive binary has been put into $HOME/local/bin.
三. 配置deepdive
编译完成后直接运行deepdive的测试脚本,会有不少测试无法通过,还需要进行一些配置。
1. 设置环境变量
在‘~/.bashrc’ 文件中加入下面两行
export DEEPDIVE_HOME=[your path to install deepdive] export LD_LIBRARY_PATH=$DEEPDIVE_HOME/lib/dw_linux/lib:$DEEPDIVE_HOME/lib/dw_linux/lib64
保存后退出,然后在命令窗口中输入:
source ~/.bashrc
2. PostgreSQL 用户设置
要让deepdive能够正常访问PostgreSQL,需要为PostgreSQL创建新用户(用户名必须与使用deepdive的ubuntu当前用户名一致),方法如下:
首先,在命令行窗口中输入:
sudo -u postgres psql postgres
然后会进入postgresql的交互界面,在其中依次输入以下命令以创建新用户:
CREATE ROLE tom WITH SUPERUSER CREATEDB CREATEROLE REPLICATION LOGIN; ALTER ROLE tom WITH PASSWORD ‘该用户密码‘; \q
注意,上面命令中的 ‘tom‘ 应该根据具体ubuntu的用户名来替换,密码自己设定。
最后,进入deepdive目录,修改test/test_psql.sh文件中的第3,4行:
export PGUSER=tom(这里替换为刚才创建的用户名) export PGPASSWORD=***** (这里替换为刚才创建用户输入的密码)
保存退出。
进行以上配置后,在deepdive目录下运行./test.sh 就能通过所有测试了。
后续会继续介绍deepdive的相关使用方式以及其中涉及的算法。
参考文档:
http://www.scala-sbt.org/download.html
http://blog.csdn.net/mmical/article/details/41925823
http://deepdive.stanford.edu/doc/basics/installation.html
http://deepdive.stanford.edu/doc/advanced/ubuntu.html