源氏物語をテキストマイニングするププロジェクト

マディー・ヘインズ


翻訳によって自分の考えを創造的に表すことができるが、どうやって「だろう」を日本語から英語にするか、それにふさわしい、「一般的な翻訳」があるか、私はこれらの翻訳のプロセスについて興味がある。

日本語は英語と違う文法が多い。だから、翻訳する時、同じか近い意味でも違う形の英語の文法を使ったり、形を変えないでちょっと違う意味にしたり、または、「一般的な翻訳」を使ったりする。翻訳には色々な方法や選択があるはずであるが、翻訳者は多分、長年日本語と英語を習いながら、決まったパターンを学んできた。例えば、「~だろう」は英語の同じ形と意味の文法がない。英語に翻訳される時、「I guess, possibly, maybe」などに翻訳される。しかし、「surely, certainly, undoubtedly」に翻訳されることもある。英語でその二つの言葉のグループの意味は全然違う。例えば、「I guess」を使っている人は確実性がなく、本当の事態がわからないが、「certainly」を使っている人は絶対に本当の事態がわかって、疑いがない。それから、こいう日本語にあって英語にない文法をどうやって翻訳者は翻訳するのか。「~だろう」がどんな時に疑いがある英語の言葉に翻訳されるのか、どんな時、疑いがない英語の言葉に翻訳されるのか、興味がある。また、英語に「~だろう」を翻訳しない場合もある。どんな時翻訳されないのか。パターンがあるか、みんな違うのだろうか。そして、パターンがあったら、それは何だろうか。

私のプロジェクトで二つの質問について研究する。一つ目は、日本語の文法を英語にする翻訳パターンがあるかどうかである。二つ目は、そういうパターンがあれば、それは何か。例えば、「だろう・でしょう・であろう」の意味をどうやって英語に翻訳するパターンがあるだろうか。

この研究で、「NLTK」のpythonのパッケージを使う。そして、新聞かざっしのテキストの日本語と英語に翻訳した訳を調べる。新聞のスクレープができるから、両方の訳がアクセスできるだろう。PerlパースとRというプログラムでパターンを調べる予定がある。そして、翻訳したテキストを比べて、英語になりにくい日本語を英語にするパターンがあるかどうか探す。

まず、「conda」と「pip」というインストーラを習った。「pip」というのはpythonのパッケージを入れるソフトウェアである。日本語のテキストパーサーを「NLTK」のパッケージと一緒に使いたいなら、GitHubで見つけられるjProcessing.gitなどのパッケージ「pip」をいれる必要がある。そして、「conda」というのは特別なインストーラである。「Anaconda」というプログラミング環境の中で使うインストーラである。「Anaconda」は色々なプログラミングプラットフォームで同じ場所で働く、データの科学のための「SciPy」などの大切なパッケージのひとまとめがある環境だから、「R」と「python」を一緒に使うため、pythonで分析するかもしれない。

第二に、「NLTK」のpythonのパッケージを習い始めた。「NLTK」はトークン化を使ったり、言葉の意味をプロセスしたり、文法のルールをパースしたりするパッケージである。「.tokenize()」の命令を簡単なテキストで練習すると、文を文の順序で作ったリストになる。そして、日本語と英語に翻訳したテキストをトークンしなければならない。それをしながら、全部のトークンした文を興味がある文法からフィルターしたり、トークンした文を比べるのために数字を文の前にアペンドしたりする。そうすると、データのtxtファイルが作られて、「R」に取り込める。

サンプルのテキストから、源氏物語を選んだ。インターネットで誰でも使えるの現代の日本語バージョンもいろいろな英語訳もあったから。プロジェクト・グーテンベルグで日本語のバージョンを見つけられて、英語訳は色々な大学の世界の文学科のウェブサイトで見つけられた。

源氏物語をトークンした後で、~だろう・でしょう・であろうを使う日本語の文と英語に翻訳した文を手で合わせなければならなかった。翻訳者は翻訳した時、日本語の長い文を英語に二つ、三つの分けたために、日本語の原文のトークンした文に番号を付けても、英語に翻訳した文とは違う番号になるからである。それから、色々な英語翻訳バージョンを使ったから、見つけるパターンは一人の翻訳者の傾向じゃなくて、一般的な日本語から英語に翻訳するパターンのはずである。

すべての文に対して変数もマニュアルで行った。どのバージョン(だろう・でしょう・であろう)や文の終わる言葉だったかどうかなどの変数を選んだ。そういう変数は「どうやって英語に翻訳するのか」の興味がある質問と統計学的に重要な関係があるかどうかことを線形回帰モデルに入れて調べた。変数のp値を調べて、また、AICという過程とすべての変数の重要も調べた。応答変数に確実性があるかどうか、また、言葉を翻訳したかどうか、したならばどうやって英語に翻訳したかについても調べた。

結論には、おどろいた。何の変数モデルに入ると重要ではないことを見つけたのである。AICという過程をして、変数があるモデルの全部のバージョンを空のモデルと比べて、空のモデルのほうがよかった。よって、変数の中で、いい予測変数がなかった。

「か」の質問助詞があるかどうかの変数も影響がなかったのは一番おどろいたことである。「でしょう」は少し英語の単語と文法と違うから翻訳しにくいが、「か」は直訳がなくても、英語話者に対してとても簡単にわかって、翻訳しやすいのではないかと思う。「か」は質問の助詞であるから、英語の質問の言葉に翻訳したほうがいいであろう。しかし、源氏物語の文で作ったデータセットに「か」が「だろう・でしょう・であろう」と組み合わせると、英語の翻訳は推量を表現するパターンがない。

この「だろう・でしょう・であろう」が英語の推量の表現のパターンが見つけられないことの面白さは、英語に翻訳される時、日本語の文より英語に翻訳された文のほうが確実性が高くなることもある。これはクラスで話した「翻訳すると意味が変える」というトピックと関係があるのではないか。

形として、英語と日本語の一つの違いは助動詞の位置が違うことである。日本語は、動詞と他の言葉の関係を述べる時、動詞の終わりに「はず、かもしれない、てください」などの接尾辞を色々使う。その代わりに、英語は「補助動詞」を使うから、動詞に対して英語と日本語の間で翻訳しにくいのではないか。

この結論には色々な制約があった。マニュアルで英語に翻訳した文からデータを見つけたので、データセットを作ることに、時間かかすぎた。時間がなくなったので、源氏物語が全部の~だろう・でしょう・であろうを使う文が英語の翻訳を見つけてデータセットに入れることができなくてしまった。全部の文を使うデータセットが分析できたら、他の結論を見い出せるかもしれない。将来、源氏物語の全部の文を使うデータセットを作って、その大きいデータセットを分析したほうがいいと思う、感情分析で起こす変数をデータセットに付け加えたい。そして、「はず」や「のだ・んだ」など他の英語に翻訳しにくい、英語でディスクライブしにくい文法を同じく分析したいのである。