質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

0回答

709閲覧

MeCab 一文ごとに特定の品詞を出力及びリストへの格納

maro

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2022/10/20 05:42

前提

pre.texの日本語文書をmecabで形態素解析を行い,一つの文章ごとに形容詞,名詞,動詞のみの抽出を目指しています.
しかし,今のプログラムでは一つの単語ごとにリストに格納されてしまいます.一文ごとに抽出するためにはどのようにすればよろしいでしょうか.

実現したいこと

  • 一文ごとに動詞,形容詞,名詞を出力する.

例)
(文書)
「私は英語を勉強しました.」
「今日は数学の問題を解きました.」

(期待する出力結果)
[英語,勉強]
[今日,数学,問題,解き]

(現在の出力結果)
[英語]
[勉強]
[今日]
[数学]
[問題]
[解き]

該当のソースコード

python

1import sys 2import MeCab 3import requests 4import urllib 5import re 6import json 7import pandas as pd 8from collections import Counter 9 10 11 12def main(): 13 # ファイル読み込み 14 15 16 with open('pre.tex', "r", encoding = 'utf-8') as data: 17 documents = [document.strip() for document in data] 18 19 for document in documents: 20 mecab = MeCab.Tagger() 21 data = mecab.parse('\n'.join(documents)) 22 node = mecab.parseToNode('\n'.join(documents)) 23 24 while node: 25 f = node.feature 26 p = f.split(',')[0] 27 if p == '形容詞'or p == '名詞' or p == '動詞': 28 #print(node.surface) 29 30 seglist = node.surface 31 segList = seglist.split(' ') 32 print(segList) 33 34 node = node.next 35 36 segList = segList.split(' ') 37 38 39 40if __name__ == "__main__": 41 main() 42

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/10/20 08:23

あなたにとって”文”とはなんでしょうか MeCabは基本的に品詞分解するもので文を解析するものではありません 文で分解したいのなら区点である「。」で区切れば良いです 区点がない文章を文で区切りたいと言う話であれば別な話です
maro

2022/10/20 08:33

pre.txtには観光地のレビュー文が保存されています.ですので,一文というより1レビューごとで品詞分解を行いたいです.つまり,「。」では区切れないです、、
退会済みユーザー

退会済みユーザー

2022/10/20 09:37

実現したいことには「一文ごとに動詞,形容詞,名詞を出力する.」とあります これは嘘ってことですか? であれば質問を修正してください ちなみにレビュー単位であれば、レビューの文章をMeCabに処理させて、 形態素解析の結果を出力すれば良いだけです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問