こんばんは
HTML、テキストファイル、pdfファイルなどの英文のソースがあったときに、そこで使われている英単語を抽出してテキストファイルやExcelなどで英単語のリストを作りたいのですが、何かよい方法はあるでしょうか?少し調べてみたのですが、形態素解析などをすることになるのでしょうか?どなたか教えていただけると幸いです。
例えば、
「No other region has demonstrated the fragility of both human society and the international community more markedly than Africa.」
という英文があったとき、
Africa
and
demonstrate
has
other
region
…
のように単語を抽出してくれて、できればその意味も
Africa:アフリカ
and:そして
demonstrate:証明する
has:持つ
other:他の
region:地域
…
のようにできるととても助かります。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
英文から単語を抽出し、その頻度や使われ方を研究するためのツールがあります。
corpus(言語資料), concordance(用語索引), linguistic tool(言語学用ツール),などで検索するとツールと使い方の説明サイトがあります。
ツールはGUI化されていても動作レベルはCUIレベルで動いている感じで、操作感もそれにちかいものが多いです。
DOSツールやプログラミング経験者であれば簡単ですが、でない場合はちょっと最初の敷居が高いと思います。
日本語で検索されるならとりあえず”コンコーダンスプログラム”でいくつか出てきます。
とりあえずこれらのツールが使えると単語が切り出せます。
訳語を付けるには、単語リストを引数に取って辞書を検索~出力するツールが必要です。
一番簡単な方法は多分Grepを使って単語リストの載っている辞書ページへのリンクを吐き出させることでしょうか。その場合、辞書は英単語、訳語と割と短い文でないとリンクを開かないとリンク先表示が短いGrepでは内容が見えないかも知れません。GrepもいろいろなものがWebにあります。
完全なツールは見たことがありませんが、テキスト系の辞書はWebにも有る程度転がっているので、プログラムが作れるなら自分用のものを作ることは可能かと思います。
PDFはPDFリーダーだと通常文字等の抜き出しができません。PDFライターや相当品のツールをお持ちなら、プロテクトのかかっていないPDFから文字を抜き出しテキストファイルにして処理が可能です。
HTMLの場合、ソースコードにはタグが散らばっています。これをテキスト化するツールはウエブにいろいろあります。(コンこーダンスプログラムは通常プレーンのテキストしか使えない仕様がほとんどです)
No.3
- 回答日時:
先ほど tinantum さんの回答履歴を見させて頂いたところ、数学の専門家の方らしく、Mathematica の経験もあるようですね。
パソコンに詳しくない質問者かと思って書いていた回答を、急いで書き直しました。「英文から英単語の抽出をしたい」だけ、つまりは単語の切り分けだけならば、なにかのプログラム言語を少し勉強して頂ければ、実現できると思います。もちろん GUI は無しです。Mathematica の言語がどのようなものかは分かりませんが。
英語は単語がスペース等で区切られていますので「ファイルを読み込み、1文字目から文字を判別していき、スペースやカンマなどが出たら、そこまでを1単語とする」と言う処理をするプログラムを書けば良いということになります。実際は、ソートや重複処理などもありますが。
テキスト処理の得意なスクリプト、ライトウェイトランゲージといわれるものが適していると思われます。Perl, Python, Ruby など色々あります。マクロ内蔵のテキストエディターなら、そのマクロで組めるかもしれません。Word 等のワープロソフトでも組めるかもしれませんが、大きなファイルでの処理に不安があります。また、その程度の処理であればフリーのソース、その処理ができるように書かれているスクリプト、マクロがネットで見つかるかも知れません。
ただ pdf は面倒だと思います。pdf をテキストファイルに変換する必要があると考えます。pdf は知識薄なので詳しく書けません。HTML はタグを除去する作業を追加する必要が出てきます。
次に「意味をつける」となると、一気に難度が上がります。英語1単語に日本語訳をつけるには、日本語訳のデータベースが必要になると思いますが、フリーは「英辞郎」くらいしか思い浮かびません。
ただし通常、英日データベースでは英語一単語に対し、日本語訳がゾロゾロ出てきます。have を「英辞郎」で調べたら、大項目だけで10でてきました。そのまま使ってしまうと、英語1単語に対し、日本語訳数行~十数行というバランスの悪いリストになりそうです。
「形態素解析」が何に使われるかについて、Wikipedia を確認してみました。Wiki によると、英語における形態素解析は割合と簡単なようですが、合成語と品詞判別の問題が残るそうです。今回問題となるのは合成語の方ではないでしょうか。
tinantum さんが対象として想定されているのは、数学関係の本でしょうか。そうでなくても専門書であれば合成語が多いと思われます。例えば tinantum が回答されていた質問の中にあった「内積空間」を「英辞郎」で調べると、英語では Inner product space となるようです。英文の中にこの単語が出てきたとして、これが 3 単語で1つと認識されずに日本語訳されると、3つそれぞれの英単語に結構な量の別の訳が出てきます。
で、英語の形態素解析ソフトを調べてみたのですが、見つからないですね。どうやら 1段階上の自然言語処理までいってしまうようです。
長くなってしまったので自分なりの結論ですが「英単語の抽出は比較的易しい」、「それに日本語訳をつけるのは難しく、できても使用しにくいリストになりそうだ。良いリストにするには、高度な技術がいる」となるでしょうか
ところでこの質問、パソコン・プログラム関係のカテゴリーに質問されてますでしょうか。そっちの方が専門かな?と思いますが。なお、すでにお知りのことばかり、答えていたらすいません。
大変詳細にご回答くださりありがとうございます.
>パソコンに詳しくない質問者かと思って書いていた回答を、急いで書き直しました。
実は,実際にパソコンはぜんぜんわかっておりません..
プログラムもFortranやMathematicaで見よう見真似で使ったことがあるくらいで,
>テキスト処理の得意なスクリプト、ライトウェイトランゲージといわれるものが適していると思われます。Perl, Python, Ruby など色々あります
この辺りのテキスト処理のプログラムは全く触れたことがありませんでした.これを機会に少し勉強してみようかと思います.
英語の学習目的で,このような目的のものができればよいと思ったのですが,意外に面倒そうですね..今回は数学とは全く関係なかったのですが,趣味で行っている少林寺拳法の英語の講座を行うことになったので,英語があまり得意で無い方にも学習しやすいように,英文と使われている単語とその意味のリストをつけておければ,,と思った次第でした.
> ところでこの質問、パソコン・プログラム関係のカテゴリーに質問されてますでしょうか。そっちの方が専門かな?と思いますが。
そうですね,こちらでも聞いてみたいとおもいます.
ご丁寧なアドヴァイス,どうもありがとうございました.
大変参考になりました.
No.2
- 回答日時:
英単語のリストなら、ネットにもありますが、ある特定の文章の中の単語のリストなら、秀丸エディターとかワードでできるのではないでしょうか?
No other region has demonstrated the fragility of both human society and the international community more markedly than Africa.
だったら、まずテキストファイルにして、半角スペースのところで改行して(正規表現の置き換えを使って)、それから、できた単語をアルファベット順に並び替えて(もちろん手動ではありませんよ)、そして、重複する単語を削除(これはワードのマクロでできるはずです)すれば、かなり大きなデータでも、使われている単語のリストを作ることができます。各単語の横に意味を出力する方法はわかりません。
ご回答ありがとうございます.
なるほど,秀丸でできそうな気がしてきました.
ワードのマクロとか使ったことはないのですが,何かお勧めのサイトなどあればお教えいただけますか?
よろしくお願いします.
No.1
- 回答日時:
既にご存知のことかも知れませんが、
当該文章をメモ帳にはりつけてテキストデータとした後、excelのテキストファイルウイザードを使用しスペース(時にカンマ等)区切りなどで区切ると1セル1単語で、1行19セルに収まります。しかし、その後の処理は素人ですのでわかりません。電子辞書の開発者やデータベースの専門家なら助言が得られるとおもいますので、そちらの方面のカテにても質問されるのはいかがでしょうか。
ご回答ありがとうございました.
教えていただいたテキストファイルのインポート,確かにできました.
あとはこれを一列に並び変えたり,重複を消したり,などすればよさそうですね.
>電子辞書の開発者やデータベースの専門家なら助言が得られるとおもいますので、そちらの方面のカテにても質問されるのはいかがでしょうか。
そうですね.アドヴァイスありがとうございます.
このようなことができれば英語の学習にとても役立つと思うのですが,あまり知られた方法はないですかね・・.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビジネスの英語で、承認者、作...
-
格とかバージョンの違いを表す...
-
thanがないのにerを使った比較級?
-
「T.T.」とは何の略ですか?(...
-
英語圏でテクノロジー「technol...
-
中学3年です。when とthen の...
-
200words以内・・・,(コンマ...
-
英検2級ってレベル高いですか?...
-
工業英検3級のレベルは大卒レベ...
-
冠詞についての質問です
-
複数形
-
英語書き換え問題
-
KidsとKid’sの違いは?
-
Mr.Sato/Mr. Satoどちらが正しい?
-
建築 英語
-
「迎えに行く」という意味の「p...
-
ビジネス文書の名前を英語に変...
-
英検2級レベルくらいの読みやす...
-
英文のカタカナ読みを表示して...
-
英検準1級に適した単語帳
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
格とかバージョンの違いを表す...
-
ビジネスの英語で、承認者、作...
-
thanがないのにerを使った比較級?
-
「T.T.」とは何の略ですか?(...
-
ターゲット1900 例文、派生語の...
-
英語圏でテクノロジー「technol...
-
KidsとKid’sの違いは?
-
中学3年です。when とthen の...
-
フランス語で可愛い言葉
-
200words以内・・・,(コンマ...
-
建築 英語
-
photoの複数形はなぜphotoesで...
-
約1ヶ月後くらいに、 全商英検...
-
複数形
-
both 以上の数の表現
-
funeralの覚え方
-
shippingとshipmentの違い
-
思い出せない単語があります。 ...
-
経済用語のdelay draw term loan
-
new york timesは英検1級程度...
おすすめ情報