表紙には自然言語処理の基礎から応用まで学べる
とある。
pp.92-93 にある SECTION-032 では、MeCab の辞書整備について述べられている。
ここで書かれていないことを補足する。UTF-8 の Mecab を導入するにあたって、Windows 11 のターミナル環境にはおまじないが必要だ。
ターミナル(いわゆる DOS 窓)で、
C:> chcp 65001
と入力する必要がある。これが書かれていないのでちょっと焦った。
では、p.93 に書かれている辞書の生成は成功するだろうか。
c:\Program Files\MeCab\bin> mecab-dict-index.exe \ -d "C:\Program Files\MeCab\dic\ipadic" \ -u c:\data\motohiro.dic -f shift-jis -t shift-jis \ c:\data\motohiro.txt reading c:\data\motohiro.txt ... context_id.cpp(96) [it != left_.end()] cannot find LEFT-ID for 名詞,固有名詞,人名,名,*,*,*
失敗した。理由を考えてみた。ひょっとすると、上記の -f で指定した文字コード(CSV ファイルの文字コード)と -t で指定した文字コード(バイナリ辞書の文字コード)はどちらも shift-jis ではなくて utf-8 ではないだろうか。 そう思ってやり直した。
c:\Program Files\MeCab\bin> mecab-dict-index.exe \ -d "C:\Program Files\MeCab\dic\ipadic" \ -u c:\data\motohiro.dic -f utf-8 -t utf-u \ c:\data\motohiro.txt reading c:\data\motohiro.txt ... 1 emitting double-array: 100% |###########################################| done!
成功したようだ。実行してみる。下線は入力したことを表している。
c:\Program Files\MeCab\bin> mecab 石田基広です。 石田 名詞,固有名詞,人名,姓,*,*,石田,イシダ,イシダ 基広 名詞,固有名詞,人名,名,*,*,基広,モトヒロ,モトヒロ です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス 。 記号,句点,*,*,*,*,。,。,。 EOS
本書と同じ結果になった。
次に section-033 (p.94) に進んだ。git for Windows 64bit をインストールしてみた。以下は、GitBash のコマンドプロンプトを使っている。
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git > /dev/null Cloning into 'mecab-ipadic-neologd'... remote: Enumerating objects: 75, done. remote: Counting objects: 100% (75/75), done. remote: Compressing objects: 100% (74/74), done. remote: Total 75 (delta 5), reused 54 (delta 0), pack-reused 0 (from 0) Receiving objects: 100% (75/75), 58.09 MiB | 8.34 MiB/s, done. $ cd mecab-ipadic-neologd/ $ ./bin/install-mecab-ipadic-neologd -n [install-mecab-ipadic-NEologd] : Start.. [install-mecab-ipadic-NEologd] : Check the existance of libraries [install-mecab-ipadic-NEologd] : find => ok [install-mecab-ipadic-NEologd] : sort => ok [install-mecab-ipadic-NEologd] : head => ok [install-mecab-ipadic-NEologd] : cut => ok [install-mecab-ipadic-NEologd] : egrep => ok which: no mecab in (後略)
(後略)のところにパスが入っている。このメッセージは、mecab がパスにない、ということらしい。 その後パスを通したが、今度は config がないということでうまくいかない。
ということで、./bin/install-mecab-ipadic-neologd -n 以下がうまくいかなかったので、別方法にした。 以下は、mecab-dict-index や 7z が実行できるようにパスを通しておく。また、mkdir が実行できるよう、コマンドプロンプトは管理者として実行できるようにしておく。
> cd C:\Users\(username)\mecab-ipadic-neologd\seed > 7z X *.xz > mecab-dict-index -d "c:\Program Files\MeCab\dic\ipadic" -u NEologd.20200910-u.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20200910.csv > mkdir "C:\Program Files\MeCab\dic\NEologd" > move NEologd.20200910-u.dic "C:\Program Files\MeCab\dic\NEologd"
次にC:\Program Files\MeCab\etcにある mecabrc を変更する。
dicdir = $(rcpath)..\dic\ipadic userdic = C:\Program Files\MeCab\dic\NEologd\Neologd.20200910-u.dic
これで NEologd がインストールされた。
参考 WindowsでPythonでMeCab(mecab-ipadic-NEologd)(qiita.com)
p.106 では、自作関数のモジュール化について述べられている。ここでは、Jupyter の参照するデフォルトのフォルダに、 自作関数が存在することが前提となっている。もし、自作関数がデフォルトフォルダになければ、Jupyter でのフォルダを移動する必要がある。 これは os.chdir() 関数を用いる。ただし、os.chdir() の引数は絶対パスでないといけない。また。Windows では、 サブフォルダを表す場合は \\ のようにバックスラッシュを連続して使う必要がある。
p.111 の上部枠囲みは、品詞細分類の情報で使って機能語を削除した結果である。これはどうも私の結果とは異なる。私の結果は次の通りだ。
良い 形容詞 自立 良い 本 名詞 一般 本 もう 副詞 一般 もう 冊 名詞 接尾 冊 買っ 動詞 自立 買う 永久保存版 名詞 固有名詞 永久保存版 しよ 動詞 自立 する
p.111 では、ストップワードについて解説されている。このストップワードの公開リストとして、SlothLib があるという。下記がその URL だ。
http://svn.sourceforge.jp/svnroot/slothlib/CSharp/Version1/SlothLib/NLP/Filter/StopWord/word/Japanese.txt
ところが上記の URL はつながらない。sourceforge.jp は osdn.jp になり、さらに osdn.jp もつながらなくなっている。
さいわいなことに、上記 URL は www.archive.org でアーカイブされている。
直近では 2023 年 3 月 15 日のアーカイブがある。これをダウンロードしてローカルに保存すればできるだろう。
p.93 に枠囲みが2箇所ある。そのうち、上のほうを引用する。
> cd /d c:\Program Files\Mecab\bin C:\Program Files\Mecab\bin>mecab-dict-index.exe \ -d "c:\Program Files\Mecab\bin\ipadic" \ -u c:\data\motohiro.dic -f shift-jis -t shift-jis \ c:\data\motohiro.txt
正しくは次の通りと考えられる。まず、上記 3 行めは bin ではなく dic だろう。そして、-f オプションと -t オプションで指定された文字コードは、 どちらも shift-jis ではなく utf-8 であると考えられる。
> cd /d c:\Program Files\Mecab\bin C:\Program Files\Mecab\bin>mecab-dict-index.exe \ -d "c:\Program Files\Mecab\dic\ipadic" \ -u c:\data\motohiro.dic -f utf-8 -t utf-8 \ c:\data\motohiro.txt
書名 | Python で学ぶテキストマイニング入門 |
著者 | 石田基広 |
発行日 | 2022 年 8 月 22 日 初版 |
発行所 | C&R研究所 |
定価 | 3220 円(税別) |
サイズ | A5 版 |
ISBN | 978-4-86354-393-5 |
その他 | 越谷市立図書館で借りて読む |
NDC |
まりんきょ学問所 > コンピュータの部屋 > コンピュータの本 > Python > 石田基広:Python で学ぶテキストマイニング入門