信息組織與提取方法



信息的標記
1/標記後的信息可形成信息組織結構,增加了信息維度
2/標記後的信息可用於通信/存儲/展示
3/標記的結構與信息一樣具有重要價值
4/標記後的信息更利於程序理解和運用

HTML(HyperText Markup Language)

信息標記的三種形式:
XML(eXtensible Markup Language),
與html接近,採用以標籤爲主構建信息的方式
JSON(JavaScript Object Notation),
js語言中對面向對象信息的一種表達形式
有類型的鍵值對構建的信息表達方式 key:value
無論是鍵還是值都需要加""表達它是字符串形式,如果是數字直接寫下
一個鍵可對應多個值"name":["北京理工大學","延安自然科學院"]
鍵值對之間可以嵌套使用"name":{"newname":"北京理工大學","oldname":"延安自然科學院"}
對於js等程序語言json格式可直接作爲程序一部分
YAML(YAML Ain't Markup Language)
無類型鍵值對來組織信息 name:北京理工大學
可通過縮進來表達鍵值關係
name:
NEWNAE:北京理工大學
OLDNAME:延安自然科學院
可用-表達並列關係
name:
-北京理工大學
-延安自然科學院
用|表示整塊數據,#表示註釋

三種信息標記形式的比較
XML
最早的通用標記語言,可擴展性好,但繁瑣
Internet上的信息交互與傳遞
JSON
信息有類型,適合程序處理JS,較XML簡介
移動英語呢雲端和節點的信息通信中,無註釋(應用在程序對節點處理的地方)
YAML
信息無類型,文本信息比例最高,可讀性好
各類系統的配置文件,有註釋易讀

信息提取的一般方法
1/
完整解析信息的標記形式(JSON XML YAML),再提取關鍵信息
需要標記解析器
例:bs4庫的標籤書遍歷
優點:信息解析準確
缺點:提取過程繁瑣,速度慢
2/
無視標記形式,直接搜索關鍵信息。
對信息的文本查找函數即可。
優點:提取過程簡潔,速度較快。
缺點:提取結果準確性與信息內容相關。
3/
融合方法:結合形式解析與搜索方法,提取關鍵信息
需要標記解析器及文本查找函數

<>.find_all(name,attrs,recursive,string,**kwargs)

返回一個列表類型,存儲查找的結果。
name:對標籤名稱的檢索字符串。
soup.find_all(['a','b'])
soup.find_all(‘a’)
for tag in soup.find_all(True):
print(tag.name)#打印文檔中所有標籤名稱
attrs:對標籤屬性值的檢索字符串,可標註屬性檢索
recursive:是否對子孫全部檢索,默認true
soup.find_all('a',recursive=False)
string:<>...</>中字符串區域的檢索字符串

<tag>(...)==<tag>.find_all(...)
soup(...)==soup.find_all(...)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章