2016年 6月 の投稿一覧

「小説家になろう」の頻出名詞を調べてみた

なろうのデータに対してmecabで形態素解析して名詞をカウントしてみた。

ただ40万ぐらいの小説があって全部やっているとそうとう時間がかかるので、

一旦は1万の小説に対してやってみた。

では、よく使われている名詞を発表!

1290874    の:名詞,非自立,一般,*,*,*,の,ノ,ノ
727450    こと:名詞,非自立,一般,*,*,*,こと,コト,コト
630247    ん:名詞,非自立,一般,*,*,*,ん,ン,ン
569707    よう:名詞,非自立,助動詞語幹,*,*,*,よう,ヨウ,ヨー
490601    それ:名詞,代名詞,一般,*,*,*,それ,ソレ,ソレ
468914    俺:名詞,代名詞,一般,*,*,*,俺,オレ,オレ
436160    私:名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
327227    何:名詞,代名詞,一般,*,*,*,何,ナニ,ナニ
281474    さん:名詞,接尾,人名,*,*,*,さん,サン,サン
279706    人:名詞,接尾,助数詞,*,*,*,人,ニン,ニン
259885    事:名詞,非自立,一般,*,*,*,事,コト,コト
243834    一:名詞,数,*,*,*,*,一,イチ,イチ
213703    もの:名詞,非自立,一般,*,*,*,もの,モノ,モノ
210656    僕:名詞,代名詞,一般,*,*,*,僕,ボク,ボク
207987    自分:名詞,一般,*,*,*,*,自分,ジブン,ジブン
205860    これ:名詞,代名詞,一般,*,*,*,これ,コレ,コレ
197576    目:名詞,一般,*,*,*,*,目,メ,メ
191228    今:名詞,副詞可能,*,*,*,*,今,イマ,イマ
187076    人:名詞,一般,*,*,*,*,人,ヒト,ヒト
186752    二:名詞,数,*,*,*,*,二,ニ,ニ
183198    そう:名詞,接尾,助動詞語幹,*,*,*,そう,ソウ,ソー
183020    顔:名詞,一般,*,*,*,*,顔,カオ,カオ

左が出現回数で、右が単語の情報。

「の」とか「こと」とか「俺」みたいなものが上に来てしまって、全く面白くない。

あれ~

 

ということで、今度は固有名詞だけに絞って解析してみた。

これも全てではなく1万の小説に対してのみ。

