質問するログイン新規登録

質問編集履歴

12

修正

2018/12/09 07:11

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonでtypeerror decoding str is not supported のエラーについて
1
+ Pythonでtypeerror decoding str is not supported のエラーについて
body CHANGED
File without changes

11

改善

2018/12/09 07:10

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- typeerror decoding str is not supported のエラーについて
1
+ Pythonで,typeerror decoding str is not supported のエラーについて
body CHANGED
File without changes

10

改善

2018/12/09 07:06

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes

9

修正

2018/12/09 06:50

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- expected str bytes or os.pathlike object not _io.TextIOWrapper のエラーについて
1
+ typeerror decoding str is not supported のエラーについて
body CHANGED
@@ -8,35 +8,33 @@
8
8
  どこを直せばよいのでしょうか?
9
9
 
10
10
  ###発生しているエラー
11
- Traceback (most recent call last):
12
- File , line 22, in <module>
11
+ typeerror: decoding str is not supported
13
- print (convert("動詞","行う","連用形"))
12
+ if str(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
14
- File , line 15, in convert
15
- with open(file_name, mode="r") as f:
16
- expected str bytes or os.pathlike object not _io.TextIOWrapper
17
13
 
18
14
  ### 該当のソースコード
19
15
 
20
16
  ```Python
21
17
  import csv
22
18
  import sys
19
+ import MeCab
23
20
 
24
21
  def convert(part, word, form):
22
+
25
23
  if part == "動詞":
26
- file_name = ('Verb.csv' , "r")
24
+ file_name = "Verb.csv"
27
25
  elif part == "形容詞":
28
- file_name = ('Adj.csv' , "r")
26
+ file_name = "Adj.csv"
29
27
  elif part == "助動詞":
30
- file_name = ('Auxil.csv' , "r")
28
+ file_name = "Auxil.csv"
31
29
  #形容動詞がmecabに存在しない
32
30
  else :
33
31
  sys.exit("dont have part")
34
32
  with open(file_name, mode="r") as f:
35
- dataReader = csv.reader(f)
33
+ dataReader = csv.reader(f)
36
- for row in dataReader:
34
+ for row in dataReader:
37
- if unicode(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
35
+ if str(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
38
- if unicode(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
36
+ if str(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
39
- return row[0].decode('EUC-JP')
37
+ return row[0].decode('EUC-JP')
40
38
 
41
39
  print (convert("動詞","行う","連用形"))
42
40
  ```

8

修正

2018/12/09 06:40

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,11 @@
8
8
  どこを直せばよいのでしょうか?
9
9
 
10
10
  ###発生しているエラー
11
+ Traceback (most recent call last):
12
+ File , line 22, in <module>
13
+ print (convert("動詞","行う","連用形"))
14
+ File , line 15, in convert
15
+ with open(file_name, mode="r") as f:
11
16
  expected str bytes or os.pathlike object not _io.TextIOWrapper
12
17
 
13
18
  ### 該当のソースコード
@@ -26,7 +31,7 @@
26
31
  #形容動詞がmecabに存在しない
27
32
  else :
28
33
  sys.exit("dont have part")
29
- f = open(file_name,'r')
34
+ with open(file_name, mode="r") as f:
30
35
  dataReader = csv.reader(f)
31
36
  for row in dataReader:
32
37
  if unicode(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見

7

改善

2018/12/09 05:59

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- expected str bytes or os.pathlike object のエラーについて
1
+ expected str bytes or os.pathlike object not _io.TextIOWrapper のエラーについて
body CHANGED
@@ -8,7 +8,7 @@
8
8
  どこを直せばよいのでしょうか?
9
9
 
10
10
  ###発生しているエラー
11
- expected str bytes or os.pathlike object
11
+ expected str bytes or os.pathlike object not _io.TextIOWrapper
12
12
 
13
13
  ### 該当のソースコード
14
14
 

6

修正

2018/12/09 05:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  MeCabで形態素解析して,基本形で出力した単語を元の活用形に戻す機能を実装しています.
4
4
  具体的には,動詞を基本形にする→基本形を用いて類義語を抽出する→その類義語を元の活用形にする
5
- ということを実現したいです
5
+ ということを実現したいです
6
6
 
7
7
  実装するために,[こちらのサイト](http://adsmedia.hatenablog.com/entry/2016/10/20/002211)を参考にコードを書いてみたのですがエラーが発生しました.
8
8
  どこを直せばよいのでしょうか?

5

修正

2018/12/09 05:41

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,10 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- MeCabで形態素解析して,基本形で出力した単語を元の活用形に戻しす.
3
+ MeCabで形態素解析して,基本形で出力した単語を元の活用形に戻す機能を実装す.
4
- どのようなアプローチをすれば実現できるかご教授頂きたいです.
5
-
6
4
  具体的には,動詞を基本形にする→基本形を用いて類義語を抽出する→その類義語を元の活用形にする
7
5
  ということを実現したいです.
8
6
 
9
- [こちらのサイト](http://adsmedia.hatenablog.com/entry/2016/10/20/002211)を参考に書いてみたのですがエラーが発生しました.
7
+ 実装するために,[こちらのサイト](http://adsmedia.hatenablog.com/entry/2016/10/20/002211)を参考にコードを書いてみたのですがエラーが発生しました.
10
8
  どこを直せばよいのでしょうか?
11
9
 
12
10
  ###発生しているエラー

4

修正

2018/12/08 06:33

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- MeCabで形態素解析して,基本形で出力した動詞を元活用形戻す方法について
1
+ expected str bytes or os.pathlike object エラーについて
body CHANGED
File without changes

3

修正

2018/12/08 06:19

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- MeCabで形態素解析して,基本形で出力した動詞を元の活用形に戻す方法
1
+ MeCabで形態素解析して,基本形で出力した動詞を元の活用形に戻す方法について
body CHANGED
@@ -6,37 +6,39 @@
6
6
  具体的には,動詞を基本形にする→基本形を用いて類義語を抽出する→その類義語を元の活用形にする
7
7
  ということを実現したいです.
8
8
 
9
+ [こちらのサイト](http://adsmedia.hatenablog.com/entry/2016/10/20/002211)を参考に書いてみたのですがエラーが発生しました.
10
+ どこを直せばよいのでしょうか?
9
11
 
12
+ ###発生しているエラー
13
+ expected str bytes or os.pathlike object
14
+
10
15
  ### 該当のソースコード
11
16
 
12
17
  ```Python
13
- def extractKeyword(text):
14
- tagger = MeCab.Tagger('-Ochasen')
15
- tagger.parse('')
16
- node = tagger.parseToNode(text)
17
- keywords = []
18
+ import csv
18
- while node:
19
- if node.feature.split(",")[0] == u"名詞":
20
- if node.stat == 0 or node.feature.split(",")[1] != "サ変接続":
21
- keywords.append(node.surface)
22
- elif node.feature.split(",")[0] == u"形容詞":
23
- keywords.append(node.surface)
24
- elif node.feature.split(",")[0] == u"動詞":
25
- keywords.append(node.feature.split(",")[6])
26
- elif node.feature.split(",")[0] == u"助詞":
27
- keywords.append(node.surface)
28
- node = node.next
29
- return keywords
19
+ import sys
30
20
 
21
+ def convert(part, word, form):
22
+ if part == "動詞":
23
+ file_name = ('Verb.csv' , "r")
24
+ elif part == "形容詞":
25
+ file_name = ('Adj.csv' , "r")
26
+ elif part == "助動詞":
27
+ file_name = ('Auxil.csv' , "r")
28
+ #形容動詞がmecabに存在しない
29
+ else :
30
+ sys.exit("dont have part")
31
+ f = open(file_name,'r')
32
+ dataReader = csv.reader(f)
33
+ for row in dataReader:
34
+ if unicode(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
35
+ if unicode(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
36
+ return row[0].decode('EUC-JP')
31
37
 
32
- print("入力文")
38
+ print (convert("動詞","行う","連用形"))
33
- text = input()
34
- print(extractKeyword(text))
35
39
  ```
36
40
 
37
- ### 試したこと
38
41
 
39
- 活用形の要素をどこかに保存して,再び使えるようにすれば良いのではと思ったのですが,調べても方法を見つけることができませんでした.
40
42
 
41
43
  ### 補足情報(FW/ツールのバージョンなど)
42
44
  Python3.7.1

2

修正

2018/12/08 05:58

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,10 @@
3
3
  MeCabで形態素解析して,基本形で出力した単語を元の活用形に戻したいです.
4
4
  どのようなアプローチをすれば実現できるかご教授頂きたいです.
5
5
 
6
+ 具体的には,動詞を基本形にする→基本形を用いて類義語を抽出する→その類義語を元の活用形にする
7
+ ということを実現したいです.
6
8
 
9
+
7
10
  ### 該当のソースコード
8
11
 
9
12
  ```Python

1

改善

2018/12/06 01:29

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes