[Python] 正規表現でHTMLからテキストだけ抽出する

あまり使う事はないのですが、たまにあれどうするんだっけと思うので記事にしておきます。

とりあえず何となく自分で書いてみたのが以下のようなコードなんですが、タグも取りきれてないし色々微妙で、正規表現面倒くさくて辛いです。

def strip_tag(url):
    resp = requests.get(url)
    texts = re.findall(r'<[^>]+?>(.+?)<\/[^>]+?>', resp.content)
    return " ".join(texts)

Continue reading “[Python] 正規表現でHTMLからテキストだけ抽出する”

英語で一番多く使われるアルファベットはなんだろう、という話

シャーロックホームズのシリーズに「踊る人形」という話があります。軽くネタバレすると、一見落書きに見える「棒人間」の羅列が実はアルファベットとマッピングされた暗号になっていて、ホームズはアルファベットの出現頻度から、この暗号を解読します。この暗号解読がキーになってホームズは事件を解決するという話です。

問題はその解読方法です。詳細は忘れましたが「E」が一番多くて、次が〇〇で・・・の様にアルファベットの出現頻度を次々に説明するホームズに対して、小学生だった僕はホンマかよ!証拠無いやん!ココまで来て適当な事言うな!とすっきりしませんでした。(ホームズよりルパンシリーズの方が好きだったので、ホームズに対して厳しかったのです。)

まぁそんな事は忘れていたんですが、最近nltkでコーパスにアクセスしてるうちに思い出しました。「フハハハ、忌々しいホームズめ!pythonとnltkを覚えた今、僕は20年前の無力なままではないのだ!貴様の思い込みを検証してやる!」と一人魔王をしながら検証コードを書いてみました。

Continue reading “英語で一番多く使われるアルファベットはなんだろう、という話”

入門自然言語処理の2章の演習

最近奥さんにそんな薄っぺらいアイデアじゃなくて、もっとちゃんとしたもの作れやと言われて涙目です。

確かにあれやこれやと、いろんな要素技術を薄く触るばっかりで、あれ、何がしたいんやったっけ状態でした。というわけで方向性等の整理を行いまして、積読本になってた入門自然言語処理を読み始める事にしました。1章はほぼPythonの練習なのでスキップで、2章からです。

Continue reading “入門自然言語処理の2章の演習”