「ランチ合コン探偵」をmecabで分析したけどうまくいかない話

# Motive

テイコウペンギンを見てたら、テレビドラマのコラボをしていた。 
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/-JYqnW3vF3A/0.jpg)](http://www.youtube.com/watch?v=-JYqnW3vF3A)

何、だと、、、
山本美月とトリンドル玲奈が出演している、、、だと。

タイトルは
[ランチ合コン探偵](https://www.ytv.co.jp/lunchtantei/intro/)!!!

<img src="https://www.ytv.co.jp/lunchtantei/images/top/mv_pc.jpg">


内容は

```html
対照的なＯＬコンビが
ランチタイムに開かれる合コンの場で
謎解き×彼氏探しを繰り広げる！
合コンも、謎解きも、ランチタイム一本勝負‼
```

とのこと。
なるほど、何言っているかわからない。:weary:

てか、「ランチ合コン探偵」は単語を雑に３つ並べているだけじゃねーかと最初はブーたれてましたが、
よくよく考えると、「いつもランチで合コンしている探偵」と少し文章化すると `ランチ -> 合コン -> 探偵` or `ランチ -> [合コン探偵]` と何らかの係り結びするのではないかと思たとです。

「ランチ合コン探偵」はmecabではどのように形態素分析するか調べてみたとです。

# Run

まず、mecabをインストール。

```bash
brew install mecab
```

で、実行

```bash
mecab
ランチ合コン探偵
ランチ	名詞,一般,*,*,*,*,ランチ,ランチ,ランチ
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
```

このままだと、単語を区切る場所や品詞のパターンは一回しか出力されないです。

そのため `-N3` をつけるとその分のパターンを出力することができます。(Nは最大512)

別の例として、「日本テレビ東京」で出力してみる。
「日本」「テレビ」「東京」と3つの単語が並んでいるが、「東京にある日本テレビ」or「日本にあるテレビ東京」みたいなのが出力されるのが良さげです。

```bash
mecab -N3
日本テレビ東京
日本テレビ	名詞,固有名詞,組織,*,*,*,日本テレビ,ニホンテレビ,ニホンテレビ
東京	名詞,固有名詞,地域,一般,*,*,東京,トウキョウ,トーキョー
EOS
日本	名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン
テレビ東京	名詞,固有名詞,組織,*,*,*,テレビ東京,テレビトウキョウ,テレビトーキョー
EOS
日本	名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン
テレビ	名詞,一般,*,*,*,*,テレビ,テレビ,テレビ
東京	名詞,固有名詞,地域,一般,*,*,東京,トウキョウ,トーキョー
EOS
```

それっぽい物が出力されました！

では「ランチ合コン探偵」はどうか

```bash
mecab -N10
ランチ合コン探偵
ランチ	名詞,一般,*,*,*,*,ランチ,ランチ,ランチ
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,一般,*,*,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,固有名詞,組織,*,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,固有名詞,一般,*,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,一般,*,*,*,*,ランチ,ランチ,ランチ
合	名詞,一般,*,*,*,*,合,ゴウ,ゴー
コン	名詞,一般,*,*,*,*,コン,コン,コン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,一般,*,*,*,*,ランチ,ランチ,ランチ
合	名詞,接尾,助数詞,*,*,*,合,ゴウ,ゴー
コン	名詞,一般,*,*,*,*,コン,コン,コン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,固有名詞,地域,一般,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,固有名詞,人名,一般,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	感動詞,*,*,*,*,*,*
合コン	名詞,一般,*,*,*,*,合コン,ゴウコン,ゴーコン
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
ランチ	名詞,一般,*,*,*,*,ランチ,ランチ,ランチ
合	名詞,一般,*,*,*,*,合,ゴウ,ゴー
コン	名詞,一般,*,*,*,*,*
探偵	名詞,サ変接続,*,*,*,*,探偵,タンテイ,タンテイ
EOS
```

ほぼほぼ、分割された単語は名詞にしか分類されないです。

「日本テレビ東京」もそうなんですが今の技術では名詞同士で係り結びするのは難しそうです。:sweat:

# If English?
英語にするとどうなるのか。
このドラマ自体は[ランチ探偵](https://www.amazon.co.jp/dp/4408553204)の小説を題材にしているのですが、英文はシンブルに`lunch detective`でした。合コンが余計に盛っているので面倒です。
最初は `lunch meeting detective` かと思ったのですが、ビジネスライクな感じでちょっと違う。
[合コン](https://ejje.weblio.jp/content/%E5%90%88%E3%82%B3%E3%83%B3)を英語にすると`joint party`なので「ランチパーティに参加している探偵たち」と考えると`the detectives joining lunch party` でいいかな。 hunting要素がなくて無味無臭なのが少し残念:tired_face:

# Future
日本語も英語もそうなんですが、係り結びを意識した`文章 -> 単語の並び`or`単語の並び　->　文章`の変換が難しく、多くの似ているデータを集めて機械学習しないとノーヒントでは厳しいかもです。


# Reference
- [MeCab: Yet Another Part-of-Speech and Morphological Analyzer - 公式ページ - N-Best 解の出力](https://taku910.github.io/mecab/#nbest)
- [日本テレビ東京で学ぶMeCabのコスト計算](http://www.mwsoft.jp/programming/munou/mecab_nitteretou.html)
- [longman - join](https://www.ldoceonline.com/jp/dictionary/join)
- [テイコウペンギン](https://www.youtube.com/channel/UCUTgXNqRBqR33D5q10DfQXw)
- [ランチ合コン探偵](https://www.ytv.co.jp/lunchtantei/)