はてなキーワード: 分かち書きとは
自分が機械学習に詳しいかどうかはわかりませんが,わかる範囲で書きます.
を実現する事が目的だと考えて話を進めましょう.
一般的にこのタスクは類似文書検索と呼ばれています.ブックマークコメントでは「ElasticSearchを使え」と言われています.ElasticSearch の More Like This Query 機能を使うことで類似文書検索が実現できるようです.あとはパラメータを調整することで思い通りの結果が得られるのではないでしょうか.
より高度なアプローチを取るのであれば,BERT と呼ばれるニューラルネットワークモデルを活用した類似文書検索も可能です.こちらのブログ (ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer) が参考になるでしょう.
しかしこれだけで終わると悲しいのでもう少し機械学習の話をすることにします.
機械学習的にこの問題に取り組むには順序学習 Learning to Rank という問題を解く必要があります.順序学習は google 検索にも使われている機能です.
これは,「入力 x に対して N 個の候補 y_1, y_2, ..., y_N を類似している順に並び替えるようなスコアを出力する関数 f(x, y_i) を学習する」というものです.
More Like This Query 機能よりもこちらのアプローチが優れているのは,前者はどうパラメータをチューニングしようと「類似している文書」しか得られないのに対して,後者は(先程引用したような)「見合った」を明示的にデータとして与えてランキングを学習できる,という点です.
学習データとして「この質問のに対してこの FAQ ページがもっとも見合っている」「この質問に対して A と B ふたつの FAQ ページがあるが,B より A の方が見合っている」「この質問に対して見合った順に全ての FAQ ページを並び替えたもの」といったデータを大量に準備することで,「見合った」を学習することが可能です.
しかしこちらも ElasticSearch の機能に搭載されているようです.ありがとう ElasticSearch.お疲れ様でした.
もしあなたが ElasticSearch を使うのではなく, Python を使って再実装したいと考えているのであれば,目印として必要なライブラリや概念を書いておきます.
いったん筆を置くときが来たようだ。
母から連絡がきた。
父が戻ってきたという。
そして、こう続く、
「私はこのままでいて欲しいと思っているのですが、
そして元に戻ってほしいと思っているのですが。」
おそらく根本の問題は解決することはないのだろう。また誰かが犠牲になり続けるのだろう。
それでも、
所詮かりそめであっても、
これが表面的なものに過ぎなくても、
やはり、わたしは嬉しいのだ。
父と、母が、今一緒に、そこにいることが。
ようやく、分かち書きすることなく、両親と書くことができるようになったことが。
そう遠くない将来、また、この日記を再開する日が来るかもしれない。
けれど今は、とりあえず、何も考えず、わたしは少し休もうと思う。今年はいささか、色々ありすぎた。
どうか皆さま、
趣味の一環として映画字幕を翻訳する、と言っても、そんなに難しいものではない。
DVDによっては耳の不自由な人向けの全セリフ入り字幕が入っているのでヒアリング能力は要らないのだ。字幕はテキストファイルではなく画像ファイルで入っているのでOCRが必要だが、試行錯誤していくうちに認識率の高いフリーソフトも見つかった。似た文字が多いから時々手動認識すら間違えることもあるし、稀に字幕そのものが間違っていることもあるのだけど、google検索すれば一般的な単語は「〇〇では?」とサジェストされるので、知識が少なくても誤字修正可能になる。IT技術とバリアフリー万歳である。まあ全ての海外DVDがバリアフリー対応ではない、というかそこまで字幕が入っているのは自分の興味のある国では1ブランドしかないのだけれど、その1ブランドが最大手なので全然困っていなくもある。
さて、そうしてIT技術に頼ったところで、翻訳に一番困るのは「固有名詞」である。大体の場合、辞書にはそれらは載っていないのだ。とは言え登場人物の名前はそのままカタカナにしてしまえばいいから、เมย์ไหนはそのまま「メイナイ」にしてしまえばいいし、ป๋องはポンでいい(本当はポングなんだが日本人には最後のグはたいてい聞こえない)。เฟมはフェームで済ましてしまっていい、とかやっていると登場人物にเฉดとฉัตร、カタカナにするとチェットとチャット、1文字違いかよ!みたいなことも出てきてさてどうしようか一瞬迷うがフィクションの固有名詞はなるたけ変えないのが自分のポリシーだからそこは趣味に走ってそのままにして問題ないことにしている。
問題なのは例えば実在の芸能人とか、店の名前とか、車種とかそういうやつだ。字幕にするのはだいたい現代が舞台の恋愛映画、早い話がトレンディドラマだ。そういうところでは現地の観覧者なら確実にわかる固有名詞が山ほど、"ストーリーに絡まない、どうでもいい話題"として出てくるのだ。
おそらくここで「バード・トンチャイ」とカタカナ表記したところでその国で1,2を争うスーパー芸能人の名前を把握できている人は少ないだろう、ましてTik Kanyaratと言われてそれが男か女か分かる人すら何人いるというのだ。Liab duanという場所は自分も知らない、知らないがカラオケが楽しめる場所として有名らしい。Club FridayというTV番組がどの層にウケているのか、ホンダから日本のブランド名を変えて「JAZZ」という名の車が出ていることはどのくらいわかるのか、もうさっぱりわからない。
わからないので、今やっている字幕翻訳に関してちょっと聞いてみた。具体的には先週から1週間ほど、首都にあるデパートの名前をカタカナ表記したものが何のブランドかわかるかTwitter上でアンケートしたのだが、7割以上の人が「何のことだかさっぱりわからない」との回答だった。これら高級デパート、ガイドブックには必ず書かれている有名デパートにも関わらずなのだ。まあ、現地駐在で働いているか年数回も同地に旅行に行くようなマニアでなければそんなものかもしれない。
固有名詞は現地のローカルブランドに限らない。アニメ「Ben 10」は日本ではカトゥーンネットワークで放送されているアニメの主人公の名前でありアニメの名前でもあるが、そう言われただけで日本人のどのくらいの人がそのアニメを思い出せるだろうか。そう考えてみるとあの映画会社の映画には「スーパーサイヤ人」とか「ドラえもん」とかいう言葉が何のエクスキューズもなく入り込んでいて、それだけでどれだけ現地の人にそれらが受け入れられているかがわかる。レベルの差はあれ現地では「Ben 10」もその枠に入っているわけだ。
ちなみにその辺が野良英語字幕だとどうなっているかというと、だいたい無視されている。デパートの名前は服飾店のブランド(クリスチャン・ディオールとかな)に完全意訳されてたりした。日本で売られている数少ないDVDに付いてくる正規の日本語字幕もそういうのはやっぱりきついらしくて、現地アルファベットの勉強法をなんとか英語風に訳したら「現地のことをわかってない、ひどい」とAmazonレビューで酷評されたりもしている。自業自得とはいえあれは可哀想だ。こちらは、別に売ったり配ったりするものじゃないし、調べてなんとなく理解もしたから基本的にはあまり気にせずにそのまま残すのだが、流石に「JAZZ」は「フィット」に書き換えたし、Club Fridayは「週末のメロドラマ」にしたり、「Tik Kanyarat」は「ワイドショーの旅番組(そういう番組のMCなのだ)」にしたりした。なんだよこんなのもわからないのかよと粋がってみても、自分が知らないものもいっぱいあってそれらは適当に書き換えてしまうのだ。
映画オリジナルの固有名詞は固有名詞で困ったことがある。そう名付けた理由があったりするのだ。เมย์ไหนは実はเมย์ ไหนと分かち書き可能で、固有名詞としてだけでなく「どのメイだよ?」という質問文にも読める。しかもストーリーでは、犯人探しをしている主人公が「犯人はメイだ」と言われた時にそう質問しかえして「なんだお前知ってるのか」と納得される重要なギャグシーンに使われるのだ。本職の字幕なら「どのメイだよ?」という字幕に「メイナイ」というルビを振るのかもしれないけれど、テキスト字幕でルビを振るのは難易度が高い。なので同じ響きの駄洒落でごまかした。勘弁していただきたい。
日本語の現在の表記方法は、表記ゆれが多かったり、入力に手間がかかったり、学習コストが大きかったりと、問題が多いという認識がまずあります。
この認識が共有できないと、多分問題意識も共有できないと思います。
入力に関しては、コンピュータの入力ソフトの進歩によって、少しづつ改善していますが、まだまだ英語や韓国語などの変換のない言語に比べると、入力速度は体感できるほどの違いがあります。
日本語の入力システムは中国語に似ているというイメージがあると思いますが、実際には中国語の入力システムの方がシンプルな方法を採用していて、その分、母音を省略して入力できたり、スペルミスを自動修正してくれたりといった機能がよく整っています。(何がシンプルかというと、日本語入力ではまずローマ字がひらがなに自動変換され、そこから手動でかな漢字に変換するという二段階の変換システムになっているのに対して、中国語の入力システムでは、ローマ字から直接普通の中国語に変換される、一段階の変換システムだという点です。)
また、そのようにして入力された文章に関しても、違う単語が同じ表記になってしまう(例:「行った」)とか、曖昧性があったり(例:「この先生きのこる」)など問題が多いです。
ローマ字を採用する利点があるのは、後者についてです。ローマ字は、ひらがなよりも使えるパターンが多いです。ひらがなで表現できるモーラのパターンはたった115です(参考: https://ja.wikipedia.org/wiki/日本語の音韻 )。ローマ字であれば母音5種、子音21と子音がないパターンで合わせて22で、これだけで110になります。私がやっている方式では、母音にはアクセントがあるものとないものがあるので10種類であり、さらに子音は2文字重ねるもの(shなど )があるので、使えるパターンは200をゆうに超えます。
一口にローマ字で表記するといっても、やり方によってその成果に大きな差が出ます。訓令式のローマ字をわかち書きするだけでは、違う単語が同じに表記されてしまうケースは減らず、むしろおそらく増えるでしょう。
そのため、どんな方法がいいかを探求するために、色々と考えたり試したりしているわけです。
今のところやっているのは
などで、まだ決めていないことはたくさんあり、例えば以下のようなことを考えています。
などなどです。
「違う単語が同じ表記になるケースがゼロ」の状態を「完全な表記法」とした場合、表記の完全性と学習コストはトレードオフになる場合があるので、どのへんがちょうどいい具合かも探っていく必要があると思います。
論点が散逸してる感があるのでまとめると、ゴールは次の二点です。
加えて
おめでとう!
おもわず頭の中にある神コピー本いろいろあげつらってしまったけど違うよね。2人くらいおもいついた・・
そうそう、連絡先といっても30年前の同人誌だと住所がのっていた。
人によっては「ピクシブまだ登録してない(というかPCの前に座る時間が捻出できない)」とか
「もってたけど消してジャンル移動したばかりであまり知らせたくない」という方がいらっしゃるためこういうケースはままある。
できれば直接お知り合いになっておこうと自分も思ってる。
(あと一応いっておきますが、一応ですが、中綴じコピ本のp数は4の倍数になります
この方はイラストが6p分しかないという書き方なので別に矛盾はない)
追記:
上で「あげつらって」と書いたことについてトラバがついたけど、私より前に「そのピクシブを教えろ」なんて怖いことを書いてる分かち書き人間さんがいたので念頭にあったためあえての誤用。
どうやってもネットで指名した時点であげつらいや晒し行為になる(本人が全くの善意でも)。元増田はそういうことはしないと信じている。
きみ 分かち書きが 下手やなあ
最近、タイトルを読むだけで hiwa 氏が翻訳したものかどうかがわかるようになってきた。
例えば、「死んだはずのBlackBerryがソフトウェア企業として蘇生、業績も株価も好調」というタイトルは「死んだはずの」という挑発的な言葉遣いは hiwa 氏だろう(そしてそのような文句は元記事にはないだろう)と推測したり(確認してみると元記事のタイトルは "BlackBerry, yes BlackBerry, is making a comeback as a software company" であり、「死んだはずの」や「業績も株価も好調」といった文言は含まれていない)、「GoogleがAmazonのEcho ShowからYouTubeを突然取り去る、サービス規約への違反だそうだ」というタイトルでは「〜〜〜、〜〜〜」という独特な文の接続や、文末の「だそうだ」という物言いから氏であろうと推測している。
私が推測できるのだから、アルゴリズムでも可能ではないだろうか? そう考え、機械学習の中でも特に深層学習を用いて推定可能であるか検証した。
タイトルの文字列(本文情報は用いない)からその記事の翻訳者が hiwa 氏であるか ( = 1) そうでないか ( = 0) を学習・予測する二値分類問題
TechCrunch Japan の記事データ 11,993 件。うち 3,781 件が hiwa 氏が翻訳したものである。
入力文は vanilla の MeCab [1] を用いて分かち書きを行い、それぞれの単語は「日本語 Wikipedia エンティティベクトル」[2] を用いて 200 次元に埋め込んだ。語彙数は 17,272 だった。
予測モデルは 32 次元の LSTM [3]。dropout 率は 0.5。文の最大長は 120 単語で zero-padding を行い、バッチサイズ 32 の Adam [4] で最適化した。
LSTM の実装には keras 公式に用意されたもの [5] を参考にした。
精度 0.85, 再現率 0.80, f値 0.82 とまずまずの精度で予測が可能であることがわかった。
ちなみに、 CNN による推定では 精度 0.84, 再現率 0.80, f値 0.82 という同等の結果を得た。
機械学習を用いることで、記事を開く前に hiwa 氏が翻訳したものであるか否かがまずまずの精度で分類できることがわかった。深層学習はすごい。
[1] MeCab: Yet Another Part-of-Speech and Morphological Analyzer