人工知能スタートアップ取締役 橋崎良哉のブログ(はてな)

人工知能スタートアップ エッジコンサルティング株式会社 橋崎のブログ(http://yoshiyah.com/)のはてな版(コピー)です。

Pythonスクレイピング(Beautiful Soup)+XPathでテキスト文指定でリンク先URLを取得

先日来から訓練中のスクレイピングですが、
以下のことがなかなかできなかったのですが、
出来たので記事に。

・テーブル構造でテキストとリンク先URLのセットでスクレイピングしたい(pandasのDataFrameを利用)
・同じテーブル内で複数のa hrefがあり、かつ名前が付与されておらずタグのみで正規表現でもとりにくく、識別しにくい、けど取得したいリンク先URLがだった
→テキスト文章を指定してそのリンク先という指定でとってきたら良さそうだったのでXPathを使うことに
(DataFrameは行数が揃わないとエラーが返ってくるので不要なデータを省いて確実にとりたい)
・Beautiful SoupはXPath使えないけど、lxmlを使えば出来た

【参考にさせていただいたサイト】
http://gci.t.u-tokyo.ac.jp/tutorial/crawling/
http://www.slideshare.net/tushuhei/python-xpath
http://qiita.com/tamonoki/items/a341657a86ff7a945224

scraping.py
#coding: utf-8
from bs4 import BeautifulSoup
import urllib2
import pandas as pd
import time
import lxml.html

aaa = []
bbb = []

for page in range(1,2):
    url = "http://www.~~~" + str(page)
    html = urllib2.urlopen(url)
    html2 = urllib2.urlopen(url)
    soup = BeautifulSoup(html, "lxml")
    dom = lxml.html.fromstring(html2.read())

    for o1 in soup.findAll("td", class_="xx"):
        aaa.append(o1.string)

    for o2 in dom.xpath(u"//a[text()='xxx']/@href"): #xxxの部分をテキスト指定でhrefを取得
        bbb.append(o2)

    time.sleep(2)

df = pd.DataFrame({"aaa":aaa, "bbb":bbb})
print(df)
df.to_csv("xxxx.csv", index=False, encoding='utf-8')

簡単ですが、今日は以上です。

【プログラミング】Pythonで色々 スクレイピング(Beautiful Soup+Selenium+PhantomJS)とか形態素解析

かれこれ、平日夜と週末とでPythonプログラミング歴3ヶ月くらいになってきたわけですが、

楽しく引き続きやっています。

 

最近やったことは、

1,形態素解析

・データをMecabに放り込んで、名詞のみで絞り込んで頻度算出、その後ユーザー辞書追加して再度やってみるという流れを掴んでおきたかったのでちょっとやってみた

・すぐに出来たので特に内容は記載しません。。。

 

2,スクレイピング

・テキストや画像など、本当にスクレイピングは関係することが多いので、ある程度勉強したいなと思い書籍から入ってみた

https://www.amazon.co.jp/dp/4873117615

・まずはPython+Beautiful Soupで単ページで構造が分かりやすいものはさくっととれるということがよく分かった

・次いで、JSで出来た生成されてるサイトは上記組み合わせでは難しく、PhantomJS、CasperJSってのがあってJSで書いてスクレイピングすることで、これまたさくっととれるということが分かった

・最後、それら組み合わせ+SeleniumPythonでもJSのwebサイトからスクレイピングできることが分かった

・とりあえず最後PandasのDataframeでcsv化しようとした時に、UnicodeEncodeErrorが出続けてどうしようかはまりまくったけど、Dataframeでcsv化するところにencodeの指定を入れて解決というなんだかなという結末で、とりあえずやりたいことが実現出来た

 

【めちゃ参考にさせていただいたサイト】

http://qiita.com/okadate/items/7b9620a5e64b4e906c42

 

 単に参考にさせていただいたサイトのソースをコピペで組み合わせさせていただいてるだけですが、以下のようなソースでやりました。。。

 

scraping.py
import lxml.html
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
import time

aaa = []
bbb = []
ccc = []

for page in range(1,2): # ページの上限は適宜設定
    driver = webdriver.PhantomJS()
    driver.get("https://www.~~=page=" + str(page))
    data = driver.page_source.encode('utf-8')
    soup = BeautifulSoup(data, "lxml")

    for o in soup.findAll("h3", class_="hoge"):# よく見かけるけど、なんでみんなhogeってするんだろう?
        aaa.append(o.string)

    for o1 in soup.findAll("h3", class_="hoge"):# なんでhoge
        bbb.append(o1.string)

    for o2 in soup.findAll("div", class_="hoge"):# なん...?
        ccc.append(o2.get_text())
    time.sleep(3)

df = pd.DataFrame({"aaa":aaa, "bbb":bbb, "ccc":ccc})

print(df)
df.to_csv("hogehoge.csv", index=False, encoding='utf-8')

driver.quit()

 

よく分からず書いてるところ多々ありますが、とりあえず動いた。

 

引き続き勉強していきます。

【考え方】経営理念/哲学の情報発信について

今日は事業アイデアではなく、最近すごーく感じることを記事にしてみたい。

 

最近感じること

一時の勢いと比べて陰りが見え始めているものの、

上場、資金調達、Exit等の話題でスタートアップ界隈は変わらず賑わっている。

それそのものはもちろん素晴らしいことだろうけれど、

でも最近思うことは、『最終何を実現したいの?何のための会社だっけ?』

みたいな経営理念の部分において、

具体的ではなく、抽象度高く、『自分たちはこういうことのために存在するのだ』、

ということを社会へ発信しているスタートアップってどれだけあるんだろうということ。

 

※理念の具体度、抽象度の話は、以下の話がまあよく聞く話かなと思うので参考に貼り付け。

1番目のレンガ職人:「レンガ積みに決まっているだろ」→特に目的なし
2番目のレンガ職人:「この仕事のおかげで俺は家族を養っていける」→生活費を稼ぐのが目的
3番目のレンガ職人:「歴史に残る偉大な大聖堂を造っている」→後世に残る事業に加わり、世の中に貢献することが目的

出所:http://www.engagement-forum.com/im-building-a-cathedral-the-role-of-purpose-in-motivation

 

抽象度の話で言うと、『○○で社会を変える』とか『○○サービスによってこういう価値を提供する』、

っていうのは経営理念ではなく、ビジョンレベルの抽象度であって、

もっと抽象度高く、社会を変えたい/社会をこうしたい、で、『それは何故?』という

サービス内容やテクノロジー、ビジネスドメインに依らない、普遍的な部分こそが経営理念であって、

その理念が真に迫るものとして組織に伝えられる起業家の哲学や原体験というストーリーが裏側にあって、

その企業の理念、存在意義となると思っているのだと思うけれど、

そういった部分の発言がインタビューだったり、

ソーシャルの中であまり見かけないなーと、感じるわけです。

 

グーグルトレンドとかで関係用語を引っ張ってくると、以下のような状態で。

 

 

グラフ見てみると、減少傾向?

少なくとも上がってないし、ブレ幅も少なく、うーんな感じですよね。

 

自分はちょっと長く大学にいたので、06卒として就活をしていて、

なんかその時も今のようなベンチャーブームだったけど、

その時は社会的な意義、会社の存在意義について、

起業家は熱っぽく、社会に対して発信してたような気がするなーという感覚がある。

実際は分からんけど。

 

グーグルトレンドを見ると、市場から求められる機会が減っている?かもなので、

発信側も発信しない、メディアもテーマとして取り扱わない、

ということももしかしたらあるのかもしれないけど、

社会の公器であるはずの企業が、深い目的の発信なく、

ただただレベル99を目指して、ひたすら経験値を積むだけの箱のように見えてしまうのはとても寂しい話。

 

きっと起業家の中にはビジョンレベルに留まらない深いところを考察していて、

社会へのメッセージを持っている人も多くいると思うので、

そういうところを取り上げて、今のスタートアップ熱の方向が

レベル上げに終始する方向に行かないよう、

情報発信される機会が増えたら嬉しいのになと思う次第。

 

経営理念と業績の関係

経営理念と業績の関係について、いちお触れておく。

以下は理念の浸透度合いとパフォーマンスとの関係を見た図になるが、

まあパフォーマンスのところが自己申告なので客観的なものではないのと、

ビジョンと理念との違い(何を言っているか)という違いまではこの図では説明できるわけではないけれど、

理念と業績には一定の関係はありそうだ、という図。

※有名な『ビジョナリー・カンパニー』等、組織の持つ理念とパフォーマンスとの関係を論じた書籍や論文は多数あるので、

興味がある方は参照されたい。

 

1 2

出所:JTBモチベーションズ(2012)「「企業理念の浸透と社員のパフォーマンス」に関する調査」

http://www.jtbm.jp/wordpress/wp-content/uploads/2012/09/kigyorinen.pdf

http://exec2.busipla.net/column/jtbm/30_1.html

 

 

簡単ではあるけど、今日は以上です。

また改めて社会貢献についてとか理念の部分についても記事にしてみたい。

【新規事業/取り組みアイデア】不動産業界×人工知能(自然言語処理、テキスト分類、文章合成)

元ブログを更新しましたので、こちらも更新。

 

yoshiyah.com

 

------------------------------------------------------

 

今日は、不動産業界×人工知能自然言語処理、テキスト分類、文章合成)です。

■なんで新規アイデア考えてるの?
新規アイデア作成のためのシートの公開もしています

■アイデア生成シートwebアプリ

https://herokucards.herokuapp.com/cardsapp/template/

-----------------------------------------------------

【市場整理】

まずは市場規模から。

財務省の法人企業統計調査(調査対象企業数2,823,889社)によると、

2015年度の売上高は、6.5%増の39兆3,835億円となっており、非常に巨大な市場であることが分かる。

 

不動産業の売上高(市場規模)推移

%e3%82%ad%e3%83%a3%e3%83%97%e3%83%81%e3%83%a3

出所 :財務省(2016)「年次別法人企業統計調査 平成27年度」

http://www.mof.go.jp/pri/reference/ssc/results/h27.pdf

 

一口に不動産といっても市場が巨大過ぎるが、今回もアイデアありきの記事なので、

イデアに関係したものとして賃貸住宅市場を簡単に見ていきたい。

 

大東建託さんの資料がまとまっていたので、引用を。

賃貸住宅は、国内住宅数の約4割の規模となっており、また人口は減っているものの、独身勤労者、一人住まいの高齢者等多様な世帯が生まれており、世帯数そのものは伸びる予測である状況とのこと。

世帯数が増える状況の中で、賃貸住宅そのものは築年数の関係から滅失していくことから、約35万戸の賃貸住宅の新規供給が必要と想定されているようだ。

 

