companies?".さらに、「沢山のデータを利用したい。somewhere?".「できるんじゃない?まあ、気が向いたらやっておくよ。「はて、どうするものか。ファストフード的なアイデアで実装することにしやした。retrieve今回まず考えたのは、実際のデータからくる法則性と、適度のランダム感がでるようにすること。data.そこで、この記事で利用したマルコフモデルを使うのが簡単で面白いかなと思いました。article.そして、「会社の名前」というより、「日本の組織の名前」にしたほうが、集めるのが簡単に、そして良い感じに「日本っぽく」「気の抜けた」感じになると仮定しました。Scraping?ここで朗報です。スクレイピングなどしなくても、適切なデータがありました。scraping.住所.jpこのサイトは日本全国約12万の住所データがCSV形式やSQLなどで手に入り、かつ無償です。charge.そしてここには事業所のデータも相当数存在しています。無償で使えることに感謝してダウンロードしましょう。free.これをPandasでサクッと抽出して、それをマルコフモデルにすれば簡単にそれなりのものが作れます。なにはともあれ、レッツゲットスターテッドでげす。(3,614,142byte)をダウンロードします。ダウンロードしたZIPファイルを解凍します。file.中身はこんな感じです。ちなみに文字コードは「cp932」です。932".ここに事業所の情報があります。見渡したところ「日本っぽい堅い名前」が多いです。横文字系は少ないかも。language.ではPandasでファイルを読み込みます。はい、先程も言いましたが、文字コードは「cp932」です。pd.read_csv('zenkoku.csv',encoding='cp932')それでは事業所だけを抽出していきます。offices.使う列名はこの3つ。Kana'まず事業所フラグでフラグが立っているものを選んで、そのうちの事業所名と事業所名カナを抽出します。modelsさて、マルコフる前にちょっとだけ味付けします。今回はサクッとMeCabで形態素解析。形態素に分かち書きする関数を用意。形態素解析をして、分かち書きにする。良い感じにシャッフルして出てくるようにしていきます。Japan.とりあえず、形態素した漢字とフリガナをリストにする。office_list['事業所名カナ'].apply(parse_text).tolist()print(name_list2)それではデータの仕上げです。ランダムにシャッフル。それぞれ交互にリストに追加したいが、長さがバラバラなので、二回同じことをする。new_office_list.append(n)できたものはこんな感じ。これを適度な長さの文にして、改行で区切った一つの文章にする。分かち書きされたものを3つずつ合わせて、語彙数が3つになるようにする。それ以上でも以下でもいい、自由にやればよい。Noneとして予測されない値も出てくるので、それを考慮する。print(''.join(predicted_office_name.split()))結果発表Resultsいや、株式会社なのか大学なのか市役所なのか水道局なのか銀行なのか財務局なのかどっちやねん。株式会社つけ過ぎ問題が発生しております。overcharging.とまあ、こんな感じでゆるいものはものの10分ぐらいで作れてしまうのです。this.これをHerokuにアップして、遊べるようにしました。上のナビバーに仕込んであります。Bar.Herokuへのアップロードの方法は、このマルコフアプリの作り方と、前前回あたりの記事を参考にしてくだちぃ。posts.でもちょっとだけアプリにするためのコードを書いておきます。app.アプリにするため、モデルをJSONファイルとしてエクスポート。json.dump(model_json)ロードして使う時は以下のようにする。print(''.join(predicted_name.split()))Flaskで書いた簡単なコードと、HTMLファイルのコードです。Herokuからポート番号を取得するようにする。--log-file=-おわりにConclusion時間があればもっとちゃんとしたものを勉強して作ってみたいです。it.長々とお付き合い頂きありがとうございます。(current)47。