質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.37%

perlについて

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 614

abc_z

score 34

今、perl言語を扱っています。そして重要度を使った要約のプログラムを書いています。

質問があります。
例えば、「僕は野球選手である。しかし、プロ野球選手ではない。」という文があるとして、「しかし」という接続詞があります。
これを要約するのに私が書いたプログラムでは。「僕は野球選手である。プロ野球選手ではない。」というふうに前後の文の連結に違和感があります。
そこで、もし接続詞の前の文が要約文として、選ばれていた場合に接続詞を削除することがなければ前後の文の違和感がなくなると考えました。

ですがこのプログラムを書くにはどう書いたらいいか分からずに困っています。
何かコマンドやアドバイス、アイデアなどがありましたらご教授お願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • pi-chan

    2016/05/23 23:56

    自然言語処理ってかなり奥が深いですが・・・
    ①「要約」という処理はどの様に定義?されているのですか
    ②字句解析や構文解析はどの様にされているのですか(何かのライブラリを使用?)
    質問が漠然としていて回答し難いと思います。

    キャンセル

  • abc_z

    2016/05/24 00:35

    文の重要度を計算して、高いものをどんどん選んでいくっていう感じです。

    mecabというものを使って構文解析をしてます。

    キャンセル

回答 2

checkベストアンサー

+1

自然言語処理に関しては門外漢ですが…

専門的なことは分かりませんが、接続詞って、「それまでの文脈」を受けて、その「直後の文」がどのような意味的な関係を持っているかを示すものだと思います。それで接続詞は、「それまでの文脈」はさておき、「直後の文」と密接な関係があると言って良いと思います。

文脈を解析するのは相当レベルが高いですが、重要な文章として抽出された(要約された)文の直前の単語が接続詞の場合は残すという処理であれば、それ程難しくないのではないでしょうか?

mecabを使用した事がないので具体的なプログラムを例示することが出来ないのですけれども、字句解析がきちんと出来ていて「文の重要度」まで計算出来ているのであれば、ちょっと工夫することで実現できるのではないかと思います。

以下、おまけ。
字句解析の精度に影響するので、どんな辞書を使用するかはとても重要です。
既にご存知かもしれませんが、優れた辞書について説明したページがありましたので、リンクを貼り付けて置きます。

mecab-ipadic-neologdがすごいという話

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/25 10:25

    アドバイスありがとうございます。
    頭でだいぶイメージがわいてきました!

    キャンセル

0

どういうルールで要約すると
「僕は野球選手である。しかし、プロ野球選手ではない。」

「僕は野球選手である。プロ野球選手ではない。」
になるのか私には難しくてわかりませんが例えば
1.「~である。」→「~だ。」
2.「。しかし」→「が」
という単純なルールだけでも
「僕は野球選手だが、プロ野球選手ではない。」
となりますので、こうやって少し(単純で規則的なルールで)整理してから要約処理に通すと
「僕は野球選手だが、プロではない。」
位にまで要約してくれたり…みたいな事にはなりませんかね…?(と妄想中)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る