国内住宅着工戸数(2014年度)は88万戸で、うち、賃貸住宅着工戸数は35.8万戸(比率:40.7%)です。また、国内住宅ストック数(2013年)は5,210万戸で、うち、賃貸住宅ストック数は1,850万戸(比率:35.5%)です。
国内住宅市場において、賃貸住宅戸数は約4割の規模を有しています。

住宅着工戸数(2014年) / 住宅ストック数(2013年)

国内人口は2010年をピークに、その後減少を続けています。一方、世帯数は世帯分割による独身勤労者や独り住まいの高齢者の増加を背景に、2020年まで増加し続け、その後はほぼ横ばいで推移すると考えられています。

より長期のトレンドでは緩やかな減少傾向と予測されています。

今後の人口・世帯予測

2035年の国内賃貸住宅世帯数は1,815万戸であると見込まれます。建物の老朽化などにより2013年から2035年までに約783万戸の既存賃貸住宅が滅失すると推測され、年間、約35万戸の賃貸住宅の新規供給が必要と想定されます。

賃貸住宅の滅失と、今後必要な賃貸住宅の新規供給個戸数の推移

出所 :大東建託「賃貸住宅の市場環境」

http://www.kentaku.co.jp/corporate/ir/market.html

 

一方、賃貸マンションを探す生活者のアンケートを見てみると、

リクルート住まいカンパニーの調査によると、引っ越し先の物件選びでは、

家賃に次いで間取りや最寄駅からの徒歩分数、面積・広さ、路線・駅やエリア、

立地・周辺環境、通勤・通学時間といった要素が並んでいる。

 

引越し先の物件選びで重視するポイントランキング(複数回答)

1位:家賃・価格 91.5%
2位:間取り 82.0%
3位:最寄駅からの徒歩分数 76.0%
3位:面積・広さ 76.0%
5位:路線・駅やエリア 74.5%
6位:立地・周辺環境 74.0%
7位:通勤・通学時間 72.0%
8位:築年数(新築含む)59.5%
9位:住戸の向き・方角 59.0%
10位:設備・仕様 58.5%

出所:リクルート住まいカンパニー(2015)「SUUMO調べ、物件選びで重視するポイント2位「間取り」・1位は?」

http://suumo.jp/journal/2015/07/30/94861/

 

こういった要素がある中で、実際にポータルサイトで賃貸マンションを探そうと思った時、

個人的なユーザー感覚として、価格や場所、広さ、間取り(1DKとか2LDKといった文字情報で)、

といった要素では検索はしやすいものの、

価格はいいけど間取りがダメ、間取りはいいけど場所がダメ、

みたいなケースにおいて、単に間取りの文字情報だけじゃなく、部屋ごとの位置関係とか、

1室当たりの広さとか、そのあたりも含めて検索が出来ないのは不満だなーと感じることが多かった。

 

一方で、webサイトUIの代替として各社チャットボットで不動産や求人などの検索条件を返すサービスは出てきているものの、

結局検索して探すポータル系サイトと何が違うの?というのが各社なかなか見出せていない状況だと感じている

人工知能ではなく人間ルールでやってるところがまだほとんどだと思うので、精度が悪ければ何度もボットに他の候補を提示させることになるので、むしろ検索サイトの方がさくさく候補見れて良くないか?とさえ思う)

 

以上を踏まえ、今日のアイデア

 

【ターゲット】

・間取りを重視(文字情報の意味ではなく、位置関係とか1室あたりの広さとか)しつつ、それ以外の要件を組み合わせてさくっと検索をしたいと思っている賃貸マンションを探している生活者

【対象企業】

・不動産企業や不動産テック企業

【アイデア内容】

・画像情報も含めた自動回答(レコメンド)ができるチャットボット

【ビジネス詳細】

・文字情報だけではなく、画像情報を用いてレコメンド可能とするボット

・気に入った間取り画像をチャットボットに投稿しつつ、諸条件(家賃、場所、徒歩分数、面積)を入力する

botの裏側で類似画像の検索が行われ、類似画像の物件でかつ上記諸条件に合致した物件を結果としてボットで返す

・また別機能として、間取りの認識(1DK?1K?、この部屋の面積どれくらい?等)の仕方がよく分からない人向けには、間取り画像をアップロードし、以下のようなアルゴリズムを使うと、もしかしたら検索条件をどう打ち込めばよいかの助けにもなるかもしれない

以下は、VQA(Visual Question Answering)というものでディープラーニングを用いた学習後のアルゴリズムに対して、画像に関する質問を投げると、回答が文章で返ってくるというもの

以下の例では、「口ひげは何で作られてる?」と質問すると→「バナナ」と回答が返る

(引用元ではソースコードも公開されている)

Deep Learning for Visual Question Answering

Image from visualqa.org

Visual QA

Teaser

出所 : https://avisingh599.github.io/deeplearning/visual-qa/

http://visualqa.org/index.html

ソース : https://github.com/avisingh599/visual-qa

【効用/解決する課題】

・生活者にとって:検索作業のめんどくささの解消

・不動産会社にとって:不動産ページ閲覧の新たな流入/回遊

アルゴリズム

ディープラーニング、LSTM

【その他所感等】

・そもそも間取りのような微細な画像をどこまで認識ができ、精度高く類似の間取り画像を抽出出来るか不明でネックになりそう

-----------------------------------------------------

今日は以上です。

※30分~1時間程度での思考訓練のための記事ですので、厳密性にはこだわっていません。

 

【弊社PR】

人工知能エンジニア、データサイエンティストのご登録は以下より(弊社運営案件情報サイト)

http://bigdata-navi.com/

人工知能実装、データ解析のご依頼は以下より(弊社HP)

http://www.edge-consulting.jp/

【新規事業/取り組みアイデア】外食業界×人工知能(音声認識、音声合成)

毎回書いてますが、、、このブログは、以下のブログを転載して運用してます。

http://yoshiyah.com/

 

今日は、外食業界×人工知能音声認識音声合成)です。

 

■なんで新規アイデア考えてるの?
新規アイデア作成のためのシートの公開もしています

■アイデア生成シートwebアプリ

https://herokucards.herokuapp.com/cardsapp/template/

 

では以下今日のアイデアです。

-----------------------------------------------------

【市場整理】

まずは市場規模から。

日本フードサービス協会の調査によると、料理品小売業を含まない外食産業の市場規模は、2.2%増加の25兆1,816億円の市場規模となっており、非常に巨大な市場であることが分かる。

25兆円の内訳としては、食堂、レストランが半分近くの9.6兆円であり、次いでドンと下がって、宿泊施設の食事で2.8兆円、バー・キャバレーやナイトクラブで2.6兆円となっている。前年比率では、5.8%のそば・うどん店が最も成長しており、宿泊施設で4.6%成長、喫茶店が3.2%成長となっている。

平成 27 年の外食産業市場規模は、年初に異物混入問題の影響があったものの、その後
比較的堅調に推移し、1 人当たり外食支出額の増加、訪日外国人の増加、法人交際費の増
加傾向などにより、前年比 2.2%増加し、25 兆 1,816 億円と推計される。

%e3%82%ad%e3%83%a3%e3%83%97%e3%83%81%e3%83%a3

出所 :一般社団法人日本フードサービス協会(2016)「平成 27 年外食産業市場規模推計について」

http://anan-zaidan.or.jp/data/2016-1-1.pdf

続きを読む

【新規事業/取り組みアイデア】観光業界×人工知能(画像認識、画像合成)

最近は自社サービスのプロトタイプ販売を開始し、忙しくも楽しい毎日です。

解決したいと考えていた課題を抱えている会社様にとっては、弊社サービスを気に入ってくださり即導入いただけることが多く、非常に感謝の毎日ですが、一方で、正式リリースに向けて、品質、機能等、プロダクトを磨いていかなければと思う日々です。

さて、今日は、久々のアイデアの投稿となりましたが、観光業界×人工知能(画像認識、画像合成)というテーマです。

■なんで新規アイデア考えてるの?
新規アイデア作成のためのシートの公開もしています

■アイデア生成シートwebアプリ

https://herokucards.herokuapp.com/cardsapp/template/

 

では以下今日のアイデアです。

-----------------------------------------------------

【市場整理】

まずは市場規模から。観光業界については、以前に一度出たテーマなので、市場規模等は以下の記事にまとめている。

2013年の観光庁の調査によると、23.6兆円の市場規模となっており、

うち、国内宿泊旅行は15.8兆円、国内日帰り旅行は4.8兆円、海外旅行は1.4兆円、訪日外国人旅行は1.7兆円となっている。

 

弊社が先月出させていただいた新しい取り組みについても訪日外国人を対象にしたものだが、

 

本記事でも訪日外国人を対象に考えてみたい。

 

観光庁が定期的に調査をしている、訪日外国人の消費動向の調査を見てみると、

直近のデータは今年の4-6月期のデータである。

旅行の情報源として、出発前に得た旅行情報源としては大きく他を引き離して個人のブログが高く、

次いで日本政府観光局ホームページ、自国の親族・知人となっている。

また日本滞在中ではスマホが圧倒的な比率で情報源でなっていることが分かる。

直近のデータを見ると上記のことになるが、同時期における過去2年分のものもあわせて見てみてみると、

多少様子が変わってくる。

 

平成28年度

1

出所:観光庁(2016)「訪日外国人の消費動向 平成28年4-6月期」

http://www.mlit.go.jp/common/001139309.pdf

 

平成26年を見てみると、情報源としてSNSはわずか6.8%だったものが、

平成27年より13%となり、またこの年より口コミサイトという項目も増え、

平成28年にその比率が伸長しているのだということが分かる。

ブログや日本政府観光局ホームページ、自国の親族・知人の口コミは3年間ともに高いままではあるものの、

情報源が多様化しつつ、またやはりネットにおけるユーザー記載の情報を参考にする比率が高まっているだろうことが見てとれる。

 

平成27年度

2

出所:http://www.mlit.go.jp/common/001098936.pdf

 

平成26年度

3

 

出所:http://www.mlit.go.jp/common/001049363.pdf

 

 

SNSで近年ユーザーを拡大しているものの1つにInstagramがあるが、

以下のような記事を見てみると、特にデータがあるわけではないものの、

ハッシュタグ #tokyotrip といったもので検索をし、写真を見て観光地を選んでいるといった記載もあるようだ。

 

 

 

決め打ちではあるが、以上を踏まえ、今日のアイデア

 

【ターゲット】

・訪日外国人旅行者

【対象企業】

・観光ポータル系企業

【アイデア内容】

・訪日外国人向け、観光地写真レコメンドアプリ

【ビジネス詳細】

・写真のレコメンドが出来るように、

instagramの写真及びハッシュタグスクレイピング→写真のラベルを獲得→ディープラーニングして学習済みに

instagramの写真のいいね!とユーザー名をスクレイピング→ユーザー別で何にいいね!したかDBに保有して→「いいね!」を特定の画像群にしているというクラスタ分けが可能

・アプリのユーザーは自分が観光していていいと思った写真を当該アプリにアップロード→アップロードされた画像を自動分類し、当該分類の画像にいいね!しているクラスタの人たちが他にいいね!している画像ラベルと同様のラベルのものを観光ポータル系サイトからスクレイピングしておき、それをレコメンドとしてアプリに表示(instagramの写真を使うのはさすがにまずそうなので)→レコメンドされた写真に対して、いいね!なら右にスワイプ、ダメなら左にスワイプ、みたいな形で教師データ作りにも利用

・文字情報ではなく、キレイな写真で興味関心に近いものをさくさく選択して、楽しみながら未知の観光地に出会えるような作りに

・マネタイズは、広告モデルか、ポータルへの送客課金モデルか要検討かな

【効用/解決する課題】

・訪日外国人にとって:未知の観光地に出会える

アルゴリズム

ディープラーニングクラスター分析(+因子分析)、協調フィルタリングhttp://d.hatena.ne.jp/EulerDijkstra/20130407/1365349866)等

------------------------------------------------------

今日は以上です。

※30分~1時間程度での思考訓練のための記事ですので、厳密性にはこだわっていません。

 

【弊社PR】

人工知能エンジニア、データサイエンティストのご登録は以下より(弊社運営案件情報サイト)

http://bigdata-navi.com/

人工知能実装、データ解析のご依頼は以下より(弊社HP)

http://www.edge-consulting.jp/

【プログラミング】HighchartsとData Tablesを使ってみた

本ブログは、以下の元となっているブログをコピーして若干修正しながら、運用しています。

 

人工知能スタートアップ取締役 橋崎良哉のブログ
http://yoshiyah.com/

 

以下転載

 ------------------------------------------------------

 

引き続きプログラミングをやっています。

 

プログラミングに関しての前回の記事はこちら。  

yoshiyah.com

 

で、今開発を進めているのが、以下のサイトです。

https://herokucards.herokuapp.com/cardsapp/template/

 

自分のブログに関係させた機能を随時追加していっています。

続きを読む