Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

自然言語処理

自民党総裁選候補者の主張から頻出単語を抽出し図示する

自民党総裁選候補者4人の主張から頻出単語を抽出して図示します。各候補者の主張からPythonの形態素解析ライブラリJanomeで名詞を抽出、出現頻度の高いものを各候補のキーワードとして図示します。

文章を与えて登場回数の多い文字(文字コード)ベスト10を返す(言語間の比較をする)

文章を与えて登場回数の多い文字(および文字コード)と登場回数を返します。言語ごとに頻出文字が異なるのであれば言語判定に用いことができます。日本語、韓国語、 中国語、英語、スペイン語、フランス語について各国語の文章を与えて分析します。 関連記事 …

文章の恐怖度合を定量化する(感情判定)

文章の感情判定を行います。ある感情(ここでは恐怖)を表現する単語が文章中にいくつあるかをカウントし、文章の文字数で割って定量化します。 準備 判定には感情を表現する単語のリスト・辞書が必要となります。そこで長岡技術科学大学 自然言語処理研究室の…

TF-IDFとコサイン類似度により文書の類似度を判定する

Pythonの機械学習ライブラリscikit-learnを使って文書の類似度を求めます。文書中に含まれる単語が「その文書内でどれくらい重要か」を表す尺度であるTF-IDFにより、すべての単語を次元とした文書ベクトルを作成します。文書ベクトル同士のコサイン類似度を…

word2vecでコパアメリカ 日本vsチリ戦の敗因を分析する

word2vecでコパアメリカ 日本vsチリ戦の敗因を分析します。word2vecは文章中の単語をベクトル化する技術で、関連する単語の抽出や単語同士の類似度を調べたり単語の線形計算ができるようになります。ベクトル化処理をするためには単語の区切りを示す必要があ…

文字列にアルファベットがそれぞれ何個含まれているか数える

文字列にアルファベットの小文字(a-z)と大文字(A-Z)がそれぞれ何個ずつ出現するか数えます。for文で文字コードを回して.count()メソッドにより出現回数をカウントします。 使ったメソッド .count() : 文字列の出現回数を求める 環境 windows10 home Anaconda…

Yahooニュース・アクセスランキングの見出しを取得し頻出単語を調べる

Yahooニュースのアクセスランキングページの見出しを取得し、出てくる名詞を出現回数順に表示し、何に関するニュースが興味を持たれているのかを調べます。 アクセスランキングページのスクレイピング→形態素解析し名詞のみ取得→出現が高い順に並べる→グラフ…

N-gramで文章の類似度を調べる

N-gramは文章の類似度を調べる方法の一つです。文章を隣り合う連続したN個の文字の集合に分解し、別の文章で同様に求めた文字の集合と一致するかを調べることで文書の類似度を求めます。Pythonのfor文で文書から2文字ずつ区切った文字のリストを作り、リスト…

Linear SVCによる言語判定 - 頻出単語を特徴量に使う

scikit-learnは機械学習用ライブラリで以下のアルゴリズムが使用できます。 classification(識別:教師あり学習) clustering(分類:教師なし学習) regression(回帰:教師あり学習) dimensionality reduction(次元削減,主成分分析:教師なし学習) cla…

word2vecにより単語をベクトル化し類似語検索をする

word2vecは文章中の単語をベクトル化する技術で、関連する単語の抽出や単語同士の類似度を調べたり単語の線形計算ができるようになります。ベクトル化処理をするためには単語の区切りを示す必要があるため、先に文章を分かち書きします。手順は以下の通りで…

Janomeで形態素解析して形態素を登場回数順に並べる

日本語の形態素解析ライブラリJanomeにより形態素解析し、形態素を登場回数順に表示します。 関連記事 - 形態素解析ライブラリJanomeで分かち書きをする 環境 windows10 home Anaconda 3/ jupyter notebook 5.6.0 Python 3.7.0 Janome 0.3.8 コード 用いた文…

形態素解析ライブラリJanomeで分かち書きをする

Janomeは形態素解析ライブラリで、日本語の形態素解析が可能です。形態素解析とは文章を最小単位に分け品詞や活用形の分類をすることです。例えば以下のようになります。 今日はいい天気です →今日(名詞) / は(助詞) / いい(形容詞) / 天気(名詞) / です(助…

文字列を置換し会話を関西風に変える

小説の一部が保存されているテキストファイルを読み出し、特定の文字列を置換することで関西風(?)に変換します。また正規表現を用いた置換も行います。 やること テキストファイルを読み出し、文字列として変数に代入 特定の文字列を別の文字列に置換する 使…

Yahoo!知恵袋の閲覧数ランキングベスト20の質問を取得して'令和'が何個含まれるか調べる

今日、新しい元号'令和'が発表されました。ネットでもこの話題で持ちきりです。ここではYahoo!知恵袋の閲覧数ランキングベスト20のページをスクレイピングして、そこに載っている20個の質問文の中に、'令和'がいくつ含まれているかを数えます。 使った関数 r…