はてだBlog(仮称)

私的なブログど真ん中のつもりでしたが、気づけばWebサイト系のアプリケーション開発周りで感じたこと寄りの自分メモなどをつれづれ述べています。2020年6月現在、Elasticsearch、pandas、CMSなどに関する話題が多めです。...ですが、だんだんとより私的なプログラムのスニペット置き場になりつつあります。ブログで述べている内容は所属組織で販売している製品などに関するものではなく、また所属する組織の見解を代表するものではありません。

livedoor グルメの DataSet を横目で見ながら東京都のグルメ分布のイメージをひとりごとする

この記事では、下記の過去記事の手順、および本記事の末尾に引用のスクリプトで、livedoorグルメDataSetをElasticsearchに取り込み、significant_termsで、東京都の各エリアごとの特徴的なグルメカテゴリのランキングを取得してみました。

f:id:azotar:20200619195309p:plain

itdepends.hateblo.jp

itdepends.hateblo.jp

分類・ランキング結果(色付けなどは後述の説明用に恣意的であることに注意)

ということで、最初に結果情報です。

取得した結果情報を、エリアごとに得られたカテゴリ順に並べたのがこちらです。↓

f:id:azotar:20200619172408p:plain

私も関東在住歴がそれなりに長くなったので、得られた結果と自分の東京各地域イメージを照らし合わせて、独り言をいいたくなった。

この記事はそんな位置付けです。

着色前の表の元ネタを作るところまででは過去の記事などの手順に合わせていただけると、再現可能だと思いますが、以下の内容は見ての通り、私の主観と私の東京の個人的なイメージの混在・混沌としたテキストなので、ご了承ください。

銀座、新橋、有楽町

オトナがお酒を嗜むエリアって感じがしますね。

お食事の傾向も、和寄りのカテゴリが多めというところが、六本木・麻布などとは少し色味が違う。他のエリアより和装の人が多そうなイメージ。

六本木・麻布・広尾・白金

銀座エリアと比べると、欧風の風を感じます。

私は銀座も六本木も無縁の身ですが、おなじオトナの街でも銀座エリアと六本木エリアのパブリックイメージってあるなあという感じです。

代官山、恵比寿-五反田

六本木・麻布・広尾・白金とおおよそ地続きということもありますので、似た印象。

ただし、特徴ランキングで、「バー」ではなく「ダイニングバー」と色がつくあたり、お酒だけではなく、あるいはお酒を注いでもらうだけではなく、ゴハンを食べてお酒も楽しむという感の色が出てくる感じがします。なんとなくわかりますね。

渋谷・神泉

続いて、渋谷・神泉。グルメ系という意味でいうと、東京四大飲みエリアの最後のひとつと言って良いのかな。

他の三つのエリアに比べると、飲み方・呑み方のバラエティが幅広い感じがしますね。

夜・食事・お酒の楽しみ方は人それぞれというイメージ。

若い街、カジュアルというところもにじみ出ています。エリアの中でも東西南北、また通りごと(道玄坂、公園通り、神宮通り、井の頭通り、センター街といったもの)に見せるグルメ街の表情を渋谷で一括りにするとこうなるのかというところです。 (といいつつ、この可視化の元ネタは、冒頭に述べたとおり、Livedoor レストラン情報(2011年)なので、渋谷・神泉は、最近は「オトナ」ど真ん中の印象になってきているかもしれません。渋谷の再開発も出揃ってきた印象もありますし、おなじデータの2020年版があれば比べてみたいところです。)

原宿・表参道・青山

ラグジュアリー感があるエリアです。

西洋料理が特徴として出るのは表参道・青山からの印象どおり?でしょうか。

ここまで登場していない、「カフェ・喫茶」が特徴として見えてくるのも、表参道・青山あたりのオープンカフェっぽい印象と一致します。私は仕事でしか行かないエリアですが...

東急沿線

渋谷を起点に田園都市線。 中目黒、自由が丘を経由して、横浜につながる、東横線。また、これらと連なって走る目黒線

二子玉川も忘れてはいけないでしょう。東急沿線はオシャレに敏感な鉄道会社が作った街というイメージがありますがどうでしょう。

確かに、この特徴ランキングでは、他のエリアでは上位に出てこない、スイーツ系、カフェが目を引きます。

昔、自由が丘でお使いの菓子箱を複数もって歩いていたら、この辺の美味しいスイーツのお店を尋ねられました。確かに菓子箱はヒントですが、私の見た目のどこに、スイーツ通をみて取れたのだろうか。ナンパではないことは確実ですが、何かの勧誘だったのか。

東京・日本橋・大手町

東急沿線のスイーツ(チョコレート)と、東京・日本橋・大手町の「チョコレート」はちょっと印象が違います。

もちろん、どちらも美味しい、頬が緩む感はありますが、前者はお持ち帰りやカフェ感、後者はややお土産・上納品感を感じませんか。

東京駅の印象に引っ張られているのかな。日本橋と銀座につながるエリアの昼の銀座の印象も含むのかもしれません。 また、東京(駅)と言えばですが、他のエリアでは特徴ランキングに現れない、軽食やサンドイッチというお弁当感があるカテゴリが目をひきますね。

新宿・代々木 / 上野・日暮里・湯島

山手線内側東西の両脇の(あるいは、中央線・総武線、はたまた都営新宿線の両端あたりの)個性的的エリアといえそうな両エリア。

エスニック系のグルメが目立っていますね。それぞれのエリアであのエリアにお店が集中していることが特徴ランキングに出てるのかなと思われる面もありますね。

あえて言うなら、新宿・代々木はおなじアジア系でも、東・東南アジア色が出ていて、上野・日暮里・湯島は、南アジア側のようにも見えるがどうだろうか。

秋葉原-水道橋・神田

カレーの聖地神保町を含むエリアであることを強く感じさせるランキング。

担々麺は表記揺れの考慮ができていないことをどう考えるのかはここではさておいて、私はこのエリアに対して担々麺の印象は強くはないのですが、東京に限らず全国どこでも多い中華料理屋がこの地域は特に多いんじゃないか(※確かめていません)と言われると、そんな気がしないでもないですね。

板橋・赤羽・東武沿線 / 池袋-高田馬場巣鴨

池袋を中心とした、新宿などとはまた別のアジア系エスニックエリアのように見えますが、みなさんの印象はどうだろうか。

おなじ、アジア系エスニックでも、新宿などに比べると少し乾燥した雰囲気とややカジュアルというか屋台(実際に屋台かは別として)の本格的だけど生活感グルメと勝手に論じておく(JR池袋駅北口あたりの印象だけで語っている)。

西武沿線 /京王、小田急沿線 / 大井・大森・蒲田 /千住、綾瀬 /中野・高円寺-三鷹 /多摩(府中・立川・八王子)

京王、小田急沿線に「カフェ」が現れることを除けば、東京の23区の中心あたりから放射状に伸びる各路線(特に西の地域)は、ラーメン王国だなという印象。

まあ、東京自体がラーメン王国・帝国というところではありますが、ラーメンの麺のように各沿線が東京をラーメン文化で覆っている印象。

浅草・両国-小岩・錦糸町

他とは一線を画すのちゃんこ鍋、もんじゃ、屋形船の3大巨頭。観光客が思う東京!という印象どおりかもしれない。

湾岸・築地・お台場

築地(というかおそらく月島)のもんじゃがキャラ付け一位。

また、築地(場外市場)の寿司のイメージどおりの寿司も特徴的。数を数えたわけではないですが、築地ど真ん中エリア以外も、市場が近い分、お寿司屋さんや魚介をいただけるお店は多い印象です。

また、浅草出発の屋形船に対して、湾岸エリア出発の屋形船という印象どおり。

三田、浜松町-品川

品川あたりは、屋形船の印象がありますね。実際、北品川に屋形船が多く停泊しており、運河を通って東京湾に船出しています。

また、三田、浜松町、品川というと、各企業の本社が比較的集まっている印象で、(新橋エリアとはまたちょっと違った)サラリーマンが業務終わりにかるくいっぱいやるためのザ・居酒屋的なお店が他エリア以上に特徴的なのかもしれません。

四ツ谷-飯田橋・神楽坂

神楽坂周辺にには秘蔵の/全国の地酒を扱っている隠れ家酒造(酒の密造みたいな言い方になっていますがボキャ貧なだけです)とかありそうです。

データから勝手に妄想すると、(ワインではなく)フレンチ、上海料理、イタリアンと日本のお酒を合わせて出しているイメージも浮かびましたがどうだろう*1

赤坂・溜池山王

他エリアと比較して、特筆すべき数の和系のお店が多いということかと思います。

私は全くもって、このエリア自体はともかく、そのようなお店には無縁ですが、このエリアから漆の香りがしそうだというところは、町歩きとして感じるところがあります。

本件の表作り用のスクリプト(Python)

livedoorグルメDataSetインデックスにsignificant_termsして、表形式データにする

import elasticsearch
import pandas as pd

es = elasticsearch.Elasticsearch("localhost:9200")
_r = es.search(
    index='ldgourmet',
    body={
  "query": {"term": {
    "pref.raw": {
      "value": "13__東京都"
    }
  }}, 
  "aggregations": {
    "a1": {
      "terms": {
        "field": "area_name.raw",
        "size": 47
      },
      "aggregations": {
        "a2": {
          "significant_terms": {
            "field": "cates.raw",
            "size": 50,
            "min_doc_count": 5, 
            "chi_square": {}
          }
        }
      }
    }
  }
}
)

a = []
b = {}
for x in r:
    k = x['key']
    _ = [i['key'].strip() for i in x['a2']['buckets']]
    b[k] = _
    for i in _:
        a.append([k,i,1])

allkeysSet = list(set(sum(b.values(), [])))
allkeys = ' '.join(sum(b.values(),[]))

for k, v in b.items():
    print(k,',',','.join(v),file=sys.stderr)



*1:だんだんいい加減になってきた。