0

句動詞の「動詞」の隣に「分離可能な句動詞助詞」が表示されるように、単語の並べ替えを行いたい POS タグ付きの対訳コーパス テキスト ファイルがあります (「計画を立てる」の代わりに「計画を立てる」) . これは、統計機械翻訳システムでの前処理に使用されます。POS タグ付きテキスト ファイルの行の例を次に示します。

  1. you_PRP mean_VBP we_PRP should_MD kick_VB they_PRP out_RP ._.
  2. don_VB 't_NNP take_VB it_PRP off_RP until_IN I_PRP say_VBP so_RB ._.
  3. please_VB help_VB the_DT man_NN out_RP ._.
  4. shut_VBZ it_PRP down_RP !_.

すべての助詞 (例: out_RP、off_RP、out_RP、down_RP) を直前の動詞 (助詞と組み合わせて句動詞を構成する動詞) のすぐ隣に移動したいと考えています。語順を変更した後の行は次のようになります。

  1. you_PRP mean_VBP we_PRP should_MD kick_VB out_RP それら_PRP ._.
  2. don_VB 't_NNP take_VB off_RP it_PRP until_IN I_PRP say_VBP so_RB ._.
  3. please_VB help_VB out_RP the_DT man_NN ._.
  4. shut_VBZ down_RP it_PRP !_.

これまでのところ、Python と正規表現を使用して、re.findall を使用して問題をソートしようとしました。

import re 

file=open('first100k.txt').read()
matchline3='\w*_VB.?\s\w*_DT\s\w*_NN\s\w*_RP'
wordorder1=re.findall(matchline3,file)
print wordorder1

これにより、すべての句動詞が語順 1 (以下を参照) で検索されますが、助詞を動詞の隣に移動する方法が分からないため、これまでのところです。この問題を適切に解決する方法はありますか (必ずしも python と正規表現を使用する必要はありません)。すべての句動詞を検索し、次の語順で助詞を移動できるようにしたいと考えています。

(使用されているタグは、Penn Treebank タグセット ( http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html ) から取得されます)(x は、すべての動詞形式を含めるためのオプションの文字を示し、 * はワイルドカード単語を示します))

  1. *_VBx+*_DT+*_NN+*_RP
  2. *_VBx+*_DT+*_NNS+*_RP
  3. *_ VBx+* _DT+*_.JJ+*_NN+*_RP
  4. *_ VBx+* _DT+*_.JJ+*_NNS+*_RP

  5. *_VBx+*_PRP$+*_NN+*_RP

  6. *_VBx+*_PRP$+*_NNS+*_RP
  7. *_ VBx+* _PRP$+*_.JJ+*_NN+*_RP
  8. *_ VBx+* _PRP$+*_.JJ+*_NNS+*_RP

  9. *_VBx+*_NNP+*_RP

  10. *_VBx+*_JJ+*_NNP+*_RP

  11. *_VBx+*_NNPS+*_RP

  12. *_VBx+*_PRP+*_RP

事前に、あなたの助けに感謝します!

4

1 に答える 1