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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Mecab

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

923閲覧

実行しても実行されません

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Mecab

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/02 07:11

編集2020/10/02 07:57

<すみません、こちらのサイトすらうまく使えておらずご迷惑をおかけしました...>

文系大学4年生の初心者です。卒論で紙媒体のテキストを電子テキスト化し、頻出単語をMecabで抽出する作業を行なっています。jupyterでテキストを呼び起こすことやprint(c.most_common(50))などで頻出単語50個を抽出するところまでは2週間ほどかけてようやくできました...。

そして今度は名詞で頻出単語を抽出したいと思い、

import MeCab import sys import re from collections import Counter f = open("卒論テキスト.txt") text = f.read mecab = MeCab.Tagger() parse = mecab.parse('data') lines = parse.split('\n') items = (re.split('[\t,]', line) for line in lines) words = [item[0] for item in items if (item[0] not in ('EOS', '', 't', '一般') and item[1] == '名詞' and item[2] == '一般')] counter = Counter(words) for word, count in counter.most_common(): print(f"{word}: {count}") コード

と打ち込んだところ実行を押しても何も動きませんでした...。[]のところには*ではなくちゃんと数字があります。ド文系で本当に初心者のため、その都度その都度調べてはいますが、コードの意味もよくわかっていなければ、専門用語もよくわかっていません。もし宜しければどうしてこのコードで動かないのか、どうすれば動くようになるのか、教えていただけないでしょうか。

補足情報としてはWindows10を使っています。

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

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

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

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

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

y_waiwai

2020/10/02 07:19

質問は編集できます 追記修正しましょう
退会済みユーザー

退会済みユーザー

2020/10/02 07:40

すみません、教えてくださりありがとうございます! 知らない間に投稿されておりました...汗
y_waiwai

2020/10/02 07:42

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
退会済みユーザー

退会済みユーザー

2020/10/02 07:47

何もかも教えていただきありがとうございます泣 できていますでしょうか?もし宜しければお手数ですがご教授お願いします...
mdj

2020/10/02 07:50 編集

とりあえず、text変数に読み込まれて(text = f.read )、'data'(文字列)をparse(parse = mecab.parse('data'))のは正しくないのではないかと。
退会済みユーザー

退会済みユーザー

2020/10/02 07:54

mdj様 教えていただき、ありがとうございます。 下記のリンクを見様見真似でやってみたのですが、どうすればいいでしょうか?少し分かる友人に聞いたところcmd,〜は違うだろうから f = open('卒論テキスト.txt') text = f.read() に変えてみろ、と言われてその通りにはしてみたのですが... https://qiita.com/reima21/items/cb73aeb569af48877261
mdj

2020/10/02 08:18

その部分はそれでも良いかなと思います 参照先だとdata変数(data = f.read())に読み込み、data変数をparse(parse = mecab.parse(data))しています。 今回編集された箇所の『parse = mecab.parse('data')』はdataがシングルクォーテーションで囲まれています。''を付けると「文字列」になるので、'data'という文字列になります。 さらに『text = f.read』でtext変数に読み込みしているので、『parse = mecab.parse(data)』としてもdata変数には読み込んでいないので正しくありません。
meg_

2020/10/02 08:23

> と打ち込んだところ実行を押しても何も動きませんでした...。 というのは、「print(f"{word}: {count}")」が実行されなかった、という意味だとは思いますが。 parse = mecab.parse('data') を parse = mecab.parse(text) にしたらどうなりますか?
退会済みユーザー

退会済みユーザー

2020/10/02 08:35

mdj様 お手数おかけしてすみません。初心者にも分かりやすく書いてくださり、本当にありがとうございます...ㅠㅠ シングルクォーテーションでdataを囲む前ですと、 - - - > parse = mecab.parse(data) とエラーで指摘され、 NameError: name 'data' is not defined と出てきたのでどうすればいいのかわからず、サイトで調べて' 'をつけてみるとそのエラーが消えたのでできたものだと勝手に思っていました^_^; parse = mecab.parse(data)の部分をどう変えればいいのでしょうか?聞ける人が周りにおらず、数週間ほど全く進まない状況なので助けていただけると幸いですm(_ _)m
退会済みユーザー

退会済みユーザー

2020/10/02 08:38

meg様 何もわからず自分がどこで躓いているのかもわからなかったのですが、meg様の仰るとおりにやってみたところ、無事できました...!本当にありがとうございます泣 こちらの質問に答えてくださった皆様に感謝いたします。本当にありがとうございました!
guest

回答1

0

parse = mecab.parse(text)に変更したら無事出来ました!何週間も悩んでいたので本当に助かりました!ありがとうございました。

投稿2020/10/02 08:44

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問