matplotlib を日本語化

yumなどのパッケージソフトなどでインストールすることはできない条件

試していないですが、もしこれがいけるなら下記の条件でいけるかもしれないです。

yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts

引用:matplotlib on CentOS 7で日本語フォントを使う

matplotlib on CentOS 7で日本語フォントを使う

fontをダウンロードする

Takaoフォントは、IPAフォントをベースにしてUbuntu Japanese Teamが開発・保守を行っているものです。

今回は、以下よりTakaoフォントをダウンロード
https://github.com/byrongibson/fonts/blob/master/backup/truetype.original/takao-gothic/TakaoPGothic.ttf

config/matplotlib/matplotlibrc のコピー

matplotlibrc もとのパスを確認してコピー

python
import matplotlib as mpl
mpl.matplotlib_fname()

下記のようなパスが出力されます。パスは変わると思うで各自で置き換えて考えてください

/usr/local/pyenv/versions/anaconda3-2.4.1/lib/python3.5/site-
packages/matplotlib/mpl-data/matplotlibrc

上記のパスよりホーム配下の config/matplotlibにコピー

cp usr/local/pyenv/versions/anaconda3-2.4.1/lib/python3.5/site-
packages/matplotlib/mpl-data/matplotlibrc $HOME/.config/matplotlib/

config/matplotlib/matplotlibrc に追記

font.family : TakaoPGothic

font の cache を削除

rm $HOME/.cache/matplotlib/fontList.py3k.cache

各スクリプトで指定

一例

from matplotlib import font_manager as fm

FONT_PATH = '/data/'
font_files = fm.findSystemFonts(fontpaths=FONT_PATH) # pathにあるttfファイルを見つける
font_list = fm.createFontList(font_files) # フォントリストを作成
fm.fontManager.ttflist.extend(font_list) # matplotlibのフォントリストに追加
# print(font_list)

参考サイト

  • 【matplotlib】日本語の設定
    http://kaisk.hatenadiary.com/entry/2015/02/15/215831

  • matplotlibで日本語 *OSの通常のフォントのインストール方法でインストール
    https://qiita.com/yniji/items/3fac25c2ffa316990d0c

おすすめ書籍

Juptyer Notebook を知るのに大いに参考になります。
たしか日本語化もこちらで取り上げていたので参考までにどうぞ。
notebook 上で bash などの shell を走らせたりできます。この書籍で初めて知りました。
奥深いですね。

Markdownのエディターとして使っている方もいるみたいです。私も試しに使用したところいい感じでした。

日本の wikipedia をコーパスに利用する

環境

Windows10
Python 3.x
Version: 2.75 (March 4, 2017)

wikipedia(jp) コーパスをDL

こちら最新ものをDLします。サイズは、2.5GB近くあります。。
https://dumps.wikimedia.org/jawiki/latest/

記事のデータはこちらのから
jawiki-latest-pages-articles.xml.bz2

Wikipedi Extaractor のインストールしてスクリプト実行

gihubClone or download よりzipで落とします。
git使い方わかっている人は、git clone のコマンドでも大丈夫です。知らない人は、zip のファイルを落として任意のところで解凍します。

Wikipedi Extaractorのインストール

解凍したディレクトリ内で下記のインストールを実行

python setup.py install

Wikipedi Extaractorのスクリプト実行(抽出実行)

python WikiExtractor.py -b 1000K -o extracted jawiki-latest-pages-articles.xml.bz2

上記のスクリプトを流すと下記のXMLが抽出され2段目のXMLファイルになります。
-b で1ファイルを1000k に分割、-o で抽出先のOUTPUTディレクトリを指定います。
オプションの詳細はこちらによりWikipedia_Extractor.py をDLしてスクリプト実行します。

抽出前のXMLファイル

<page>
  <title>Armonium</title>
  <id>2</id>
  <timestamp>2008-06-22T21:48:55Z</timestamp>
  <username>Nemo bis</username>
  <comment>italiano</comment>
  <text xml:space="preserve">[[Immagine:Harmonium2.jpg|thumb|right|300 px]]

  L''''armonium'''' (in francese, ''harmonium'') è uno [[strumenti musicali|
  strumento musicale]] azionato con una [[tastiera (musica)|tastiera]], detta
  manuale. Sono stati costruiti anche alcuni armonium con due manuali.

  ==Armonium occidentale==
  Come l'[[organo (musica)|organo]], l'armonium è utilizzato tipicamente in
  [[chiesa (architettura)|chiesa]], per l'esecuzione di [[musica sacra]], ed è
  fornito di pochi registri, quando addirittura in certi casi non ne possiede
  nemmeno uno: il suo [[timbro (musica)|timbro]] è molto meno ricco di quello
  organistico e così pure la sua estensione.

  ...

  ==Armonium indiano==
  {{S sezione}}

  == Voci correlate ==
  *[[Musica]]
  *[[Generi musicali]]</text>
</page>

抽出後のXMLファイル

下記のように抽出されます。
<doc id="2" url="http://it.wikipedia.org/wiki/Armonium">
Armonium.
L'armonium (in francese, “harmonium”) è uno strumento musicale azionato con
una tastiera, detta manuale. Sono stati costruiti anche alcuni armonium con
due manuali.

