Web ページのダウンロード,単語に切り分け,形態素解析(Python, Mecab, BeautifulSoap を使用)

Python開発環境,ライブラリ類

ここでは、最低限の事前準備について説明する。機械学習や深層学習を行う場合は、NVIDIA CUDA、Visual Studio、Cursorなどを追加でインストールすると便利である。これらについては別ページ https://www.kkaneko.jp/cc/dev/aiassist.htmlで詳しく解説しているので、必要に応じて参照してください。

Python 3.12 のインストール

インストール済みの場合は実行不要。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。

REM Python をシステム領域にインストール
winget install --scope machine --id Python.Python.3.12 -e --silent
REM Python のパス設定
set "PYTHON_PATH=C:\Program Files\Python312"
set "PYTHON_SCRIPTS_PATH=C:\Program Files\Python312\Scripts"
echo "%PATH%" | find /i "%PYTHON_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_PATH%" /M >nul
echo "%PATH%" | find /i "%PYTHON_SCRIPTS_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_SCRIPTS_PATH%" /M >nul

関連する外部ページ

Python の公式ページ: https://www.python.org/

AI エディタ Windsurf のインストール

Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行して、Windsurfをシステム全体にインストールする。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

winget install --scope machine Codeium.Windsurf -e --silent

関連する外部ページ

Windsurf の公式ページ: https://windsurf.com/

必要なライブラリのインストール

コマンドプロンプトを管理者として実行(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する


pip install -U mecab-python3
pip install -U ipadic unidic-lite
pip install -U html5lib bs4

日本語文書からの単語の切り出し,品詞の判定

  1. Python プログラムの実行

    Python プログラムの実行

    Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利である.

    Python のまとめ: 別ページ »にまとめ

    日本語の文章から,単語を切り出し,品詞を自動判定する Python プログラム

    import sys
    import MeCab
    import unidic_lite
    m = MeCab.Tagger("")
    print(m.parse ("日本国民は、正当に選挙された国会における代表者を通じて行動し"))
    

Web ページのダウンロードと単語の切り出し

  1. Web ページのダウンロード

    URL を指定して,Web ページをダウンロード.そして,確認表示を行う Python プログラム.

    import urllib.request
    r =  urllib.request.urlopen('https://www.kkaneko.jp')
    html = r.read()
    print(html.decode())
    
  2. HTML タグの除去

    いまダウンロードした Web ページについて,BeautifulSoap を用いて,HTML タグを取り除く Python プログラム.テキストと JavaScript が残る.

    from bs4 import BeautifulSoup
    soup = BeautifulSoup(html,'html5lib')
    t = soup.get_text()
    print(t)
    
  3. プログラムの実行

    いまダウンロードした日本語の Web ページについて,MeCab を用いて,単語を切り出す Python プログラム

    import sys
    import MeCab
    import unidic_lite
    m = MeCab.Tagger("")
    a = m.parse(t)
    words = [i.split()[0] for i in a.splitlines()]
    print(words)