回答編集履歴

7

千葉行きバスの例を微修正

2017/11/20 23:23

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -70,9 +70,11 @@
70
70
 
71
71
 
72
72
 
73
- しかし、「東京からバスを出すので、埼玉**ではなく**、千葉に向かってください」の
73
+ しかし、「東京から送迎バスを出すので、別働隊の埼玉**ではなく**、
74
+
74
-
75
+ 千葉行きに乗って向かってください」の勤務先をどうするかは難しい。
76
+
75
- 勤務先をどうするかは難しい。**意味や文脈**が関係してくるからです。
77
+ **意味や文脈**が関係してくるからです。
76
78
 
77
79
 
78
80
 

6

「埼玉ではなく」という、正規表現では難しい、否定表現の例を追加

2017/11/20 23:23

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- しかし、「東京からバスを出すので、千葉に向かってください」の
73
+ しかし、「東京からバスを出すので、埼玉**ではなく**、千葉に向かってください」の
74
74
 
75
75
  勤務先をどうするかは難しい。**意味や文脈**が関係してくるからです。
76
76
 
@@ -78,7 +78,7 @@
78
78
 
79
79
  この一文を抜き出すのに、前後の文も判断する必要があるかもしれません。
80
80
 
81
- 正規表現の単純な抽出では、すぐに限界を迎えます。
81
+ こうして、正規表現の単純な抽出では、すぐに限界を迎えます。
82
82
 
83
83
 
84
84
 

5

クラスとパースの関係について加筆

2017/11/20 23:10

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -182,13 +182,25 @@
182
182
 
183
183
 
184
184
 
185
+
186
+
187
+ ---
188
+
189
+
190
+
185
191
  なお今回、長く難しい話になるので、**パース(構文解析)**の話題を省略しましたが、
186
192
 
187
193
  単語単位だけでなく、文法にそって文単位で解析すると、
188
194
 
189
195
  難度は一気に上がりますが、より本格的な自然言語処理が可能になります。
190
196
 
197
+
198
+
191
- そして、オブジェクトにしたいのは、このパースを視野に入れているからです。
199
+ そして、このパースを視野に入れているから、オブジェクトにしたいのです。
200
+
201
+ パースでは構文木を作りますが、正規表現では階層構造の表現が難しい。
202
+
203
+ しかし、**クラスは階層構造を表現**できます。そのためのクラスです。
192
204
 
193
205
 
194
206
 

4

正規表現の限界と、オブジェクトとパースの関係について言及

2017/11/20 23:04

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -20,9 +20,9 @@
20
20
 
21
21
 
22
22
 
23
- **自然言語処理は、人工知能と文字列処理のあいだ**にありますが、
23
+ 自然言語処理は、人工知能と文字列処理のあいだにありますが、
24
-
24
+
25
- ドメインを絞ることで、文字列処理に近づけると、実現可能性が高まります。
25
+ **ドメインを絞ることで、文字列処理に近づける**と、実現可能性が高まります。
26
26
 
27
27
 
28
28
 
@@ -74,17 +74,21 @@
74
74
 
75
75
  勤務先をどうするかは難しい。**意味や文脈**が関係してくるからです。
76
76
 
77
+
78
+
77
- この一文を抜き出すのに、前後の文も判断する必要があるょう
79
+ この一文を抜き出すのに、前後の文も判断する必要があるかもれません
80
+
81
+ 正規表現の単純な抽出では、すぐに限界を迎えます。
78
82
 
79
83
 
80
84
 
81
85
  そもそも、勤務先を「東京、千葉」と並列にして良いのかとか、
82
86
 
83
- 集合場所と勤務先は別なのかとか、要件が決まっている必要があります。
87
+ 集合場所と勤務先は別なのかとか、**要件**が決まっている必要があります。
84
-
85
-
86
-
88
+
89
+
90
+
87
- そういうわけで、抽出する先の文章の書式が統一されているほど、
91
+ そういうわけで、抽出する先の文章の書式が**統一**されているほど、
88
92
 
89
93
  文字列処理に近づき、実装しやすくなります。
90
94
 
@@ -92,7 +96,7 @@
92
96
 
93
97
 
94
98
 
95
- まとめると、決め打ちできる書式をいかに増やすかが重要です。
99
+ まとめると、**決め打ちできる書式をいかに増やすか**が重要です。
96
100
 
97
101
  情報収集するサイトを絞るとか、データの出所が社内なら、
98
102
 
