配置phRank

编译iState文件夹中的indri_api

在已经编译好的indri文件夹中,可以找到Makefile.app文件。修改其中内容

APP=indri_API

然后将此文件拷到iState文件夹下。执行命令

make -f Makefile.app

就可以将indri_app编译。

编译indri_api

配置参数

打开phrank文件夹下的params.py文件。配置以下变量

indri = '/mnt/i/databackup/indri/indri-2.12/bin/'
index_collection = '/mnt/i/databackup/testdocs/'
index_wikipedia = '/mnt/i/databackup/wiki412/'
graph_k = 5

其中,indri对应的文件夹中应含有buildindex, dumpindexrunquery三个文件。这三个文件可以在经过编译后的indri文件夹内找到(分别位于三个不同的子文件夹下)。
index_collection对应存放文件index的目录。
index_wikipedia对应存放wiki的index的目录。

使用phrank

使用phrank需要新建两个文件。(假设我们新建了query.txt和term.txt两个文件)。其中query.txt存放我们的query,term.txt存放了query中term的全排列。
格式如下

query.txt

1: player goal area

term.txt

1 : player
1 : goal
1 : area
1 : player goal 
1 : player area
1 : goal area
1 : player goal area

其中1表示query的id,用来区分不同的query。可以使用任意其他值。query.txt和term.txt中可以包含多个query。

要使用phrank对term进行排序时,执行
python phRank.py query.txt terms.txt -c football -r 1
此次,我也不清楚-c和-r的作用。在没有wiki的index的时候,似乎这两个参数没有任何作用。也就是可以把football 和1 替换成任意其他的东西。执行后,在data/keyphr文件夹下将生成term的权重。我执行后生成了如下内容

1 : goal    1.0
1 : player goal 0.861430988572
1 : goal area   0.861386567364
1 : player goal area    0.815211703957
1 : player  0.722861977144
1 : player area 0.722817555936
1 : area    0.722773134728

可以根据term的权重来选择要用哪些term来进行查询。

使用indri来进行检索

首先,需要修正下之前我们建立的index。这个非常坑,让我浪费了好多的时间。
先回忆下,上次我们建立index的时候,每个问题放在一个txt文件里。事实上我们并没有成功建立index。
看下上次的结果图

上次的截图

图中红色圈出的显示,只有一个文件建立的索引。

所以,这次我们先重新修正建立index。

我们依然为每一个问题建立一个文件。
文件的格式如下

<DOC>
<DOCNO>1</DOCNO>
<TEXT>
In all codes, common skills include passing, tackling, evasion of tackles, catching and kicking.[8] In most
codes, there are rules restricting the movement of players offside, and players scoring a goal must put the 
ball either under or over a crossbar between the goalposts.
</TEXT>
</DOC>
//注意,此处一定要有一个空行。

文件最后一定要有一个空行,否则会提示错误(我在这浪费了好多时间)。把注释删掉。
其中DOCNO中的是文档id,不可以重复
TEXT中间是题目的文本信息。

参数文件parameter.txt内容与上次差不多,但是要少许修改

<parameters>
<memory>8000m</memory>
<index>/mnt/i/databackup/test/</index>
<corpus>
<path>/mnt/i/databackup/docs2</path>
<class>trectext</class> //注意,此处与上次不同,类型为trectext
</corpus>
</parameters>

重新执行命令

Paste_Image.png

可以看到,6个文件都成功建立索引了。

接下来我们介绍如何使用indri来检索结果

就像建立索引一样,我们依然需要一个文件来指定参数。

<parameters>
  <index>/mnt/i/databackup/test</index> //指定index的位置
  <count>3</count> //返回结果的数量
  <trecFormat>true</trecFormat>//懒得解释了,放上来肯定没错
  <query> //以下为一个query
    <number>1</number> //query的id
    <text>football</text> //query的内容
  </query>
</parameters>

处理query我们需要runquery。在含有runquery的文件夹下,我们执行命令./runquery params.txt,可以看到一下结果

query 结果

每一行的意思如下
<queryID> Q0 <DocID> <rank> <score> <runID>
红色标出来的数字表示retrive到的文档的id,也就是在我们之前用<DOCNO></DOCNO>所围起来的数字。

在使用indri来检索文件的时候,还有更多的参数可以使用。本次暂时不做介绍。具体的参数可以参考
http://lemurproject.org/doxygen/lemur/html/IndriRunQuery.html.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容