22441    日本:名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン
12308    太:名詞,固有名詞,人名,名,*,*,太,フトシ,フトシ
10224    王:名詞,固有名詞,人名,姓,*,*,王,オウ,オー
9924    勇:名詞,固有名詞,人名,姓,*,*,勇,イサム,イサム
9623    アリス:名詞,固有名詞,人名,名,*,*,アリス,アリス,アリス
9250    ー:名詞,固有名詞,一般,*,*,*,*
8641    エルフ:名詞,固有名詞,組織,*,*,*,エルフ,エルフ,エルフ
8526    井坂:名詞,固有名詞,人名,姓,*,*,井坂,イサカ,イサカ
8389    マリア:名詞,固有名詞,一般,*,*,*,マリア,マリア,マリア
8242    リナ:名詞,固有名詞,人名,名,*,*,リナ,リナ,リナ
7384    聖:名詞,固有名詞,人名,名,*,*,聖,キヨシ,キヨシ
7192    悠:名詞,固有名詞,人名,名,*,*,悠,ユウ,ユー
7184    翔:名詞,固有名詞,人名,名,*,*,翔,ショウ,ショー
7107    アル:名詞,固有名詞,人名,名,*,*,アル,アル,アル
7076    亜:名詞,固有名詞,地域,一般,*,*,亜,ア,ア
6650    姫:名詞,固有名詞,人名,姓,*,*,姫,ヒメ,ヒメ
6568    ユーリ:名詞,固有名詞,人名,名,*,*,ユーリ,ユーリ,ユーリ
6008    ユウ:名詞,固有名詞,人名,名,*,*,ユウ,ユウ,ユー
5989    ハル:名詞,固有名詞,人名,名,*,*,ハル,ハル,ハル
5792    アレン:名詞,固有名詞,人名,姓,*,*,アレン,アレン,アレン
5568    美:名詞,固有名詞,人名,名,*,*,美,ヨシ,ヨシ
5512    健:名詞,固有名詞,人名,名,*,*,健,ケン,ケン
5368    詩織:名詞,固有名詞,人名,名,*,*,詩織,シオリ,シオリ
5352    龍人:名詞,固有名詞,人名,名,*,*,龍人,タツト,タツト
5083    羅:名詞,固有名詞,人名,姓,*,*,羅,ラ,ラ
4887    ヒロ:名詞,固有名詞,人名,名,*,*,ヒロ,ヒロ,ヒロ
4747    智:名詞,固有名詞,人名,名,*,*,智,サトシ,サトシ
4669    玲:名詞,固有名詞,人名,名,*,*,玲,レイ,レイ
4634    拓:名詞,固有名詞,地域,一般,*,*,拓,ツブセ,ツブセ
4587    未佳:名詞,固有名詞,人名,名,*,*,未佳,ミカ,ミカ
4515    森:名詞,固有名詞,人名,姓,*,*,森,モリ,モリ
4492    慎吾:名詞,固有名詞,人名,名,*,*,慎吾,シンゴ,シンゴ
4481    咲:名詞,固有名詞,人名,名,*,*,咲,サキ,サキ
4451    ー:名詞,固有名詞,組織,*,*,*,*
4371    アルフレッド:名詞,固有名詞,人名,名,*,*,アルフレッド,アルフレッド,アルフレッド
4365    藤堂:名詞,固有名詞,人名,姓,*,*,藤堂,トウドウ,トードー
4352    アメリカ:名詞,固有名詞,地域,国,*,*,アメリカ,アメリカ,アメリカ
4348    エル:名詞,固有名詞,人名,名,*,*,エル,エル,エル
4344    レイラ:名詞,固有名詞,人名,名,*,*,レイラ,レイラ,レイラ
4279    都:名詞,固有名詞,人名,名,*,*,都,ミヤコ,ミヤコ
4186    ラウル:名詞,固有名詞,人名,名,*,*,ラウル,ラウル,ラウル

おおお、なんかなろうっぽい感じのイメージが出来た!

異世界転生モノだと「日本での生活は~」とか日本のことがよく引き合いに出されるので、「日本」という単語が頻出するのはとても納得できる。

「太」はなんだろうか……

名前が上手く認識されず分解されて認識されちゃったように思えるけど。

「勇」はそのまま人名?それとも勇者のことだろうか。

でもmecabで「魔王と勇者は戦った」を解析するときちんと「勇者」は認識されるんだよね。なんだろうか。

その他のカタカナはとても納得。

「アリス」「エルフ」「マリア」「リナ」……

メジャーな名前とファンタジー用語ですね。

 

今回の解析結果を↓からDLできるようにしておきます。

名詞リストDownload

固有名詞リストDownload

 

ただ、今回の解析方法だと極端な話一つの小説で100万回使っていれば、他の小説で一回も使われない単語であっても上位になってしまうという問題がある。

そのワードが使用されている「回数」ではなく「作品数」をカウントしたほうがおもしろい結果が出そう。

またプログラムをいじって試してみよう。

一日一新できず

というのも、遅すぎだ。

仕事が。

もう!!

なんでこんなに遅くまで!!

何だよこの仕事!

こんな仕事うけんじゃねぇよ!ざけんなこんちくしょーーーーーーーーーーーーーー!!!!

 

・・・・

・・・・

・・・・

あーもー。

愚痴しか出ないから今日はもうブログはやめよう。

と思う。

 

捨てたものは講義資料。

体重は63.9kg

ビデオカードに出来る限りの対策をしてみた

どこまでもやってみた。

それでも駄目だったよ!!

 

・マザーボードのチップセットのドライバを最新に更新

・ビデオカードのドライバをメーカで配布しているちょっと古いものに変更

・ビデオカードのメモリ・ファン・3.3V系全てにコンデンサを追加。ここまでやるかというくらい。

・ビデオカードのBIOSが最新だけどメーカのサイトに「Elpidaメモリ用」と書いてある。SAMSUNGのメモリなのにこれでいいのか?と敢えて古いSAMSUNG用のBIOSをなんとか書き込む(結構無理やり)

 

それでも駄目でしたよ!

ああもうなんなんだよ!!

どうにもこうにも駄目らしい……

orz……

やっぱり電源?

でも、消費電力は前のビデオカードより減っているはずなんだがなぁ……

 

捨てたものは講義資料。

体重は63.9kg。

あれ、痩せるようなことをした覚えはないが??

パジャマの重さだろうか……

Core i7に換装した

celeron g1610で頑張っていたわけだが、プログラムとか走らせていると遅くなるのでいい加減変えることにした。

i7 2600 4コア8スレッドのすごいやつ。

いまならもっと上があるけど、g1610と比べれば大躍進。

酷い梱包で送られてきたけど正常動作して一安心。

ということで、CPUはいいんだ。

 

問題はGPU。

いろいろやったがダメ。

 

・ドライバを再インストールする → 効果なし

・メモリのクロックを下げる → 効果なし

・コアのクロックを下げる → 安定度上がるけど、相当下げないとダメ

・コンデンサがヘタっていると思ってコンデンサ追加 → 効果なし

 

もはや改造してしまったので返品すら出来ない。

自分から追い込んでいくスタイル。

GPGPUとして使っているときは定格動作でも問題ないんだが、3D表示すると数十秒で落ちる。

熱がすごく上がっているわけじゃないので、熱じゃ無さそう。

3D使うときはコアクロックをすごく下げて使うしか無さそう・・・・

ぐぞ~~~~~

ぐやじぃ・・・・

なんで新しいビデオカードを買ってわざわざ性能下げて使わないとならないんだ・・・・

 

MBの電圧も安定しているし、補助電源コネクタの電圧も安定しているし、供給不足ってことはないと思うんだ。

なんでこれで落ちるんだよ。

単純にコアの耐圧が低いとしか思えない。

そんなことあるか!?

一応OCモデルらしいのに、定格ですら動かんとかありえなさすぎだろう!!

もう腹が立って仕方がない・・・

 

今度買うときはちょっと考えよう。

業者じゃなくて「正常動作していました」と明記している個人から買うとしよう。

そもそも新品が変えればソッチのほうがいいけど。

あーーーーもーーーー腹が立つぜ!

 

捨てたものは講義資料。

体重は64.2kg

GPGPUで遊べた!

今日Geforce 750Tiが届いた。

早速Aparapiを動かしたら無事動いて、凄いパフォーマンス。

n-bodyっぽいシミュレーションで、CPUで61secかかる計算が700msで済んでしまう。

約87倍の性能。

単純にCPUで同じパフォーマンスを出そうとすると160コアぐらい必要になってしまう計算になる。

つまりEC2の40コアインスタンスよりも速い!

すばらしい!!

 

しかし調子に乗って行列計算っぽいのをaparapiに乗せてみたら、CPUの倍程度しかでない。

いろいろいじったが全然性能でない。

どうも行列計算のように広い範囲にメモリアクセスするとあんまり性能でないっぽい。

最初のプログラムがデータは少なくて計算量が多いタイプだったので性能が出やすかったようだ。

行列計算をするなら行列をブロックごとに分解してアクセスの局所化を図るようなことをしないと実用性低そう。

まぁ、とりあえず自分の遊び方では効果抜群なのでうれしい。

 

が、なんか3Dベンチを走らせるとPC落ちるんだ……

MBの監視電圧は安定しているので、グラボへの配線抵抗の問題か、グラボの電解コンデンサが足りていないんだと思われる。

一番やりたいGPGPUでは特に問題出ていないので、返品しないでなんとかするつもり。

返品とかやりとりめんどいからね……

 

今日捨てたものは講義資料

体重は65.0kg

形態素解析プログラムをJavaに移植してみた

MySQLに登録したなろうのテキストを読み込んでmecabに突っ込んでいくrubyのプログラムを作っていた。

しかしどうにも遅いので、業を煮やしてJavaに移植。

そしたら同じ分量をmecabで分解してハッシュに蓄えても速度が5倍になった。

Java速いなー

しかし、その分コードとか妙に増えた。

rubyならハッシュへの足し算なんて

 

hash[“hoge”]=hash[”hoge”].to_i + 1

ですむけど、Javaだと

 

Integer i = hash.get(x);

if(i==null){
  i = new Integer(1);
  hash.put(x,i);
}else{
  hash.put(x, new Integer(i.intValue()+1));
}

とかになっちゃうから、簡単に行数が増える。

めんどいけど、Javaは厳密性が求められるので仕方がない・・・

 

しかしそれでも全テキストを処理しようとすると何時間かかるんだかわからないレベル。

やっぱり多すぎるよ、このテキスト量。

さらにマルチスレッド化して高速化しないと実用的にならんかも。

 

捨てたものはいらない部品。

体重は64.5kg

なろうの分析を掲載した

といっても文字数だけだけど。

とにかく掲載しました。

ここから形態素分解とかやっていくつもりだけど、いろいろエラーが出て苦戦中。

最初は動くんだけど、どこかでmecabがこけたり想定外のデータでRubyがこけたり……

数値データならまだしも文字データとなると、不正な文字や長過ぎる文章などあらゆる想定外の部分でエラーが発生してなかなか進まない。

さらにmecabよりもmecabの出力を読んでいるだけのrubyのほうが重かったりして、javaに乗り換えようかと考え中。

rubyはものすごく開発しやすいんだけど、速度はどうもね……

トレードオフだからしかたないんだけど、どうしようか……

 

それからこの土日、なんかだるくて家でゴロゴロしていたので無駄にkindleで本呼んだ。

「地底旅行」

「宇宙戦争」

「月世界へ行く」

この時代にこれを書いたと思うとすごいけど、もうちょっとキャラクター要素があったほうが楽しかった。

異星人の超絶テクノロジーをもっと描くならそれでおもしろいけど、それ以外の場合はキャラクター要素があったほうが楽しいと個人的には思う。

地質を熱く語られても、やっぱり個人的にはピンと来ないのでねぇ……

 

ちなみにだるいのはどうやらまた鉄不足だった模様。

亜鉛を飲み過ぎたか、それともコーヒーゼリー程度のカフェインでくらっちゃったのか不明。

どっちにしろ、鉄分補給します。

 

それから昨日ビデオカードを買ったわけだけど、今日はCPUも落札した。

少し前まではデスクトップで文章書くだけだったからいいけど、プログラム作って走らせるようになると2コアじゃ動作が緩慢でストレスが溜まる。

というころで、i7 2600を落札しました。

 

捨てたものは講義資料。

この感じじゃ講義資料をポツポツ捨てていくだけで1年ぐらいかかったりしてな。

体重は64.8kg

「小説家になろう」の文字数分布

収集したデータから100文字以下のゴミを取り除いたデータで、文字数分布を調べてみよう。

本当は200文字以上無いといけないはずだから、200文字以下は投稿後に消した作品の可能性が高い。

 

このデータを見る際には以下に注意。

1,文字数には改行タグやルビタグもカウントされてしまうので、小説家になろうの小説情報ページに出る文字数とは微妙に異なります。

例:拙作「親戚の小学生の算数の文章題がおかしい」 なろうの小説情報:5427文字 この計算の文字数:5811文字

このように1割弱ですが文字数が違います。

なので大体の目安として考えて下さい。

 

2,100文字未満の作品は取り除いでいます。

 

3,2016/5辺りに収集したデータです。もしあなたが遙かなる未来にこの記事を読んでいると、だいぶ傾向が違っている可能性があります。

 

■集計結果

まずは荒く

文字数 作品数
100-200 311
201-1,000 80,765
1001-10,000 187,878
10,001-100,000 96,532
100,001-1,000,000 27468
1,000,001-10,000,000 781
10,000,001- 1

 

なるほど、1万文字以下に結構集まっている。

短編はそれなりに多いので妥当な結果。

 

・・・ん、なんか一千万文字を超える作品が一つだけある。

え!? 一千万文字!?

ncodeは「n4908bv」、タイトルは「サモナーさんが行く」。

実際になろうに行って探してみると、本当に一千万文字超えている。

どんだけ~~~

作者はバケモノすぎる。

 

ええっと、ラノベが一冊10万~15万文字と言われる。

10万文字以上はラノベ一冊分と仮定すると、28250作品あることになる。

それだけの文章量の作品がこんなに投稿されているなんて・・・すごいな。

 

以下、1000-10000文字の詳細な分布。

 

文字数 作品数
1001-2000 56747
2001-3000 36661
3001-4000 25797
4000-5000 18940
5000-6000 14279
6000-7000 11490
7001-8000 9303
8001-9000 7937
9001-10000 6724

 

とりあえず、文字数の分布はこんな感じで。

気になることあったらコメント下さい。

小説家になろうのテキストデータを全部さらってみた

WordPressに書いたところで反響がないのはわかっているので、いずれなろうに記事を立てようか。

まぁ、とりあえずここに書いておこうぜ。

 

まず、なろうからのテキスト集めについて書こうと思う。

 

ncode(小説ID)が数字なら連番アクセスするだけなのだけれど、ncodeは変な文字列でできているためそういうことができない。

まずはncodeのリストを作り、それから実際の小説を集めないといけない。

 

1,ユーザ1から順番に各ユーザの作品リストのアクセスしncodeを収集していく。ユーザIDは番号なので機械的にアクセス可能

2,収集したncodeすべてに対してアクセスして本文を収集する。前文や後書きは対象外。

 

収集は全部rubyで書いたプログラムで実施。

ただ、理屈は簡単だけど量が膨大なため数週間ぐらいかかっています。

アクセスにもwaitいれないといけないので。

 

しかし集めてみると、ゴミが多い次第。

冗談抜きで一文字という作品があります。(「あ」しかない作品がほんとうにある)

200文字以上という制限があるけど、一回投稿後に消したのだと思わる。

全データを対象に解析したと入っても、あきらかなゴミは消したほうがいい。

ということで、本文が100文字以下の作品は削除しました。

たしか140かそこらありました。

 

それを除いた作品数は、393,736作品。

文字数は総計11,720,660,192文字。

 

なお、この文字数には「改行タグ」「ルビタグ」などが入ってしまっているので、なろうの小説情報ページに表示される文字数より少し多めです。

ビデオカードを落札した

やっぱりGPGPUがやりたいので、HD5770に見切りをつけてもうちょっと新しい世代のビデオカードを買うことにした。

そして昨日からずーっと探していたわけだが、多すぎて決まらなかった次第。

なんとなく予算1万円ぐらいということにしてRadeon R7 260XとかGeforce 750Tiとかそのあたりを狙うことにした。

とはいえ、実際にはメルカリやヤフオクにあるビデオカードをかたっぱしからTDPや性能を調べまくっていて相当な時間と手間を浪費したことは全く否定出来ない。

というか浪費しまくった。

 

結局、ヤフオクで750Tiを落札した。

送料入れたら11,000円ぐらいになりそうな金額・・・

なんか新品でも同じなんじゃないかというような価格に・・・

いたた・・・

まぁ、なにはともあれ、これでGPGPUで遊べるようになるでしょう・・・多分・・・

 

捨てたものは古い書類。

体重は64.8kg