###【前提】
「ある文章」を「JSONの単語」に分解した後、適切な単語を取得したいです。
次のような「kuromoji.js」というプラグインを利用した分解機能を使っています。
https://takuyaa.github.io/kuromoji.js/demo/tokenize.html
###【目的】
下記の【JavaScript】によって【JSON】が出力される状況です。
【抽出の条件】に従い適切な単語を取得して、【JavaScript】にあるvar result_arr = ['美しい','山'];
のような配列を生成したいです。
【抽出の条件】とは【JSON】の値での条件分岐なのですが、その方法がわかりませんでしたので、教えていただきたく存じます。
###【JavaScript】
「kuromojiBuilder」や「tokenizer」を定義する前半部分は割愛させてください。
とりあえずこのコードによって【JSON】が出力される感じです。
javascript
1window.tokenize= function(words){ 2 kuromojiBuilder.then(function(tokenizer){ 3 var token= tokenizer.tokenize(words) 4 5 // 現状はこうして【JSON】を出力しています 6 document.querySelector('pre').innerHTML= JSON.stringify(token,null,2) 7 }) 8} 9 10// 下記の【JSON】から次の配列を取得したい流れです。 11// var result_arr = ['美しい','山'];
###【JSON】
たとえばこれが出力されたとします。
JSON
1[ 2 { 3 "word_id": 171750, 4 "word_type": "KNOWN", 5 "word_position": 1, 6 "surface_form": "美しい", 7 "pos": "形容詞", 8 "pos_detail_1": "自立", 9 "pos_detail_2": "*", 10 "pos_detail_3": "*", 11 "conjugated_type": "形容詞・イ段", 12 "conjugated_form": "基本形", 13 "basic_form": "美しい", 14 "reading": "ウツクシイ", 15 "pronunciation": "ウツクシイ" 16 }, 17 { 18 "word_id": 1530210, 19 "word_type": "KNOWN", 20 "word_position": 4, 21 "surface_form": "山", 22 "pos": "名詞", 23 "pos_detail_1": "一般", 24 "pos_detail_2": "*", 25 "pos_detail_3": "*", 26 "conjugated_type": "*", 27 "conjugated_form": "*", 28 "basic_form": "山", 29 "reading": "ヤマ", 30 "pronunciation": "ヤマ" 31 } 32]
###【抽出の条件】
肝心の【JSON】から配列を作るための条件がこちらの2つです。
1."pos"
が名詞か副詞の場合は、basic_form
の値を取得する。
2."pos"
が形容詞か動詞の場合は、「pos_detail_1
が自立
」で、「conjugated_form
が基本形
」の、basic_form
の値を取得する。
この条件のように【JSON】の値での条件分岐というのがまるでわからず、質問させていただきました。
そしてこの2つの条件では「美しい」「山」が取得されますので、それらを【JavaScript】のvar result_arr = ['美しい','山'];
に入れて活用したいという流れを考えています。
JSONも初めてでかなり苦戦してしまっています。
宜しくお願い致します。
###補足(Lhankor_Mhy様へ)
配列の重複状況について画像で補足致します。
テキストボックスに「美しい山」を一度だけ「Ctrl + v」するとこの画像のようになります。
一度の「Ctrl + v」でなぜか配列が2つ出てまして、上の方は必要な配列ですが、下の方は値が重複しているのがご覧いただけると思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/02 01:33
2019/04/02 01:43
2019/04/02 02:14 編集
2019/04/02 02:30
2019/04/02 03:01
2019/04/02 03:04
2019/04/02 03:07
2019/04/02 03:11
2019/04/02 03:14 編集
2019/04/02 03:27
2019/04/02 03:45 編集
2019/04/02 03:49
2019/04/02 03:59 編集