No.16621![]() |
単語の切り分け 投稿者---AI(2004/09/06 13:11:44) |
||
AIです。 お世話になります。 キーボード入力で、 文章(1文)を打ち込み その文章を単語に区切りたいのですが、 どのようにしたらいいのか わかりません。 char word[128]; scanf("%s",word); で入力文字列を配列wordに格納してから 処理をしようと思います。 例えば、 " 昨日の雨はひどい" この場合、昨日・雨・ひどいを切り出したいです。 決まった入力文章だと ポインタをその分だけ進めて 切り出したり出来るのですが、 入力文書は不規則であるとします。 どうぞよろしくお願いします。 |
No.16622![]() |
Re:単語の切り分け 投稿者---YuO(2004/09/06 13:30:56) |
||
>キーボード入力で、 >文章(1文)を打ち込み >その文章を単語に区切りたいのですが、 >どのようにしたらいいのか >わかりません。 「単語」とは何ですか? >" 昨日の雨はひどい" >この場合、昨日・雨・ひどいを切り出したいです。 「の」「は」は単語ではないとするのですね。 「はひどい」ではなく「ひどい」が単語なのですね。 文章を文節やら単語に分けるというのは,人間は無意識に行っている行為ですが, プログラムを書くときにはそれをルール化する必要があります。 まずはそれを考えることからはじめてみてはどうでしょうか。 |
No.16623![]() |
Re:単語の切り分け 投稿者---ぽこ(2004/09/06 13:54:45) |
||
>例えば、 >" 昨日の雨はひどい" > >この場合、昨日・雨・ひどいを切り出したいです。 >決まった入力文章だと >ポインタをその分だけ進めて >切り出したり出来るのですが、 >入力文書は不規則であるとします。 >どうぞよろしくお願いします。 この分野は専門性が高く、自然言語書処理に関わったことがある方でいないと 答えられないと思います。 また、もし答えられる方がいたとしても、掲示板で受け答えできるような 小さなボリュームではないでしょう。 (存在するかどうか分かりませんが)専門書を買うことをお勧めします。 もしくは論文を読むとか。。 #Googleあたりで「自然言語処理」と「形態素解析」をキーワードに調べてみてください。 |
No.16624![]() |
Re:単語の切り分け 投稿者---とおりすがり(2004/09/06 17:25:54) |
||
"すももももももももももものうち" どう切り分けますか。 |
No.16625![]() |
Re:単語の切り分け 投稿者---シャノン(2004/09/06 18:45:07) |
||
>"すももももももももももものうち" >どう切り分けますか。 #「もも」が一個冗長なような…w |
No.16634![]() |
Re:単語の切り分け 投稿者---とおりすがり(2004/09/07 05:57:25) |
||
>>"すももももももももももものうち" >>どう切り分けますか。 > >#「もも」が一個冗長なような…w <すもも>も桃も桃のうち <すもも>も桃、桃も桃のうち <すもも>も桃、桃も桃、桃のうち ただの例です。"コンピュータにどう判断させるかな"という事です。 |
No.16635![]() |
Re:単語の切り分け 投稿者---シャノン(2004/09/07 10:09:45) |
||
>>>"すももももももももももものうち" >>>どう切り分けますか。 >> >>#「もも」が一個冗長なような…w ><すもも>も桃も桃のうち ><すもも>も桃、桃も桃のうち ><すもも>も桃、桃も桃、桃のうち #むー…最初の例しか思いつかなかった。 #脳味噌に柔軟性が足りないようです>俺 #無駄レスごめん >ただの例です。"コンピュータにどう判断させるかな"という事です。 でも、この例は判別不能でしょう。 "コンピュータにどう判断させるか" もありますが、ある程度 判断させるための条件を満たした文しか受け付けないような 制限もないといけませんね。 |
No.16683![]() |
Re:単語の切り分け 投稿者---sim(2004/09/08 19:15:50) |
||
自然言語処理で形態素解析(単語で切り分け、品詞付け)を行なう場合、単語辞書を用意し、入力文と辞書を比較を行ない単語に切っていくしか無いはずです。 基本的にPCに知識は存在しません。 人が分かる文の区切りでもPCに取っては、0、1の記号列に過ぎないので。。。 入力文を単語に切り分ける作業を行なうのはフリーソフトのchasenかjumanを利用することをおすすめします。 どうしても自分でプログラムを組むならば単語辞書を用意して、最長一致法で組むのが1番簡単だと思います。 正し、精度としてはあまり高くないですが。。。 |
No.16684![]() |
Re:単語の切り分け 投稿者---おどまぼんぎりぼんぎりぼんからさーきゃおーらんと(2004/09/08 19:50:32) |
||
自分でプログラムを作る場合のために簡単にアドバイス 辞書の構造は木構造をベースにしたTrie(トライ)がいいでしょう。 データ件数が100件でも100万件でも検索効率が変わらないと言う すぐれものです。 >自然言語処理で形態素解析(単語で切り分け、品詞付け)を行なう場合、単語辞書を用意し、入力文と辞書を比較を行ない単語に切っていくしか無いはずです。 >基本的にPCに知識は存在しません。 >人が分かる文の区切りでもPCに取っては、0、1の記号列に過ぎないので。。。 > >入力文を単語に切り分ける作業を行なうのはフリーソフトのchasenかjumanを利用することをおすすめします。 >どうしても自分でプログラムを組むならば単語辞書を用意して、最長一致法で組むのが1番簡単だと思います。 >正し、精度としてはあまり高くないですが。。。 |