本學(xué)期參與了信息組織與檢索課程的學(xué)習(xí)粤蝎,并通過(guò)一次次練習(xí)掌握了信息檢索的各項(xiàng)技能。
目錄
1.信息檢索讀物讀后感......p1-2
2.安裝scrapy抓取熱門(mén)標(biāo)簽書(shū)本......p2-5
3.利用scrapy抓取公管老師信息......p5-10
4.查詢(xún)lofter網(wǎng)站的robot權(quán)限......p10-11
5.安裝jieba中文分詞包并調(diào)試......p11-13
6.自定義字典的學(xué)習(xí)以及詞頻統(tǒng)計(jì)......p13-15
7.了解solr以及檢索的構(gòu)建查詢(xún)......p15-27
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:admin="http://webns.net/mvcb/">
<foaf:PersonalProfileDocument rdf:about="">
<foaf:maker rdf:resource="#me"/>
<foaf:primaryTopic rdf:resource="#me"/>
<admin:generatorAgent rdf:resource="http://www.ldodds.com/foaf/foaf-a-matic"/>
<admin:errorReportsTo rdf:resource="mailto:leigh@ldodds.com"/>
</foaf:PersonalProfileDocument>
<foaf:Person rdf:ID="me">
<foaf:name>cong su</foaf:name>
<foaf:title>Mr</foaf:title>
<foaf:givenname>cong</foaf:givenname>
<foaf:family_name>su</foaf:family_name>
<foaf:nick>james</foaf:nick>
<foaf:mbox_sha1sum>5e26490ccb0a4c88db6756ac6cc88680b97e0b24</
foaf:mbox_sha1sum>
<foaf:homepage rdf:resource="https://user.qzone.qq.com/561350767/main"/>
<foaf:phone rdf:resource="tel:15680927082"/>
<foaf:schoolHomepage rdf:resource="http://www.scu.edu.cn/"/>
<foaf:knows>
<foaf:Person>
<foaf:name>Guanyan</foaf:name>
<foaf:mbox_sha1sum>2c8471e452467d260c9238eb02b93b3aea936155</
foaf:mbox_sha1sum></foaf:Person></foaf:knows>
<foaf:knows>
<foaf:Person>
<foaf:name>Duanyun</foaf:name>
<foaf:mbox_sha1sum>bd708090bd0a2cc38094c49a9d631aaba4e06ce9</
foaf:mbox_sha1sum></foaf:Person></foaf:knows></foaf:Person>
</rdf:RDF>
當(dāng)今是大數(shù)據(jù)時(shí)代等浊,隨著信息技術(shù)奠衔,通信技術(shù)的快速發(fā)展,每天都在產(chǎn)生大量而無(wú)序的信息导狡,而這些大量的數(shù)據(jù)在為人利用之前必須經(jīng)過(guò)一定的處理和排序,這就需要信息組織技術(shù)偎痛。
在使用實(shí)體存儲(chǔ)信息的年代旱捧,信息的組織與特定的檢索是特別有局限性的。在《新數(shù)字秩序的革命》一書(shū)中踩麦,舉到了貝德曼圖書(shū)資料館的例子枚赡。在比爾蓋茨花費(fèi)大量精力財(cái)力人力將貝德曼圖書(shū)資料館搬移到洞穴之后,盡管將這些膠片進(jìn)行兩層秩序排列和擺放谓谦,其仍然存在巨大的局限性:無(wú)法記錄藏品的所有信息贫橙,在檢索過(guò)程中,也要花費(fèi)大量時(shí)間才能找到想要的圖片反粥。這是無(wú)法避免的卢肃,是元數(shù)據(jù)不完整,是實(shí)體存儲(chǔ)信息的漏洞才顿〖粒可以理解為大海撈針。而在信息時(shí)代來(lái)臨娜膘,人們普遍開(kāi)始用數(shù)字化存儲(chǔ)信息后逊脯,第三層秩序出現(xiàn)了,也拯救了索引竣贪。Corbis的數(shù)字圖片讓人們能快捷得尋找到自己需要尋找的圖片军洼,而且其維護(hù)成本大大減少,電腦代替人更高效地進(jìn)行查找演怎。當(dāng)然匕争,數(shù)字化革命的影響遠(yuǎn)遠(yuǎn)不限于此,實(shí)體世界中所有信息都能通過(guò)數(shù)字化更加高效地為人查找和利用爷耀。
信息可以有序得排列甘桑,也可以無(wú)序得排列,這取決于你的目的用途。在古老的觀(guān)念中跑杭,于第一秩序和第二秩序都必然需要保證信息的有序性铆帽,因?yàn)槠鋾r(shí)的人工查找需要通過(guò)順序來(lái)方便查找,典型的例子就是杜威十進(jìn)制法則來(lái)管理圖書(shū)館書(shū)目德谅。而在信息化技術(shù)發(fā)展成熟后爹橱,第三層秩序并不一定需要進(jìn)行信息的有序排列,比如說(shuō)在亞馬遜網(wǎng)的圖書(shū)銷(xiāo)售中窄做,會(huì)打亂順序愧驱,以此提高用戶(hù)閱覽的范圍,就像一場(chǎng)圖書(shū)嘉年華椭盏,讓瀏覽的人發(fā)現(xiàn)更多自己未注意的驚喜组砚,從而提高他的銷(xiāo)量。
由此我認(rèn)為掏颊,信息組織的任務(wù)糟红,核心還是服務(wù)于特定環(huán)境下,滿(mǎn)足應(yīng)有的需求蚯舱,在為檢索信息而設(shè)的系統(tǒng)中改化,組織信息的任務(wù)即為剔除冗余信息,將某方面的信息整合在一個(gè)數(shù)據(jù)庫(kù)中枉昏,僅僅限定其范圍來(lái)方便查找陈肛,將其實(shí)體化就是前面舉到的貝德曼圖書(shū)資料館將所有資料存放于一處,而在數(shù)字化存儲(chǔ)中兄裂,就避免了"有序"這個(gè)條件句旱,可有可無(wú)。當(dāng)然在一些其他必要的環(huán)境下晰奖,信息也需要有序化谈撒,比如涉及標(biāo)簽和關(guān)鍵字的搜索環(huán)境。涉及到關(guān)鍵字和標(biāo)簽搜索匾南,這就體現(xiàn)出來(lái)信息組織與檢索目前存在的問(wèn)題啃匿,關(guān)鍵字和標(biāo)簽需要不斷添加完善,而且沒(méi)有止境蛆楞,需要不斷更新目錄溯乒。以照片共享站Flickr為例,用戶(hù)上傳了超過(guò)2.25億張照片豹爹,而標(biāo)簽數(shù)就多達(dá)570萬(wàn)種裆悄,而事實(shí)證明標(biāo)簽數(shù)量越多,混亂度越高臂聋,F(xiàn)lickr的分析就越準(zhǔn)確光稼,因?yàn)橐粡垐D片涵蓋標(biāo)簽越多或南,用戶(hù)如果尋找特定圖片,則可以輸入多個(gè)標(biāo)簽來(lái)快速精確尋找到特定圖片艾君。"每樣?xùn)|西都是元數(shù)據(jù)而且什么都可以被當(dāng)做標(biāo)簽"
信息檢索還包含隱性的搜索問(wèn)題采够,從沃爾瑪在線(xiàn)商城出現(xiàn)的因搜索記錄和關(guān)聯(lián)性而產(chǎn)生的種族爭(zhēng)端問(wèn)題可以看出,搜索引擎存在著不可避免的問(wèn)題腻贰,它的導(dǎo)向功能并不能滿(mǎn)足每個(gè)群體的眼光吁恍,甚至可能出現(xiàn)群體間的矛盾和用戶(hù)對(duì)搜索引擎的不滿(mǎn)扒秸。在這里我覺(jué)得垂直搜索是很重要的播演,可以盡量服務(wù)于某一特定群體,雖然無(wú)法根除但有利于減少此類(lèi)問(wèn)題伴奥。
總而言之写烤,信息組織體系應(yīng)走的道路還很長(zhǎng),仍然在不斷進(jìn)步與改善之中拾徙。
![$J{1]S`XNV7P]A3RWB~J7X6.png](http://upload-images.jianshu.io/upload_images/5886630-205a1f5dff6434f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
查看python版本 并且安裝更新名叫virtualenv的工具
創(chuàng)造名為 venv的虛擬環(huán)境
利用pip通過(guò)鏈接來(lái)安裝twisted
系統(tǒng)的安裝更新
安裝四個(gè)工具 結(jié)果發(fā)現(xiàn)系統(tǒng)已經(jīng)安裝有 無(wú)需再安裝
新建名為sucong的scrapy工程
爬取熱門(mén)標(biāo)簽books (tag books)下的數(shù)據(jù) 并且保存在sucong.json中
在報(bào)告前面洲炊,先放一些困擾我很久的debug 讓我終生銘記的debug
就是這個(gè)所謂的unexpected indent 讓我刪了一次又一次的new.py 重新改又重新傳輸上去開(kāi)始爬 一遍又一遍的在百度和同學(xué)之間詢(xún)問(wèn)求解 著實(shí)令我難忘!從縮進(jìn)用tab和空格開(kāi)始改 然后改到每一個(gè)符號(hào)(尼啡,:)最后改到行之間是否需要空行 暂衡。這一個(gè)問(wèn)題周周轉(zhuǎn)轉(zhuǎn)得有個(gè)幾十次循環(huán)。
然后是invalid syntax 又是一個(gè)格式方面的問(wèn)題 和前面差不多 改的方式都差不多 就不多說(shuō) 反正也很不容易把虏t】癯玻?/p>
然后就是比較核心的問(wèn)題了 在spider的上層目錄里沒(méi)有改好items文件 導(dǎo)致后面不斷出現(xiàn)路徑上的錯(cuò)誤 后來(lái)直接新建了一個(gè)工程 一步一步往目錄里面走 重寫(xiě)了item.py 然后參考了郭盛鑲同學(xué)的報(bào)告 將starturl改正為http://ggglxy.scu.edu.cn/index.phpc=article&a=type&tid=18&page_1_page=1
避免了爬不到數(shù)據(jù)的情況。
以上為修改后的item文件
import scrapy
from ggteachers.items import GgteachersItem
class TeachersSpider(scrapy.Spider):
name = "teachers"
start_urls = [
'http://ggglxy.scu.edu.cn/index.php?c=article&a=type&tid=18&page_1_page=1',
]
def parse(self, response):
for href in response.css('div.right_info.p20 ul.teachers_ul.mt20.cf li.fl div.l.fl a::attr(href)'):
url = response.urljoin(href.extract())
yield scrapy.Request(url, callback=self.parse1)
next_page = response.css('div.w780.pb30.mb30.fr div.right_info.p20 div.pager.cf.tc.pt10.pb10.mobile_dn li.c::text').extract_first()
if next_page is not None:
next_url = int(next_page) + 1
next_urls = '?c=article&a=type&tid=18&page%s' % next_url
print next_urls
next_urls = response.urljoin(next_urls)
yield scrapy.Request(next_urls,callback = self.parse)
def parse1(self, response):
items = []
for second in response.css('div.js_infobox.cf'):
item = GgteachersItem()
item['names'] = second.css('div.r.fr h3::text').extract_first(),
item['career'] = second.css('div.r.fr p::text').extract_first(),
item['intro'] =second.css('div.desc::text').extract_first(),
items.append(item)
return items
以上為spider代碼
然后開(kāi)始執(zhí)行
然后是爬取數(shù)據(jù)的部分截圖
![D~`A_H4Y29QUTZ(]LWA8Q)A.png](http://upload-images.jianshu.io/upload_images/5886630-4e14a6e308d7c8dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后出現(xiàn)了與郭盛鑲同學(xué)一樣的問(wèn)題 參考了他的解決方法后 下載保存
scrapy crawl teachers -o teachers.json
sz teachers.json
然后就succeed了
User-agent: *
Disallow:/dwr
Disallow:/dashboard
Disallow:/message/
Disallow:/postmanage/
Disallow:/notice
Disallow:/followed
Disallow:/follow
Disallow:/theme/
Disallow:/newblog
Disallow:/setting
Disallow:/inviteelist
Disallow:/submit
Disallow:/like
Disallow:/logout
Disallow:/edit/
Disallow:/reblog/
Disallow:/control
Disallow:/comment.do
Disallow:/mydomainr.do
Disallow:/invite
Disallow:/art/checkorder
Disallow:/art/orderpayresult
Disallow:/art/ordersnapshot
Disallow:/benefit/
Sitemap: http://www.lofter.com/sitemap.xml
User-agent: *代表爬的所有數(shù)據(jù)
Disallow代表不可爬的內(nèi)容 比如個(gè)人信息這些隱私內(nèi)容
查詢(xún)到電腦中是python2.7版本
于是登入服務(wù)器中书聚,直接使用 pip install jieba 代碼來(lái)實(shí)現(xiàn)自動(dòng)安裝jieba
![Paste_Image.png](http://upl oad-images.jianshu.io/upload_images/5886630-0270fec04f4aeae4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
安裝好之后開(kāi)始寫(xiě)一個(gè)簡(jiǎn)單文檔進(jìn)行測(cè)試并輸出結(jié)果為txt文件下載
full mode 指全模式 也就是將所有可以構(gòu)成詞語(yǔ)的都顯示出來(lái)
默認(rèn)的話(huà)是精確模式 也就是不增加字?jǐn)?shù) 只在自身分詞出來(lái)
jieba.cut方法接受兩個(gè)輸入?yún)?shù): 1) 第一個(gè)參數(shù)為需要分詞的字符串 2)cut_all參數(shù)用來(lái)控制是否采用全模式
jieba.cut_for_search方法接受一個(gè)參數(shù):需要分詞的字符串,該方法適合用于搜索引擎構(gòu)建倒排索引的分詞唧领,粒度比較細(xì)
安裝過(guò)程及代碼解釋參考http://www.tuicool.com/articles/QV36ru以及老師上傳的jieba的pdf
然后輸出結(jié)果
但是這里可以看出 全模式中沒(méi)有展示出我預(yù)期的 蘇聰/是/四川大學(xué)/學(xué)生 因?yàn)闆](méi)有輸入自定義字典的原因 畢竟機(jī)器分詞 需要人的輔助
于是開(kāi)始進(jìn)入自定義字典的學(xué)習(xí)
這是原文檔
這是字典 詞語(yǔ)和詞頻
輸入字典和原文件到同一目錄
然后發(fā)現(xiàn) 大學(xué)生 這個(gè)詞 確實(shí)單獨(dú)分開(kāi)了 成功!
然后我在四川新聞網(wǎng)上找到一篇新聞來(lái)進(jìn)行詞頻分析和關(guān)鍵詞提取
并保存為csv文件
以上為部分截圖雌续,可以觀(guān)察出出現(xiàn)了中文的亂碼現(xiàn)象
但在使用tableau之后 就正常顯示了
通過(guò)這次作業(yè)斩个,自己對(duì)python的操作能力得到了很大提升,并掌握理解了大部分代碼的含義驯杜,雖說(shuō)還不能做到脫機(jī)寫(xiě)全代碼受啥,但是感覺(jué)自己在一次次的實(shí)驗(yàn)報(bào)告中收獲頗豐!最后由衷的感謝范煒老師及同學(xué)們的熱心解答鸽心!
在本地進(jìn)入solr文件中 新建一個(gè)名為teahpoducts的內(nèi)核
很快遇到第一個(gè)障礙滚局,顯示java版本過(guò)低,需要1.8版本及以上再悼,查了一下java版本是1.8但是為什么會(huì)出現(xiàn)這樣的問(wèn)題呢核畴?在與助教老師的共同鉆研與努力下,發(fā)現(xiàn)是java的路徑問(wèn)題沒(méi)對(duì)冲九,于是找到1.8版本的路徑修改之后谤草,重啟cmd建立了techproducts內(nèi)核跟束。
然后找到其中的data文件里的index文件,使用luke打開(kāi)丑孩。luke的overview中顯示了每個(gè)name出現(xiàn)的次數(shù)以及所占的權(quán)重冀宴,并且顯示了他們出現(xiàn)的位置,而在search中可以去搜索特定的name温学,如iPod略贮,點(diǎn)擊explain,搜索結(jié)果就出來(lái)了仗岖。通過(guò)權(quán)重計(jì)算出score逃延。在找到scheme文件并打開(kāi),我的理解是這個(gè)文件定義了索引中出現(xiàn)的字段轧拄,定義他們是否可以被檢索和儲(chǔ)存以及他們的類(lèi)型揽祥。
查詢(xún)制造商為Belkin的iPod并以?xún)r(jià)格升序排列,顯示name檩电,price拄丰,features字段,返回其xml數(shù)據(jù)俐末。
查詢(xún)流行度為5以上的產(chǎn)品等等
查詢(xún)價(jià)格在400以下等等
查詢(xún)特征中play等等
搜索出價(jià)格為等等
找出電子產(chǎn)品等等
以上為本學(xué)期本人實(shí)踐信息檢索課程的個(gè)人作業(yè)整合料按,謝謝觀(guān)看!