[掲示板へもどる]
一括表示

  [No.1010] 抽出語の統制をした「文書×抽出語」表、「抽出語×文脈ベクトル」表の出力 投稿者:袋井  投稿日:2012/07/31(Tue) 20:19:16

樋口先生さま

お世話になります、袋井と申します。

標準メニューには見当たりませんでしたので、教えていただきたいことがございます。
よろしくお願いいたします。

メニューの、
ツール−文書
     −「文書×抽出語」表の出力
     −「抽出語×文脈ベクトル」表の出力
に於いて、
語の表記ゆれを吸収した表を出力したいと思ったときに、何かよい方法はないでしょうか?

例えば、
「原発」「原子力発電所」などの抽出語があり、それらを別々の語として扱うのではなく、
「原発」を代表語として統制してカウントして表を出力するというものです。

操作は煩雑になっても構いませんので、
標準メニューを組み合わせることでできるようならば、その操作を教えていただけませんか。

よろしくお願いいたします。


  [No.1011] Re: 表記揺れの吸収 投稿者:HIGUCHI Koichi  投稿日:2012/08/05(Sun) 15:07:08

こんにちは、樋口です。書き込みありがとうございます。

少し立て込んでいたのと、「どういう方法があるだろう」と考えを巡らすうち
に日数が経ってしまい、失礼いたしました。表記揺れに関してはコーディング
ルールの使用をお勧めする場合が多いのですが、この場合(文脈ベクトル)に
ついては対応できないですね。

■対処法
さて対処法ですが、(1) このファイルをダウンロード・解凍し、「plugin_jp」
フォルダにコピーして下さい。
http://khcoder.info/psnl/tmp/z1_edit_words.zip

そしてコピーしたファイルを「秀丸」等のテキストエディタで開き、下記のよ
うな部分(Perlのコード)を編集します。

my $config = {
    '友達' =>
        [
            '友人',
            '旧友',
            '親友',
            '盟友',
            '友',
        ],
    '愛' => 
        [
            '愛情',
            '愛人',
        ],
};

このままの設定ですと、「友人」「旧友」「親友」「盟友」「友」はすべて
「友達」に置換されます。また「愛情」「愛人」は「愛」に置換されます。

ここで指定できる語(置換前の語も、置換先の語も)は、すべてKH Coderに
語として抽出されているものだけです。とりわけ「友達」「愛」のような置
換先の語が存在しない場合は、処理がエラーになります。

(2)この部分に必要なだけ置換の指定を加えて、上書き保存します。そして
(3)「ツール」「プラグイン」「表記揺れの吸収」を実行して下さい。

※あらかじめ前処理が実行されている前提です。もし未実行の場合は(3)の
前に実行して下さい。

■注意点
この処理によって「友人」「親友」等の基本形は「友達」として認識、すな
わち「友人」「親友」等は、「友達」の1つの活用形として認識されるよう
になります。漱石「こころ」データでこの処理を行って、「抽出語検索」画
面で「友」を検索してみると分かりやすいと思います。

このように語の取り出し方が変わりますから、KH Coderのすべての処理結果・
計算結果が影響を受けます。そうした影響の大きさに比して、ややテストが
手薄ですので、結果を確認しながらお使いいただくのが安全でしょう。

なお、語Aを語Bに置換するといった指定を編集した場合、KH Coderを再起動
しないと編集が反映されませんのでご注意下さい。


  [No.2934] Re: 表記揺れの吸収(KH Coder 3対応および機能改善) 投稿者:HIGUCHI Koichi  投稿日:2017/03/13(Mon) 19:03:46

こんにちは、樋口です。

表記揺れを修正するためのプラグインですが、以前公開したものはKH Coder 2
専用で、KH Coder 3では動きませんでした。そこでKH Coder 3用のものをこち
らで新たに公開しました。
http://khcoder.info/psnl/tmp/z1_edit_words3.zip

このバージョンでは少しだけ機能を改善しています。

> とりわけ「友達」「愛」のような置換先の語が存在しない場合は、処理がエ
> ラーになります。

この問題を修正し、もし「友達」のような置換先の語がもともと存在しなくて
も、置換できるようにしました。したがって、一度「同義語辞書」としてお作
りいただけば、いろいろなデータに対して汎用的にお使いいただけるかもしれ
ません。

[2019/10/18追記]
改善版をこちらで公開しています。
https://github.com/ko-ichi-h/khcoder/issues/101


  [No.3548] Re: 「たく」と「たい」 投稿者:  投稿日:2018/03/18(Sun) 00:23:49

樋口先生
 お世話になっております。
 「〜たい」構造の〜部分の動詞を集計したく,BCCWJの検索結果を形態素分析後に集計を行おうとしました。が,「たく」と「たい」は別に分析されました。
 こういった場合,上記の操作を通して解決できますでしょうか。
 ただ、「ツール」ー「ブラグイン」の中に「サンプル」「データ準備」「入出力」「複合語の検出」の4つだけで、「表記ゆれの吸収」という項目が見当たりません。今KH-Coder3を利用していますが、それにあたる項目はどれでしょうか。


  [No.3549] Re: 「たく」と「たい」 投稿者:HIGUCHI Koichi  投稿日:2018/03/18(Sun) 03:15:39

Re: 「たく」と「たい」 (画像サイズ: 540×573 18kB)

こんにちは、樋口です。書き込みありがとうございます。

上の投稿、お読みいただけましたでしょうか? No.1011に書きましたように、
事前にダウンロード・解凍したファイルを「plugin_jp」フォルダにコピーし
ていただく必要があります。そうしないと「表記揺れの吸収」はメニューに出
てきません。

もっとも私の手元のデータでは添付画像のように、「たく」の基本形は「たい」
であると正しく認識されています。これならKWICのコロケーション統計で「たい」
の前に出てくる語を探すだけでよさそうです(表記ゆれの吸収は必要ないかも
しれません)。


なお、助動詞の「たい」に注目してKWIC検索・コロケーション集計を行ないたい
いならば、助動詞を分析対象として設定する必要があります。その手順について
は、FAQページか、こちらの書籍をご参照ください。
http://amzn.to/2pjv9RR


  [No.3550] Re: 「たく」と「たい」 投稿者:  投稿日:2018/03/18(Sun) 18:15:58

Re: 「たく」と「たい」 (画像サイズ: 675×116 27kB)

樋口先生
 お返事ありがとうございます。
 ほかは別として、私のほうで試した結果を添付します。
 たいの識別結果は違うようです。


  [No.3551] Re: 「たく」と「たい」 投稿者:HIGUCHI Koichi  投稿日:2018/03/18(Sun) 19:37:02

こんにちは、樋口です。書き込みありがとうございます。

一部の「たい」が、助動詞ではなく、動詞「たいす」の活用形と認識されてい
るのですね。

それでしたら、上記の「表記ゆれの吸収」機能をお使いになって、動詞「たい
す」を助動詞「たい」に置き換えるのが一手でしょう。ただ、動詞「たいす」
がすべて助動詞であったのかどうか確認しておいた方が良いでしょうね。


  [No.1012] Re: 任意の語を選択 投稿者:HIGUCHI Koichi  投稿日:2012/08/05(Sun) 18:55:04

樋口です。

ご質問をいただいた内容とは異なるのですが、せっかくの機会なのでこのスレッ
ドにまとめさせていただきます。読み流しておいていただけましたら幸いです。

「『文書×抽出語』表の出力」「『抽出語×文脈ベクトル』表の出力」に加え
て、「共起ネットワーク」などの多変量解析で、任意の語を用いる方法です。

(1)「強制抽出する語」として指定するのは、分析に用いたい語で、なおかつ
「強制抽出」しなければ1語として認識されない語のみにします。

(2) 前処理を実行します。

(3) 仮に「先生」「叔父」「悪い」「思う」の4語を分析に使用したい場合、
以下のSQL文を実行します(ツール→SQL文の実行)。結果は特に表示されませ
んが、エラーが出なければOKです。

#-------------------------------------------------------------------#
UPDATE genkei
SET    khhinshi_id = 11
WHERE
     name = "先生"
  OR name = "叔父"
  OR name = "悪い"
  OR name = "思う"
#-------------------------------------------------------------------#

※必要に応じて「  OR name = "思う"」のような行を下に追加して下さい。

(4) 「抽出語リスト(品詞別)」を確認してください。SQL文を実行したこと
で、「先生」「叔父」「悪い」「思う」などの品詞名が「タグ」になっている
はずです。

(5) データ表の出力や分析の際に、「品詞による語の取捨選択」の箇所で、
「クリア」を一度クリックします。そして、品詞として「タグ」のみを選択
して、出力や分析を実行します。

以上の手順では、SQL文を実行することでKH Coderのデータベースを直接操作
し、分析に用いたいワード「先生」「叔父」等の品詞名を「タグ」に変換して
います。そして、出力や分析に「タグ」品詞だけを用いることで、目的を達成
しています。なお、前処理を実行するとKH Coderのデータベースが再構築され
ますので、SQLを再実行する必要があります。


なお、分析に用いる語の選択や、表記揺れの吸収には、コーディングルールの
使用が基本的にはお勧めです。しかし、文脈ベクトルの出力や文書のクラスタ
ー分析のように、コーディングルールが使えない局面もありますし、その他
「どうしても」という場合には、上記のような方法をお使いいただけます。
ある種の「裏技」とお考えいただくのが良いかと存じます。

p.s.
もし上記の「表記揺れの吸収」と「任意の語を選択」の両方を行われる場合に
は、「任意の語を選択」の(1)から(3)までを行ってから、「表記揺れの吸収」
を行うと良いでしょう。

実のところ、順番はどちらが先でも良いようなものなのですが、これらの手順
は「前処理」でリセットされます。なので、「前処理」が含まれている「任意
の語を選択」を先に行っておくと良いでしょう。


  [No.1013] 御礼:Re: 表記揺れの吸収、任意の語を選択 投稿者:袋井  投稿日:2012/08/07(Tue) 06:19:02

樋口先生さま

お世話になります、袋井と申します。

お忙しい時期に、個人的な悩みでお手を煩わせてしまい申し訳ございませんでした。

複数の方法で、分かりやすくご丁寧にご教示いただきましたので、よく分かりました。
ありがとうございました。

文脈ベクトルは、他のソフトにはない貴重な機能であり、表記揺れの吸収をしたいと思っておりました。

表記揺れの吸収には、基本的にはコーディングルールの使用であると理解していますが、
文脈ベクトルには適用できないため、苦慮しておりました。

副作用についても十分に確認しながら、活用したいと思っています。


「裏技」というか、貴重なノウハウもご教示いただき、
R、SQLなどを取り込んだ、KH coderのテキストマイニングプラットフォームとしての価値も認識することもできました。

ありがとうございました。
心より御礼を申し上げます。