概要
今回は2022年2月15日(火)に行った「不動産・地理データの闇と技術的面白さ」のイベントの様子をお届けします!
不動産関係者やデータエンジニア、単に住所に詳しくなりたい人まで、様々な人にお越しいただいたイベントで、あり得ないような入力(闇)に対して技術や人間の力で立ち向かう話が楽しく行われました。
estieの田中陸モデレータの元、estieからは奥谷文徳、オープンコレクター(ケンオール)からは嶋内翔氏が登壇しました。
田中:技術的すぎる話にならないようにする司会者
奥谷:estieでビルデータを見ては綺麗にしている人
嶋内:オープンデータのCSVの汚さと戦っている人
estieの紹介
奥谷:estieとは、オフィス不動産をデジタル化する会社です。下の図のように「中央区」で検索すれば、物件数・竣工年別供給量・さらに細かい地域別の空室率などがワンクリックで分析できるサービスです。(もちろんこれだけではないので、詳しく知りたい方は最下部のリンクからお問い合わせください)
奥谷:こういった解析を正しく行えるようにするため、50以上の提携先などからデータをいただき、統合したデータベースを構築しています。
奥谷:しかしその「統合」はなかなか難しいです。
奥谷:入力者によってビル名や所在地の表記が異なります。でも上図のような入力は同一のビルだと処理しなければ、同じビルが何個もデータベースに載ってしまい、正しい解析ができなくなります。そこで「名寄せ」「正規化」が必要です。
奥谷:半角/全角、大文字/小文字、ビルディング/ビル/bldg.の名寄せは比較的簡単ですが、「ジョン」と「john」をコンピュータに同じだと認識してもらうにはどうすれば良いでしょうか。estieではここで、「形態素解析」という技術を使っています。
奥谷:形態素解析には「読み」や「代表表記」という名寄せに便利な機能があり、読み仮名や英語からカタカナ表記への変換などもある程度可能です。
奥谷:所在地に対しては、社内API「tsukimi」を使って正規化しています。入力された所在地が「東京都」の「文京区」の「1丁目」を意味するなど、自治体データを使って階層的に解釈します。「文京区」は東京都にしかないため、都道府県が書いてなくても東京都の文京区だと自動で補完します。
奥谷:また、「埼玉県文京区」や「東京都東京都」などのあり得ない入力は、可能な限り解釈した上で「粗すぎる」と警告して人間が処理すべきものだと判別しています。
奥谷:このようにそれぞれの入力を綺麗にしたら、様々な数学・プログラム・不動産・地理の知識を活かして総合的な類似度を計算します。例えば類似度が0.8以上なら同じビルとするなどで自動で同じビルを紐付けています。
奥谷:そして最も深い闇は、どうしても自動化できません。そこで人間(私)が一件一件確認しては紐付け・修正・追加・削除して仕上げを行います。データ上は似てない同じビル、データ上は似ている違うビルなどを地道に修正します。
奥谷:大部分は機械的に処理していますが、それでも仕上げの人力修正だけで41万件以上、奥谷が1年で修正しただけでも38万5千件行っています。
奥谷:今回はビルの名前と所在地だけでこれだけ話しましたが、緯度や経度、部屋の面積や天井の高さ、駅からの距離やビルの画像など、まだまだ様々な闇と格闘しています。
奥谷:更にビルだけでなく、市区町村や駅、ビルの貸主やテナントなどのデータベースも同様に闇や技術が満載なので、気になった方は是非ご連絡ください!
ケンオールの紹介
嶋内:ケンオールは、システム開発を加速させる高品質で安全なAPIサービスです。例えば、郵便番号から住所を検索するAPIを提供しています。
嶋内:オープンデータの時代となり、政府などから様々なデータが商用利用可能な形で公開されています。郵便番号と住所の対応もオープンデータとして提供されているのですが、実は活用が難しい。
嶋内:CSVデータとして公開されているが、模範的な構造となっていないためパースなしにデータベースに取り込むことは不可能です。
嶋内:例えば、郵便番号1つに対して複数の行が対応し、町名が途中で途切れる場合もあります。これはデータベースの文字数制限などで生じています。
嶋内:ケンオールでは、パースして格納することで正しい対応を実現しています。
嶋内:また、範囲指定で郵便番号が対応するように書かれる場合もあります。
嶋内:ケンオールではこれも正しく展開しています。
嶋内:他にも特殊な住所として、京都の「通り名」があります。同じ京都府京都市上京区に「栄町」が複数存在します。このような全く同じ町名は100個以上あり、郵便番号が違う場合もあります。
嶋内:ケンオールでは京都専用の通り名テーブルを作って対応しています。
嶋内:更に、ビルに対応した郵便番号もあります。しかも、どこまでが住所でどこからがビル名なのかがわかりません。東京にお住まいの方は晴海が地名だとわかるかも知れませんが、そういう地名を知らなければ判別ができません。
嶋内:なので、単に一行のデータを見るのではなく、前後のデータも見ることで正しくビル名の部分を分割して登録しています。
嶋内:95%の実装ならこのような細かい作業をしなくても実現できるんですが、本格的に解析したいときには99%、99.9%の精度があって初めて意味をなすことがあります。そういうときのために我々はデータのより高い精度を求めて日々奮闘しています。
嶋内:郵便番号はきれいにフォーマットされていますが、ユーザー入力の住所文字列を扱う場合には入力側の工夫も必要です。ケンオールでも独自の形態素解析用辞書を作成してラベリングしたり、自作解析パーサ・検索クエリを構築しています。
知恵と根性
最後にケンオールさんがうまくまとめてくれていたのでスライドを拝借して2人の発表をまとめますと「知恵と根性」でした。
オープンデータを含め、我々が取り扱うサービスには本当に様々なデータが入って来ます。既存のライブラリをうまく使うだけでなく、自分で開発する気概も必要です。知恵を出すためには10万件以上のデータでも人が見て異常値を見つける根性も必要で、郵便局や役所に電話してでも正しいデータを得る地道さも必要です。
田中:我々の生活に根付いている郵便番号にこんなにも色々な闇があるとは、かなり驚きの連続でした。
パネルディスカッション
今まで苦労したデータにはどんなのがありますか?
嶋内:「麹町l丁目ll番地2号」これ、何がおかしいかわかりますか? 実はこれ、1ではなく小文字のエルで「エル丁目エルエル番地2号」なんです。何でこんなの入ってるんだ?と思いますが登録されています。
嶋内:次に「東十二丁目第10地割20番地」でどこまでが「町」の名前かがわかりますか? これは「東十二丁目」という町の名前です。日本中の地名を追っていかなければこのような地名はカバーできないのが大変です。
奥谷:変な住所だと、ラテン文字の「A」を含む住所が大阪にあって、数字だけじゃないんだなと思いました。苦労したデータでは、動作確認のために追加するデータが「テストビル」だとわかりやすいのですが、「鈴木ビル」などのありそうなデータだと存在しない証明は難しいので大変です。
田中:存在しないデータとの戦いは嶋内さんにもありますか?
嶋内:過去に存在した住所は探しようがないので難しいですね。古い法人の住所が消滅していた場合、現在存在しない場所であると証明するのが難しいです。
奥谷:古い住所、合併前の住所が入ってきてしまうと現在の住所との対応が機械的にはほぼ不可能なので、地図を見てたぶんこれだろうと一件一件行う必要があって時間がかかっています。
自分しか知らない不動産・地理データの豆知識はなんですか?
嶋内:皆さんは当たり前のように住所を持っていますよね? でも、世界に目を向ければ、住所を持っていない人が40億人もいるんです。これは役所にも登録できず、公的サービスが受けられない問題にもつながるため、住所を付与するNPOが存在したりしています。そういう住所は我々の先人たちが明治時代から発展させてきた高度なシステムですということを是非覚えていってもらえたらなと思います。
田中:前職でインドで不動産投資の検討を行っていたんですが、インドでは「XX建物近く」や「XX通り近く」というのがあり、皆さんどうやってるのかと思っていましたが、日本の整備はありがたいものだったんですね…
嶋内:まさに先ほどのNPOはインドでよく活動して、仮の住所でもなんとか発行できないかと頑張っているものです。
田中:私の中で点と点がつながった印象です…
奥谷:実は日本にも住所がない場所もあるんですよね。銀座コリドー街などは区境の川を埋め立ててに建ったビルなので、住所がまだありません。
奥谷:更に、住所を検索しても場所がでてこないときがある。今オフィスは本郷7丁目3-1にありますが、もし地図で見つからなくても探しようがあります。丁目は皇居に近い順に放射状で、番は千鳥方式で、号は右回りだからこのあたり…と地図に直接書いてなくても場所を推定できる知識は、業務でも使えています。このあたりは各市町村がそれぞれ勝手に決めるので難しいですが…。
嶋内:住所の付け方はガイドラインがなくて本当にバラバラなんだなあと思います。
田中:東京大学に今オフィスがありますが、住所が全て本郷7丁目3-1なので建物名で区別できないため、住所だけでも伝えきれない情報がたくさんあるんだなと日々感じております。郵便番号もそういうのありますよね?
嶋内:高層ビルの郵便番号は階毎に郵便番号があります。下2桁が階に対応している場合もありますが、将来100階以上のビルができたら一体どうなってしまうのか凄く気になっています。
不動産共通IDに期待することは?
(不動産共通IDとは、不動産に付与されるマイナンバーのようなもので、国土交通省が2022年度からの運用を目指しているIDです。)
嶋内:住所が分割されたり統合されたりしたときにどんな番号になるのか…
嶋内:統合や分割はどうするのか。昔IDを振った土地に対して再度IDを振る場合には新しい番号を使うの? 新しい番号を振ったら同じとは何? 色々疑問がでてきます
奥谷:話を聞いていて、土地が飛び地になっている場合ではどうIDを振るのか疑問になりました。そもそも、「ビルが1棟」「不動産が1つ」ってなんだろう? 渡り廊下でつながっているツインタワービルのIDは1個であるべきか?とか、「ID1つに対応する単位」がきれいに定義されるとうれしいです。
嶋内:コンピュータのデジタルな世界だとIPアドレスという分割できない”住所”があります。一方で現実は、極端な話原子や分子レベルで境界がある世界を、人間が「ここまでは同じ物だ」と勝手に区切っているので、そのルール付けは本当に難しいなと思います。
Q&A
採用してみて良かった技術やフレームワークはありますか?
嶋内:とにかくユニットテストが役に立ってます。処理が難しい住所を新しく積み上げて、今まで見つけた変なデータが全部うまくいくことを確認し続けています。
奥谷:技術で言うと、半角全角などの簡単な処理が効果が大きいです。先ほどの形態素解析はアイデア面で面白いと思っています。
奥谷:あとestieにはmedamayakiという手動データ修正用の内製GUIツールがあります。いわゆる命令文などで生のデータを修正するのと違って、見やすく&安心して、validationをかけてもらいながら直せるため大量のデータを修正しても精神が疲弊しないので、大量のデータ修正が可能になっていると思います。
「仕事をしていて1番楽しいのはどんなときですか?」
奥谷:想像もしなかった入力データを見つけたときです。ビルデータに公園が入っていたり、日本のデータのはずがマレーシアのビルが混ざっていたり、賃料がマイナスのビルも見かけたことがあります。そういう想像もしなかった誤りを見つけたときは、「今これを知っているのは世界で自分だけかも知れない」と、学術的研究に近い楽しさを感じます。
嶋内:お客様に「日本のローカルの事情に本当に詳しくて信頼できるからケンオールを選びました」と言われたときです。日頃の地道な調査や改善がお客様の信頼に結びついてサービスを選んでいただけると、頑張ってさらにいいデータを作っていこうという気持ちが高まります。
さいごに宣伝
田中:絶賛採用中です。気になった方は是非こちらをご覧ください。
田中:また、estie proのサービスに興味がありましたら、estie pro(エスティ プロ)からお問い合わせください。
嶋内:今までは郵便番号→住所の変換だけでしたが、2月21日に郵便番号逆引き検索機能(住所→郵便番号)をリリースしました。
嶋内:また、会社以外に「番地の謎」「世界の住所の物語」という書籍がオススメなので是非読んでみてください。