2017年10月24日火曜日

Social Data Digest : (2) preparing

[0]2017/10/23の選挙結果のタイトル予想に間に合わせたかったが、作業方針も走りながら考えている状態。
----------------------------------------
[1]日経新聞の一面記事をいずこからゲットするか?以下のサイトを利用させていただく方向であるが、一応手元の新聞で、内容を確認する。
===
日経新聞一面記事一週間まとめ読み
https://ja-jp.facebook.com/nikkeiichimen/
---------------------------------------
[1-1]2017/02/24 : 13版、第47058号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
森永製菓・乳業統合へ
海外に活路 売上高8000億円
来年4月メド、持ち株会社
=== ネットでは、
森永製菓・乳業統合へ
売上高8000億円 海外に活路
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]目指す。(関連記事企業面に)
[paper]目指す。(関連記事12面に)
---[diff.2]
[net___]森永製菓と森永乳業は
[paper]森永製と森永乳は
===
※ほぼ、一致。
---------------------------------------
[1-2]2017/10/17 :13版、 第47287号(第三種郵便物)
=== 紙面では、(3行目は副題の扱いでは?)
大飯原発2基廃炉へ
関電、採算合わず
大型炉も選別
===  ネットでは、編集?:who+3行目連結。
関電、大飯原発2基廃炉へ
採算合わず、大型炉も選別
===
本文での相違点は以下。※版数が異なるためか?内容は未確認!
---[diff.1]
[net___]老朽原発(総合2面きょうのことば)
[paper]老朽原発(3面きょうのことば)
---[diff.2]
[net___]時代に入る。(関連記事経済面に)
[paper]時代に入る。(関連記事5面に)
---[diff.3]
[net___]10年度に比べて約2割減少している。震災後に節電意識が広く浸透したことや、小売りの全面自由化により顧客が新電力に流出したためだ。
[paper]10年度に比べて約2割減少していた。
---[diff.4]
[net___]需要も減っているため供給に支障は出ない見込み。
[paper]需要も減っており供給は間に合う。
---[diff.5]
[net___]政府は現行のエネルギー基本計画で、30年の原子力比率を20~22%としているが、現状は大きく下回っている。実現には関電や九州電力、四国電力の計5基にとどまっている原発の再稼働を30基程度まで増やす必要がある。ただ、運転開始から30年を超えている原発も多く、いずれも近い将来に廃炉か運転延長を申請するかの選択を迫られる。 
[paper]再稼働にこぎ着けた原発が関電や九州電力、四国電力の計5基にとどまっているためだ。政府は現行のエネルギー基本計画で、30年の発電量に占める 原子力比率を20~22%としている。実現には30基程度の稼働が必要だが、大きく下回っているのが現状だ。国内にある42基の原発のうち約半数は運転開始から30年を超えている。いずれも近い将来に廃炉か延長申請かの選択を迫られる。 
===
※単独日ではなく、連続日でデータを利用するため、同じ流儀で処理しているものとして、ネットデータを流用する。
(2017/10/24, 16:26 at first touched)
---------------------------------------
[2]ハッシュ値をどの範囲を対象にするかの考察
[2-1]当初は、タイトルのみでいいかと、安直に考えていたが、ハッシュ関数で圧縮というよりも伸張することは、流れからしてどうなのということで、圧縮 と、伸張の境目に興味があるが、基本は圧縮できるように多めのデータを与えるしかないとの考え。それでは、実験的に、多め/少なめのデータでどうなるかを 見てみるか、、、
---
[2-2]現在、ハッシュ関数として、sha256の採用に傾いている。同関数は256 bits = 32 bytes (全角16文字)で、日経一面のタイトルだけでは、ザックリ32 bytesを前後するサイズになる。input < 32, > 32で、hash予測に影響があるか?実験で確認するか???圧縮されるために、input > 32が正論であるが、miningで、予測可能の判断が難しくなる。タイトルのみの予測に限定したいが、input < 32の模様なので、どうなるか?
---
[2-3]直近の参考本)メタマス!/グレゴリー・チャイティン/白揚社(2007), p.93)実験データの圧縮が可能ならば、自然法則がある。圧縮できない場合は、ランダムである(意訳)。(input > 32 を与えるアイデアを得る、、、)
---
[2-4]ならば、対象を以下の3つに分けて、実験する。か?
input ~ 32 : [T]タイトルのみ(20文字前後)
input > 32 : [T+1B]タイトル+先頭のブロック
input > 32 : [T+mB] タイトル+本文全体
※どうも、しっくりこない。直感では同意しかねる流れ。
TODO)各対象での文字数を最近の一週間で平均をとり、確認しておく。
---
[2-5]当面、[2-4]の方向で作業する場合、1次情報の加工方法を記す。
[a]Mac/Windowsでの混在した作業環境なので、(utf8+改行=LF)で処理する。editor={mi in Mac, hidemaru in Windows, mi(v3.0.0 α24) in Windows10=valid for me.}です。
[b]対象を改行を削除して、行末に全角スペース*1を挿入して連結する。文末が[。](マル)の場合は、挿入なしで連結する。対象={タイトル、小見出し、本文}。
[c]関連記事リンクは、削除する。例)2017/10/17:(総合2面きょうのことば)
[d]写真説明文は、削除する。例)2017/10/17: 関西電力大飯原発の(右から)1、2号機(福井県おおい町)
---
[2-6]sha256の内部処理はどうなの?
(TODO)ハッシュ値は、入力データを圧縮するもの、入力値が少ない場合の内部処理の概略を確認要!
64 bytesが最小単位であることをネットで知る。入力値が64 bytesの倍数でないと、内部のパディング処理が走るため、それを嫌って、ちょうど64 bytesで分割できるようなデータを用意する。
---
[2-7]ここで、タイトル単独案が浮上。タイトルを重複して、[a]ちょうど64 bytesで足切りするか、[b]LCM(64, タイトル長)まで、タイトルを重複させたものを、入力データして用意するか、[c]LCM(64, タイトル長)より短い長さで、64 bytesの倍数で足切りするもので、足切りした末端のタイトル長がオリジナルのタイトル長に対して50%以上ある場合とする。 の案が考えられ、直感から[b]を採用する。[b]は、タイトル長も情報として生きるので。但し、複数行のタイトルは、[2-5][b]を適用して、1行で処理する。
(2017/10/28, 15:58 updated)
---------------------------------------
[3] sha256を採用したい理由
[3-1]前提。output=hash(256 bits = 32 bytes * 8 bits)、P322 method(R6.txt)={7桁、43進数}
---
[3-2]43進数7桁を2進数で表現したら、何bits?
43^7=2^?
log2(43^7)=37.983...~37/or/38
---
[3-3]256 bitsから43進数7桁は何個取れる?
256/37=6.91~7
256/38= 6.75~7
※37bitsを採用すると、256 bits = 37 bits * 6 + 34 bits * 1
---
[3-4]37bitsはsha*等の出力で何bits={128, 160, 256, 384, 512}が近いか?
LCM(37,3)=111 ~128-17
LCM(37,4)=148 ~128+20
LCM(37,5)=185 ~160+25
LCM(37,6)=222 ~256-34
LCM(37,7)=259 ~256+3 ****近い、、、ので、sha256=採用。
LCM(37,10)=370 ~384-14
LCM(37,11)=407 ~384+23
LCM(37,14)=518 ~512+6
---
[3-5]その他、気になる点
P322 method(R6.txt)は、1行、7桁で単日データであるが、sha7ではなく、sha256なので、明らかに、複数行で、1データセットの意味合いになり、30+1行の予測に適合するか否かの懸念がある、、、
---
[3-6]番外
7桁、7行となると、7*7=49で、四十九日を思い出すが、(最終的に極楽浄土に行けるかどうかの判定が下されるのが四十九日目で)。シュメールの伝説もに7が多用されているが、、、
---------------------------------------
[4]ハッシュ値を取得する方法として、オンラインサイトを利用する。以下の3サイトを発見!これで探索中断したので、他にもあるかも。
[4-1]Hash : online hash value calculator
http://www.fileformat.info/tool/hash.htm
:使用しない。入力エリアがテキストボックスでないので、操作しずらかったので。
[4-2]オンラインSH256ハッシュジェネレータ
http://www.convertstring.com/ja/Hash/SHA256
:使用する。出力ハッシュ値は、英文字=大文字。
[4-3]SHA-256 hash calculator
http://www.xorbin.com/tools/sha256-hash-calculator
:使用する。出力ハッシュ値は、英文字=小文字。
===
※後述のハッシュ値(16進数)を別の進数に変換する際、16進数表記の英文字が小文字の必要があり、上記の[4-3]を最終的に使用するが、値の検証に[4-2]を使う。
---------------------------------------
[5]16進数から43進数への変換
[5-1]変換ツール(オンライン)は、以下を使用している。
2進数、10進数、16進数および2~62進数全ての相互変換ツール
https://www.muryou-tools.com/sinsuu-change.php
---
[5-2]変換の流れは、16進数->2進数->43進数とする。
[a] 16進数(32 bytes)を2進数に変換する。使用するツールの制約?から、ハッシュ値の全体は処理できないので、分割して変換する。例)4bytes毎に分割。
[b] 2進数を37 bitsに分割し(最後は、34 bits)、43進数に変換し、7桁7行を得る。----------------------------------------
[6]P322 method(R6.txt)の入力ファイル(R6.txt)の構成
[6-1]R6.txtのファイル構成は、項目={回数,日付,枠1,枠2,枠3,枠4,枠5,枠6,枠7}。
例)
kai,date,w1,w2,w3,w4,w5,w6,b1
911,2014/10/27,8,16,18,22,27,35,3
---
[6-2]日経新聞用の入力ファイル(R6-nikkei.txt)は、[5]で変換した(7桁7行)を使用する。同一日で、7行あるので、kai=第三種郵便物番号*10+1から行分の連番とする。
例)2017/10/17 : 第47287号の場合
kai,date,w1,w2,w3,w4,w5,w6,b1
472871, 2017/10/17,{7桁を昇順にソート} @sha256先頭から1番目37bits=37bits(1)
472872, 2017/10/17,{7桁を昇順にソート} @sha256先頭から2番目37bits=37bits(2)
472873, 2017/10/17,{7桁を昇順にソート} @sha256先頭から3番目37bits=37bits(3)
472874, 2017/10/17,{7桁を昇順にソート} @sha256先頭から4番目37bits=37bits(4)
472875, 2017/10/17,{7桁を昇順にソート} @sha256先頭から5番目37bits=37bits(5)
472876, 2017/10/17,{7桁を昇順にソート} @sha256先頭から6番目37bits=37bits(6)
472877, 2017/10/17,{7桁を昇順にソート} @sha256先頭から残りの34bits=34bits(7)
---
[6-3]kaiに第三種郵便物番号を使用した訳
新聞の日付とは別に何らかの管理番号が必要なので、ここはあまりこだわる箇所ではないが、こだわりました。1からの連番でも構わないが。第三種郵便物許可の番号を使う。
---
[6-4]新聞の第三種郵便物番号は、いずこ?
[a]検索に引っかからない。みんなは興味がない?紙面でも見ていない。
手元にあった古新聞:2017/02/24 : 第47058号で、番号を検索しても、何もなし。
---
[b]紙面で番号を確認するために、あえて夕方、コンビニで購入。
2017/10/17 : 第47287号
---
[c]連番?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
日付計算では、235日で、47058+235=47293で、10/17日付の番号に一致しない。
新聞休刊日があった。
---
[d]日付計算は、以下を使用した。
日数計算(日付-日付) - 高精度計算サイト
http://keisan.casio.jp/exec/system/1177658154
---
[e]休刊日情報は?
web:[日本経済新聞 休刊日 2017]
平成29年 休刊日表 【朝刊休みの日】 - 朝日オリコミ西部 (pdf)
---
[f]番号は、休刊日を除いた番号に一致するか?
2017/02/24 : 第47058号
2017/10/17 : 第47287号
この間の休刊日={3/x, 4/10, 5/8, 6/12, 7/18, 8/x, 9/11, 10/10}=計6日間。
日付差ー休刊日で、10/17日付の番号に一致。
----------------------------------------
(2017/10/28, 19:44 updated)
TODO)次回は、実際の入力データ変換作業例を示す予定。
end.

0 件のコメント: