1系统环境
64位 Ubuntu
2 第三方依赖库配置
-
boost_1_44_0
#解压boost_1_44_0.tar.gz 到 /usr/local.如果出现权限问题,请用sudo执行该命令tar zxvf boost_1_44_0.tar.gz -C /usr/local#编译Boost.Regex #检查 echo $BOOST_ROOT 是否等于 /usr/local/boost_1_44_0#如果为空,在~/.bashrc 中写入 export BOOST_ROOT = /usr/local/boost_1_44_0cd ${BOOST_ROOT}/libs/regex/build/#如果当前目录存在名为"gcc"的文件夹,则将之删除make -f gcc-shared.makmake -f gcc.makcd gcc/sudo ln -s libboost_regex-gcc-1_42.so /usr/local/libsudo ln -s libboost_regex-gcc-1_42.so /usr/lib#重要,指明boost.regex库的链接位置。在.bashrc中写入export LD_LIBRARY_PATH=${BOOST_ROOT}/libs/regex/build/gcc
-
ltp-service
cd path_to_ltp-service/__ltpService#检查LTPOption.h 中是否为 #define LINUX_OS //#define WIN_OScd path_to_ltp-servicechmod +x configure./configuremakesudo make install#如果libutil libxml4nlp libservice 在 /usr/local/lib中,则ltp-service配置成功
-
安装mysql
安装mysql,包括mysql-server,mysql-client,libmysqlclient-dev:
sudo apt-get install mysql-server sudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev
程序中所用的数据库名为wikipedia,用户名为'root'@'localhost',密码为‘hadoop’。如果用户名root的密码不为hadoop时,注意修改密码。
创建数据库wikipedia:
> create database wikipedia;> use wikipedia;
恢复数据:将wikipedia_mysql_backup(里面包含create table语句和insert语句)恢复到wikipedia数据库中:
> source wikipedia_mysql_backup
3 make源文件
将 {程序路径}\ontoEnrich\system\makefile,用如下的makefile覆盖:
#如果提示文件找不到,添加需要的 INCLUDE,LINK 路径#修改时,请对比原makefile文件,并不要修改原文件(将原makefile文件备份)#如果提示文件找不到,添加需要的 INCLUDE,LINK 路径#修改时,请对比原makefile文件,并不要修改原文件(将原makefile文件备份)INCLUDE = ./ -I ../segment -I ../conceptRecognise -I ../utility \ -I ../regexMatch -I ../include -I ../suffixTree -I ../wikiProject \ -I ../relationExtractor -I ../simWord -I ../clustering -I ../pattern \ -I /usr/local/include -I /usr/local/boost_1_44_0 VPATH = ../segment:../conceptRecognise:../utility:../suffixTree \ :../regexMatch:../wikiProject:../relationExtractor \ :../simWord:../clustering:../patternBOOSTLIBS = -L /usr/local/boost_1_44_0/libs/regex/build/gcc -lboost_regex-gcc-1_42object1=text.o corpus.o simpleConceptExtractor.oobject2=getRulePattern.o regexMatch.oobject3=wikiCategory.o zh2sim.o connectMysql.o regexMatch.oobject4=CWikiNetworkTrainer.o fire.o CWikiNetwork.o StrFun.oobject5=suffixTree.o charConverter.oobject6=relationPopulation.o mark.o kmeans.o patternUtility.o pattern.o synForest.oobject7=clustering.o wordVector.o distance.o tree.oobject8=getPattern.o editDistanceCal.o patternGenerator.oobject=$(object1) $(object2) $(object3) $(object4) $(object5) $(object6) $(object7) $(object8) \ wikiInfoExtractor.o wikiInfoExtractor.o conceptRecognizor.o \ addElement.o ontoLearner.o ontologyEnrichment.o sentParser.oontologyEnrichment:$(object) g++ -o ontologyEnrichment -g $^ -I$(INCLUDE) -lmysqlclient ${BOOSTLIBS} \ -L ../segment -lsegment -L /usr/local/lib -lutil -lxml4nlp -lservice myUtility.o:myUtility.cpp g++ -g -c $^ -I$(INCLUDE) -L ../segment -lsegment #simpleConceptLearner.o:$(object1) # g++ -g -o simpleConceptLearner.o $^ -L../segment -lsegmentsimpleConceptExtractor.o:simpleConceptExtractor.cpp g++ -c -g $^ -I$(INCLUDE)text.o:text.cpp g++ -c -g $^ -I$(INCLUDE) -L ../segment -lsegmentcorpus.o:corpus.cpp g++ -c -g $^ -I$(INCLUDE) -L ../segment -lsegment # getRuleFile.o:$(object2) # g++ -g -o getRuleFile.o $^ -I$(INCLUDE) -L../ -lsegment -lboost_regex-gcc-1_42getRulePattern.o:getRulePattern.cpp g++ -g -c $^ -I$(INCLUDE) regexMatch.o:regexMatch.cpp g++ -c -g $^ -I$(INCLUDE) ${BOOSTLIBS} wikiInfoExtractor.o:wikiInfoExtractor.cpp g++ -g -c $^ -I$(INCLUDE) ${BOOSTLIBS} -L ../segment -lsegment conceptRecognizor.o:conceptRecognizor.cpp g++ -g -c $^ -I$(INCLUDE) -L ../segment -lsegment # cateRel.o:$(object3) # g++ -g -o cateRel.o $^ -I$(INCLUDE) -lboost_regex-gcc-1_42 -lmysqlclient -L ../segment -lsegment wikiCategory.o:wikiCategory.cpp g++ -c -g $^ -I$(INCLUDE) ${BOOSTLIBS} -L ../segment -lsegmentzh2sim.o:zh2sim.cpp g++ -g -c $^ -I$(INCLUDE)connectMysql.o:connectMysql.cpp g++ -g -c $^ -I$(INCLUDE) -lmysqlclient addElement.o:addElement.cpp g++ -g -c $^ -I$(INCLUDE) -lmysqlclientontoLearner.o:ontoLearner.cpp g++ -g -c $^ ontologyEnrichment.o:ontologyEnrichment.cpp g++ -g -c $^ CWikiNetworkTrainer.o: CWikiNetworkTrainer.cpp g++ -g -c $^ -I$(INCLUDE)fire.o :fire.cpp g++ -g $^ -c -o fire.o -I$(INCLUDE)CWikiNetwork.o : CWikiNetwork.cpp g++ -g -c $^ -I$(INCLUDE)StrFun.o: StrFun.cpp g++ -g -c $^ -I$(INCLUDE) suffixTree.o:suffixTree.cpp g++ -c -g $^ -I$(INCLUDE) -L ../segment -lsegment charConverter.o:charConverter.cpp g++ -c -g $^ relationPopulation.o:relationPopulation.cpp g++ -c $^ -I$(INCLUDE)mark.o:mark.cpp g++ -c $^ -I$(INCLUDE)kmeans.o:kmeans.cpp g++ -c $^ -I$(INCLUDE)patternUtility.o:patternUtility.cpp g++ -c $^ -I$(INCLUDE)pattern.o:pattern.cpp g++ -c $^ -I$(INCLUDE) synForest.o:synForest.cpp g++ -g -c $^ -I$(INCLUDE) -L ../segment -lsegment clustering.o:clustering.cpp g++ -c -g $^ -I$(INCLUDE)wordVector.o:wordVector.cpp g++ -c -g $^ -I$(INCLUDE)distance.o:distance.cpp g++ -c -g $^ tree.o:tree.cpp g++ -c -g $^ getPattern.o:getPattern.cpp g++ -g -c $^ -I$(INCLUDE) ${BOOSTLIBS}patternGenerator.o:patternGenerator.cpp g++ -g -c $^ -I$(INCLUDE) ${BOOSTLIBS}editDistanceCal.o:editDistanceCal.cpp g++ -g -c $^ -I$(INCLUDE) sentParser.o:sentParser.cpp g++ -g -c $^ -I$(INCLUDE) -L /usr/local/lib -lutil -lxml4nlp -lservice clean: rm $(object) ontologyEnrichment
4 生成可执行程序
#若是有已经生成的可执行文件ontologyEnrichment,可以先用make clean命令清理一遍,然后再make cd ontoEnrich_64/systrmmake
运行程序: ./ontologyEnrichment