SFAオープンスクールの質問から

昨日、2月28日(土)はサン・フレアアカデミーのオープンスクールでした。

クラスの中でWildLightの使い方に関する質問がありました。これは他の皆さんも利用できる情報ですので、ここにシェアしておきます。

1. 蛍光ペンのついた文字列をワードやエクセルへ抜き出せるか?

WildLight特殊コマンドの「ExtractH2Word」もしくは「ExtractH2Excel」を使います。

例)
ExtractH2Excel

いずれかのコマンドを1行記述した辞書ファイルを準備し、蛍光ペンされたテキストを抜き出したいワード文書へ適用すれば、抜き出せます。

この例を記述した辞書を「WLDIC_抽出_蛍光ペン部をExcelへ抜く.txt」として作成しておきました。ライブラリーからダウンロードしてご利用下さい。

2. PDFファイルからワードにしたものを整形するには、どうしたらいいか?

 この質問については明確な回答ができませんでした。PDFからワードファイルを起こした場合、使用したアプリケーションや原稿PDFの中身によって、出る症状が違うからです。

  • 私の経験した症状として、以下のようなものがあります。
    1. 全角文字間に全半角スペースが紛れ込んでいる。
    2. 全半角数字の後ろに複数の半角スペースが入っている。
    3. 半角英数字間のスペースに全角スペースが入っている。
    4. 文頭に不要なスペースが入っている。

これらへの対処として、以下のような処理を行っています。

' 全角英文字カタカナ漢字の間に挟まった全半角スペースを除去する
 
 ([a-zA-Zァ-ヾ一-鶴ぁ-ゞ])[  ]{1,}([a-zA-Zァ-ヾ一-鶴ぁ-ゞ])     \1\2
' 全半角数字の後のスペースを半角スペース1つにする

 ([0-90-9])[  ]{2,}     \1
' 半角英数字間のスペースを半角スペース1つにする

 ([\!-~])[  ]{1,}([\!-~])     \1 \2
' 文頭の不要なスペースを削除する

 ^13[  ]{1,}     ^p

上記4例とも、[ ]の中は全角スペース1つと半角スペース1つが入っています。
また、セパレーターはTABです。
これらが記述された辞書は、「WLDIC_編集_日本語:PDF抽出文書の成形.txt」として提供しています。

3. エクセルやパワーポイントファイルからテキスト抽出するには、どうしたらいいか?

Microsoft Office Personal以外(Excel, PowerPointが入っているもの)をお使いの方は、WildLight Users Group でのみ配布されている Full バージョンを使えば、エクセルやパワーポイントからテキスト抽出する機能を利用できます。

4. 全角文字の間にまぎれた半角スペースを除去する方法は?

全角文字の間に半角スペースが入っているケースは、PDFファイルからワードへ変換した時に良く見かけるので、質問2への対処の1つとしても有効だと思います。

全角文字をワイルドカードで表現すると以下のようになります。

 、-鶴

そして、全角文字に挟まれる半角スペースを検出して削除するには、辞書に次のように記述します。

 ([、-鶴])[ ]([、-鶴])                  \1\2

[ ]の間には半角スペースを入れます。
([、-鶴]) ([、-鶴])と\1\2の間はセパレーターのTABです。

この辞書を「WLDIC_変換_全角文字間の半角スペースを除去.txt」として作成しておきました。ライブラリーからダウンロードしてご利用下さい。

上付/下付の指定忘れをチェックする

多項式や化学式を記述するのに、上付や下付を多用しますが、その指定を忘れてしまったものを検出する WildLight 辞書の紹介です。

このチェック辞書を作る上で使用する特殊コマンドは「Superscript」と「Subscript」です。
(Users Groupで、この機能実装のアイデアは Kanbayashi さん、以下のチェック方法のアイデアは Yamauchi さんに頂きました。ありがとうございました)

上付も下付も、チェックの手法は同じですので、ここでは下付(Subscript)を例に説明致します。

H2O の2や、CO2の2を下付指定し忘れたものを検出してみましょう。

【考え方】

  • 下付指定されていないもの を検出して蛍光ペン付けする。
  • 「下付でない= Subscript:OFF」を指定して「H2O」「CO2」を検索する。
  • 正しく 2 が下付指定されているものは、この検索には引っ掛からない。

【辞書の記述方法】

Subscript:OFF
H2O
CO2
Subscript:CLEAR

1行目は、「下付は検索しないで」という指定です。
2行目から3行目は検索する化学式。ここに検索したい化学式をどんどん追加すれば良い訳です。
4行目で、「下付の検索条件を解除」

これを実際に実行した画像がこれです。(画像をクリックして拡大してご覧ください)

WL_SubscriptCheck

2を下付指定し忘れた H2O に蛍光ペンが付くのが分かると思います。

この辞書は、WildLight Library に「WLDIC_化学式チェック.txt」で登録されていますので、ダウンロードして、ご自身の使用目的に修正してご活用下さい。

 

和文から用語集候補をエクセルへ抽出する

英文に続き、今度は和文から用語集候補をエクセルに抜く為の WildLight 辞書です。

過去に「日本語原稿から簡易的に用語を抜く」という記事をアップしていますが、別のアプローチによる抽出です。以下のWildLight辞書をダウンロードして使用して下さい。WildLight Library に登録されています。

WLDIC_抽出_和文から用語集候補をExcelへ抜く.txt

この辞書の記述は以下の通りです。

[『](*)[』]  \1
[「](*)[」]  \1
[a-zA-Za-zA-Z0-90-9]{1,}[ァ-ヾ一-鶴]{1,}
[ァ-ヾ一-鶴]{1,}[a-zA-Za-zA-Z0-90-9]{1,}
[ァ-ヾ一-鶴]{1,}
ExtractH2Excel
  • 1行目と2行目は、「」と『』で囲まれた文字列を括弧なし文字に置換して蛍光ペン付けをしています。これらの括弧に囲まれた文字列には定訳を持つ用語が含まれている可能性が高い為、抽出対象にします。
    この2行だけは括弧を抽出文字から消したい為に、括弧なし文字に置換しています。従って、この辞書を適用すると原稿が加工されてしまいますので上書き保存しないように注意して下さい。
  • 3行目は英数字の文字列に続いて、カタカナ・漢字の文字列で構成される文字列に蛍光ペン付けしています。
    例)「GTP結合タンパク質」とか「ROHS指令物質不使用証明書」といった用語が検索対象になります。
  • 4行目は、カタカナ・漢字の文字列に続いて、英数字の文字列で構成される文字列に蛍光ペン付けしています。
    例)「コプラナーPCB」とか「イムノグロブリンE」といった用語が検索対象となります。
  • 5行目は、カタカナと漢字の文字列に蛍光ペン付けしています。
    例)「高性能液体クロマトグラフィー」とか「プロジェクト管理」といった用語が検索対象になります。
  • 6行目は、蛍光ペンをエクセルへ抽出する特殊コマンドです。

前述の過去記事による用語候補抽出は、5行目の「カタカナと漢字」の文字列だけでしたが、英数字が前後に付くケースも多く見られる事から、3~4行目を追加しました。

英文の抽出と同様、この辞書の適用により抽出された用語も、人間の目で選別を行う必要があります。

英文から用語集候補をエクセルへ抽出する

日本語文書から用語集候補文字列を抽出するWildLight辞書を以前公開しましたが、今回は英語文書から用語集候補の単語もしくは連語を抽出する辞書です。

以前、某社で行ったWildLightセミナーの中で、その抽出方法の考え方をお伝えした事があり、その際「いつ出来ますか?」と質問を受けていながら、長らく放置していました。

以下がそのWildLight 用辞書です。WildLight Library に登録されています。

WLDIC_抽出_英文から用語集候補をエクセルへ抜く.txt

この辞書で行っていることは、以下のような文字列を検索し、蛍光ペン付けをしてテキスト抽出しています。

  1. 頭文字が大文字で始まる単語
  2. その単語が連続した連語

具体的にどういうものか? 上記の1「頭文字が大文字で始まる単語」とは、Hello とか HELLO のような単語です。2「その単語が連続した連語」とは、Hello World とか HELLO World など、頭文字が大文字で始まる単語のセットのことです。

用語集候補は、例えば「Microsoft Visual Basic」や「National Art Museum」に見られるように、単語の頭文字が大文字になっている単語/連語の場合が多いので、そういう単語を検索して抜いてしまおうと言うのがアイデアです。

辞書の記述は以下の通り。(わかり易くする為にくどい書き方をしています。)

[A-Z&][A-Za-z0-9\-&]{1,}[ ]
[A-Z&][A-Za-z0-9\-&]{1,}
[&][ ]
ExtractH2Excel

1行目は、頭文字がアルファベットの大文字で、それに続く文字列が英数字で、最後が半角スペースのものを検索して蛍光ペンをつけます。
2行目は、頭文字がアルファベットの大文字で、それに続く文字列が英数字のものを検索して蛍光ペンをつけます。
3行目は、半角のアンドマークと半角スペースのセットを検索して蛍光ペンをつけます。

1行目と2行目は記述が似ています。違いは終端の半角スペースだけです。1行目で、殆どの単語と連語が蛍光ペン付けされますが、文末にある単語は残ってしまいます。それを2行目の記述で蛍光ペン付けします。
何故こんなやり方をしているかと言うと、改行を抽出対象としない為です(抽出されなくなる)
3行目は、単語が&で繋がれている連語を、連語として抽出する為に検索して蛍光ペン付けします。

この辞書ではあくまでも「候補」の抽出しかできません。お分かりの通り、文頭の単語は無条件で抽出対象となります(頭文字が大文字だから)。

抽出された単語/連語を自分の目で見て、不要物を除去して下さい。面倒だと思われる方は、例えば潔く連語だけを残すと言う考え方もあります(用語集に盛り込むべき連語の可能性が高い)。

この辞書の記述はひとつの例でしかありませんので、皆さんの使途に合わせて変えて使ってみて下さい。

[テキスト抽出のポイント]
抽出対象の検索は、ワイルドカードを一文で表現する必要はありません。抽出部位を別々に検索して、蛍光ペン付けするようにします。(これがWildLightの強みです)
蛍光ペンのテキスト抽出機能は、蛍光ペンが付いている連続した文字列を1つの塊として抜き出します。従って、別々に検索して色付けされても、最終的に蛍光ペンでひと塊りになっていれば問題ないのです。

テンプレート辞書

指定した用語や単語だけに蛍光ペン付けをして、チェックし易くしたい…という目的から、WildLight を利用して頂いている方もいるようです。

その上で、辞書の作成で戸惑うのではないかと思い、テンプレート辞書を作成しました。
(クリックして表紙された状態で、Ctrl+S すると保存できます)

このテキストファイルに、どんどんとチェックしたい単語や用語を追加するだけで、WildLight の辞書として使用できます。

作った辞書ファイルをリネームして、分野別や文書種類別に辞書を作って使用するのがいいでしょう。