WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:複数の文字列中から重複語を取り出すには?

0:[投稿] すみ [MAIL] [2002/12/23 16:57 ][環境:MacOS 8.5 NT4.0 Perl5]

 掲示板などで投稿された文字列の中から、よく使われる言葉を
探し出そうと思いましたが、うまくできませんでした.

 まずは投稿された記事からsubstrで1文字を取り出し、
正規表現で過去の記事に含まれるかどうか、という方法を
取ったのですが、substrでは半角と全角が混じると
うまく取り出せませんでした.

全て全角と分かっていれば、
$a = "あいうえお";
$b = substr($a,2,2); >"い"
で、よいのですが、
$a = "abcあいう";  >文字化け
このように半角が混じると取れません.

半角を全角に変換してから処理しようと思いましたが、
jcode.plは半角カナ>全角カナだけのようですし、

$a =~ s/A/A; (〜Zまで)
とやってみましたが、全角文字の1バイト分も全部置換して
しまうようで失敗でした.

 いろいろやってみましたが明かりが見えません...
他に良い方法はあるのでしょうか.よろしくお願いします.


1:[回答] 匿名万歳 [2002/12/24 10:56 ]

おなじみ(?)Perlメモから「文字単位に分割する」
http://www.din.or.jp/~ohzaki/perl.htm#JP_Split
文字単位にできれば何とかなるでしょう。

あと、「jcode.pl の私的な解説書」のtrの使い方。
http://www.mikeneko.ne.jp/~lab/kcode/jcode.html#h2-10
半角を全角にというのは、これでいけるんじゃないでしょうか?
この機能は使ったことが無いので何とも言えませんが。

「よく使われる言葉」をリスティングするのは面白そうですね。
がんばってください。


2:[回答] 緑茶 [2002/12/24 11:48 ]

「よく使われる文字」なら簡単ですが「よく使われる言葉」は
そう簡単には出来ません。

なぜなら日本語構文を解析する必要があるからです。
「××は」とか「○○を」なんていう言葉を文節単位で切り出してやらねばならず、
これにはchasenというプログラムが良く使われるので、検索してみてください。


3:[回答] すみ [MAIL] [2002/12/25 23:09 ]

>匿名万歳さん
 これなら1文字にできるので、なんとかなりそうです.
 ありがとうございます!

>緑茶さん
 そうなんですよね.言葉を抽出するのってなかなか大変です.
自分でやってみて挫折したら、茶筅(日本語解析)のしくみを
参考にしてみようと思います.
 ありがとうございます!

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World