エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
言語処理100本ノック 2015年版 (50~54) - 北野坂備忘録
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
言語処理100本ノック 2015年版 (50~54) - 北野坂備忘録
第6章: 英語テキストの処理 英語のテキスト(nlp.txt)に対して,以下の処理を実行せよ. 50. 文区切り ... 第6章: 英語テキストの処理 英語のテキスト(nlp.txt)に対して,以下の処理を実行せよ. 50. 文区切り (. or ; or : or ? or !) → 空白文字 → 英大文字というパターンを文の区切りと見なし,入力された文書を1行1文の形式で出力せよ. 上記の条件を正規表現で表すとこんな感じになります。 r'\.\s[A-Z]|\;\s[A-Z]|\:\s[A-Z]|\?\s[A-Z]|\!\s[A-Z]' 問題はこれそのものが区切りではないこと。当然前の文には(. or ; or : or ? or !)を残したいし、後ろの文には英大文字を入れたい。 そこで、3文字を格納し、上記の正規表現と比較して、マッチすれば区切るようにしました。 #!/usr/bin/env python import codecs import re fin = codecs.open('nlp.t