MeCab で surface が想定通りの結果にならないバグ
事象
MeCab で surface(表層形)が正しい表示にならない。
注意
surface が 取得できないバグ とは別件のバグです。こちらについては下記の記事を参考にしてください。
再現した環境
- Anaconda Python 3.6.5
- MeCab 0.996
- mecab-python3 0.996.1
- 辞書は mecab-ipadic-NEologd を使用
再現方法
次のようなコードを書いて実行します。
import MeCab
tagger = MeCab.Tagger('-d /usr/lib/mecab/dic/mecab-ipadic-neologd')
tagger.parse('')
node = tagger.parseToNode('メイが恋ダンスを踊っている。')
result = []
while node:
surface = node.surface
feature = node.feature.split(',')
print(surface, feature)
node = node.next
実行結果
メイが恋ダンスを踊っている。 ['BOS/EOS', '*', '*', '*', '*', '*', '*', '*', '*']
メイが恋ダンスを踊っている。 ['名詞', '固有名詞', '人名', '一般', '*', '*', 'M.A.Y', 'メイ', 'メイ']
が恋ダンスを踊っている。 ['助詞', '格助詞', '一般', '*', '*', '*', 'が', 'ガ', 'ガ']
恋ダンスを踊っている。 ['名詞', '固有名詞', '一般', '*', '*', '*', '恋ダンス', 'コイダンス', 'コイダンス']
を踊っている。 ['助詞', '格助詞', '一般', '*', '*', '*', 'を', 'ヲ', 'ヲ']
踊っている。 ['動詞', '自立', '*', '*', '五段・ラ行', '連用タ接続', '踊る', 'オドッ', 'オドッ']
ている。 ['助詞', '接続助詞', '*', '*', '*', '*', 'て', 'テ', 'テ']
いる。 ['動詞', '非自立', '*', '*', '一段', '基本形', 'いる', 'イル', 'イル']
。 ['記号', '句点', '*', '*', '*', '*', '。', '。', '。']
['BOS/EOS', '*', '*', '*', '*', '*', '*', '*', '*']
[]
解決方法
すでに issue #19 で解決されているので GitHub から最新のソースコードを取得してインストールします。
$ pipenv install -e git+https://github.com/SamuraiT/mecab-python3#egg=mecab-python3
インストール後に再度実行すれば正しく表示されました。
実行結果
メイ ['名詞', '固有名詞', '人名', '一般', '*', '*', 'M.A.Y', 'メイ', 'メイ']
が ['助詞', '格助詞', '一般', '*', '*', '*', 'が', 'ガ', 'ガ']
恋ダンス ['名詞', '固有名詞', '一般', '*', '*', '*', '恋ダンス', 'コイダンス', 'コイダンス']
を ['助詞', '格助詞', '一般', '*', '*', '*', 'を', 'ヲ', 'ヲ']
踊っ ['動詞', '自立', '*', '*', '五段・ラ行', '連用タ接続', '踊る', 'オドッ', 'オドッ']
て ['助詞', '接続助詞', '*', '*', '*', '*', 'て', 'テ', 'テ']
いる ['動詞', '非自立', '*', '*', '一段', '基本形', 'いる', 'イル', 'イル']
。 ['記号', '句点', '*', '*', '*', '*', '。', '。', '。']
['BOS/EOS', '*', '*', '*', '*', '*', '*', '*', '*']
[]
mecab-python3 0.996.2 がリリースされれば PyPI からインストールしてもこの問題は解消されていると思います。
Author And Source
この問題について(MeCab で surface が想定通りの結果にならないバグ), 我々は、より多くの情報をここで見つけました https://qiita.com/rinatz/items/410dd55e98f1eddc8071著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .