2021年8月30日月曜日

KH Coderでmecab-ipadic-NEologdを使う

フリーソフトウェアであるKHコーダー(KH Coder)を用いてテキストマイニングを行うことになった。

対象は、アンケート結果やネット上の口コミ。

日本語のテキストマイニングを行う場合、形態素解析エンジンが必要となる。

有名なのはMecabやChasenだが、KH Coderではこの二つが既に入っているので新たに用意する必要は無い。

しかし、単語分かち書き辞書であるmecab-ipadic-NEologdを使用すると、ニュース記事等で使われる新語や固有名詞や未知語、またはネット上で流行した単語や慣用句やハッシュタグを固有の単語として分かち書きすることが出来る。

mecab-ipadic-NEologdはWeb上の言語資源を活用して、随時新しい固有表現を追加し毎週2回以上更新されている優れものだ。

例えば「鬼滅の刃」を通常のMecab(MeCab + IPADIC )で形態素解すると、「鬼」「滅」「の」「刃」とそれぞれ名詞や助詞に分かち書きされるが、Mecab + mecab-ipadic-NEologdでは「鬼滅の刃」と固有名詞で分かち書きされる(IPADIC は形態素解析をする際にMecabで使われている標準の辞書名)。

アンケート結果やネット上の口コミは、新語や固有表現が多く混入しているテキストデータになることが多いため、mecab-ipadic-NEologdを用いることは有効であろうと思われる。

ただし、mecab-ipadic-NEologdはLinux環境でしか作成できないらしい。

何とかWindows環境で使用する方法はないだろうか。

調べてみると、Linux用Windowsサブシステム (WSL) を使ってWindowsにLinux環境を構築し、その中でmecab-ipadic-NEologdをインストールして取り出す方法や、git for Windowsと7-zipを用いる方法などがあることが分った。この他にAnacondaの環境でもインストール出来るようだ。

しかしそれぞれ、WSLで必要なパッケージをインストールしたり(そのあとUbuntuもインストールする必要有り)、git for WindowsやAnacondaをインストール必要がある(場合によってはインストール後に設定も必要となる)。

今回の目的はmecab-ipadic-NEologdを作成し取り出すだけなので出来るだけ簡単に行いたいし、それ以後使わないパッケージ等は可能であれば自分のPCにはインストールしたくない。

何か良い方法は無いかと考えていたがふとGoogole Colaboratory(以下 Colab)が、Linux(正確にはUbuntu)環境だったことを思い出した。それならばColabにmecab-ipadic-NEologdをインストール出ないだろうかと調べてみたらやっぱりできそう。

この方法ならば自分のPCにパッケージがインストールされることは無い。Colabでもセッションが終了して所定の時間が経過されるとインストールしたパッケージ等はリセット(削除)されるし、自分でリセットも可能。


大まかな流れとしては、Colab環境でmecab-ipadic-NEologdをインストールした後、作成したmecab-ipadic-neologdのフォルダをzipファイルに圧縮しダウンロードして、Windows上で解凍してからKH CoderのMeCab辞書をIPADICからmecab-ipadic-NEologdに変更する、といった流れ。

以下具体的方法を記す。

1)MeCabとmecab-ipadic-NEologdのインストール(Colab環境)

# MeCabのインストール

!apt install aptitude swig

!aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y

!pip install mecab-python3==0.996.3


# mecab-ipadic-NEologdのインストール

!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git

!echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n -a


注意点としては、Mecab → mecab-ipadic-NEologd の順にインストールすること。

mecab-ipadic-NEologdだけをインストールしようと思っても「Mecabがありません」といった内容のエラーメッセージが出る。

またmecab-python3 がver1以降だとうまく動かないことがあるので、ver0.996.3をインストールするように設定してある。今回はmecab-ipadic-NEologdを取り出すのが目的なのでver0.996.3であっても大きな問題は無い。

ちなみにインストール完了したら結果出力画面に下記のように辞書ファイルのパスが表示されると思うので、コピペして保存しておくと後々便利。

Usage:

    $ mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd ...


2)zipファイルに圧縮しダウンロード(Colab環境)

ダウンロードしたいフォルダを zip 圧縮する。

!zip -r /content/「圧縮したファイル名」.zip /「圧縮したいフォルダのパス」

で圧縮できる。

Colab の「ファイル」タブのデフォルトパス(画面の左側でsample_dataフォルダあるフォルダのパス)は /content/ となっているので注意。

フォルダのパスは、リストの中から目的のフォルダを探して右クリックで表示される[パスをコピー]でコピーできる(ファイルの場合でも同じ)が、前述のように辞書フォルダのパスはMecabとmecab-ipadic-NEologdのインストール終了後に表示されるので、それを参照すると良いだろう。

処理が完了すると指定したフォルダに指定したzipファイル(Mecabとmecab-ipadic-NEologdの圧縮ファイル)が確認できる。

ちなみにmecab-ipadic-NEologdでは、1G程のフォルダが200M程度のファイルに圧縮できるようだ。

ダウンロードは右クリックの「ダウンロード」で可能だがファイルサイズが大きい場合、開始されるまでに多少時間がかかる。

リング状のインジケーターが表示されるのでそれを参考にして気長に待つ。

前にも述べたが、Colab環境ではセッションが終了して所定の時間が経過されるとインストールしたパッケージ等はリセット(削除)される。これには作成したファイルやアップロードしたファイルも含まれるため、リセット(削除)される前にダウンロードする必要がある。


3)KH Coderの設定方法(Windowsb環境)

ダウンロード出来たら解凍してmecab-ipadic-NEologdフォルダを取り出す。

Windows10では、zipファイルを通常のフォルダと同じように中身を見ることができる。かなり階層が深いがmecab-ipadic-NEologdフォルダを簡単に取り出すことができるはずである。

なお、KH CoderではMecabのデフォルトの設定で、辞書の文字コードはUTF-8となっているのでエンコードの必要は無い(この設定は、「プロジェクト」→「設定」でMecabの個所に表示されるので確認できる)。

それからKH Coderフォルダ配下にあるMeCab辞書のフォルダにmecab-ipadic-NEologdをコピーする。

デフォルトの設定でインストールした場合は

C:\khcoder3\dep\mecab\dic

となっているはずで、ここにはipadicフォルダもあるはずである。


続いて

C:\khcoder3\dep\mecab\etc\

にあるmecabrcファイルをテキストエディタで開いて下記のように変更し保存する。


dicdir =  $(rcpath)\..\dic\ipadic

dicdir =  $(rcpath)\..\dic\mecab-ipadic-neologd


書き換えても良いが「;」でコメントアウトする方が実用的かな。

dicdir =  $(rcpath)\..\dic\ipadic

;dicdir =  $(rcpath)\..\dic\ipadic

dicdir =  $(rcpath)\..\dic\mecab-ipadic-neologd


KH Coderでプロジェクトの新規作成で、形態素解析エンジンをChaSenからMeCabに変更する。

これでKH Coderでmecab-ipadic-NEologdが使えるようになったはずである。

mecab-ipadic-NEologdを更新する場合は、同様の手法で新しいフォルダをダウンロードした後入れ替えれば良い。


余談だがKH Coderではデフォルトでは「C:\khcoder3」にファイルが解凍される。

削除する場合はこのフォルダを削除すれば良いし、移動することも名前を変えることも可能。

ただし、MecabやChasenでは「C:\khcoder3」でパスが通っているので、移動したり名前を変えたりすると起動できなくなるのでパスを変更する必要がある。


以上の変更を行ったが、果たしてその結果を確認してみる。

使用するのは下記の文章。

「鬼滅の刃は吾峠呼世晴による日本の漫画作品。」


まずはColab環境でMecabを使用した場合。

その結果が次の通り。

MeCab + IPADIC(Mecab標準)の場合

鬼: 名詞,一般

滅: 名詞,一般

の: 助詞,連体化

刃: 名詞,一般

は: 助詞,係助詞

吾: 名詞,一般

峠: 名詞,接尾

呼: 名詞,一般

世: 名詞,一般

晴: 名詞,一般

による: 助詞,格助詞

日本: 名詞,固有名詞

の: 助詞,連体化

漫画: 名詞,一般

作品: 名詞,一般

。: 記号,句点


Mecab + mecab-ipadic-NEologdの場合

鬼滅の刃: 名詞,固有名詞

は: 助詞,係助詞

吾峠呼世晴: 名詞,固有名詞

による: 助詞,格助詞

日本の漫画: 名詞,固有名詞

作品: 名詞,一般

。: 記号,句点


前述の通りデフォルト辞書では「鬼滅の刃」が全てバラバラに抽出されている。「吾峠呼世晴」も同じ結果。

しかし、辞書をmecab-ipadic-NEologdに変更すると「鬼滅の刃」「吾峠呼世晴」はそれぞれ固有名詞として抽出されている。


次に、この文章をKH Coderで取り込んで抽出語リストを作成してみる。

以下、その結果。
















これらの結果は、MecabをPython(Colab環境)で使用した場合とほぼ同じであるので、KH Coderでも辞書の変更は正常に行われたと思われる。


以上のように、mecab-ipadic-NEologdは最近のトピックスを扱う場合には大きな効果を発揮するだろう。


2019年5月4日土曜日

KHコーダ(KHcoder)でテキストマイニング  ~ 共起ネットワーク その2 ~


今回、題材としたのはシャーロックホームズの「赤毛連盟」。
有名な話なので読んだことがある人も多いだろう。
もし読んだことが無かったり、若しくは内容をよく覚えていない方は青空文庫等で入手できるので一読して欲しい。その方がテキストマイニングの結果が分かりやすいと思う。
日本語作品は「青空文庫」で、英文は「プロジェクトグーテンベルク」というサイトで入手可能。


早速KHコーダ(KHcoder)を起動して日本語テキストを取り込む。
上部メニューの「プロジェクト」から「新規」、それから当該テキストを選択して新規プロジェクトを作成して、「前処理」→「テキストのチェック」を行う。今回は修正の必要は無いようなので、そのまま「前処理の実行」を行った。
それから抽出語リストを開いて確認し、それから共起ネットワークを作成した。


図1.最初の共起ネットワーク画面

共起ネットワークを確認したところ、今回のテキストでは「シャー」と「ロック」がそれぞれ別々の語で抽出されていた。そのため一度共起ネットワークを終了させ、「前処理」→「複合語の抽出」で行い、それから「前処理」→「語の取捨選択」で「シャーロック」を「強制抽出する語の指定:」で設定した後、「前処理の実行」を行い再度共起ネットワークを描画させた。

以後、オプション画面での設定は下記の通り。
「集計単位」を「段落」
「最少出現数」は10に設定
「品詞による語の取捨選択」では「既定値」
「共起関係(edge)の種類」では「語-語」
「バブルスロット」にチェック
「共起パターンの変化を探る(相関)」にチェック

条件を変えて検討する場合は「実行時にこの画面を閉じない」にチェックを入れる。


まず「Subgraph」を表示させる。


図2.Subgraph - modularity


図3.Subgraph - random walk

サブグラフ検出では「modularity」と「random walk」で、それぞれグループ分け(subgraph)の細部が違っているが、この subgraph により大まかな物語のあらすじは分かってくる。


次に「中心性」を見てみる。
図4.共起ネットワーク「中心性」

中心性で見ると、「質屋」「銀行」「店員」「髪」「コバーグ」※ などの言葉があり、この物語のキーワードとなることがわかる。
※「コバーグ」は質屋がある場所名、すぐ隣に銀行がある。


図5.共起ネットワーク「中心性」(最少スパニング・ツリーだけを描画)

「最少スパニング・ツリーだけを描画」にチェックを入れて描画した。こちらの方がキーワードが分かりやすい感じがする。


最後に「相関」を見てみる。


図6.共起ネットワーク「相関」

こちらも最少スパニング・ツリーだけを描画させた。

図7.共起ネットワーク「相関」(最少スパニング・ツリーだけを描画)

「相関」を表示させることにより、物語の前半では「ウィルソン」「髪」「連盟」などの言葉が、後半では「地下」「銀行」「質屋」などの言葉が多く用いられるようになっていることが分かる。これで物語の展開が大まかに理解できるだろう。
こちらも「最少スパニング・ツリーだけを描画」にした方が分かりやすいようだ。

次に、「関連語検索」で共起ネットワークを表示させてみる。
とりあえず「赤毛」で検索する。
「ツール」→「抽出語」→「関連語検索」で「関連語検索」の画面を表示させて「#直接入力」で「直接入力:」と「and」ボタンの横の入力エリア(デフォルトのカーソルの位置)に「赤毛」と入力し、集計単位は「段落」として「集計」ボタンを押して検索させた。
「フィルタ設定」で品詞は「既定値」、「最少文書数」は10で設定で「OK」を押して、「共起ネット」ボタンを押して描画さる。
「赤毛」を中心とした共起ネットワークが表示された(検索語は二重正方形で囲んで表示)。


図8.「赤毛」で検索した共起ネットワーク

最少スパニング・ツリーだけで描画させた。

図9.「赤毛」で検索した共起ネットワーク(最少スパニング・ツリーだけを描画)

こちらは検索語の選択も含めて、もう少し条件を検討した方が良さそうである。


続いて英文に関しても同様に行う。
抽出語の確認をしたところ、英文では「sherlock」は問題無く認識されていたので、強制抽出は行わなかった(stop words は設定済み)。
「品詞による語の取捨選択」では「すべて」を選択。後は日本語と同じ条件設定で行った。

図10.共起ネットワーク「Subgraph modularity」表示


図11.共起ネットワーク「中心性」表示


図12.共起ネットワーク「中心性」表示(最少スパニング・ツリーだけを描画)


図13.共起ネットワーク「相関」表示


図14.共起ネットワーク「相関」表示(最少スパニング・ツリーだけを描画)


同じく気になるキーワードがあれば、日本語と同様に「関連語検索」で共起ネットワークを表示させれば良い。
例として「red-headed」で検索して、共起ネットワークを最少スパニング・ツリーだけで描画させた(Subgraph - modularity表示)。



今回は共起ネットワークだけを用いてテキストマイニングを行ったが、以上のように題材とした小説「シャーロックホームズの冒険・赤毛連盟」の大まかなストーリーやキーワードは英語・日本語共に理解できた。KHコーダには共起ネットワーク以外にも様々なコマンドがあるので興味がある方はマニュアル等を参考にしていただきたい。さらに詳細なテキストマイニングを行えるはずである。

2019年5月2日木曜日

KHコーダ(KHcoder)でテキストマイニング  ~ 共起ネットワーク その1 ~


KHコーダにはいくつかの分析コマンドがあるが、今回は主に共起ネットワークを使用することにした。共起とは、ある単語と別の限られた単語が頻繁に出現することである。
このコマンドを用いることにより出現パターンの似通った語を線(edge)で結んだネットワークを描画することが出来る。そこからテーマないしはトピックを読み取れる。
よって小説でこの分析コマンドを使うと、物語のあらすじや登場人物の関係図などが読み取れるはずである。


共起ネットワークを表示させるには大きく分けて二つある。

その1.「ツール」→「抽出語」→「共起ネットワーク」で起動する方法
これで起動すると共起ネットワークの「オプション」画面(設定画面)になる。ここで各種の設定を行い「OK」で共起ネットワークが描画される。
それぞれの設定に関しては基本的はデフォルトの設定で大きな問題は無いが下記項目に関しては検討が必要となる場合もあると思う。

<集計単位と抽出語の選択>
「集計単位」
KHコーダでは分析対象テキスト中で「語」が出現する場所と「語」が出現する回数を計算して分析する。「語」は抽出語のことで分析の最小単位となり、「場所」は「文」または「段落」のことである。よって集計単位を「段落」に設定するのか「文」に設定するのかで結果が大きく異なることがある。「段落」「文」それぞれを試して良い方を選択する必要があるが、「段落」→「文」の順で評価することが推奨されている。

「最小出現数」
出現語(抽出語)の最少出現数を設定する。大きくすれば対象語が少なくなるし、小さく設定すれば多くなる。試して最も適当な数値を検討する必要がある。

「品詞による語の取捨選択」
前述のように「既定値」の設定では、良く用いられるが特徴的な意味をあまり持たない語を省いてある(日本語の場合のみ)。
こちらもどの品詞を表示させるのが良いか試してみると良いだろう。


<共起ネットワークの設定>
「共起関係(edge)の種類」
ここでは語と語、または語と外部変数の共起関係の表示の設定ができる。今回は外部変数は用いていないので「語-語」で設定する。

「バブルプロット」
この項目ににチェックを入れると、語の出現数に対応して円のサイズが変化する。つまり大きい円ほど多く出現している語になる。

「最小スパニング・ツリーだけを描画」
この項目にチェックを入れるとシンプルなネットワークを描くことができる。ネットワークが複雑になったりして見づらいときに使うオプションである。

「共起パターンの変化を探る(相関)」
このオプションを利用することにより相関関係を可視化して物語の進行にともなう変化を読み取ることが出来る。
具体的には、相関を計算する対象を「出現位置」にしてネットワークを描画させると、データの前方(物語の前半)で多く共起している語のペアは青色の線(edge)で結ばれ、データ後方(物語の後半)で多く共起している語のペアは赤色の線(edge)で結ばれる。





<共起ネットワーク描画画面での操作>
中心性とサブグラフ検出
「比較的強くお互いに結びついてる部分」のことを、KHコーダ(KH Coder)では「サブグラフ」と表記される。つまり同じグループといった意味であろう。
共起ネットワークを描画した場合、下部に「カラー:」と表示されているボタンが表示される。これを押すことによりプルダウンメニューで、語(node)の色分け方法を幾つか選択できる。
最初は「中心性」による色分けであり、黄色よりも青色の方が,中心性が高いことを示す。
次は、比較的強くお互いに結びついてる部分を自動的に検出してグループ分けを行い、その結果を色分けによって示す「サブグラフ検出」である。
「modularity」と「random walks」の方法を選ぶことができるが、見やすい方を選ぶと良いだろう。
ちなみに色のついていない語(白色)は、他の語とサブグラフを形成していない単独の語である。また同じサブグラフに含まれる語は実線で結ばれるのに対して互いに異なるサブグラフに含まれる語は破線で結ばれる。
「共起パターンの変化を探る(相関)」にチェックを入れると前述の方法に加えて「相関」が追加される。


その2.「ツール」→「抽出語」→「関連語検索」で検索を行い、下部メニューから「共起ネットワーク」をクリックし起動する方法。

この場合は検索した語に関しての共起ネットワークが表示され、検索の条件として用いた語は二重の正方形で囲んで表示される。
しかし検索語が表示されない場合があったので原因を調べたところ、どうやら対象語が多い場合は二重正方形で囲んで表示されるはずの検索語が表示されない場合があるようだ。
その時は「フィルタ設定」で「最少文書数」の数を増すなどの操作を行う。
この「フィルタ設定」の画面も全体が表示されないにもかかわらず、スクロールバーも表示されないので、もし「OK」ボタンが画面に表示されていない場合はウィンドウを下部に伸ばしてみることも必要のようである。
検索語が表示される以外は、その1の場合とほぼ同じである。

2019年5月1日水曜日

KHコーダ(KHcoder)でテキストマイニング  ~ 抽出語の作成まで ~


本稿の作成に当たってはKHコーダーのマニュアルを参考にさせていただいた。KHコーダーの開発者の樋口耕一先生に謝辞を表したいと思う。また著作権の関係から詳細な内容は割愛した(無断転載に当たる可能性があるので)。興味がある方はKHコーダーのマニュアルを一読されることをお勧めする。
ちなみに、現時点でのKHコーダーのバージョンは3.Alpha.16である。


KHコーダ(KHcoder)は英語にも対応しているらしい。他の外国語も対応しているようだが英語以外は試作段階のようだ。
今回は英語と日本語の両方で同じ題材を使用するので、その違いが分かるかも。

「単純なテキストファイルを使用して分析の一歩目を踏み出す」という目的のため、今回は小説を使ってKHコーダの一般的な使い方で分析を行う。


通常テキストマイニングは外部変数などを使うことが多い。
外部変数というのは、例えばアンケート等で質問に対する回答に付随する属性等で性別であったり年齢、住んでいる場所などの情報である。
今回は外部変数を付与する必要は無いのでテキストのみで行う。

余談だが、KHコーダではテキスト形式だけでなくエクセルファイルやCSV形式のファイルも扱えるらしい。

KHコーダでテキストマイニングを始める前に英文では確認することがある。ダウンロードしたテキストファイル中には、体裁を整えるため右端を改行で体裁を整えてある場合があり、この場合はこの改行を削除する必要がある。
その理由は、KHコーダでは対象の文章を「文」単位と「段落」単位で分析を行うことによる。「文」の場合は句読点で、「段落」の場合は改行で判断する。そのため段落の終わり以外で改行がなされていると「段落」が不正確になり正確な分析ができない可能性がある。そのため不必要な改行を削除する。

その方法はコチラで説明しているので参考にして欲しい。


1.プロジェクトの作成
KHコーダではまず「プロジェクト」の作成から始める。初めての場合は新規作成になる。それからファイルを開く。この時、日本語か英語の選択ができる。

日本語の場合、上部メニューの「前処理」から「分析対象ファイルのチェック」を選んで実行すると分析対象テキストをそのま読込できるのかどうかををチェックしてくれる。
英語の場合は「分析対象ファイルのチェック」はアクティブになっていないので使用できないようだ。まあ英文は26文字しかなく日本語のように多数の文字数は無いので大きな問題無いだろう。


2.前処理の実行
次に「前処理の実行」をクリックする。この「前処理の実行」は対象の文章を分析するため必ず行う必要がある。

3.抽出語の確認
完了したら、上部メニューの「ツール」→「抽出語」→「抽出語リスト」で抽出語の確認ができる。
「抽出語リスト」のみでも抽出語の確認ができるが、パソコンにエクセルが入っている場合には「抽出語リスト(Excel出力)」も行った方が良い。「抽出語リスト」だけでは出現回数が多い順で表示されるため「フィルタ設定」でどの品詞を表示させるか判断が難しいが、「抽出語リスト(Excel出力)」で表示させると抽出語リストが品詞毎に全てエクセルで表示されるので、その判断がしやすくなる。

日本語の場合、フィルタの「既定値」の設定では一般的に用いられるが特徴的な意味を持たない語を省いてある(「する」「ある」「ない」などの語)。
これは日本語だけの設定であり、英語でも「既定値」ボタンは表示されるが押してもフィルタ設定に変化は無い。
以下説明する強制抽出した語は日本語・英語共に「タグ(TAG)」に分類される。

また抽出語リストを確認すると、目的とする語が抽出されていない場合がある。
その時はまず「前処理」→「複合語の抽出」で複合語を抽出する。
それから「前処理」→「語の取捨選択」で表示される画面で、対象の語を「強制抽出」する。「複合語の抽出」でも抽出されなかった場合は「語の取捨選択」で直接入力する。


ここまでは日本語と英語ともにほぼ同じように処理は行える。
しかし英語では別の注意が必要になる。
それは「stop words」の処理で、stop words処理とは英語において頻繁に使用されるが特徴的な意味をあまり持たない語(be動詞など)を表示させない処理のことである。

設定方法は上部のメニューから「プロジェクト」→「設定」をクリックすれば設定画面が表示されるので「stop words」の「設定」ボタンをクリックして設定する。今回はtutorial_en フォルダに同梱されているstop words のリストサンプル(stopwords_sample_en.txt)をそのまま用いた。


図1.KHcoderの設定画面.

結局のところ、日本語の場合はフィルタ設定の「既定値」で、英語の場合は stop words で同じような処理を行うイメージだろう。

そして各種の設定変更を行った場合、必ず再度「前処理の実行」を行うこと。そうしないと変更内容は分析結果に反映されない。

2019年4月29日月曜日

KHコーダ(KHcoder)でテキストマイニング 準備編

KHコーダ(KHcoder)で英文のテキストマイニングをやってみようと思った。

題材は「プロジェクトグーテンベルク」という日本の「青空文庫」みたいなサイトからテキスト形式でダウンロード。

エディタで中身を確認。
するとココで大きな問題を発見する。

体裁を整えるために文章の右側で改行してあるのだ。

↓こんな感じ
His manner was not effusive. It seldom was; but he was glad, I
think, to see me. With hardly a word spoken, but with a kindly
eye, he waved me to an armchair, threw across his case of cigars,
and indicated a spirit case and a gasogene in the corner. Then he
stood before the fire and looked me over in his singular
introspective fashion.


今回使用するテキストマイニングツール「KHコーダ(KHcoder)」では、文章の終わりを句読点で段落の終わりを改行で判断する。
この場合、一つの段落にもかかわらずKHコーダでは6つの段落と判断してしまう。これでは正確な分析はできない。
更には、通常は語と語の間を半角スペースで区切ってあるが文末に改行がある場合はこの半角スペースが無い。
よって修正しようと思うと、半角スペースを挿入して改行を削除(または改行を削除して半角スペースを挿入でも問題無し)という作業が必要となる。
短い文章であれば問題は無いけれど、文章が長いと手間がかかるしタイプミスや操作ミスの可能性もある。

そこで良い方法はないだろうかと調べるとワープロソフトの「ワード」で改行を削除できることが分かった。

以下その手順(Word 2013 の場合)

準備として改行文字が表示されていない場合は表示させる。
1.[ファイル] をクリックして [オプション]
2.[表示] をクリックし、[段落記号] をチェックして [OK]

改行を削除する方法
1.[ホーム] タブをクリックし、編集グループにある [置換] をクリック
2.[オプション] をクリックし、[あいまい検索] のチェックを外す。次に[特殊文字] をクリックして [段落記号] をクリック
3.「検索する文字列」に改行を表す文字列 ^p が入力される。「置換後の文字列」には何も入力しないと削除される。
ここで「検索する文字列」に段落記号 ^p を、「置換後の文字列」に半角スペースを入れて実行すると改行文字は削除され、代わりに半角スペースが挿入される。


以上の作業で改行は削除できた。しかし今度は段落が分からなくなってしまう。そこで良く文章を見ると半角スペースが二つ繋がっている箇所がある(もし半角スペースが表示されていない場合は、段落記号を表示したようにオプションの表示でスペースを表示させる)。
元の段落の場所は、改行が二つ繋がっていた場所で改行を半角スペースに置換させたので半角スペースが繋がっている状態となっているのだ。
よって、同じように今度は半角スペース2つを「検索する文字列」に入れ、「置換後の文字列」に段落記号 ^p を入れる。段落記号を2つ入れても問題無い。一つだと段落同士が隣接するし、二つ入れると段落と段落の間が一段改行される形になる。どちらがいいかはお好みで。

場合によっては改行の前に半角スペースが入ってしまうことがある。この場合も「検索する文字列」に半角スペースと段落記号 ^p を、「置換後の文字列」に段落記号 ^p を入れて置換すると半角スペースは削除される。

どうやらワードだけでなくエクセルでも改行文字の削除はできるようなのだが、今回はワードで目的とする操作ができたのでエクセルの方は調べなかった。興味がある方はご自分で調べてみて下さい。

これで題材の準備はOK。
テキストマイニングの場合、文や段落が重要な意味を持つため文章の区切りを正確にすることが大事である。間違った情報からは間違った結果しか導かない。ご注意を!!

2015年6月15日月曜日

LINE MUSIC(ラインミュージック) 事始め

LINEはエイベックス・デジタル、ソニー・ミュージックエンタテインメントの三社共同出資してLINE MUSIC株式会社を設立したらしい。
このLINE MUSIC株式会社が6月11日にスタートさせたのが、定額制のオンデマンド型音楽配信サービス「LINE MUISC」。
本来は有料サービスだけれど8月9日までは全楽曲・全機能を無料で体験可能となるらしい。ニュースリリースでは「2ヶ月」となっている場合があるが、正確には8月9日まで。これは早速使ってみなければ。

それで早速LINEを立ち上げるがそれらしいサービスは見あたらず。どうやら専用のアプリをダウンロードする必要があるらしい。
グーグルプレイで検索するが、ヒット無し。ど~なってんだぁ。
しょうがないのでアンドロイドの初期画面から「LINE MUSIC」と音声検索。
するとLINE MUSICの案内HPがヒット。ここにグーグルプレイへのリンクが貼ってあったのでコチラからアプリをダウンロードした。

早速立ち上げると、画面が綺麗。ラインのちょっと野暮ったい画面を想像していたがそういうイメージは全く無し。

初期画面にはいろいろとお勧めアーティストなどがあるが、上部に見慣れた虫眼鏡アイコンがあるのでそれで検索が出来る。
検索しているとどんどん階層が深くなっていってトップページに戻るのが大変になる。
そんな時は左端を左から右にスライドさせるとメインメニューが表示される。
ただし、楽曲再生画面では左上の下矢印で表示させる。

気に入った曲があったら再生中であれば「メニュー」から「お気に入り」または「プレイリストに追加」で追加(プレイリストの場合は作成も)可能。
この「お気に入り」と「プレイリスト」には左スライドで表示されるメインメニューの「マイミュージック」で見ることが出来る。

作成したプレイリストを削除する場合には「マイプレイリスト」の横の「全てみる」で一覧を表示させてトップにある「マイプレイリスト」の下の「編集」をタップすると削除できる。
プレイリストの曲を削除したり曲順を変更する場合は目的のプレイリストを表示させて同じようにプレイリスト名の下の「編集」をタップして編集画面で行う。
なお削除する場合は削除するプレイリストやアルバム・楽曲を選択して「削除」をタップした後に右上の「閉じる」をタップしないと削除できない(「削除」→「戻る」では削除されない)ので注意が必要。

面白いのは、楽曲再生画面でジャケットイメージ(アートワーク)をタップすると再生曲の歌詞が表示される(ただし曲によっては歌詞が無い場合もあるようだ)。これはありがたいなぁ。

当然ながらエイベックスとソニーミュージックのミュージシャンのみのサービス提供だが、しかしどうやらエイベックスは少ない(またはまだ追加されていない)感じ。

ソニーミュージックの邦楽ミュージシャンは下記のサイトから確認できるので参考まで。

ソニーミュージック邦楽ミュージシャンリスト


8月9日までなので興味がある方は早めに試した方が良い。
しっかり楽しんで引き続き利用するかどうか考えよう。


2015年2月6日金曜日

東芝レグザの RZスイート express

自分はテレビやレコーダーなどのAV機器は東芝のレグザ(REGZA)シリーズを愛用している。
なぜなら、レグザはアナログの時代にはネットワーク関係に進んだ機種だったからだ。
アナログ放送時代のレグザにはネットdeダビングという機能があり、同じネットワーク内のレグザ同士でダビングが出来た。この機能を利用してダビング先をPCにすることもフリーのソフトを使って可能であった。

デジタル放送になった現在でも自分のTVとブルーレイレコーダーもレグザ。
具体的にはTVは32HE1
ブルーレイレコーダーはDBR-Z310

地デジになってもそんな流れから何となくレグザを使っている。ネットワーク関係はだいぶん縮小されたが、増設用にHDDにパソコン用のHDDが使用出来るのはありがたい。現在は他メーカーでもPC用HDDが使える機種が増えたがレグザはその先駆けだったと思う。

そんな中、先日中古ながら新しいノートPCを購入。
PCは別に東芝にこだわっていなかったが、たまたま東芝のダイナブックを購入。
スタンダードタイプとうたっていたがスペックはなかなか。

それ以来、東芝のネットワークに対する姿勢から考えてレグザとダイナブックをつなげることが出来ないかなと考えていた。

そこで調べてみると方法があった。
「TVコネクトスイート」と「RZスイート express」の二つ。どちらも東芝のオリジナルアプリ。
しかし「TVコネクトスイート」ではマウスとキーボードはサポートされていない(タッチスクリーンのみ対応)ので通常のタッチパネルが無いPCでは使用できず。
結局、一般的なPCでは「RZスイート express」を使うことになる。

以下はPCは東芝ダイナブックT554、ブルーレイレコーダーはDBR-Z310を用いた場合であることをご了承願いたい(TVのHE1はRZスイートには対応していない)。

「RZスイート express」には「RZプレーヤー express」「RZライブ express」「RZポーター express」の3種類のアプリが含まれている。

「RZプレーヤー express」はテレビやレコーダーに録画した番組を視聴できる。
「RZポーター express」はテレビやレコーダーに録画した番組を、PCにダビング可能。外出先にPCを持ち出せば、空いた時間に楽しむことができる。
「RZライブ express」はレコーダーで受信している放送中のテレビ番組をライブ配信して視聴できる。

現在、「RZスイート express」がインストールされているPCとレグザレコーダーを同じネットワークにつなげている。具体的には同じルーターのHUBに接続している。

早速「RZプレーヤー express」を立ち上げるとあっさりレグザレコーダーが認識され、録画している番組をダイナブックで簡単に観ることが出来た。
この場合、レコーダーの電源が入っていなくてもRZレコーダーを操作すると自動で電源が入る(無論コンセントを抜いていたら無理だけど)。

「RZポーター express」を用いて録画番組をPCに移動させようとしたがコチラは多少の作業が必要。RZプレーヤーのように単純にポーターを立ち上げても「ファイルが見つかりません」のメッセージが表示される。ポーターを使うためにはレコーダー側で作業が必要になる。

具体的には次の通り。
ブルーレイレコーダーのダビング機能から「持ち出し用変換」で録画している番組を選択。これを持ち出し用に変換する(変換は等倍速のみで行われる)。この場合、変換レートも選択できる。「持ち出し用変換(LAN)」というメニューもあるがこの時点では選択できない。

番組の変換が完了したら今まで選択できなかった「持ち出し用変換(LAN)」が選択できるようになっている。
それで「持ち出し用変換(LAN)」を選択するとダビング先機器選択画面が表示され、LANで接続された機器が表示される。そのうち「RZスイート express」がインストールされたPCのダイナブックを選択。
持ち出し番組一覧が表示され、目的の番組を選択すると「ダビングすると、番組はダビング元に残りません」とメッセージが表示されるので「はい」を選択する。
メッセージの意味はムーブのみでコピーは出来ないということ。ムーブされるのは変換された番組で、変換元の番組は残る(当然コピー可能回数は減る)
実行をすると持ち出し用に変換した録画番組がダイナブックに移動される。画質(変換レート)はそのままでも今回は高速ダビングとなる。
確かに、変換スピードよりダビングスピードは速い。

再生はRZポーターで行う。
RZポーターを立ち上げると、ダビングされた番組が表示されるのでそれを選択すると無事再生された。

以上の操作をまとめると、RZポーターにおいて再生以外の操作はレコーダー側で行い、ポーターでは再生のみ行うということになる。
一方RZプレーヤーはPCのみで操作でき、レコーダー側の操作は必要ない。

RZプレイヤーは別として、RZポーターをどう考えるかだと思う。
というのも、目的とする番組をブルーレイディスクにダビングしてファイナライズ処理をするとダイナブックでも観ることが出来る。
この方法としては
レコーダーに録画した番組をブルーレイディスクにダビング→ディスクをファイナライズ処理→PCのドライブに挿入→鑑賞
もちろんこの場合はPCのドライブはブルーレイドライブが必要となる。
一方RZポーターでは
録画した番組を持ち運び変換→変換した番組をRZポーターが入っているPCにLANで移動→RZポーターを立ち上げ鑑賞
となり、手間的には余り変わらない。
さらにはディスクにダビングした場合は録画した画質で観ることが出来るが、持ち出し変換すると画質が落ちる(変換レートで画質を調整することは可能)。
ただしメーカーとしてはディスクにダビングしファイナライズ処理をした場合、すべての場合で処理をした機器以外の他のプレイヤー(PCを含む)での再生を保証していない。画質が綺麗だからとディスクに焼いてもPCで再生できない場合もあるということだ。その点RZポーターではその可能性はかなり低くなると思われる。
もちろんブルーレイディスクを使用するとブルーレイドライブも必要となりディスク費用が必要となる。

以上を考えると、録画した番組をPCで持ち出す場合どちらを選ぶか、難しい選択だなぁ。まあケースバイケースということになるのだろうか。


残りの「RZライブ express」だが、こちらはレコーダー側で
ネットワーク設定→ネットdeナビ/レグザリンク連携設定→レグザリンクシェア設定
でIDとパスワードを設定。

これをRZライブの設定画面でのIDとパスワードを合わせる。

これでRZライブを立ち上げると、放送中の番組をPCで観ることが出来る。

家族で各個人が部屋にTVが無くてもLAN経由でPCでTVを観ることが出来る。
ただし、使い勝手はイマイチ。

RZライブを立ち上げると、いきなりTV放送の画面になる。チャンネルを変える場合には右上の矢印をクリックすることになるが、これに関しては全く説明が無く、マウスの右クリックでもメニューは表示されない。
さらにはチャンネル選択画面では同じチャンネルが複数表示される。たぶんマルチチャンネル対応なんだろうけど、表示されるのはチャンネル数字だけでそのチャンネルに対応しているTV局名は表示されず分かりにくい。決定的なのは番組表がRZライブでは表示されないので、現在放送中の番組や観たい番組は別途番組表を入手する必要がある。使いやすさを考えてあるとは思えないなぁ。
部屋でTVを観る場合、これを主として使うかどうかは微妙なとこだ。


そうしているうちに、東芝がTV事業から撤退というニュースが飛び込んでいた。もう自社ではレグザTVは作らないらしい。今後のレグザのネットワーク機能がどうなるか、気になるところだ。