2012-03-24 17 views
2

私はテキストファイル内の文字列のパターンを探すプログラムをJavaで作成しようとしています。 小説から取った次のテキストを考えてみましょう。テキスト内の文字列のパターンを検索する

彼女はとても素晴らしい女性でした。彼女は言った: "こんにちは、私の名前はローレン、あなたのものは何ですか?"

HELLO、任意の文字列、NAME(リストから取得したもの)というように、この一連の単語を見つける方法を探したいので、上記の例では太字):

彼女はとても素晴らしい女性でした。彼女は言った: "こんにちは、私の名前はローレン。あなたは何ですか?

最初は正規表現の使用について考えましたが、パーサー(おそらくJFlexまたはANTRLが生成したもの)を書くことを検討しました。

コード作成の方が簡単で、うまくいけば解決方法がわかりますか?

答えて

0

stanford POS taggerを試して、文の一部にタグを付けることができます。次に、探している基準で文をフェッチすることができます。

+0

ありがとうございました。あなたの答えは私の仕事にとても合っているようです。私は、スタンフォードPOSタガーを詳細に勉強します。 Btw、これまで使ったことはありますか?もしそうなら、あなたはカスタムタガーファイルを作成したことがありますか?再度、感謝します。 – Sibby

+0

あなたはカスタムタグャーファイルを必要としません。タグャーで使用されているタグセットを適切に調べれば、あなたが望むものを達成することができます。例えば、あなたが与えた例では、特定のタグの下で名前が適切な名詞の下に落ちると、タグセットをテストし、細かいことを行う必要があります。検索をさらに飽和させるには、特定の正規表現パターンを使用してパターンとマッチャーでタグ付けを試みます。 –

0

Lucene、Java検索エンジンを試してください。あなたはnグラムを理解する何かが必要です。

2

HELLO(大文字小文字を区別しない)、任意の文字列、名前(リストから取ったもの)をマッチさせようとすると、Patternクラスを使用する正規表現が最適です。

オンラインのRegExエバリュエーターを見て、式を作成してください(http://www.regular-expressions.info/javascriptexample.htmlなど)。式を作成するために少しの作業が必要になりますが、これを行うと、文字列検索パターンを簡潔に表現することができます。

関連する問題