質問編集履歴

12

修正

2018/12/09 07:11

投稿

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

11

改善

2018/12/09 07:10

投稿

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

10

改善

2018/12/09 07:06

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

9

修正

2018/12/09 06:50

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- expected str bytes or os.pathlike object not _io.TextIOWrapper のエラーについて
1
+ typeerror decoding str is not supported のエラーについて
test CHANGED
@@ -18,17 +18,9 @@
18
18
 
19
19
  ###発生しているエラー
20
20
 
21
- Traceback (most recent call last):
21
+ typeerror: decoding str is not supported
22
22
 
23
- File , line 22, in <module>
24
-
25
- print (convert("動","行う","連用形"))
23
+ if str(word,'utf-8') == row[10].decode('EUC-JP'): #品発見
26
-
27
- File , line 15, in convert
28
-
29
- with open(file_name, mode="r") as f:
30
-
31
- expected str bytes or os.pathlike object not _io.TextIOWrapper
32
24
 
33
25
 
34
26
 
@@ -42,21 +34,25 @@
42
34
 
43
35
  import sys
44
36
 
37
+ import MeCab
38
+
45
39
 
46
40
 
47
41
  def convert(part, word, form):
48
42
 
43
+
44
+
49
45
  if part == "動詞":
50
46
 
51
- file_name = ('Verb.csv' , "r")
47
+ file_name = "Verb.csv"
52
48
 
53
49
  elif part == "形容詞":
54
50
 
55
- file_name = ('Adj.csv' , "r")
51
+ file_name = "Adj.csv"
56
52
 
57
53
  elif part == "助動詞":
58
54
 
59
- file_name = ('Auxil.csv' , "r")
55
+ file_name = "Auxil.csv"
60
56
 
61
57
  #形容動詞がmecabに存在しない
62
58
 
@@ -66,15 +62,15 @@
66
62
 
67
63
  with open(file_name, mode="r") as f:
68
64
 
69
- dataReader = csv.reader(f)
65
+ dataReader = csv.reader(f)
70
66
 
71
- for row in dataReader:
67
+ for row in dataReader:
72
68
 
73
- if unicode(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
69
+ if str(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
74
70
 
75
- if unicode(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
71
+ if str(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
76
72
 
77
- return row[0].decode('EUC-JP')
73
+ return row[0].decode('EUC-JP')
78
74
 
79
75
 
80
76
 

8

修正

2018/12/09 06:40

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,16 @@
17
17
 
18
18
 
19
19
  ###発生しているエラー
20
+
21
+ Traceback (most recent call last):
22
+
23
+ File , line 22, in <module>
24
+
25
+ print (convert("動詞","行う","連用形"))
26
+
27
+ File , line 15, in convert
28
+
29
+ with open(file_name, mode="r") as f:
20
30
 
21
31
  expected str bytes or os.pathlike object not _io.TextIOWrapper
22
32
 
@@ -54,7 +64,7 @@
54
64
 
55
65
  sys.exit("dont have part")
56
66
 
57
- f = open(file_name,'r')
67
+ with open(file_name, mode="r") as f:
58
68
 
59
69
  dataReader = csv.reader(f)
60
70
 

7

改善

2018/12/09 05:59

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- expected str bytes or os.pathlike object のエラーについて
1
+ expected str bytes or os.pathlike object not _io.TextIOWrapper のエラーについて
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ###発生しているエラー
20
20
 
21
- expected str bytes or os.pathlike object
21
+ expected str bytes or os.pathlike object not _io.TextIOWrapper
22
22
 
23
23
 
24
24
 

6

修正

2018/12/09 05:54

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  具体的には,動詞を基本形にする→基本形を用いて類義語を抽出する→その類義語を元の活用形にする
8
8
 
9
- ということを実現したいです
9
+ ということを実現したいです
10
10
 
11
11
 
12
12
 

5

修正

2018/12/09 05:41

投稿

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

4

修正

2018/12/08 06:33

投稿

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

3

修正

2018/12/08 06:19

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- MeCabで形態素解析して,基本形で出力した動詞を元の活用形に戻す方法
1
+ MeCabで形態素解析して,基本形で出力した動詞を元の活用形に戻す方法について
test CHANGED
@@ -14,6 +14,16 @@
14
14
 
15
15
 
16
16
 
17
+ [こちらのサイト](http://adsmedia.hatenablog.com/entry/2016/10/20/002211)を参考に書いてみたのですがエラーが発生しました.
18
+
19
+ どこを直せばよいのでしょうか?
20
+
21
+
22
+
23
+ ###発生しているエラー
24
+
25
+ expected str bytes or os.pathlike object
26
+
17
27
 
18
28
 
19
29
  ### 該当のソースコード
@@ -22,59 +32,53 @@
22
32
 
23
33
  ```Python
24
34
 
25
- def extractKeyword(text):
35
+ import csv
26
36
 
27
- tagger = MeCab.Tagger('-Ochasen')
28
-
29
- tagger.parse('')
30
-
31
- node = tagger.parseToNode(text)
32
-
33
- keywords = []
37
+ import sys
34
-
35
- while node:
36
-
37
- if node.feature.split(",")[0] == u"名詞":
38
-
39
- if node.stat == 0 or node.feature.split(",")[1] != "サ変接続":
40
-
41
- keywords.append(node.surface)
42
-
43
- elif node.feature.split(",")[0] == u"形容詞":
44
-
45
- keywords.append(node.surface)
46
-
47
- elif node.feature.split(",")[0] == u"動詞":
48
-
49
- keywords.append(node.feature.split(",")[6])
50
-
51
- elif node.feature.split(",")[0] == u"助詞":
52
-
53
- keywords.append(node.surface)
54
-
55
- node = node.next
56
-
57
- return keywords
58
38
 
59
39
 
60
40
 
41
+ def convert(part, word, form):
42
+
43
+ if part == "動詞":
44
+
45
+ file_name = ('Verb.csv' , "r")
46
+
47
+ elif part == "形容詞":
48
+
49
+ file_name = ('Adj.csv' , "r")
50
+
51
+ elif part == "助動詞":
52
+
53
+ file_name = ('Auxil.csv' , "r")
54
+
55
+ #形容動詞がmecabに存在しない
56
+
57
+ else :
58
+
59
+ sys.exit("dont have part")
60
+
61
+ f = open(file_name,'r')
62
+
63
+ dataReader = csv.reader(f)
64
+
65
+ for row in dataReader:
66
+
67
+ if unicode(word,'utf-8') == row[10].decode('EUC-JP'): #品詞発見
68
+
69
+ if unicode(form,'utf-8') in row[9].decode('EUC-JP'): #活用発見
70
+
71
+ return row[0].decode('EUC-JP')
61
72
 
62
73
 
63
- print("入力文")
64
74
 
65
- text = input()
66
-
67
- print(extractKeyword(text))
75
+ print (convert("動詞","行う","連用形"))
68
76
 
69
77
  ```
70
78
 
71
79
 
72
80
 
73
- ### 試したこと
74
81
 
75
-
76
-
77
- 活用形の要素をどこかに保存して,再び使えるようにすれば良いのではと思ったのですが,調べても方法を見つけることができませんでした.
78
82
 
79
83
 
80
84
 

2

修正

2018/12/08 05:58

投稿

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

1

改善

2018/12/06 01:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes