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

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

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

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Mecab

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

Python

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

Q&A

解決済

1回答

2624閲覧

stopwordで扱いたいtxtファイルが読み込めない

takepon-maru

総合スコア5

Jupyter

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Mecab

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

Python

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

0グッド

0クリップ

投稿2021/05/20 13:48

stopwordをまとめたtxtファイルを読み込むことができない

現在、tf-idf作成にあたって、余分な単語を除くstopwordを設定しています。そのstopwordに用意されているものに加えて、自分で作成したstopwordのtxtファイルを読み込みたいのですが、このtxtファイルがutf-8のためか読み込んでくれません。

ignoreやencoding等を試したのですが、効果はありませんでした。毎回以下のようなエラーがはかれます。

発生している問題・エラーメッセージ

UnicodeDecodeError Traceback (most recent call last) <ipython-input-26-1017f3d29a7e> in <module> ----> 1 set_stopwords() <ipython-input-25-33abca064748> in set_stopwords() 17 # add stop_word from text file 18 f = open('more_stopword.txt') ---> 19 txt_file = f.readlines() 20 f.close() 21 more_stopwords = [line.strip() for line in txt_file] ~/opt/anaconda3/lib/python3.8/codecs.py in decode(self, input, final) 320 # decode input (taking the buffer into account) 321 data = self.buffer + input --> 322 (result, consumed) = self._buffer_decode(data, self.errors, final) 323 # keep undecoded input until the next call 324 self.buffer = data[consumed:] UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte

該当のソースコード

python

1import urllib 2import codecs 3 4# ストップワードの設定を行う関数を定義。今回はローカルのtxtファイルから設定できるようにした。 5def set_stopwords(): 6 """ 7 Get stopwords from input document. 8 """ 9 # Defined by SlpothLib 10 slothlib_path = 'http://svn.sourceforge.jp/svnroot/slothlib/CSharp/Version1/SlothLib/NLP/Filter/StopWord/word/Japanese.txt' 11 slothlib_file = urllib.request.urlopen(slothlib_path) 12 slothlib_stopwords = [line.decode("utf-8").strip() for line in slothlib_file] 13 slothlib_stopwords = [ss for ss in slothlib_stopwords if not ss==u''] 14 15 stopwords_list = [] 16 17 # add stop_word from text file 18 f = open('more_stopword.txt') 19 txt_file = f.readlines() 20 f.close() 21 more_stopwords = [line.strip() for line in txt_file] 22 more_stopwords = [ss for ss in more_stopwords if not ss==u''] 23 stopwords_list += more_stopwords 24 25 # Merge and drop duplication 26 stopwords_list += slothlib_stopwords 27 stopwords_list = set(stopwords_list) 28 29 return stopwords_list

補足情報

IDEはjupyter notebookを使っています。

基本的な質問だと思いますが、ご助力をお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte

UTF-8で読み込もうとして失敗したというエラーメッセージなので、ファイルの文字コードはUTF-8ではない公算が高いです。PythonはデフォルトではBOMなしのUTF-8で読み込もうとするはずなので、それ以外の文字コードでファイルが保存されていないかどうか確認してください。

投稿2021/05/20 15:27

hayataka2049

総合スコア30935

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

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

hayataka2049

2021/05/20 23:13

>KUROROさん フォローありがとうございます。
退会済みユーザー

退会済みユーザー

2021/05/21 05:13

> hayataka2049 いえいえ、いつも投稿見て勉強させてもらってます! ためになる投稿をありがとうございます〜????‍♂️
takepon-maru

2021/05/21 06:48

エクセルで作成したことをすっかり忘れていました、、、 テキストエディタでutf-8に変更したことで、問題なく動きました。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2021/05/21 07:04

うまくいってよかったです。 また困ったことがありましたら、気軽にご相談ください〜!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問