@@ -146,7 +150,7 @@
146
150
 
147
151
  だから、せっかくJavaを使うなら(Pythonなら関数型のやり方でもいいかも)、
148
152
 
149
- **オブジェクト**で表現したいです。DDDなどでいうドメインモデルです。
153
+ **オブジェクト**で表現したいです。DDDなどでいう**ドメイン**モデルです。
150
154
 
151
155
 
152
156
 
@@ -184,6 +188,8 @@
184
188
 
185
189
  難度は一気に上がりますが、より本格的な自然言語処理が可能になります。
186
190
 
191
+ そして、オブジェクトにしたいのは、このパースを視野に入れているからです。
192
+
187
193
 
188
194
 
189
195
 

3

最後に構文解析について言及

2017/11/20 22:57

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  「要員」の代わりに「人数」と表現するかもしれない。
62
62
 
63
- それくらいならまだ、正規表現など文字列処理で対応できます。
63
+ それくらいならまだ、**正規表現**など文字列処理で対応できます。
64
64
 
65
65
 
66
66
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  しかし、「東京からバスを出すので、千葉に向かってください」の
74
74
 
75
- 勤務先をどうするかは難しい。意味や文脈が関係してくるからです。
75
+ 勤務先をどうするかは難しい。**意味や文脈**が関係してくるからです。
76
76
 
77
77
  この一文を抜き出すのに、前後の文も判断する必要があるでしょう。
78
78
 
@@ -124,15 +124,17 @@
124
124
 
125
125
  この部分文字列とは、たとえば「東京」とか「30名」とかです。
126
126
 
127
+ しかしこれは、「神奈川」や「100人」も抜き取りたいので、
128
+
129
+ 「地名」とか「人数」とか**抽象化**された概念になります。
130
+
131
+
132
+
127
- 「東京」とか都道府県限定なのか、それとも、
133
+ また、「東京」とか都道府県限定なのか、それとも、
128
134
 
129
135
  「秋葉原」「新宿」とかでも良いのかなど、要件と関係してきます。
130
136
 
131
-
132
-
133
- また、「30名」は「30人」も、
134
-
135
- 「三十名」「三十人」も抜き出したいでしょう。
137
+ それに、30名」は「30人」も、「三十名」「三十人」も抜き出したいでしょう。
136
138
 
137
139
 
138
140
 
@@ -164,12 +166,26 @@
164
166
 
165
167
  ネストしたIF文と正規表現の嵐だと、結局メンテ不能になっていきます。
166
168
 
167
- 一方、部分文字列をオブジェクトの集合で表現すると、それぞれ独立しているので、
169
+ 一方、**部分文字列をオブジェクトの集合で表現する**と、それぞれ独立しているので、
168
170
 
169
171
  変更の対象が分かりやすくなり、変更容易になるのでメンテしやすいです。
170
172
 
171
173
 
172
174
 
175
+ まとめると、全体の文書を部分文字列(オブジェクト)の集合に分解して、
176
+
177
+ 後は正規化(30か三十か単位をそろえるなど)し、表などに構造化して出力します。
178
+
179
+
180
+
181
+ なお今回、長く難しい話になるので、**パース(構文解析)**の話題を省略しましたが、
182
+
183
+ 単語単位だけでなく、文法にそって文単位で解析すると、
184
+
185
+ 難度は一気に上がりますが、より本格的な自然言語処理が可能になります。
186
+
187
+
188
+
173
189
 
174
190
 
175
191
  ---

2

ないわけではないことを考慮して、 商品化 → 安価な商品の普及 という大意に変更

2017/11/20 22:50

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  AIなどと同じ最先端の分野なので、希望通りにできる保証はありません。
10
10
 
11
- もし簡単にできるなら、とっくに商品化されてるはずです。
11
+ もし簡単に汎用化できら、安価なソフトが商品化されて、とっくに普及してるはずです。
12
12
 
13
13
 
14
14
 

1

Java,Pythonの言語への言及部分を変更

2017/11/20 21:26

投稿

LLman
LLman

スコア5592

test CHANGED
@@ -142,7 +142,7 @@
142
142
 
143
143
 
144
144
 
145
- だから、せっかくJavaPythonを使うなら関数型のやり方もあるが)、
145
+ だから、せっかくJavaを使うなら(Pythonなら関数型のやり方いいかも)、
146
146
 
147
147
  **オブジェクト**で表現したいです。DDDなどでいうドメインモデルです。
148
148