見出し画像

単語の集約と削除単語リストの作成

前回のおさらい

看護記録システムのチェック式項目を選定していくために、過去の看護記録からよく使われるキーワードを見つける必要があります。前回は文章であるテキストデータから、単語ごとへの分割、分割された単語を品詞ごとに分類したことをお話しました。
今回はその続き、分類した品詞の中から、キーワードとして使用しないであろう単語の除外と、単語を品詞別にカウントしたことについて書いてみたいと思います。
①たくさんのテキストデータを集める
(1.5)用意したテキストデータを解析するその前の準備
②たくさんのテキストデータすべてをそれぞれ単語に分割する
③分割された単語の品詞を判別する
④品詞ごとにカテゴリ分けする
→⑤すべての列ごとの単語を結合する
→⑥使わなそうな単語を削除する

⑦単語を品詞別にカウントする
⑧単語を品詞別に多い順並び替える
⑨品詞別に何に関連した単語かを判別する
⑩すべての品詞で関連ごとに単語を整理する


⑤すべての列ごとの単語を集約する

図1:前回までの出力結果
図2:単語を結合

前回で単語を品詞別に分類しましたが(図1)、これは各行ごと(1行に1つの看護記録データ)に分類したものです。最終目標は全行を統合し、そこから頻出単語出すことなので、これから各品詞ごとにすべての行の単語をまとめていきます。

図2が各品詞ごとに単語をまとめプログラムなのですが、詳しく書くと
1. 最初に、空の文字列(full_m)を作成します。これは後で各「名詞」の要素を追加していくための箱です(動詞・形容詞の時も同様)。
2. 次に各行の「名詞」列の単語を取得し、それをfull_mに追加しています。これを1行目、2行目・・とどんどん繰り返して追加していきます。
3. こうすることで、full_mには各行の「名詞」の単語がすべて入っている状態となりました。



⑥使わなそうな単語を削除する

⑤ですべての行を統合した各品詞別の単語一覧を作ることができました。このあとは、単語一覧の中でそれぞれの単語をカウントし、最もよく使用されている単語から並べていきます。しかしここで問題があります。名詞の中には「※」や「それ」「中」など、単語単発だけでは何を意味しているのか分からない単語が多々ありました(動詞や形容詞もある同様)。頻出順に単語を出す前に、カウントしない単語をリストアップし、除外していきました。

図3:Excelで作成した削除リスト


図4:削除したい単語をリスト化

詳しく書くと
1. まずExcelファイルに、名詞・動詞・形容詞別に削除したい単語をリスト化していきました(図3)。名詞と動詞、形容詞で列を分けています。
2. Excelファイル(削除リスト.xlsx)を読み込み、読み込んだデータはremovelistという変数に入れました。
3. 次に、Excelファイルにある「名詞」、「動詞」、「形容詞」という列から、それぞれの要素をリストに変換します。リスト変換には、list関数を使用します。結果として得られるリストは、remove_m(名詞リスト)、remove_d(動詞リスト)、remove_k(形容詞リスト)という変数にそれぞれ代入しました。
4. print関数を使って、remove_mの内容(名詞リストに含まれる単語)を表示し、type関数を使って、remove_mのデータ型を確認しリスト型であることを確認しました。


あとがき

今回で看護記録に使用されていた単語の全部からカウントをする準備が整いました(全看護記録の統合、カウントしない単語の削除リスト作成)。次回は使われている単語の回数をカウントするところを書いていきたいと思います。

みなさんの「スキ」がとても励みになります。
本当にありがとうございます。
また良かったら次回もみてくれるとうれしいです。