Armonium occidentale.
Come l'organo, l'armonium è utilizzato tipicamente in chiesa, per l'esecuzione
di musica sacra, ed è fornito di pochi registri, quando addirittura in certi
casi non ne possiede nemmeno uno: il suo timbro è molto meno ricco di quello
organistico e così pure la sua estensione.
...
</doc>
日本語ではこのようになります。
<doc id="312" url="https://ja.wikipedia.org/wiki?curid=312" title="数学">
数学

数学(すうがく、, , )は、量(数)、構造、空間、変化について研究する学問である。数学の範囲と定義については、数学者や哲学者の間で様々な見解がある。

数学の最も普通の定義としては、「数および図形についての学問」というものがある。しかし、19世紀のヨーロッパで集合論が提起されてからは、「数学とは何か」ということが問い直されるようになっており(数学基礎論)、数学の対象、方法、文化史的な価値などについて研究する数理哲学まで生まれている。したがって、現代的な意味では数学はもはや「数および図形についての学問」といった単純な定義で済ませておくことはできない状態にある。

数学とは、狭義には伝統的な数論や幾何学などの分野における研究とその成果の総称として、またそれらの成果を肯定的に内包する公理と推論からなる論理と理論の体系を指して言うものである。また広義には、超数学(メタ数学)などと呼ばれる枠組みに従って、公理と推論規則が定められた体系一般を指す。現代的な数学においては、公理的に定義される抽象的な構造を、数理論理学を共通の枠組みとして用いて探究する。

数学は、西欧の学問分類では一般に「形式科学」に分類され、自然科学とははっきり区別されている。方法論の如何によらず最終的には、数学としての成果というものは他の自然科学のように実験や観察によるものであってはならない。

数学、特に伝統的な純粋数学では数学研究が自己目的化されており、数学への内的な興味のために研究がなされる。このような数学ではいかに本質的な概念なり定理なりを得て、体系的な数学を構築するかが重要視されており、数学的対象を記述するのに適した概念や空間を定義したり、数学的事象をうまく表現した定理を得たりすることが数学者の主な仕事である。一方で、美的な理由からそれぞれの分野での研究をしている数学者もいる。彼らは対称性や直観性などその独特の審美眼を以て、数学を芸術に近しいものとみなしているのである。この分野については数学の哲学、数学的な美に詳しい。

伝統的な数学分野で研究される対象は物理現象と深い関わりを持つものが多い。一方、応用分野では数理モデルという形で、例えば計算機や言語などといったものを対象とした研究が行われる。もちろん、数理モデルにおける演繹から得られる成果と実際との間に幾分かのずれを生じることもあるが、そのずれの評価とモデルの実用性・実効性については多くは数学の外の話である。また、数学とパズルの類似性が指摘される事があるが、数学が本質性や体系性を重要視することに照らせば、パズルはむしろ奇をてらい非体系的である。こうした研究姿勢がしばしば様々な数学の諸分野を統一するような概念へと導いたり、他分野の学問の発展に貢献したりすることに繋がる。

数学の起源は人類が農耕を始めたこととの関連が大きい。農作物の分配管理や商取引のための計算、農地管理のための測量、そして農作業の時期を知る暦法のための天文現象の周期性の解明などである。これら三つの必要性は、そのまま数学の大きな三つの区分、構造、空間、変化のそれぞれの研究に大体対応しているといえよう。この時点では、例えば土木工事などの経験から辺の比が 3 : 4 : 5である三角形が直角三角形になることは知られていても、一般に直角三角形の辺の長さの比が "c" = "a" + "b" ("c", "b", "a" は辺の長さ)になること(ピタゴラスの定理)は知られていなかった。数学が独立した学問でなく純粋な実用数学であった時代には、あたかも自然科学におけるデータのようにこれらの関係を扱い、例を多数挙げることで正しさを主張するといった手法でもさして問題視されなかった。しかし数は無限に存在するため、沢山の数を調べても完全に証明することはできない。数学が一つの学問として研究されるようになって以降は、論理を用いて真偽を判定する「数学的証明」が発達した。現代の数学では証明は非常に重視されている。

現代における純粋数学の研究は主に代数学、幾何学、解析学の三分野に大別される。また、これらの数学を記述するのに必要な道具を与える論理を研究する学問を数学基礎論という。

以下の分野や項目の一覧は、数学に対する一つの有機的な見方を反映している。

便宜上の分類

「ノーベル数学賞」は存在しない。




</doc>

3プロセスで83分ぐらいかかりました。ちなみにPCスペックは、メモリ4GBの core5 です。

INFO: Finished 3-process extraction of 1118883 articles in 4974.2s (224.9 art/s)

その後は?

docなどのタグがあるのでデータクレンジングを行っていきます。
それ別途記事にしようかと思っています。

参考サイト

おすすめ書籍

導入しての自然言語を知るにはよい書籍です

2017年の出版で Pythonスクリプトもあり本自体もボリュームが抑えてられており
テキストマイニングの濃いコンテンツを知れて参考になります

2018年の出版でNLPの仕組みをPythonスクリプトを書いて説明されています。
コードまで落とされているので、プログラミングが得意の方はおすすめです