HTML本文抽出には最も効果的なのはh5タグ?(Python)

どうも. HTML本文抽出はもうかなりいろんなライブラリがあるみたいなので,助かっています. ただ,自分でも少し興味があるので調べてみました. 僕もやはりコンテンツ要素の抽出的やり方が良いのではないかと思います. コンテンツ要素とは,本文を含むタグ,という意味です. この記事では6つのニュース系サイトを調査して,どのタグがHTML本文抽出に効果的なのか調べることにします. 6つでは統計的にうんぬん言えるレベルではないと思いますが.

さて,コンテンツ要素の候補はdiv, pタグとします. 全ての候補を,それが含んでいる各タグの個数でもってベクトル化します. そして,あらかじめ調べておいたコンテンツ要素に該当するものに1,そうでないもの0のラベルを貼ります. 1のラベルが貼られたものの平均ベクトルを計算(mu1). 同様に0のラベルが貼られたものの平均ベクトルを計算(mu0). でもって,タグiがどれくらい有効か調べてみたいと思います. ここでいう有効なタグというのは,コンテンツ要素には含まれていて,それ以外にはあまり含まれないタグを指します.

Result

h5 40.3729750224
li 9.48468366897
body 5.29023736076
head 1.18257207967
strong 0.635549559566
html 0.607884938778
dd 0.235510380623
p 0.166378116343
ul 0.156020923659
label 0.0742267250716
fieldset 0.0717178349261
meta 0.0322441507155
div 0.0252577050591
table 0.0200621351686
br 0.011026083618
dl 0.00673111023781
center 0.00575343384869
h3 0.00563661589778
cite 0.00563661589778
h4 0.00463917031698
img 0.00456914610937
script 0.00310556029484
form 0.0026095333033
em 0.00181217590507
button 0.00138024901993
tr 0.00121310949017
noscript 0.00105675315588
h6 0.000345062254982
h1 0.000316906133482
tbody 0.000194097518427
hr 0.000194097518427
td 0.000153361002214
a 0.000153361002214
iframe 0.000153361002214
title 0.000153361002214
dt 8.62655637455e-05
b 5.99066414899e-05
small 4.85243796068e-05
input 3.83402505535e-05
g:plusone 2.93542543301e-05
style 2.15663909364e-05
link 1.49766603725e-05
textarea 5.99066414899e-07
h2 0.0
span 0.0
address 0.0
i 0.0

あえて割合([0-1])で出さないようにしました. 予想通りliタグが上位に来ています,メニューなんかによく使用され,かつコンテンツにはあまり使用されないので,これは妥当かと思われます. 興味深いのはh5タグです.考えてみれば当然なのかもしれませんが,1位とは驚きました. body, head, htmlがランクインしているのは私のミスでしょうか. さらに,strong, brなんかもランクインしていますね. まだまだ件数が少なくて,頼りない情報ですが,おもしろい結果が得られて満足です.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中