# シノニムで類語を呼び出した後、再び形態素解析される

**URL:** https://discuss.elastic.co/t/topic/198591
**Category:** 日本語による質問・議論はこちら
**Created:** [September 9, 2019, 3:04am UTC](https://discuss.elastic.co/t/topic/198591 "2019-09-09T03:04:06Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![choris](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/choris/32/53794_2.png) [@choris](https://discuss.elastic.co/u/choris)
#### Post date: [September 9, 2019, 3:04am UTC](https://discuss.elastic.co/t/topic/198591/1 "2019-09-09T03:04:06Z")

</div>

お世話になります。

検索エンジンとして、ElasticsSearchの活用を検討しています。

検索ワードに対して、形態素解析を使用したのち、synonymで類語を検索ワードとして呼び出したいと考えています。しかし、現状ですとシノニムで呼び出された類語が再び形態素解析されるため、予期せぬ形に品詞分解されることがあります。  
類語に対してのみ形態素解析をなしにすることは可能でしょうか。

具体例としては以下のようになります。  
検索ワード「ゴーヤ豆腐」  
シノニム「ゴーヤ、にがうり」の際、  
ニガウリが形態素解析でばらばらになるため、実際の検索ワードは  
「ゴーヤ、に、が、うり、豆腐」  
となります。

求めている結果は、「ゴーヤ、にがうり、豆腐」で、シノニムで呼び出された類語は形態素解析されないようにしたいです。

現在利用している環境は以下です。  
・AWS Elasticsearch Service, Kibana ともに6.4.2

・search\_analyzerの設定  
"my\_kuromoji\_analyzer": {  
"filter": [  
"cjk\_width",  
"my\_synonym",  
"stop\_posfilter"  
],  
"type": "custom",  
"tokenizer": "ja-normal-tokenizer"  
}

解決策ご教示いただけますと幸いです。

---

<div class="post-metadata">

### Author: ![r4-keisuke](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/r4-keisuke/32/9268_2.png) [@r4-keisuke](https://discuss.elastic.co/u/r4-keisuke)
#### Post date: [September 11, 2019, 7:48am UTC](https://discuss.elastic.co/t/topic/198591/2 "2019-09-11T07:48:20Z")

</div>

こんにちはー

ユーザ辞書として登録するのが手っ取り早いと思いますが、  
AWS Elasticsearch Serviceの場合、ユーザ辞書の扱いができなかったと覚えてます。

形態素解析を行っているAnalyzerの中でsynonymで変換されたんだから、ということで  
Tokenizeされないというのは処理の順番的に難しい気がしますね。

---

<div class="post-metadata">

### Author: ![tsgkdt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsgkdt/32/39151_2.png) [@tsgkdt](https://discuss.elastic.co/u/tsgkdt)
#### Post date: [September 15, 2019, 12:44pm UTC](https://discuss.elastic.co/t/topic/198591/3 "2019-09-15T12:44:26Z")

</div>

こんにちわ

現在、「検討している」という段階ということですので、１つだけ付け加えておきたいです。

「ゴーヤ、にがうり、豆腐」で「にがうり」を「にがうり」という１単語として認識させるのであれば、  
@r4-keisuke さんが言うようにユーザ辞書として登録するのが良いかと思います。

しかし、AWSのElasticsearch Serviceでは、現時点ではユーザ辞書の登録ができないのですが、  
Elastic社が提供している[Elasticsearch Service](https://www.elastic.co/cloud/)では、ユーザ辞書や独自のプラグインが使えます。

[https://www.elastic.co/guide/en/cloud/current/ec-custom-bundles.html](https://www.elastic.co/guide/en/cloud/current/ec-custom-bundles.html)

ユーザ辞書を入れることで、「にがうり」が分割されなくなり、  
「ゴーヤ、にがうり、豆腐」で同義語展開したあとも期待する結果が得らるようになるかと思います。

---

<div class="post-metadata">

### Author: ![choris](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/choris/32/53794_2.png) [@choris](https://discuss.elastic.co/u/choris)
#### Post date: [September 19, 2019, 3:03am UTC](https://discuss.elastic.co/t/topic/198591/4 "2019-09-19T03:03:12Z")

</div>

@tsgkdt さん、@r4-keisukeさん、  
ご返信ありがとうございます。

AWSのElasticSearchでは、対応が難しそうですね。  
Elastic社のElasticsearch Serviceを使うことを検討したいと思います。

ありがとうございました。

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [October 17, 2019, 3:03am UTC](https://discuss.elastic.co/t/topic/198591/5 "2019-10-17T03:03:18Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
