質問編集履歴

7

ソースを見やすく訂正

2017/10/29 11:13

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -24,9 +24,9 @@
24
24
 
25
25
  ###該当のソースコード
26
26
 
27
+ ★★★ファイル名:【main.py】★★★
28
+
27
29
  ```python3
28
-
29
- ★★★ファイル名:【main.py】★★★
30
30
 
31
31
  import ai
32
32
 
@@ -66,9 +66,11 @@
66
66
 
67
67
  output("ありがとう☆ またお話しようね♪")
68
68
 
69
-
69
+ ```
70
70
 
71
71
  ★★★ファイル名:【ai.py】★★★
72
+
73
+ ```
72
74
 
73
75
  import re
74
76
 
@@ -130,9 +132,11 @@
130
132
 
131
133
  return output_text
132
134
 
133
-
135
+ ```
134
136
 
135
137
  ★★★ファイル名:【morpheme_analyzer】★★★
138
+
139
+ ```
136
140
 
137
141
  import MeCab
138
142
 

6

コード入力の訂正

2017/10/29 11:13

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,8 @@
23
23
 
24
24
 
25
25
  ###該当のソースコード
26
+
27
+ ```python3
26
28
 
27
29
  ★★★ファイル名:【main.py】★★★
28
30
 
@@ -162,7 +164,7 @@
162
164
 
163
165
  return nouns
164
166
 
165
-
167
+ ```
166
168
 
167
169
 
168
170
 

5

文章全般の訂正

2017/10/29 11:11

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -96,8 +96,6 @@
96
96
 
97
97
 
98
98
 
99
- # ユーザー入力をインポートテキストに追記する
100
-
101
99
  if (re.match('@|@', input_text)):
102
100
 
103
101
  add_text = re.sub('^@|^@', '', input_text)
@@ -110,13 +108,9 @@
110
108
 
111
109
  else:
112
110
 
113
- # 定型文から回答を取得
114
-
115
111
  output_text = fixed_phrase.answer(input_text)
116
112
 
117
113
 
118
-
119
- # 定型文の回答がなければユーザー入力の名詞を起点にマルコフ連鎖で回答
120
114
 
121
115
  if output_text == "":
122
116
 
@@ -144,8 +138,6 @@
144
138
 
145
139
  class MorphemeAnalyzer:
146
140
 
147
- # 形態素解析
148
-
149
141
  def analyze(self, text):
150
142
 
151
143
 
@@ -155,8 +147,6 @@
155
147
  return MeCab.Tagger("-Owakati").parse(text).rstrip(" \n").split(" ")
156
148
 
157
149
 
158
-
159
- # 名詞のみ抽出
160
150
 
161
151
  def extract_noun(self, text):
162
152
 

4

文章全般の訂正

2017/10/29 11:09

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ###前提・実現したいこと
2
2
 
3
-  則本でpythonを学んでいるのですが、エラーが出てしまい解決方法がわかりません。
3
+  『~短期集中講座~ 土日でわかる Pythonプログラミング室』でpythonを学んでいるのですが、エラーが出てしまい解決方法がわかりません。
4
4
 
5
5
 
6
6
 
@@ -8,7 +8,9 @@
8
8
 
9
9
 
10
10
 
11
-  学び始めたばかりで不慣れな質問になりますが、さらに詳細が必要な場合は遠慮なく聞いてください。できる限りお答えしたいと思っています。
11
+  学び始めたばかりで不慣れな質問になりますが、さらに詳細が必要な場合は遠慮なく聞いてください。
12
+
13
+ できる限りお答えしたいと思っています。
12
14
 
13
15
 
14
16
 
@@ -22,7 +24,155 @@
22
24
 
23
25
  ###該当のソースコード
24
26
 
27
+ ★★★ファイル名:【main.py】★★★
28
+
29
+ import ai
30
+
31
+
32
+
33
+ from ai.ai import *
34
+
35
+
36
+
37
+ def output(text):
38
+
39
+ print("ななこ: " + text)
40
+
41
+
42
+
43
+ if __name__ == "__main__":
44
+
45
+ output('ななこが、あなたの就職に関するお悩みを、な~んでも聞くよ!')
46
+
47
+ output('ななこに言葉を覚えさせたいときは@から初めてね!')
48
+
49
+
50
+
51
+ while True:
52
+
53
+ user_input = input("あなた: ")
54
+
55
+ if user_input == "": continue
56
+
57
+ if user_input == "さようなら": break
58
+
59
+
60
+
61
+ output(Ai.nanako_answer(user_input))
62
+
63
+
64
+
65
+ output("ありがとう☆ またお話しようね♪")
66
+
67
+
68
+
69
+ ★★★ファイル名:【ai.py】★★★
70
+
71
+ import re
72
+
73
+
74
+
75
+ from ai.import_text import ImportText
76
+
77
+ from ai.markov import Markov
78
+
79
+ from ai.morpheme_analyzer import MorphemeAnalyzer
80
+
81
+ from ai.fixed_phrase import FixedPhrase
82
+
83
+
84
+
85
+ class Ai:
86
+
87
+ def nanako_answer(input_text):
88
+
89
+ import_text = ImportText('library/import.txt')
90
+
91
+ fixed_phrase = FixedPhrase('library/pattern.csv')
92
+
93
+ morpheme_analyzer = MorphemeAnalyzer()
94
+
95
+ markov = Markov(morpheme_analyzer.analyze(import_text.read()))
96
+
97
+
98
+
25
- 教則本の著作権より表示することができません。
99
+ # ユーザー入力をインポートテキスト追記する
100
+
101
+ if (re.match('@|@', input_text)):
102
+
103
+ add_text = re.sub('^@|^@', '', input_text)
104
+
105
+ import_text.add(add_text)
106
+
107
+ markov.add(morpheme_analyzer.analyze(add_text))
108
+
109
+ output_text = "覚えたよ!"
110
+
111
+ else:
112
+
113
+ # 定型文から回答を取得
114
+
115
+ output_text = fixed_phrase.answer(input_text)
116
+
117
+
118
+
119
+ # 定型文の回答がなければユーザー入力の名詞を起点にマルコフ連鎖で回答
120
+
121
+ if output_text == "":
122
+
123
+ nouns = morpheme_analyzer.extract_noun(input_text)
124
+
125
+ output_text = markov.answer(nouns)
126
+
127
+
128
+
129
+ if output_text == "":
130
+
131
+ output_text = "ななこにも分かる言葉で言ってよぉ~☆"
132
+
133
+
134
+
135
+ return output_text
136
+
137
+
138
+
139
+ ★★★ファイル名:【morpheme_analyzer】★★★
140
+
141
+ import MeCab
142
+
143
+
144
+
145
+ class MorphemeAnalyzer:
146
+
147
+ # 形態素解析
148
+
149
+ def analyze(self, text):
150
+
151
+
152
+
153
+ print(MeCab.Tagger("-Owakari").parse(text).rstrip(" \n").split(" "))
154
+
155
+ return MeCab.Tagger("-Owakati").parse(text).rstrip(" \n").split(" ")
156
+
157
+
158
+
159
+ # 名詞のみ抽出
160
+
161
+ def extract_noun(self, text):
162
+
163
+ nouns = []
164
+
165
+ for chunk in MeCab.Tagger().parse(text).splitlines()[:-1]:
166
+
167
+ (surface, feature) = chunk.split('\t')
168
+
169
+ if feature.startswith('名詞'):
170
+
171
+ nouns.append(surface)
172
+
173
+ return nouns
174
+
175
+
26
176
 
27
177
 
28
178
 
@@ -30,4 +180,4 @@
30
180
 
31
181
  ・powershellのFANGをja_JP.UTF-8に変更しました。
32
182
 
33
- virtual studio codeで実施するも「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません」(おそらく私の読み込み場所の間違いかと...)
183
+ Visual Studio Codeで実施するも「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません」(おそらく私の読み込み場所の間違いかと...)

3

画像訂正

2017/10/29 11:07

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  ###発生している問題・エラーメッセージ
18
18
 
19
- ![![error画像](409915d8ad01ebdf653545c5dd3fc53a.png)](c084dcbf08b3032737cce8c3bc649711.png)
19
+ ![![error画像](409915d8ad01ebdf653545c5dd3fc53a.png)
20
20
 
21
21
 
22
22
 

2

画像訂正

2017/10/29 10:46

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -16,13 +16,7 @@
16
16
 
17
17
  ###発生している問題・エラーメッセージ
18
18
 
19
-
20
-
21
- ```
22
-
23
- ![error画像](bae6aa8179543c3c5deac6e24c6bc85f.jpeg)
19
+ ![![error画像](409915d8ad01ebdf653545c5dd3fc53a.png)](c084dcbf08b3032737cce8c3bc649711.png)
24
-
25
- ```
26
20
 
27
21
 
28
22
 

1

画像訂正

2017/10/29 10:46

投稿

teotesu2006
teotesu2006

スコア8

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  ```
22
22
 
23
- ![![イメージ説明](9c48bbdfced14797ebfbbb59b6d09267.jpeg)](4069770e9b47949b1e92a7af2c74bb50.jpeg)
23
+ ![error画像](bae6aa8179543c3c5deac6e24c6bc85f.jpeg)
24
24
 
25
25
  ```
26
26