1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

長い文章から1文ずつ抽出し、単語の出現回数を書き出すサンプル

Last updated at Posted at 2019-01-21

長文から1文毎に区切りをつけ、単語の出現回数を記録するサンプルです。
テスト環境とデータセットは以下の通り。データセットは青空文庫から取得しました。著作権が消滅したデータは、有償・無償であるかを問わず、自由に複製・再配布・共有することができ、ファイルを元に、実演・口述・翻案など自由に活用することもできるようです。

開発環境
language version
Python 3.6.6
dataset
No. 作家名 作品名 本文
01 走れメロス 太宰 治 メロスは激怒した。必ず、かの邪智暴虐じゃちぼうぎゃくの王を...
02 羅生門 芥川 龍之介 ある日の暮方の事である。一人の下人げにんが、...
03 江戸川 乱歩 赤い部屋 異常な興奮を求めて集った、七人のしかつめらしい男が...

基本的に必要なライブラリをインストールして、extract.pyを実行するだけで、書き出しができるようにしています。

terminal
# ライブラリをインストール
pip install regex janome

# 実行
python extract.py

1文抽出のルール

基本的に「。」や「?」で終了する文章を1文として切り出していますが、会話文の場合をどのようなルールにするか、現在検討中です。そのため、会話文の場合、1文の切れ目にカギカッコ「」が入って少し変な感じになっています。

ルール

  • 「本文」カラムのデータを1文ずつ抽出。
  • 「作品名」を最後に追加
文章
ある日の暮方の事である。
一人の下人げにんが、羅生門らしょうもんの下で雨やみを待っていた。
...

単語抽出のルール

形態素解析のライブラリはいくつかあるようですが、今回は単語の出現頻度をカウントする機能がついているjanomeというライブラリを使用しています。こちらのサイトが非常に参考になりました。

ルール

  • 「本文」の文章を形態素解析。
  • 名詞のみ抽出し、出現回数を記録する。
  • 以下の品詞と活用形は除外
除外フィルター
["名詞,代名詞",
"名詞,非自立",
"名詞,数", 
"名詞,接尾,特殊",
"名詞,接尾,一般", 
"名詞,接尾,形容動詞語幹", 
"名詞,接尾,サ変接続", 
"名詞,サ変接続"]

芥川龍之介「羅生門」

Top 20

単語 出現回数
下人 44
老婆 28
死骸 14
13
12
11
9
梯子 9
死人 8
饑死 8
8
羅生門 7
7
7
7
太刀 7
さっき 6
6
6
髪の毛 6
... ...

サンプルはGithubに置いておきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?