トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

old.text

*disclaimer
11651

テキスト処理


 OpenNLP

http://opennlp.sourceforge.net/projects.html


 pdfファイルからテキストを抽出する。pdftotext

pdftotext -enc EUC-JP text.pdf

これで、text.txt というファイルが生成される。

 American National Corpus におけるn-gram表現の抽出

1)本文のみのファイルをひとまとめにする

cat *trans.xml > sw20.all

2)タグの除去

perl -pe 's/<.+?>//g' sw20.all > sw20.txt

3)n-gram抽出プログラムをかける(Ngram.pmを応用)

freqNgram sw20.txt > sw20.ngram

4)結果

2 you know 980
2 it s     609
2 that s   488
2 don t    392
2 um hum   389
2 i think  270
3 i don t  240
2 i m      234
2 uh huh   224
2 a lot    218

  • まとめてやると
cat *trans.xml | perl -pe 's/<.+?>//g' > file.txt
freqNgram file.txt > file.ngram

freqNgramは引数にファイル名を要求するので、パイプ処理はできない。

 perlでxmlのタグの削除


perl -pe 's/<[a-zA-Z0-9 ="\.\?\!\/\-:_]*>//g' file.xml

perl -pe 's/<[\w\s\d="\.\?\!\/\-:_]*>//g' file.xml

perl -pe 's/<.+?>//g' file.xml

繰り返しを表す+の後ろの?は「最短一致」
これを指定しないと「最長一致」でマッチしてしまう。

 emacsで日付の挿入 .emacs.el - sugiura (2006年03月16日 13時05分14秒)

;; insert date
(defun foo ()
 (interactive)
 (insert (concat
          "["(format-time-string "%Y-%m-%d")"]("(format-time-string "%A")")")))
(define-key global-map "\C-cd" 'foo)

これで

[2006-03-16](木曜日)

とでる。

お名前: コメント:

 perlのモジュールのインストール - sugiura (2006年01月15日 06時37分37秒)

  1. http://search.cpan.org/ からダウンロード
  2. 解凍
  3. perl Makefile.PL
  4. make
  5. make test
  6. su
  7. make install

お名前: コメント:

 perlでの複数行にわたるコメントアウト - sugiura (2005年12月08日 03時10分00秒)

=pod

この部分をコメントアウト

=cut

お名前: コメント:

 emacs での取り消し - sugiura (2005年10月04日 15時47分48秒)

C-x u

お名前: コメント:

 サクラエディターを使ったテキスト処理 - sugiura (2005年09月17日 10時44分20秒)

http://sakura-editor.sourceforge.net/

  • 関連情報
  • パッケージ版をダウンロードしてインストールする。
  • 環境を設定する
    • フォント
      • メニューの「設定」から「フォント設定」:MS明朝の12ポイントがよい
    • 行の折り返し
      • メニューの「設定」から「現在のウィンドウ幅で折り返し」
  • 検索
    • メニューの「検索」から「検索」
    • メニューの「検索」から「Grep」
      • ファイルが保存してないと「現在編集中のファイルから検索」が使えない。
      • 正規表現が使える
  • 置換
    • メニューの「検索」から「置換」
    • 「正規表現」を使うことでいろいろとテキスト処理ができる。
例:べたうちテキストを、一文一行にする。
「。」があったら改行すればよい。
「。」を「。改行」に置き換える。
「改行」は正規表現で「\r\n」(Windows上の場合)
つまり、「。」を「。\r\n」に置き換える、とすればよい。



お名前: コメント:

 htmlファイルをテキストファイルに整形するには - sugiura (2005年08月11日 02時13分04秒)

lynx -dump URL

これで、もとのhtmlファイルの「見た目」を「一応」保った形で、テキストファイルが出力される。(URLは実際のhttp....を入れる)

あとは、これをリダイレクトすれば、様々なテキスト処理ができる。

  • 例:単語数を数える。
lynx -dump URL | wc -w

  • 例:Webページの変更をチェックする
lynx -dump URL > file1.txt
lynx -dump URL > file2.txt
diff file1.txt file2.txt

お名前: コメント:

 perlメモ - sugiura (2005年07月17日 02時35分43秒)

http://www.din.or.jp/~ohzaki/perl.htm

マルチバイトの文字のマッチングの処理方法が参考になった。

これを参考に、webGrep for NESSを修正。
「犬」を入れてもだいじょうぶ。

お名前: コメント: