タグ

ブックマーク / zenn.dev/robes (5)

  • 【自然言語処理】【Python】共起ネットワークの作り方を理解する

    はじめに 自然言語処理をはじめたら、一度は作ってみたいのが共起ネットワークではないかと思います。 私自身、共起ネットワークについては、書籍やネット記事を参考にしながら、これまで何度も作ってきました。 しかしながら、文章→共起行列→共起ネットワークとなる一連の過程において、特に共起行列を作成するコードの理解が十分ではないと思い至り、今回、勉強もかねて、共起行列の作成過程を残すことにしました。 共起ネットワークに興味を持たれている方の参考になればと思います。 共起ネットワーク 単語どおしのつながりを可視化してくれる手法で、文章の構造的な特徴を直感的に理解するのによく利用されます。 文書(text)を文章(sentence)に分割したのち、同一文章中に同時に出現する単語(word)の組みを数えあげることで共起行列を作成し、これをネットワークで可視化します。 ネットワークはノード(丸) と、ノード

    【自然言語処理】【Python】共起ネットワークの作り方を理解する
    misshiki
    misshiki 2022/09/12
    “共起ネットワーク 単語どおしのつながりを可視化してくれる手法で、文章の構造的な特徴を直感的に理解するのによく利用されます。”
  • 【自然言語処理】Doc2Vecで文章ベクトルを算出し、類似文書検索をやってみた

    はじめに 以前、BERTを使って歌詞の文章ベクトルを算出し可視化する試みを行いました。BERTは優秀なんですが、入力できるトークン数が512に限られるため、長い文章のベクトル算出には向いていないんですよね。 今回は、上場企業約2,500社が有価証券報告書で書いている割と長文の文章について、Doc2Vecを使って文章ベクトルを算出し、あわせて、文章ベクトルから類似文書を検索してみました。 個人的には、BERTよりもDoc2Vecの方が納得感のいく結果を出している気がしています。 ここでは、文章ベクトルの算出方法・類似文書検索方法について、お伝えしていきたいと思います。 文章ベクトルのイメージ ①野球を観戦した ②サッカーの試合を見た ③犬の散歩にでかけた の3つの文章を2次元のベクトルに変換することを考えてみましょう。 文章の内容を考えると①と②が近く、③が少し離れているイメージですね。 こ

    【自然言語処理】Doc2Vecで文章ベクトルを算出し、類似文書検索をやってみた
  • 【自然言語処理】【Python】有価証券報告書の非財務情報(テキストデータ)を取得する

    0. はじめに 上場企業が作成する有価証券報告書には、企業の経営成績がどうなっているのか?といった財務情報に加え、企業として何を課題と捉えどう取り組んでいくのか?といった非財務情報の記載があります。 最近は、気候変動リスクや人権問題への対応など企業の社会的責任の遂行に注目が集まる中、機関投資家が企業を評価する目線も、短期的な視点である財務情報から、中長期的な視点である非財務情報にうつりつつあります。 これからの時代、財務情報(数値データ)ではなく、非財務情報(テキストデータ)の分析ニーズが高まることが予想されます。こうした点も踏まえ、まことに僭越ながら、Pythonを使って有価証券報告書の非財務情報を取得する方法について、記載したいと思います。 具体的には、上場企業約2,500社分の有価証券報告書の 【経営方針、経営環境および対処すべき課題等】と【事業等のリスク】 を取得していきたいと思い

    【自然言語処理】【Python】有価証券報告書の非財務情報(テキストデータ)を取得する
    misshiki
    misshiki 2022/09/05
    “上場企業約2,500社分の有価証券報告書の 【経営方針、経営環境および対処すべき課題等】と【事業等のリスク】 を取得していきたいと思います。有価証券報告書は電子閲覧サイトEDINETから取得”
  • 【自然言語処理】Python初心者でも文章要約タスクが実装できた

    はじめに わたくし、Python歴1年の初心者ですが、このたび、苦労に苦労を重ねて、自然言語処理タスクの文章要約を実装できました。 自然言語処理に興味のあるPython初心者のお役に立てればと、記事に残したいと思います。 実装にあたっては、ネットの記事も手あたり次第調べましたが、最終的には、以下のが大変参考になりました。 ただし、バージョンの変更により、このの通りに実装しても、2022年8月時点ではエラーになる箇所があります。出版社経由で著者の方にお聞きして一部コードを修正したほか、自分なりに工夫をして実装しました。 モデルについて Huggingface社が提供している深層学習フレームワークのTransformersを使います。 transformersにはBERTをはじめとするさまざまな言語モデルが実装されていますが、今回のタスクでは、T5というモデルをファインチューニングして使い

    【自然言語処理】Python初心者でも文章要約タスクが実装できた
  • 【自然言語処理】BERTを使って歌詞をベクトルに変換し可視化する

    自然言語処理モデルの王様と言われるBERTを使って、文章をベクトルに変換し可視化しましたので、それらのタスクについて示したいと思います。 これは 「BERTによる自然言語処理入門」 を参考にしたものですが、では、livedoorのニュースコーパスが用いられていました。 ここでは、文章コーパスとして、女性シンガー(後述)の歌詞を使ってみたいと思います。 ライブラリーのインストール BERTが格納されているtransformersのほか、matplotlibで日語を可視化するためにjapanize_matplotlibもインストールしておきます !pip install transformers==4.18.0 fugashi==1.1.0 ipadic==1.0.0 !pip install japanize_matplotlib import pandas as pd import n

    【自然言語処理】BERTを使って歌詞をベクトルに変換し可視化する
    misshiki
    misshiki 2022/08/16
    “「BERTによる自然言語処理入門」 を参考にし...、文章コーパスとして、女性シンガー(後述)の歌詞を使ってみたいと思います。”
  • 1