たくメモ@ ウィキ

Anaconda環境でのあれこれ

最終更新:

匿名ユーザー

- view
メンバー限定 登録/ログイン
  • 作業環境

Windows11
Anaconda3
Python3.11

MeCab公式
GitHub - mecab-python3
Pypy - mecab-python3

mecab-python3のインストール

mzh channel から試す

conda install -c mzh mecab-python3
を実行したがPython3.11用のパッケージがないためインストールできなかったので断念。

PipyからAnaconda環境に取り込む

以下の方法を試す

> conda skeleton pypi mecab-python3
> conda build mecab-python3

エラーになって上手くいかないので断念

whlファイルを取り込んでみる

Python3.11用のwhlファイルがあるのでそれを使用して試す。

  • conda skeletonで作成されたmeta.yamlの以下の部分を修正。
meta.yaml
source:
  url: "https://files.pythonhosted.org/packages/04/e1/e008a2c0f44190b04d29350f3962c67b15c9f412003194d8987c434e6d55/mecab_python3-1.0.8-cp311-cp311-win_amd64.whl"
  sha256: d6df291b4e05194aebc4aca5d3bf83f5d6cbf0c2fb6fa135835c938c107d7632
build:
  number: 0
  entry_points:
    - mecab-py = MeCab.cli:parse
    - mecab-py-info = MeCab.cli:info
  script: "{{ PYTHON }} -m pip install mecab_python3-1.0.8-cp311-cp311-win_amd64.whl -vv --no-deps"
  • 以下を実行
    
    > conda build mecab-python3
    > conda build purge
    > conda install --use-local mecab-python3

サンプルプログラムでテスト

サンプルプログラムはChatGPT先生にサクッと作ってもらった。

mecabtest.py
import MeCab

def tokenize(text):
    tagger = MeCab.Tagger()
    node = tagger.parseToNode(text)
    tokens = []
    while node:
        if node.surface:
            tokens.append((node.surface, node.feature))
        node = node.next
    return tokens

text = "私はPythonで形態素解析を行います"
tokens = tokenize(text)
for token in tokens:
    print(token)

|実行結果|

('私', '名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ')
('は', '助詞,係助詞,*,*,*,*,は,ハ,ワ')
('Python', '名詞,一般,*,*,*,*,*')
('で', '助詞,格助詞,一般,*,*,*,で,デ,デ')
('形態素', '名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ')
('解析', '名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ')
('を', '助詞,格助詞,一般,*,*,*,を,ヲ,ヲ')
('行い', '動詞,自立,*,*,五段・ワ行促音便,連用形,行う,オコナイ,オコナイ')
('ます', '助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス')
ウィキ募集バナー