統計学に詳しい方におたずねします。大量のテキストを読み込んで、Xという特徴を持ったセンテンスだけを抽出するプログラムがあります。ただし、まれに抽出すべきセンテンスを見逃すことがあります。このプログラムの精度を測定したいのですが、どのような統計的手法が利用可能でしょうか。分析対象は膨大な数のセンテンス(数百万)からなるテキストです。どのくらいのサンプルを取り出して、どのような作業を行えば、プログラムの信頼性について、ある程度はっきり言うことができるでしょうか?可能であれば、SPSSまたはEXCELでの処理方法などもご教示いただけると幸いです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/06/28 14:52:09
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kill_me No.2

回答回数8ベストアンサー獲得回数1

ポイント100pt


丁寧な、ご解答ありがとうございます。おおよそのことはわかりました。

「少量のサンプル(例えば1000センテンス)における漏れの数を手作業で調べて、それをもとに、より大きなサンプル(例えば100,000センテンス)を処理したときに起こり得る漏れの数や率について統計的データを導き出す」ということでしたら、恐らく信頼区間の推定という方法で算出可能かと思われます。
SPSSと言わず、電卓で算出可能です。

例えばもし、抽出漏れの率が平均して1%であるならば、
理論上は100のセンテンスから漏れるセンテンスは1つですし、
センテンスが1000でしたら10が、
10000のセンテンスからは100のセンテンスが抽出漏れとなる訳です。

しかし、ご心配の通り、実際は誤差が生じますので、
仮に1000のセンテンスから手作業で漏れの数を調べても、
それが真の信頼性かは断定できません。
そのため、100,000のセンテンスを対象とした場合も、
同様の割合で抽出漏れがあるとは限らない訳です。

そこで、信頼区間推定という手法が用いられます。
信頼区間とは「真の値が一定の確率で存在する範囲」という意味です。

 ※ 計算方法は↓のページの「1.母比率の区間推定」を御覧下さい。
   http://www.ibaraki-kodomo.com/toukei/ci2.html

具体的な方法としては、
例えば「Xという特徴を持ったセンテンス」を100個用意し、
そのデータに対してプログラムを走らせたところ、
抽出されたセンテンスが80個だったら、
とりあえず、計算された信頼性(精度)は80%ということになります。

ここの結果をもとに、区間推定という方法を用います。

例えば、そこから「95%信頼区間」を計算した場合、
95%信頼区間は72%~88%という結果が出ます。
これは「真の信頼性は72%から88%の間に95%の確率で存在する」ことを意味します。
言い換えれば「真の信頼性は95%の確率で80%±8%の値である」ということです。
もっと噛み砕くと、抽出作業を100回行ったとしたら、そのうち95回は、
精度が80%±8%の範囲におさまるということです。

72%~から88%とは、結構な範囲ですが、
サンプリング量を増やせばより狭い範囲で推定することができます。

例えば、1000のセンテンスを対象に精度を算出した結果、精度が98%だったとしたら、
計算すると、「真の信頼性は95%の確率で98%±0.9%」と、±1%以下の範囲になります。

つまり、100回抽出作業を行えば、対象となるセンテンスの数が10,000でも、100,000でも、
95回は97%以上の精度を出すということを主張することが可能です。


また、例では真の値が95%の確率で存在する範囲を計算しましたが、
99%の確率で存在する範囲、99.9%や99.99%で存在する範囲も計算できます。

紹介したHPでは95%での算出方法を紹介していますが、
p'±1.96√という式の「1.96」の値を変更すれば、確率を変更できます。
99%なら「2.57」、99.9%なら「3.30」、99.99%なら「3.90」を使えばOKです。

上記の1000のセンテンスを対象に精度が98%となった場合、
95%信頼区間は98%±0.9%でしたが、99.99%信頼区間は98%±1.7%位になります。
この場合10000回の抽出作業中、9999回は96.3%精度が以上ということなので、
「信頼性は、ほぼ確実に96%以上!」と統計的に主張が可能です。

このように信頼区間推定においては、
サンプル数を多くすればより信頼区間の幅を狭めることができますし、
逆に、パーセンテージを高めるほど(95%信頼区間よりも99%信頼区間の方が)、
信頼区間の幅は広がります。

実際の精度にもよりますが、抽出精度が9割以上あるのであれば、
つまり抽出漏れが1割以下ならば、サンプルは1000程度でも、
ある程度アテになる値(±2%位の範囲)が算出可能かと思います。

計算式自体は簡単なので、精度、サンプル数によって、
どの程度の幅で区間推定が可能かを、予め確認してから、
サンプル数を決定されるとよいと思います。

但し、「このテのプログラムにはどの程度の信頼性(精度)が要求されるのか」
また「信頼区間のパーセンテージは95%でよいのか99.99%がよいのか」
などの基準については、業界ごとに違うので、こちらでは判断できません。
申し訳ございませんが、そこはご自身の目的に合わせてご判断下さい。
少なくとも医学や心理学の分野などでは、95%で十分通用いたします。


文章だけでの説明ということで、中々冗長な説明になってしまい、申し訳ありません。

1000ものセンテンスを手作業で確認するのは非常に大変かと思いますが、頑張ってください。

id:yohasebe

詳細なご回答をありがとうございます!

とてもよく理解できました。「母平均」の区間推定については統計の入門書などでよく見かけるので、何となく知っているつもりだったのですが、「母比率」の区間推定についての知識が全く欠けていました。

kill_meさまのおかげで目的を達成できそうなのですが、せっかく立てた質問ですし、しばらく閉じないでおこうと思います。

見逃している問題(もしあれば)や関連する事柄に関するご指摘など、引き続きお待ちしています。

2007/06/24 23:35:32

その他の回答3件)

id:kill_me No.1

回答回数8ベストアンサー獲得回数1

ポイント20pt

回答可能かはわかりませんが、先に質問させていただいてもよろしいでしょうか?ご解答頂いた内容によっては、お力になれない可能性がありますので…。


① 「Xという特徴を持ったセンテンスだけを抽出する」とおっしゃっておりますが、指定する特徴Xの中身によって、抽出精度は変化いたしますか(すると思いますが…)?

② また、その場合、「抽出しやすい特徴」「抽出漏れしやすい特徴」「抽出されやすいセンテンス」「抽出漏れされやすいセンテンス」などが発生すると思うのですが、指定する特徴やセンテンスの、抽出漏れのしやすさを、予め大まかにでも評定することは可能でしょうか?例えば、「抽出漏れの程度が多い特徴」「抽出漏れの程度が普通の特徴」「抽出漏れの程度が少ない特徴」など3段階位で結構。

③ 最後に、好評可能でしたら出結構ですが、「Xという特徴」とは、どのような類のものなのでしょうか。

「特定の単語を含む文章」とか「悲しさを表現した文章」とか「問題提起的な文章」とか、抽出基準の具体例を教えていただけると助かります。

面倒な質問をすいません。お手数ですが、教えていただけると幸いです。

id:yohasebe

レスポンス有難うございました。

まず、やりたいことをもう少し具体的に申します。形態素解析プログラムを利用してテキストから特定の条件に合致するセンテンスを取り出すのですが、その際に起こりうる抽出漏れに関する推測をしたいのです。

その上で頂いたご質問にお答えすると

1.Xの中身によって抽出精度は変化するはずです。ただし今回このXの中身は一定(たとえば3)とお考えください。

2.具体的にはシステムの辞書にない語が出現したときに抽出漏れが起こりやすいようです。私としてはセンテンスごとの特徴は問わないで済ませられると思っていたので、お答えするためお材料があまりなく申し訳ないです。

3.例えば「サ変動詞+接続助詞」のように完全に形式的な条件です。

最終的には、少量のサンプル(例えば1000センテンス)における漏れの数を手作業で調べて、それをもとに、より大きなサンプル(例えば100,000センテンス)を処理したときに起こり得る漏れの数や率について統計的データを導き出せればと思います。

説明が要領を得ていないかもしれませんが、どうかよろしくお願いいたします。

2007/06/23 11:34:17
id:kill_me No.2

回答回数8ベストアンサー獲得回数1ここでベストアンサー

ポイント100pt


丁寧な、ご解答ありがとうございます。おおよそのことはわかりました。

「少量のサンプル(例えば1000センテンス)における漏れの数を手作業で調べて、それをもとに、より大きなサンプル(例えば100,000センテンス)を処理したときに起こり得る漏れの数や率について統計的データを導き出す」ということでしたら、恐らく信頼区間の推定という方法で算出可能かと思われます。
SPSSと言わず、電卓で算出可能です。

例えばもし、抽出漏れの率が平均して1%であるならば、
理論上は100のセンテンスから漏れるセンテンスは1つですし、
センテンスが1000でしたら10が、
10000のセンテンスからは100のセンテンスが抽出漏れとなる訳です。

しかし、ご心配の通り、実際は誤差が生じますので、
仮に1000のセンテンスから手作業で漏れの数を調べても、
それが真の信頼性かは断定できません。
そのため、100,000のセンテンスを対象とした場合も、
同様の割合で抽出漏れがあるとは限らない訳です。

そこで、信頼区間推定という手法が用いられます。
信頼区間とは「真の値が一定の確率で存在する範囲」という意味です。

 ※ 計算方法は↓のページの「1.母比率の区間推定」を御覧下さい。
   http://www.ibaraki-kodomo.com/toukei/ci2.html

具体的な方法としては、
例えば「Xという特徴を持ったセンテンス」を100個用意し、
そのデータに対してプログラムを走らせたところ、
抽出されたセンテンスが80個だったら、
とりあえず、計算された信頼性(精度)は80%ということになります。

ここの結果をもとに、区間推定という方法を用います。

例えば、そこから「95%信頼区間」を計算した場合、
95%信頼区間は72%~88%という結果が出ます。
これは「真の信頼性は72%から88%の間に95%の確率で存在する」ことを意味します。
言い換えれば「真の信頼性は95%の確率で80%±8%の値である」ということです。
もっと噛み砕くと、抽出作業を100回行ったとしたら、そのうち95回は、
精度が80%±8%の範囲におさまるということです。

72%~から88%とは、結構な範囲ですが、
サンプリング量を増やせばより狭い範囲で推定することができます。

例えば、1000のセンテンスを対象に精度を算出した結果、精度が98%だったとしたら、
計算すると、「真の信頼性は95%の確率で98%±0.9%」と、±1%以下の範囲になります。

つまり、100回抽出作業を行えば、対象となるセンテンスの数が10,000でも、100,000でも、
95回は97%以上の精度を出すということを主張することが可能です。


また、例では真の値が95%の確率で存在する範囲を計算しましたが、
99%の確率で存在する範囲、99.9%や99.99%で存在する範囲も計算できます。

紹介したHPでは95%での算出方法を紹介していますが、
p'±1.96√という式の「1.96」の値を変更すれば、確率を変更できます。
99%なら「2.57」、99.9%なら「3.30」、99.99%なら「3.90」を使えばOKです。

上記の1000のセンテンスを対象に精度が98%となった場合、
95%信頼区間は98%±0.9%でしたが、99.99%信頼区間は98%±1.7%位になります。
この場合10000回の抽出作業中、9999回は96.3%精度が以上ということなので、
「信頼性は、ほぼ確実に96%以上!」と統計的に主張が可能です。

このように信頼区間推定においては、
サンプル数を多くすればより信頼区間の幅を狭めることができますし、
逆に、パーセンテージを高めるほど(95%信頼区間よりも99%信頼区間の方が)、
信頼区間の幅は広がります。

実際の精度にもよりますが、抽出精度が9割以上あるのであれば、
つまり抽出漏れが1割以下ならば、サンプルは1000程度でも、
ある程度アテになる値(±2%位の範囲)が算出可能かと思います。

計算式自体は簡単なので、精度、サンプル数によって、
どの程度の幅で区間推定が可能かを、予め確認してから、
サンプル数を決定されるとよいと思います。

但し、「このテのプログラムにはどの程度の信頼性(精度)が要求されるのか」
また「信頼区間のパーセンテージは95%でよいのか99.99%がよいのか」
などの基準については、業界ごとに違うので、こちらでは判断できません。
申し訳ございませんが、そこはご自身の目的に合わせてご判断下さい。
少なくとも医学や心理学の分野などでは、95%で十分通用いたします。


文章だけでの説明ということで、中々冗長な説明になってしまい、申し訳ありません。

1000ものセンテンスを手作業で確認するのは非常に大変かと思いますが、頑張ってください。

id:yohasebe

詳細なご回答をありがとうございます!

とてもよく理解できました。「母平均」の区間推定については統計の入門書などでよく見かけるので、何となく知っているつもりだったのですが、「母比率」の区間推定についての知識が全く欠けていました。

kill_meさまのおかげで目的を達成できそうなのですが、せっかく立てた質問ですし、しばらく閉じないでおこうと思います。

見逃している問題(もしあれば)や関連する事柄に関するご指摘など、引き続きお待ちしています。

2007/06/24 23:35:32
id:Baku7770 No.3

回答回数2832ベストアンサー獲得回数181

ポイント20pt

 最初質問の意味がわからなかったのですが、そういったことであれば、私が聞いている限りではベイズ統計学を使うのが一般的のようです。

 学生時代の一般教養時代に学んでおいて、2度目に聞いたのは95年の震災直後に地震被害の予測シミュレーションに用いられていると聞いたときで、3度目は迷惑メールのフィルタリングの効果を測定するために使うというものです。

[rakuten:book:10796134:detail]

id:yohasebe

ベイズ理論について、その存在は知っていました。

ただ、この理論はどちらかというとシステム自体の実装に有用なもので、単なる性能評価のために使うというのはちょっと違う気がします。

ともあれ、ありがとうございました。

2007/06/24 23:34:42
id:yamats No.4

回答回数247ベストアンサー獲得回数9

ポイント20pt

SPSSまたはEXCELを使用するのは学部レベルになります。

特に、エクセルなんて使えたものではありません。


SPSSは無料ソフトなのでウェブサイト上からでもDL可能ですが、これも精度という意味においては大学4年生レベルになります。


どのくらいの問題をどのように解決したいのか、もっと具体的に示してあれば、その問題にマッチングした手法を提示することができたのに残念です。


院レベルでしたらMATLABを利用される事をお勧めします。

海外の大学院でも1年目にMATLABは勉強しますから、精度の低いソフトに最初から慣れてしまうよりは、はじめから精度の高いのソフトを使用される事をお勧めします。


サンプル数は多ければ多い方がよいです。サンプル数は億単位でもテキスト形式で読み込ませれば問題ありませんから、個人的にはMATLAB(マットラブとよみます)をお勧め致します。


参考書は、『THE MATLAB HANDBOOK』ADDISON-WESLEY がお勧めです。今のところアマゾンでは入手できないようなので、留学されているお友達がいれば送ってもらったりするとよいと思います。ソフトカバーなので邪魔にはなりません。サイズはB5サイズです。

id:yohasebe

まずSPSSは無料ではないどころか、通常は個人では購入しにくいほど高価なソフトウェアであることを指摘させていただきます。(私も職場のSPSSを使っています。)

"R"などフリーの統計プログラムがあることは存じております。しかし、それらも含めて、必ずしも信頼度が落ちるということはないと思いますが、いかがでしょうか。精度については、場合場合の必要を満たしていればいいわけで、実際、SPSSやRは(さらに言えばEXCELも)大学や企業の研究でバリバリ使われています。

MATLABを使ったことはありませんが、解析結果に高い精度が必要になるとき有用だということを覚えておきたいと思います。ありがとうございました。

2007/06/28 14:49:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません