2017-09-06 12 views
1

私はRPythonの両方を使用しており、テキストベースの分析とNLPの両方をある程度学んでいます。TEXT - 段落を小さな文に分割する方法(文末の表示なし)

質問は:どのように私は

文以下のような文章が混在している文を分割しない=私は私が守られて、プロセスを好きではないシステムが好きなアプリケーションが好き。

私は私は私がプロセスを好きではない

を踏襲しているシステム

  • が好きなアプリケーション
  • が好き

    1. にこの文を分割したい注: I文の終わりを示すために.があるので、以下のような文を分割することができます

      文章=私はアプリケーションが好きです。私はシステムが好きです。私はこのプロセスが嫌いです。

      Vjの

  • 答えて

    1

    私はあなたが文の区切り文字を持っていないので、あなたは次のように進むことができ、あなたを助けることができるアプローチを提案することができます

    • は構文上の本質を抽出するための構文分析を適用します。段落の

      例:私は私が

      を踏襲しているプロセスを好きではない、システムが生成されます好きなアプリケーション好き:PP VB DT NNを...

      を私がすることをお勧めします構文分析を抽出するにはStanford Parserを使用してください。

      PP:人称代名詞

      VB:動詞

      DT:決定部

      NN:名詞

      あなたは、文を分割するために使用することができます構文パターンを持っていることがわかります段落を文にする。

    • 文の考えられる構文木のモデルを構築します。モデルを言うと、私は文の構文的なビルドを含むファイル/データベースを意味します。

      PP VB DT NN - >(I食べるリンゴ)

      VB ADJ NN - >(新しいメソッドを作成する)

      :次の行を含むことができるモデル

      あなたのモデルを構築するには、多くの文章を分析することができます(あなたの文章が大きくなるほど、あなたのシステムはより正確になります)。あなたは自分自身で構築したcorpusを使うことができます。

    • モデルをビルドしたら、プログラムの作成を開始できます。アルゴリズムのメインラインは次のようになります。

      1-入力段落(入力またはファイルとして)を受け取ります。

      2-段落の構文ツリーを生成するためにスタンフォードパーサーを適用します。

      、3-以前に構築構文木(あなたの文章モデル - >あなたのパターン)と、段落の部分の比較に基づいて、あなたの段落を分割スタート

      あなたはの一部のsimilarityを測定する必要があります。文章モデルの段落。

    私はあなたに何をしたいかについてのアイデアやアプローチを提供しようとしました。

    おそらくNLTK(Natural Language Toolkit)を使用する必要があります。

    +0

    ありがとうございます。私はアプローチをしようとしています。私はどこかで取得したらコードとアップデートを投稿します。この時点で、私は構文木モデルに基づいて構文解析を使うようにNLTKを学習しています。 –

    +0

    @MangalPandeyは、自然言語処理(Daniel JurafskyとJames H. Martinのスピーチと言語処理)を育てる素晴らしい本です。http://www.deepsky.com/~merovech/voynich/voynich_manchu_reference_materials/PDFs/jurafsky_martin.pdf。私はちょうどこの本を愛しています!これが役に立つ答えかもしれない、多分あなたはそれをaproveすることができます;) – ziMtyth

    関連する問題