質問編集履歴
2
タイトルの時期と方法について記載変更しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
mecabの単語辞書追加をしベクトル表現を利用したい。(2020
|
1
|
+
mecabの単語辞書追加をしベクトル表現を利用したい。(2020年Google Colab版)
|
test
CHANGED
File without changes
|
1
すみません。質問文が重複していましたので整理しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,15 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
+
|
24
|
+
|
23
|
-
### 前提状態
|
25
|
+
### 前提状態
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
**~①追加辞書の用意~**
|
30
|
+
|
31
|
+
|
24
32
|
|
25
33
|
Google Colab
|
26
34
|
|
@@ -84,7 +92,9 @@
|
|
84
92
|
|
85
93
|
```
|
86
94
|
|
87
|
-
このpythonコードによって辞書別に結果が違うことを確認。
|
95
|
+
このpythonコードによって辞書別に結果が違うことを確認しました。
|
96
|
+
|
97
|
+
|
88
98
|
|
89
99
|
例)
|
90
100
|
|
@@ -92,6 +102,20 @@
|
|
92
102
|
|
93
103
|
Neologd辞書⇒パウエル国務長官
|
94
104
|
|
105
|
+
![イメージ説明](22c11367c8089ff99c584d99b542684e.jpeg)
|
106
|
+
|
107
|
+
つまり、追加辞書側Neologdにはパウエル国務長官というワードがあるため全体ワードとして認識している。
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
**~②Gensimのword2vecモデルの準備~**
|
118
|
+
|
95
119
|
|
96
120
|
|
97
121
|
[word2vec データ参考サイト
|
@@ -120,12 +144,8 @@
|
|
120
144
|
|
121
145
|
!git submodule init
|
122
146
|
|
123
|
-
|
124
|
-
|
125
147
|
!git submodule update
|
126
148
|
|
127
|
-
|
128
|
-
|
129
149
|
cd content/
|
130
150
|
|
131
151
|
```
|
@@ -148,17 +168,59 @@
|
|
148
168
|
|
149
169
|
```
|
150
170
|
|
171
|
+
### 現状
|
172
|
+
|
173
|
+
![イメージ説明](1b164f073d7bb3c76affb7d844fddfed.jpeg)
|
174
|
+
|
175
|
+
|
176
|
+
|
151
177
|
|
152
178
|
|
153
179
|
### 理想
|
154
180
|
|
155
181
|
Neologd辞書でお花見大好き人間が「お花見 大好き 人間」
|
156
182
|
|
157
|
-
単語登録をすると「お花見大好き人間」になって欲しい
|
183
|
+
単語登録をすると「お花見大好き人間」として表示になって欲しい。
|
184
|
+
|
158
|
-
|
185
|
+
結果的にはそれを単語ベクトルとして使用していきたい。
|
159
|
-
|
160
|
-
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
161
|
-
新しい単語
|
191
|
+
### 新しい単語の登録方法
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
①CSVの作成
|
196
|
+
|
197
|
+
![イメージ説明](2306e850f4876d3604c4a23c3a188c3e.jpeg)
|
198
|
+
|
199
|
+
utf-8で保存
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
②Google ColabにDrag&Drop
|
204
|
+
|
205
|
+
![イメージ説明](ab36538550674ec6c20e785ea251a6a4.jpeg)
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
③CSVのコンパイル
|
212
|
+
|
213
|
+
参考サイトは以下。
|
214
|
+
|
215
|
+
[方法1:Mecabの辞書をカスタマイズする](http://www.mwsoft.jp/programming/nlp/mecab_dictionary_customize.html)
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
![イメージ説明](7acc0d4d5bf699d8dad293241e0dcd98.jpeg)
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
162
224
|
|
163
225
|
### 発生している問題・エラーメッセージ
|
164
226
|
|
@@ -166,314 +228,52 @@
|
|
166
228
|
|
167
229
|
```
|
168
230
|
|
169
|
-
|
231
|
+
no job control
|
170
|
-
|
232
|
+
|
171
|
-
```
|
233
|
+
```
|
234
|
+
|
235
|
+
|
236
|
+
|
172
|
-
|
237
|
+
他に試した方法として、そもそも初めのコンパイル時にCSVの中に入れてしまう方法を行ってみようと思いました。
|
238
|
+
|
239
|
+
|
240
|
+
|
173
|
-
|
241
|
+
方法2:
|
242
|
+
|
174
|
-
|
243
|
+
mecab-ipadic-neologdのbinの中にinstall-mecab-ipadic-neologdがあり、そのファイルにreadコマンドで実行中にエンターキーを促し一定期間実行が止まるようにし(下画像の赤数字1と赤数字2)、buidフォルダ配下のに追加ワードを書いたCSVを配置(下の画像の赤数字3)
|
244
|
+
|
245
|
+
![イメージ説明](3ade49732c3a9a3f78075cf2a3d70f5d.jpeg)
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
Drag&Drop後のcsvの様子。(下の画像)
|
250
|
+
|
251
|
+
![イメージ説明](b35bf6b88942316a662cdcbcbe4d46af.jpeg)
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
結果、
|
256
|
+
|
257
|
+
![イメージ説明](8a68e9df5a778c03a5c2bbc450e6386a.jpeg)
|
258
|
+
|
259
|
+
|
260
|
+
|
175
|
-
|
261
|
+
登録されていませんでした。
|
176
|
-
|
177
|
-
|
178
|
-
|
262
|
+
|
179
|
-
|
263
|
+
CSVをbuild配下のmecab-ipadic-2.7.0-20070801-neologd-20200910に置くことで、一緒にコンパイル処理をしてくれるとサイトで記載ありまして実行してみましたが。以下の通りでした。
|
180
|
-
|
181
|
-
|
264
|
+
|
182
|
-
|
183
|
-
```
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
### 試したこと
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
265
|
+
![イメージ説明](8c15a047a50109c2f0537dc4943a9139.jpeg)
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
個別に追加する方法や、コンパイル時にCSVファイルを混入させる方法などいくつか試しましたが、どれもうまくいきませんでした。知見ある方どなたかアドバイス頂けないでしょうか。よろしくお願い致します。
|
192
272
|
|
193
273
|
|
194
274
|
|
195
275
|
### 補足情報(FW/ツールのバージョンなど)
|
196
276
|
|
197
|
-
|
198
|
-
|
199
|
-
ここにより詳細な情報を記載してください。
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
### 前提・実現したいこと
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
mecabをGoogle Colabにて使用しています。
|
208
|
-
|
209
|
-
通常辞書に加えてNeologd辞書を追加中です。
|
210
|
-
|
211
|
-
新しい単語を追加し単語ベクトルとして利用したいです。
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
### 参考サイト
|
216
|
-
|
217
|
-
[Google Colab Mecab](https://qiita.com/pytry3g/items/897ae738b8fbd3ae7893)
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
[辞書導入](https://qiita.com/Sak1361/items/47e9ec464ccc770cd65c)
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
### 前提状態
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
**~①追加辞書の用意~**
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
Google Colab
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
```linux
|
238
|
-
|
239
|
-
!apt install aptitude
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
!aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
!pip install mecab-python3==0.7
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
cd mecab-ipadic-neologd/
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
!sudo ./bin/install-mecab-ipadic-neologd -n -a
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
# 追加辞書の場所
|
264
|
-
|
265
|
-
!echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
```
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
```python
|
274
|
-
|
275
|
-
import MeCab
|
276
|
-
|
277
|
-
wakati = MeCab.Tagger('-Owakati') #分かち書き
|
278
|
-
|
279
|
-
neo_wakati = MeCab.Tagger('-Owakati -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd') #追加辞書を適用
|
280
|
-
|
281
|
-
word = input("分かち書き:")
|
282
|
-
|
283
|
-
wakati = wakati.parse(word).strip()
|
284
|
-
|
285
|
-
neo_wakati = neo_wakati.parse(word).strip()
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
print('通常辞書:' + wakati)
|
290
|
-
|
291
|
-
print('追加辞書:' + neo_wakati)
|
292
|
-
|
293
|
-
```
|
294
|
-
|
295
|
-
このpythonコードによって辞書別に結果が違うことを確認しました。
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
例)
|
300
|
-
|
301
|
-
通常辞書⇒パウエル 国務長官
|
302
|
-
|
303
|
-
Neologd辞書⇒パウエル国務長官
|
304
|
-
|
305
|
-
![イメージ説明](22c11367c8089ff99c584d99b542684e.jpeg)
|
306
|
-
|
307
|
-
つまり、追加辞書側Neologdにはパウエル国務長官というワードがあるため全体ワードとして認識している。
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
**~②Gensimのword2vecモデルの準備~**
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
[word2vec データ参考サイト
|
322
|
-
|
323
|
-
](https://aial.shiroyagi.co.jp/2017/02/japanese-word2vec-model-builder/)
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
[Gensimのモデルを取得](http://public.shiroyagi.s3.amazonaws.com/latest-ja-wyord2vec-gensim-model.zip)
|
328
|
-
|
329
|
-
ここから一度開発PCのwindowsにダウンロードしzip解凍してから以下をGoogle ColabにDrag&Drop
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
word2vec.gensim.model
|
334
|
-
|
335
|
-
word2vec.gensim.model.syn1neg.npy
|
336
|
-
|
337
|
-
word2vec.gensim.model.wv.syn0.npy
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
```linux
|
344
|
-
|
345
|
-
!git submodule init
|
346
|
-
|
347
|
-
!git submodule update
|
348
|
-
|
349
|
-
cd content/
|
350
|
-
|
351
|
-
```
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
```python
|
356
|
-
|
357
|
-
from gensim.models.word2vec import Word2Vec
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
model_path = 'word2vec.gensim.model'
|
362
|
-
|
363
|
-
model = Word2Vec.load(model_path)
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
model.wv['お花見大好き人間']
|
368
|
-
|
369
|
-
```
|
370
|
-
|
371
|
-
### 現状
|
372
|
-
|
373
|
-
![イメージ説明](1b164f073d7bb3c76affb7d844fddfed.jpeg)
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
### 理想
|
380
|
-
|
381
|
-
Neologd辞書でお花見大好き人間が「お花見 大好き 人間」
|
382
|
-
|
383
|
-
単語登録をすると「お花見大好き人間」として表示になって欲しい。
|
384
|
-
|
385
|
-
結果的にはそれを単語ベクトルとして使用していきたい。
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
### 新しい単語の登録方法
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
①CSVの作成
|
396
|
-
|
397
|
-
![イメージ説明](2306e850f4876d3604c4a23c3a188c3e.jpeg)
|
398
|
-
|
399
|
-
utf-8で保存
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
②Google ColabにDrag&Drop
|
404
|
-
|
405
|
-
![イメージ説明](ab36538550674ec6c20e785ea251a6a4.jpeg)
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
③CSVのコンパイル
|
412
|
-
|
413
|
-
参考サイトは以下。
|
414
|
-
|
415
|
-
[方法1:Mecabの辞書をカスタマイズする](http://www.mwsoft.jp/programming/nlp/mecab_dictionary_customize.html)
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
![イメージ説明](7acc0d4d5bf699d8dad293241e0dcd98.jpeg)
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
### 発生している問題・エラーメッセージ
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
```
|
430
|
-
|
431
|
-
no job control
|
432
|
-
|
433
|
-
```
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
他に試した方法として、そもそも初めのコンパイル時にCSVの中に入れてしまう方法を行ってみようと思いました。
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
方法2:
|
442
|
-
|
443
|
-
mecab-ipadic-neologdのbinの中にinstall-mecab-ipadic-neologdがあり、そのファイルにreadコマンドで実行中にエンターキーを促し一定期間実行が止まるようにし(下画像の赤数字1と赤数字2)、buidフォルダ配下のに追加ワードを書いたCSVを配置(下の画像の赤数字3)
|
444
|
-
|
445
|
-
![イメージ説明](3ade49732c3a9a3f78075cf2a3d70f5d.jpeg)
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
Drag&Drop後のcsvの様子。(下の画像)
|
450
|
-
|
451
|
-
![イメージ説明](b35bf6b88942316a662cdcbcbe4d46af.jpeg)
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
結果、
|
456
|
-
|
457
|
-
![イメージ説明](8a68e9df5a778c03a5c2bbc450e6386a.jpeg)
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
登録されていませんでした。
|
462
|
-
|
463
|
-
CSVをbuild配下のmecab-ipadic-2.7.0-20070801-neologd-20200910に置くことで、一緒にコンパイル処理をしてくれるとサイトで記載ありまして実行してみましたが。以下の通りでした。
|
464
|
-
|
465
|
-
![イメージ説明](8c15a047a50109c2f0537dc4943a9139.jpeg)
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
個別に追加する方法や、コンパイル時にCSVファイルを混入させる方法などいくつか試しましたが、どれもうまくいきませんでした。知見ある方どなたかアドバイス頂けないでしょうか。よろしくお願い致します。
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
### 補足情報(FW/ツールのバージョンなど)
|
476
|
-
|
477
277
|
開発PCはwinodws10
|
478
278
|
|
479
279
|
Google colabはLinux.
|