Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テキスト筆者の性別推定において最適なアルゴリズムの提案

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for shou shou
November 16, 2017

 テキスト筆者の性別推定において最適なアルゴリズムの提案

Avatar for shou

shou

November 16, 2017

More Decks by shou

Other Decks in Technology

Transcript

  1. σʔλͷೖखઌ  7 ϝσΟΞΛൺֱ メディア 性別情報 抽出の⼤変さ 備考 Twitter ◦(外部サービス)

    易しい ブログ ◦(⼀部) 普通 筆者は⾃然な形で⽂書を書く 新聞 ☓ 普通 筆者はフォーマルな形式で⽂書を書く 雑誌 ☓ 難しい
  2. σʔλͷೖखઌ  8 ϒϩάαʔϏεΛൺֱ ブログ名 性別情報 備考 アメーバブログ ◦ 芸能⼈がよく利⽤している

    FC2ブログ ☓ はてなブログ ☓ Yahooブログ ◦ ランダムに記事を取得できる機能あり Seesaaブログ ☓ So-netブログ ☓ ライブドアブログ ☓
  3. :BIPPϒϩά͔ΒςΩετσʔλͷநग़  " ϥϯμϜʹϒϩάΛऔಘ͢Δ 10 ϥϯμϜϘλϯΛԡ͢ͱɺϥϯμϜͰهࣄΛऔಘ͢Δػೳ͕͋ͬͨɻ >>> import requests >>>

    url = "https://blogs.yahoo.co.jp/FRONT/randomblog.html" >>> r = requests.get(url) >>> redirected_url = r.url >>> print(redirected_url) https://blogs.yahoo.co.jp/yoshijiwada/49334213.html
  4. :BIPPϒϩά͔ΒςΩετσʔλͷநग़  11 #ϓϩϑΟʔϧ಺ͷੑผΛऔಘ ΫϥεʮVTFSDBSE@@EFTDʯͷλά಺ʹੑผ৘ใ͕͋ͬͨ <dd class="usercard__desc">女性 / 非公開</dd> soup

    = BeautifulSoup(blogHtml,"html5lib") genderText = soup.find(class_="usercard__desc").string gender = -1 if genderText.find("男性")!=-1: gender = 0 elif genderText.find("女性")!=-1: gender = 1 CMPHIUNM DPMMFDU@BDDPVOUQZ
  5. :BIPPϒϩά͔ΒςΩετσʔλͷநग़  12 $ΞΧ΢ϯτ໊ͷநग़ ϒϩά63-͔Βਖ਼نදݱΛ࢖ͬͯΞΧ΢ϯτ໊Λநग़͢Δ >>> import re >>> blogUrl

    = "https://blogs.yahoo.co.jp/iwainori/37230216.html" >>> account = re.sub(r"(https://blogs.yahoo.co.jp)/(¥w+)/(¥d+.html)",r"¥2",blogUrl) >>> print(account) iwainori
  6. :BIPPϒϩά͔ΒςΩετσʔλͷநग़  13 %ΞΧ΢ϯτ໊Λ࢖ͬͯɺهࣄςΩετΛநग़ ΫϥεʮFOUSZ5Eʯͷλά಺ʹϒϩάςΩετ͕͋Δ from bs4 import BeautifulSoup soup

    = BeautifulSoup(html,"html5lib") contents = soup.findAll(class_ = "entryTd").text blogText = "" for content in contents: # contentから改行、半角スペース、全角スペースを取り除く content = content.replace(u"¥n","").replace(u" ","").replace(u" ","") if(len(blogText)+len(content))>5000: # 文字数が5000を超えると、記事の取得をやめる break blogText = blogText + content
  7. ࢀߟจݙ <>lϚʔέοτ෼ੳͷͨΊͷ5XJUUFS౤ߘऀϓϩϑΟʔϧਪఆख๏z  ஑ా࿨࢙ ৘ใॲཧֶձ࿦จࢽ  7PM /P Q <>zϥϯμϜϑΥϨετʹΑΔஶऀͷੑผਪఆ

     ൜ࡑऀϓϩϑΝΠϦ ϯά࣮ݱʹ޲͚ͨݕ౼z ࡒ௡࿱ ۚ໌఩ ৘ใ஌ֶࣝձࢽ   7PM /P Q <>ZBIPPϒϩά͔ΒςΩετΛநग़͢ΔϓϩάϥϜ IUUQTHJUIVCDPNZPOFEBDPQBSTFZBIPPCMPH <>ʮϥϯμϜϑΥϨετʹΑΔஶऀͷੑผਪఆʯΛಡΜͩϝϞ IUUQCMPHZPOFEBDPSBOEPNGPSFTU 20