※メモ(後記)
冒頭に記述していますが、下記の一連の処理を実行した後で、書いています。
結局不具合があり環境の見直しをすることになり、「Anaconda」だけの環境に戻しています。
それでも以下の各コマンドなどは参考になっているので、投稿をそのまま残しています。
(後記はここまで。環境見直しの話はこちら)
Anaoconda & MeCab 整備編
仮想環境を分ける
「TnesorFlow」を使うために「Miniconda」をMacにインストールしています。
なお、Pythonを始めたとき最初に入れた「Anaconda」も動いています。
Window環境では、「Anaconda」の「Jupyter Notebookの」上で「MeCab」を使えるようにしているので、Macでも同じ環境を整えようと準備を始めました。
思うように進まなかったのですが、最終的には「Minicoda」と「TensorFlow」をアンインストールし、「Anaconda」と仮想環境を分けてることでインストールできました。
※なお、当方Python初めて1ヶ月ちょっとなので、正しい手順でないところもあるかもしれせん。
「Anaconda」と「Miniconda」が共存している環境で「MeCab」インストールしたところ(この手順は後述)、「import MeCab」の実行時にエラーが出てしまいました。
メッセージを見ると、「MeCab」は「Anaconda」ではなく、「/miniconda3/」に入っているようで、状況がわからなくなり、行き詰まりかけました。
(base) % python
Python 3.9.12 (main, Apr 5 2022, 01:52:34)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/username/miniconda3/lib/python3.9/site-packages/MeCab/__init__.py", line 10, in <module>
from . import _MeCab
ImportError <略>
「Anaconda」のバージョンを確認しても、「Miniconda」。
(base) % conda list anaconda$
# packages in environment at /Users/username/miniconda3:
#
# Name Version Build Channel
作成した環境の一覧を見ても、「Miniconda」。
「Anaconda」は動いているのですが、見つからない状態になってしまいました。
(base) % conda deactivate
% conda info -e
# conda environments:
#
base /Users/username/miniconda3
いくつかのサイトを参考に、「Anaconda」と「Miniconda」の環境を分けてやり直すことにしました。
Minicondaをアンインストール
まず「Miniconda」をアンインストールします。
「Anaconda」を見えるようにしてから、そこに「MeCab」を入れようと思ったのです。
# miicondaディレクトリ削除
(base) % rm -rf ~/miniconda3
# minicondaの記述を削除
(base) %nano ~/.zshrc
# 関連ファイルの削除
(base) % rm -rf ~/.condarc ~/.conda ~/.continuum
「Minconda」の記述については、「.zshrc」に以下の記述があれば削除します。
# nanoエディタで以下を削除
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/username/opt/miniconda3/bin/conda'
# (略)・・・
# <<< conda initialize <<<
「TensorFlow」もアンインストールします。
# tensorflowをアンインストール
(base) % python -m pip uninstall tensorflow-macos
(base) % python -m pip uninstall tensorflow-metal
「conda env list」を実行したところ、「Anaconda」が見えました。
# conda env listで仮想環境一覧
(base) % conda deactivate
% conda env list
# conda environments:
#
base /opt/anaconda3
MeCab 強化編
MeCabをインストール
「base」環境に「MeCab」をインストールします。
# MeCabをインストール
% conda activate base
(base) % cd {git_repo_path}
(base) % git clone https://github.com/taku910/mecab.git
(base) % cd mecab/mecab
(base) mecab % ./configure --enable-utf8-only
(base) mecab % make
(base) mecab % make check
(base) mecab % sudo make install
「MeCab」を「Anaconda」(Juypter)で使えるようにするには「SWIG」というパッケージも入れます。
SWIGは、C/C++で書かれたプログラムなどのラッパーで、Pythonなどの他の言語で使えるようにするツールです。
# ラッパー「SWIG」をインストール
(base) mecab % conda install -c anaconda swig
ただ、これ(だけ)ではうまくいきませんでした。
「import MeCab」を実行すると「ModuleNotFoundError: No module named ‘MeCab’」というエラーが出ます。
# 「MeCab」が正常にインストールされているか確認
(base) % python
Python 3.9.13 (main, Aug 25 2022, 18:29:29)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MeCab'
これまでの手順が違っていたのかわかりませんでしたが、「MeCab」のPythonラッパー「mecab-python3」をインストールすることでエラーは出なくなりました。
# mecab-python3をインストール
(base) % cd mecab/mecab
(base) mecab % pip install mecab-python3
Collecting mecab-python3
Downloading mecab_python3-1.0.6-cp39-cp39-macosx_10_15_x86_64.whl (274 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 274.3/274.3 kB 8.4 MB/s eta 0:00:00
Installing collected packages: mecab-python3
Successfully installed mecab-python3-1.0.6
#再度「 import MeCab」実行
(base) % python
Python 3.9.13 (main, Aug 25 2022, 18:29:29)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>>
標準とNEologd辞書セットアップ
「MeCab」をインストールしたので、次に辞書を組み込みます。
まず標準辞書の「ipadic」をインストール。
# 標準辞書をインストール
(base) mecab % cd ../mecab-ipadic
(base) mecab-ipadic ./configure --with-charset=utf8
(base) mecab-ipadic make
(base) mecab-ipadic sudo make install
今回試していませんが、「pip」を使って「ipadic」をインストールすることも可能になったようです。
pip install ipadic
標準辞書より新語に強い「NEologd」も使えるようにします。
# NEologdをインストール
(base) % git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
(base) % cd mecab-ipadic-neologd/
(base) mecab-ipadic-neologd % ./bin/install-mecab-ipadic-neologd -a
# 以下のコマンドでディレクトリのパスを確認
(base) mecab-ipadic-neologd % echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
/usr/local/lib/mecab/dic/mecab-ipadic-neologd
Jupyter Notebookで確認
「Jupyter Notebook」を使い、「NEologd」を使った形態素解析の動作を確認します。
ただ、「Jupyter Notebook」で「import MeCab」を実行すると
ModuleNotFoundError: No module named 'MeCab'
というエラーが出ました。
ネットで調べたところ、「Jupyter Notebook」上で!「pip install mecab-python3」(MeCabラッパーのインストール)を実行した方がよいようです(上述の通りすでにMeCabは入っています。その上でラッパーが必要なのか、ラッパーだけで十分なのかは調べられませんでした)。
# MeCabラッパーをインストール
!pip install mecab-python3
まず「NEologd」を使わず標準辞書を使った場合です。
結果は改行が「\n」と表示されわかりにくいですが、「宿儺」が「宿」と「儺」別れるなど、1つの品詞として認識されてないことがわかります。
# MeCab & 標準辞書
import MeCab
mecab = MeCab.Tagger()
mecab.parse("両面宿儺と虎杖悠仁")
'両面\t名詞,一般,*,*,*,*,両面,リョウメン,リョーメン\n宿\t名詞,一般,*,*,*,*,宿,ヤド,ヤド\n儺\t名詞,一般,*,*,*,*,*\nと\t助詞,並立助詞,*,*,*,*,と,ト,ト\n虎杖\t名詞,一般,*,*,*,*,虎杖,イタドリ,イタドリ\n悠\t名詞,固有名詞,人名,名,*,*,悠,ユウ,ユー\n仁\t名詞,固有名詞,人名,名,*,*,仁,ヒトシ,ヒトシ\nEOS\n'
次に「NEologd」を使います。
「両面宿儺」と「虎杖悠仁」をそれぞれ固有名詞として認識しています。
「R言語」で「NEologd」を使った場合も、同様の結果を得られたので、「NEologd」が正常に動いていることを確認できました。
# MeCab & NEologd
import MeCab
tagger = MeCab.Tagger('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
tagger.parse("両面宿儺と虎杖悠仁")
'両面宿儺\t名詞,固有名詞,人名,一般,*,*,両面宿儺,リョウメンスクナ,リョーメンスクナ\nと\t助詞,並立助詞,*,*,*,*,と,ト,ト\n虎杖悠仁\t名詞,固有名詞,人名,一般,*,*,虎杖悠仁,イタドリユウジ,イタドリユージ\nEOS\n'
fastTextをインストール
「base」環境の下準備の仕上げに、Facebook(現Meta Platforms)が公開している自然言語処理ライブラリ「fastText」をインストールします。
文章を「MeCab」で形態素解析し、そのデータを元に「fastText」を使って分類できる環境を整えるのが目的です。
# fastTextをインストール
(mini_conda) % conda deactivate
% conda activate base
(base) % git clone https://github.com/facebookresearch/fastText.git
(base) % cd fastText
(base) % fastText % pip3 install .
Processing /Users/hiro_ogawa/fastText
Preparing metadata (setup.py) ... done
Collecting pybind11>=2.2
Using cached pybind11-2.10.1-py3-none-any.whl (216 kB)
Requirement already satisfied: setuptools>=0.7.0 in /opt/anaconda3/lib/python3.9/site-packages (from fasttext==0.9.2) (63.4.1)
Requirement already satisfied: numpy in /opt/anaconda3/lib/python3.9/site-packages (from fasttext==0.9.2) (1.21.5)
Building wheels for collected packages: fasttext
Building wheel for fasttext (setup.py) ... done
Created wheel for fasttext: filename=fasttext-0.9.2-cp39-cp39-macosx_10_16_x86_64.whl size=303573 sha256=bcaa64c6a7bd3e17c82712131437f3bffaa768bbd5618cc04c8cb591c5c97d34
Stored in directory: /private/var/folders/b2/7zhxp26s60s3875vcfz_qyw00000gn/T/pip-ephem-wheel-cache-1f_zavek/wheels/d1/54/4d/6bc2dd1d6cead1483401c5d78ffad509e761ae5eb9b8bfd52c
Successfully built fasttext
Installing collected packages: pybind11, fasttext
Installing collected packages: pybind11, fasttext
Successfully installed fasttext-0.9.2 pybind11-2.10.1
「import fasttext」を実行して、「fastText」が正常に入ったか確認します。
エラーメッセージが出ず「>>> 」が表示されればOKとします。
(base) fastText % python
Python 3.9.13 (main, Aug 25 2022, 18:29:29)
[Clang 12.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import fasttext
>>>
Miniconda & TensorFlow 環境準備編
MiniとTFを再インストール
今回、最初に「Miniconda」(Mini)を削除する際、「TensorFlow」(TF)もアンインストールしています。
「Miniconda」と「TensorFlow」を再インストールしたので、その手順もメモとして残しておきます。
まず、仮想環境を分けたいので、「conda create」コマンドで「mini_conda」という名称の管渠を用意します。
# conda createで仮想環境作成
% conda create -n mini_conda
仮想環境の一覧を確認すると、MeCabのインストールに利用した「base」環境と、今回作った「mini_conda」環境を確認できます。
% conda env list
# conda environments:
#
base /opt/anaconda3
mini_conda /opt/anaconda3/envs/mini_conda
「mini_conda」環境に「Miniconda」をインストールします。
「Miniconda」のインストーラは「conda」のサイトからダウンロードしておきます。
# 今回構築したmini_conda環境をアクティブ
% conda activate mini_conda
# ファイルのパーミッションを変更
(mini_conda) % chmod +x ~/Downloads/Miniconda3-py39_4.12.0-MacOSX-arm64.sh
# Mnicondaのインストール
(mini_conda) % sh ~/Downloads/Miniconda3-py39_4.12.0-MacOSX-arm64.sh
「TensorFlow」をインストールします。
# TensorFlowをインストール
(mini_conda) % conda install -c apple tensorflow-deps==2.8.0
(mini_conda) % python -m pip install tensorflow-macos==2.8.0
(mini_conda) % python -m pip install tensorflow-metal
ところが、「mport tensorflow」を実行すると、以前は出なかったエラーが出ました。
(mini_conda) hiro_ogawa@hogawanoMacBook-Pro ~ % python
Python 3.9.6 (default, Sep 26 2022, 11:37:49)
[Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
(略)
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
protobuf package?
「protobuf」パッケージを3.20.xにダウングレード、というメッセージです。
Protocol Buffers(プロトコルバッファー)を扱うためのPythonライブラリのことだそうです。
(なぜここで引っかかったのかわかりませんでした)
# protobufをダウングレード
(mini_conda) % pip install -U protobuf~=3.20.0
Defaulting to user installation because normal site-packages is not writeable
Collecting protobuf~=3.20.0
Downloading protobuf-3.20.3-py2.py3-none-any.whl (162 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 162.1/162.1 kB 5.0 MB/s eta 0:00:00
Installing collected packages: protobuf
Attempting uninstall: protobuf
Found existing installation: protobuf 4.21.11
Uninstalling protobuf-4.21.11:
Successfully uninstalled protobuf-4.21.11
Successfully installed protobuf-3.20.3
「3.20.3」を指定してインストールされたのは「3.20.3」でした。
続くエラー、TensorFlowのVerか?
それでもまだ「import tensorflow」を実行するとエラーが出ます。
>>> import tensorflow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/username/Library/Python/3.9/lib/python/site-packages/tensorflow/__init__.py", line 443, in <module>
_ll.load_library(_plugin_dir)
File "/Users/username/Library/Python/3.9/lib/python/site-packages/tensorflow/python/framework/load_library.py", line 151, in load_library
py_tf.TF_LoadLibrary(lib)
tensorflow.python.framework.errors_impl.NotFoundError: dlopen(/Users/username/Library/Python/3.9/lib/python/site-packages/tensorflow-plugins/libmetal_plugin.dylib, 0x0006): symbol not found in flat namespace '__ZN3tsl8internal10LogMessage16VmoduleActivatedEPKci'
ふと、「TensorFlowのバージョンが違う?」と思い、
(mini_conda) % conda install -c apple tensorflow-deps
(mini_conda) % python -m pip install tensorflow-macos
(mini_conda) % python -m pip install tensorflow-metal
と実行しました。
Successfully installed gast-0.4.0 keras-2.11.0 packaging-22.0 protobuf-3.19.6 tensorboard-2.11.0 tensorflow-estimator-2.11.0 tensorflow-macos-2.11.0
と、「2.11.0」がインストールされました。
結果、「import tensorflow」実行してもエラーが出なくなりました。
(mini_conda) @hogawanoMacBook-Pro ~ % python
Python 3.9.6 (default, Sep 26 2022, 11:37:49)
[Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>>
以上で準備がひと段落です。
今後、ワードクラウドや文章分類などを試したと思います。
参考サイト
conda
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/269059e3ddeeb7428e979d6062dfce23.jpg)
Anaconda
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/07ee937030eaa1bb15857362e3c11392.png)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QW5hY29uZGElRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElOUYlRTQlQkIlQUUlRTYlODMlQjMlRTclOTIlQjAlRTUlQTIlODMlRTMlODIlOTIlRTQlQkYlOUQlRTUlQUQlOTglRTMlODMlQkIlRTUlODYlOEQlRTYlQTclOEIlRTclQUYlODklRTMlODAlODElRTglQTQlODclRTglQTMlQkQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTg1Yzk0ODEzNDY5ZWVkNmExNGY3NWFmMjIxODZkNzgw&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwb3pha2lfcGh5c2ljcyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDUxYzg2M2NjMGI5ZDk3YzBjMmRmNDg3MGQyZWUzN2I&blend-x=142&blend-y=491&blend-mode=normal&s=79d48bc2aaf7f6a1227e9c1b3f161cb7)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwJUU1JTg4JTlEJUU1JUJGJTgzJUU4JTgwJTg1JUU1JTkwJTkxJUUzJTgxJTkxJUUzJTgwJTkxQW5hY29uZGElRTMlODElQTdQeXRob24lRTMlODElQUUlRTQlQkIlQUUlRTYlODMlQjMlRTclOTIlQjAlRTUlQTIlODMlRTMlODIlOTIlRTQlQkQlOUMlRTYlODglOTAlRTMlODMlQkIlRTUlODglODclRTMlODIlOEElRTYlOUIlQkYlRTMlODElODglRTMlODIlOEIlMjglRTUlQTQlOUElRTUlODglODYlMjklRTYlOUMlODAlRTMlODIlODIlRTclQjAlQTElRTUlOEQlOTglRTMlODElQUElRTYlOTYlQjklRTYlQjMlOTUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQxOGEzMmQ0ZmRlZjc2ODRlY2I2ZjIyMzFhZmYyNTk0&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZWxsJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lMDM4ZTZjYjFkODlmMmMwOTZlMDVlYWNiZGVjMDNhOA&blend-x=142&blend-y=491&blend-mode=normal&s=322b225e2e3b667e1f85bfd8c58070ca)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwJUU1JTg4JTlEJUU1JUJGJTgzJUU4JTgwJTg1JUU1JTkwJTkxJUUzJTgxJTkxJUUzJTgwJTkxQW5hY29uZGElRTMlODElQTclRTQlQkIlQUUlRTYlODMlQjMlRTclOTIlQjAlRTUlQTIlODMlRTMlODIlOTIlRTQlQkQlOUMlRTMlODElQTMlRTMlODElQTYlRTMlODElQkYlRTMlODIlOEImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTllOGM5NDNmODEyNjI1MWExMzM4YTRlYzI2NGM0NDhi&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwb3pha2lfcGh5c2ljcyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDUxYzg2M2NjMGI5ZDk3YzBjMmRmNDg3MGQyZWUzN2I&blend-x=142&blend-y=491&blend-mode=normal&s=f855259aa0469e384f0e4951bcd04625)
MeCab
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/1821f8968f9e28b77eb172a8227b4b4e.jpg)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QW5hY29uZGElRTMlODElQUJtZWNhYl9weXRob24lRTMlODIlOTIlRTUlODUlQTUlRTMlODIlOEMlRTMlODIlOEIlRUYlQkMlODhIb21lYnJldyVFMyU4MSVBQSVFMyU4MSU5NyVFRiVCQyU4OSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OGJiN2M4ODhlYWNkMjFmODYzNzk3MGEwYjY3Y2JiN2Q&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbW90a3Vib24mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTY0M2JjNmY2YTA2YzE3MTM3OGQ5M2U2ZDY3OGJkNDM5&blend-x=142&blend-y=491&blend-mode=normal&s=ef54af2e83358bb82f8d45e1d48c77b5)
NEologd
Miniconda
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/a1956ec33af8a067ce581955e9a3b45c.png)
fastText
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9RmFzdFRleHQlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTYlRTMlODIlQjUlRTMlODIlQUYlRTMlODMlODMlRTMlODElQTglRTUlQTQlOUElRTMlODIlQUYlRTMlODMlQTklRTMlODIlQjklRTUlODglODYlRTklQTElOUUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIwYWM2OWYxMjdkY2RiNDI1ZWQ0NGIyNmExYTJhYjAy&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2F0b2g1MTYwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01NjZlNjM0YzA4NzQwZWFmZjVlNjU1ODE4N2ViZjY1Nw&blend-x=142&blend-y=491&blend-mode=normal&s=05c3d46dc0f618dcd6fed144fc02ea53)
TensorFlow
![](https://developer.apple.com/news/images/og/metal-og.jpg)
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/15d2b2cbc91b96fdf7dd542503b80ac4.png)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRmxoMy5nb29nbGV1c2VyY29udGVudC5jb20lMkZhJTJGQUFUWEFKeUFsMndFMHZYVlQ0TmdXZW5lekxXU1RLRy0wUFVoTzJzWWpjRHMlM0RzNTAtbW8_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9MWJkYmIwZWYyODEzZGM0NzFhNTQwY2M0YjFjNGNlYTY%26blend-x%3D120%26blend-y%3D467%26blend-w%3D82%26blend-h%3D82%26blend-mode%3Dnormal%26s%3D516d3e31df5514758a571a9397693cf5?ixlib=rb-4.0.0&w=1200&fm=jpg&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9TTElMjBNYWMlRTMlODElQUJUZW5zb3JGbG93JUUzJTgyJTkyJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9NjhhMjFkZGRiYmRkMDQxNWJkM2Q4MTA2OWM1ODY4NGQ&mark-x=120&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBjaGlwbXVuay1zdGFyJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9ZTRjNmExNTlmOWUwMmQ5NDFkZGYxMWY0NDdmM2UyN2Y&blend-x=242&blend-y=480&blend-w=838&blend-h=46&blend-fit=crop&blend-crop=left%2Cbottom&blend-mode=normal&s=579d2f32afca67cd5e0caffdd14434c2)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VGVuc29yZmxvdyVFMyU4MSU4QyVFMyU4MiVBNCVFMyU4MyVCMyVFMyU4MyU5RCVFMyU4MyVCQyVFMyU4MyU4OCVFMyU4MSVBNyVFMyU4MSU4RCVFMyU4MSVBQSVFMyU4MSU4NCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Zjk0NTIwZTUzYzhiZDZkN2UxZWUyNWU4OTI1NmZkMWY&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwUG9vaC1BJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02YWNkNmU3ZDM0N2M4ZWMzY2ExNWNjNTcxYjgzNDljMw&blend-x=142&blend-y=491&blend-mode=normal&s=7db71d259eac789f3f09d6ae1023d63e)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9RmFzdFRleHQlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTYlRTMlODIlQjUlRTMlODIlQUYlRTMlODMlODMlRTMlODElQTglRTUlQTQlOUElRTMlODIlQUYlRTMlODMlQTklRTMlODIlQjklRTUlODglODYlRTklQTElOUUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIwYWM2OWYxMjdkY2RiNDI1ZWQ0NGIyNmExYTJhYjAy&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2F0b2g1MTYwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01NjZlNjM0YzA4NzQwZWFmZjVlNjU1ODE4N2ViZjY1Nw&blend-x=142&blend-y=491&blend-mode=normal&s=05c3d46dc0f618dcd6fed144fc02ea53)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9bWFjJUUzJTgxJUFCZmFzdFRleHQlRTMlODIlOTIlRTMlODIlQTQlRTMlODMlQjMlRTMlODIlQjklRTMlODMlODglRTMlODMlQkMlRTMlODMlQUIlRTMlODMlQTElRTMlODMlQTImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTc1NGE2ODVlN2E2NjdiYjFhMjZmMzM5NDc2NjRiNzEz&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwZG95b2RveW8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTcwMzAwYThhM2Y2YTg2NTE2MWVlZTM3NDM0MWVmZjdl&blend-x=142&blend-y=491&blend-mode=normal&s=fab6e9e6a7fbbc4395f8ee34d26394fa)
![](https://clockworkorange.tokyo/wp-content/uploads/cocoon-resources/blog-card-cache/89acea1f176fa9b359c04fc3bdac42ea.png)