totowa(トトワ)で定義文を検索
  
uroboeで英語表記を検索
  

2015-05-01 Fri

mecab-ipadic-neologd の seed データの 2015 年 5 月上旬分の更新が完了 #neologd

mecab-ipadic-neologd の seed データの 2015 年 5 月上旬分の更新作業をしました。

前回の定期的な更新扱いの更新は[2015-04-16]でした。
4/18、19、 24と28にも更新していたのですが告知してる場合ではなかったです。

- Periodic data update on 2015-05-01 - neologd/mecab-ipadic-neologd
-- https://github.com/neologd/mecab-ipadic-neologd/commit/10b6deb8c5e03c64ae4eea0f856a76059cfb60c2

前回の定期アップデートからのおもな変更は以下の 4 点です。

- 読み仮名が欠損しているエントリを以前より検出、改善可能にした
- 既知の「自動詞 + 助動詞」が固有表現になっていたので除去した
- 最新のtag(今だと v0.0.1)からの追加・改善があったエントリの一覧を、定期更新時に up することにした
- mecab-ipadic のソースコードを @taku910 さんが GitHUb 上で指定している google drive の URL を使ってダウンロードするように変更した

開発は現状はエントリをひたすら追加するフェイズなので当面は地味です。技術より根性が必要です。次のコストを調整するフェイズにたどり着くと若干技術的になりますし、最初の評価フェイズまでたどり着くと若干研究っぽさが漂ってくるのではないかと思います。いろいろ考えることはありますが、自分が便利に使えるものである状態を維持しながら、どんどん大きく一般的にしていきたいと思います。当面は世界一便利で OSS な日本語形態素解析ユーザ辞書を目指して頑張っておきます。

前回のアップデート以降に、いくつかの企業の製品に mecab-ipadic-neologd が組み込まれていることを教えていただいたり、導入の効果を調査していただいたりしていることをご報告頂きました。励みになります。ありがとうございます。

今後も何か自社の製品に組み込んだり、遊びで使ってみたり、研究に使ったりした方がいらっしゃいましたら、@overlast までTwitter の DMを送っていただくか (誰からでも受け付けております)、Line@ で overlast を追加してお声がけ下さい。

メッセージを頂いたら返信しますので、気軽に話しかけて頂けますと嬉しいです。

次回は少なくとも5月中旬に辞書を更新します。

LINE@ で @overlast をフォローする



友だち追加

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2015-04-16 Thu

mecab-ipadic-neologd の seed データの4月中旬分の更新が完了 #neologd

mecab-ipadic-neologd の seed データの4月中旬分の更新作業をしました。

前回の定期的な更新扱いの更新は[2015-04-01]でした。
4/8と4/13にも更新していたのですが、、今後はそういうのも告知します。

- Periodic data update on 2015-04-16 - neologd/mecab-ipadic-neologd
-- https://github.com/neologd/mecab-ipadic-neologd/commit/546c4b5e0e2ff335ee0286d55f114da45a7b67bc

今回はエントリの更新と同時に、辞書エントリに真に不要な重複エントリがあったのでそれを削除しつつ、追加する価値があるエントリを追加できないでいた場合はそれを足す処理を増やしました。

辞書の開発で一番大変なのは、実は新機能を内部で追加した時のバグの検知やその修正です。しかも最終的にビルドしてインストールできるか毎回チェックする必要があります。一回の修正がどんな影響を及ぼすかチェックするまでに終盤は毎回大分かかります。今回は気軽に日が変わってすぐに作業し始めて大分後悔しました。

きちんと更新処理の並列化などで工夫して、より速く変更と確認ができるようにしないと、時間が無駄になるなと実感してるところです。

おかげさまで mecab-ipadic-neologd は今のところ 10 uniq cloners / day 程度の速度で新たに利用されており、確実に何処かで利用されているのだなという実感は得ています。
どうもありがとうございます。

他方、どこで利用されているかを僕から検知することは大分困難(Twitter は1日1回チェックしています)です。社会的な意義を数値に換算したり、自身のやる気を維持したりという意味で、使用者の方からどうやって教えていただくか、は今後の課題です。

次回は少なくとも5月上旬に辞書を更新します。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

関連エントリ

[2015-05-01-1] mecab-ipadic-neologd の seed データの 2015 年 5 月上旬分の更新が完了 #neologd
[-] 1

2015-04-02 Thu

2015年04月02日 必要なら結論を訂正することの必要性

昨日は帰宅中に風邪が治った感じを感じながら帰宅したのだけど、
実際にはまだ喉が痛く、朝方は咳が酷い。
治るまであと2日くらいか。体内時計のズレはあっさり治った

やっぱり日記を書かないと蓄積されない。
頭の中を整頓する効果もあるので、テンパってる時以外は書くようにしたい。
何もない日は自分の Tweet を拾ってエントリにしていく様にしよう。

昨日からやってたデータから無駄なフィールドを消す処理の実装は夕方に突然終わった。
あいかわらず工数の見積もりを間違うけど、今回は良い間違えだった。
削減の結果、無圧縮の状態でデータ長を元の1/3にする処理ができた。
今後はこれを使えば良いだろう。
xzで圧縮すると言っても、時間が有限なので元データは小さい方が嬉しい。

木曜なのでアルゴリズムイントロダクションの輪読。
なんと細々と続いて2冊目に突入した。めでたい。
15章の内容は動的計画法。平和な内容で素晴らしい。
帰納法をサボらないで使わないと駄目、という教訓を得た。

夕方はとあるプログラムを書いていた。
このプログラムはイメージ的には、殺虫剤を食らって10秒後に起き上がるゴキブリに対して、薬剤節約のため9秒ごとに殺虫剤をかける、みたいな処理が必要。

以前書いたことがあって、ふんわりイメージしながら書いたら普通にロックした。
こういう時に助けてくれるロックフリー王子がいたら良いのだけど弊社に王子は来ない。
まもなく解決方法を思い出して安心したけど、今日頑張ると日が変わるなと思ってやめた。

夜遅いけど K さんの新卒入社祝いのためいつも空席がある北海道へ。
隣に座ってみてなかなか奇跡的だと感じた。そしてめでたい。

人生の分岐点に立ったときに10歩だけ楽じゃ無さそうな方向に進んで様子をみたり、
ちゃぶ台返しする前にひっくり返したらやばそうなものを避けてみたり、
そういうことを考えてみることは大切で、人生が大きく変わるのだなと改めて思った。

あと、@Yappo さんが温泉ソムリエっぽくなってて、次から次にオススメ温泉を教えてくれた。
「ほったらかし温泉ってすごい名前だな〜neologdで拾えてるのかな拾えてた行ったみたいな」などと考えてた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

LINE DEVELOPER DAY_2015 Tokyo が 2015 年 4 月 28 日に開催

2015 年 4 月 28 日に、LINE DEVELOPER DAY_2015 Tokyo というイベントが開催される。

- LINE DEVELOPER DAY_2015 Tokyo 開催のお知らせ
-- http://developers.linecorp.com/blog/ja/?p=3479

開催日時: 4月28日(火) 10時開場
場所: 渋谷ヒカリエ 9F ヒカリエホール
参加費: 無料


タイムテーブルを見てみたら、僕も見てみたい発表がいくつかあった。
あとで録画を YouTube とかで見られる様になったら嬉しいと感じた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Treasure Data が凄そう

朝起きたら @myui さんと @kamipo さんが Treasure Data に入社してた。
おめでとうございます ^^。


Treasure Dataには、@tagomorisさんが3月入社で、@kamipoさんと私@myuiが4月入社と、事業拡大に向けてエンジニアの採用強化中です。


新しい概念を考案・構築して実現する能力を持っている方々が輝くのは自分にとって目標になるし、おまけに友人知人なので嬉しい。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2015-04-01 Wed

2015年04月01日 年度初め効果なのかふと我に返る

今年度はアウトプットの年なので、3日坊主でも何でも、多少どこかに自分の考えたことを書いておかないと、アウトプットしたものが無意味な存在になった時に何も残らなくなるなと思った。

年度末の日報を眺めると辞書の公開が決まったあたりから日常生活に割く時間が足りなくなっていたようだ。
今日になって突然、何となく回ってなかった部分に気が回る様になってきた。

午前は辞書の更新作業とその後始末。これは今後数年粛々とやりたい。

ランチにかけて歴史的経緯のあるデータから無駄なフィールドを見つけて削る処理を書く。
以前にも書いたことがあるけど、その時よりも無駄なフィールドが増えていて、何となくクーロン城の映像が頭に浮かぶ。

夕方前はデンソーアイティーラボラトリさんで @uchumik さんと雑用。
多人数でやると消化が速いが、一人でやると悩みそうな作業。
この作業を来年一人でやって悩む可能性があるのかと思うと悪寒で鳥肌が立つ。
他方、どうせやるなら効果的にやらないとなという真面目な思いで頭が満たされている。
今年は何もトラブルが起きずに最後までいくと良いですね。

帰り際に DSIRNLP 07 を4/29にやることにする。
会場はデンソーアイティーラボラトリさんなので、とてもありがたいし安心感がある。

夕方はまた戻ってデータの削減作業。
これは、地味にあと数日かかる気がしてきた。

水曜日なので夕方は Python によるデータ分析入門の輪読。
読み進むにつれて、その便利っぽさが本当に便利なのか怪しくなってくる。
裏側でどう処理しているかが分かるし、高速って言っても裏はC/C++だろうし。
ループ処理が書いてあると見通しが悪い、と感じる人と、処理が隠蔽されているとキモいしAPIがキモイ、って感じる人と、いいろなんだろうなと思う。
とはいえ、大変に普及しているライブラリなのだから、その使い心地から感じるものがあるまでは使わないとなと思う。

ここしばらくの寝る前の体調を思い浮かべると、体のリズムが理想より5時間ずれている気がする。
風邪もほぼ治ったので今日から戻していく。しばらくランチ後に眠いだろう。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

文字情報基盤の文字をJIS範囲の文字への変換するMJ縮退マップ

約6万字の文字情報基盤の文字を約1万字のJIS範囲の文字に変換するためのMJ縮退マップというデータが試験的に公開されている。そのうち正式版が出るようだ。

こういうデータは計算機上で扱う文字の種類数を減らしたい人間からするととてもありがたい。

MJ縮退マップとは

MJ文字情報一覧表で整備されている戸籍統一文字と住民基本台帳ネットワークシステム統一文字を合わせて整理した、約6万文字の文字情報基盤の文字(MJ文字集合)と、約1万文字のJIS X 0213(JIS第1水準~第4水準)の文字との対応関係を、辞書や人名に係る各種告示等を根拠として整理した物です。


以下を組み合わせてフィルターを作ることになるようだ。

- MJ縮退マップVer.0.1(検証版)の公開
http://mojikiban.ipa.go.jp/4141.html

- MJ文字情報一覧表Ver.004.02
-- http://mojikiban.ipa.go.jp/1311.html

それにしても、実際にUTF-8なコードで雑に使える map 構造するまでにちょっと面倒だなという印象。

ほぼ文字と文字の組だけで示してくれれば良いのに、キーとなるMJ******な文字を
別のテーブルから持ってこないといけない。ダルい。でも、活用するしか無い。

多分そのうち活用させていただきます。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

mecab-ipadic-neologd の seed データの4月上旬分の更新が完了

日が変わってすぐに、mecab-ipadic-neologd の seed データの4月上旬分の更新作業をしました。



前回の定期更新扱いの更新が3/17なので、いまのところ順調だと思います。

辞書の更新は淡々とやりつつ、他のこともやりながら、mecab-ipadic-neologd の見えている課題を順に解決して、確実に tag を作っていくのが当面の課題だなと思います。

次回からきちんとブログの記事にして告知しようと思いました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

関連エントリ

[2015-04-16-1] mecab-ipadic-neologd の seed データの4月中旬分の更新が完了 #neologd
[-] 1

2015-03-13 Fri

MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました

日本語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。

IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困ります。困らない人もいますけど、僕は困ります。

その課題に対処するために、日本全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に元データとして使われることが多いのは Wikipedia 日本語版やはてなキーワードなどです。

困ったことに、新語辞書を生成するには上述の元データを使うとても面倒な処理(本文抽出とか、コスト付けとか)を確実に行う必要があります。これがうまくいかないことが多いのです。また、インターネット上に公開されている新語辞書作成の手法は提案者によってまちまちです。どのような結果を狙っているのか不明確な手法も多々見かけます。

さらに言うと、上述の元データだけでは新しい地名、人名、製品名、施設名、イベント名、キャラクター名、動詞・形容詞、数値・数量表現などへの対処はしきれません。このような問題を少しでも軽減することはできないのでしょうか。

「もう2015年だし、新語への対応どうしよう・・・、とかそろそろ考えたくないよね?」

ということで粛々と作業をして作りました。

新語辞書の名前は mecab-ipadic-neologd です。

https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md

これをMeCabと一緒に使うと要するにこういうことができます。

$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
アップルは Apple Watchを4月24日に国内発売します。
アップル        名詞,一般,*,*,*,*,アップル,アップル,アップル
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
Apple Watch     名詞,固有名詞,一般,*,*,*,Apple Watch,アップルウォッチ,アップルウォッチ
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
4月24日 名詞,固有名詞,一般,*,*,*,4月24日,シガツニジュウヨッカ,シガツニジュウヨッカ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
国内    名詞,一般,*,*,*,*,国内,コクナイ,コクナイ
発売    名詞,サ変接続,*,*,*,*,発売,ハツバイ,ハツバイ
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
ます    助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。      記号,句点,*,*,*,*,。,。,。
EOS


かなり便利そうですよね?!!!!!!!!!!

便利そうだと思って下さった方にお使い頂けると嬉しいです。

詳細は、上記した github 上でご確認頂きたいです。

FAQ


mecab-ipadic-neologd とは?

より正しく書くと、MeCab のシステム辞書の一つである IPADIC を拡張するための新語辞書のシードと、新語辞書を組み込んだIPADICをインストールするツール群のセットのことです。

MeCab + IPADIC で解析した時に、うまく分割と読み仮名の付与ができない語だけを追加するように努力しています。

インストールの過程でmecab-ipadicのソースコードを取得して、mecab-ipadic-neologd のシードデータを含むインデックスを構築するので、実際にインストールしてその様子を確認してください。

おすすめポイントは?

個人的には以下の3点です。

- 名詞的なフレーズを連結する処理、を作る作業から開放される
- 新語に読み仮名が付く
- 辞書のシードが月に数回更新される

シードデータはいつ更新されるの?

シードデータの更新は少なくとも月に2回程度、月初めと半ばに行います。
公開していませんが2014年の8月位から更新作業をしていますので、同様の作業を公開しつつ継続するだけです。

月初めと半ばに以外にも、辞書に資源を足したり、品詞情報を改善したり、バグを修正した場合には更新されます。

解析結果とかどうなってるの?

僕が社内の製品に適用したときに大きな問題が無い程度の正確さがあります。

シードの生成過程で実用上問題ない品質かどうかのチェックは簡易ですけど行っております。
今後定量評価した結果も公開する予定です。

でも、定量評価って結果を出すまでにやることが多いのです。
しばらく時間がかかると思いますけど、どこかの勉強会やカンファレンスなどでお話すると思います。

本当にインストールする価値があるの?

インストールする前のテストで以下のように、どんな風に語の区切りが変わる可能性があるか(実際には文脈によって変わる)が確認できる出力を表示します。
出力結果はインストールするタイミングによって変化するので、更新の度にお楽しみ下さい。

default system dictonary     |	mecab-ipadic-neologd
福岡 恋愛 白書 	     |	福岡恋愛白書
バナナ ムーン 	     |	バナナムーン
未来 ロケット 	     |	未来ロケット
ミュージック ドラゴン 	     |	ミュージックドラゴン
g の レコンギスタ 	     |	gのレコンギスタ
北 区 赤羽 	     |	北区赤羽
幻 魔 チャレンジ 	     |	幻魔 チャレンジ
雪 風 		     |	雪風
特急 は く た か 	     |	特急 はくたか


その結果が気に入ったら yes してインストールを継続して下さい。

バイナリパッケージなどは提供されるの

提供する予定があります。

個人的にはすでにyumでインストールしています。

yumやbrewなどのコマンドで簡単にインストールできる状態にできると思います。

ただ、mecab-ipadic-neologd 自体の公開と、品質の向上を優先したいので、パッケージの公開はもう少し先です。

バージョン番号はあるの?

mecab-ipadic-neologd にバージョン番号はありませんが、シードデータには日付が入っています。
また、パッケージ提供する際には、パッケージを一意に特定する日付ベースの番号が付きます。

neologd ってどういう意味

neologism dictionary (新語辞書)から発音しやすい部分だけ取りました。
「ネオログディー」と発音します。
daemonじゃなくてdictionaryなのにdですいません。

新語辞書のシードはどうやって作っているの?

NEologd というまだ未公開のツールで生成しています。

https://github.com/neologd/neologd

いろいろな言語資源から4カラムの辞書データを生成する課題を解きます。
詳細はまた今度。

最後に


個人的にMeCabの辞書には mecab-ipadic-neologd と ipadic の両方を同時に使うのがオススメです。

何かご意見やアドバイスがございましたら、京都で開催される NLP2015 に行きますのでお声がけ下さい。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2014-01-23 Thu

ドメインを失効しそうになった

この記事は2014年01月23日に書いた。

うっかりoverlasting.netの費用を払い忘れていて、ドメインを失効しそうになった。
数日プログが見えなかったかも知れない。

プログを書くために入力フォームにアクセスして気がついた。

次に失効するかも知れないのは2017年01月20日[2017-01-20]である。
3年後に気をつけよう。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2014-01-20 Mon

日本の県名にマッチする正規表現

ググってすぐに見つからなかった日本の県名の正規表現を、
主に観賞用としてPerlでRegexp::Assembleを使って生成した。

生成した正規表現は以下。コピペ用。

(?^u:(?:(?:(?:[富岡]|和歌)山|(?:[広徳]|鹿児)島|(?:[石香]|神奈)川|山[口形梨]|
福[井岡島]|[佐滋]賀|宮[城崎]|愛[媛知]|長[崎野]|三重|兵庫|千葉|埼玉|奈良|
岐阜|岩手|島根|新潟|栃木|沖縄|熊本|秋田|群馬|茨城|青森|静岡|高知|鳥取)県|
大(?:分県|阪府)|京都府|北海道|東京都))


使うときはコピペして、xとかで冗長な正規表現を許容するか、改行を消して使う。

生成コードは
https://github.com/overlast/private/blob/master/lang/perl/nlp/wikipedia_ja/generate_prefecture_name_regexp.pl
に置いておいた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

日本語Wikipedia中の国名にマッチする正規表現

日本語Wikipedia中の国名にマッチする正規表現が欲しかったんだけど、
ググっても見つからなかったので、PerlでRegexp::Assembleを使って生成した。

ソースはWikipediaの国の一覧。
http://ja.wikipedia.org/wiki/%E5%9B%BD%E3%81%AE%E4%B8%80%E8%A6%A7

生成した正規表現は以下。コピペ用。

?^u:(?:ア(?:ル(?:(?:[バメ]ニ|ジェリ)ア|ゼンチン)|ン(?:ティグア・バーブーダ|
[ゴド]ラ)|メリカ(?:連合国南部連合|合衆国)|フ(?:ガニスタン|リカ)|イ[スル]ランド|
ゼルバイジャン|ラブ首長国連邦)|モ(?:ン(?:テネグロ|ゴル国)|ーリ(?:シャス|
タニア)|ル(?:ディブ|ドバ)|(?:ロッ|ナ)コ|ザンビーク)|セ(?:ント
(?:クリストファー・ネイビス|ルシア)|ルビア(?:・モンテネグロ)?|(?:ーシェ|
ネガ)ル)|ス(?:(?:ウェーデ|ペイ|ーダ)ン|リ(?:ランカ|ナム)|ロ(?:バキ|ベニ)ア|
ワジランド|イス)|(?:中(?:華(?:人民共和|民)|央アフリカ共和)|朝鮮民主主義人民共和|
プロイセン王|大韓民)国|マ(?:(?:ケドニア|リ)共和国|ーシャル諸島|ダガスカル|
レーシア|ラウイ|ルタ)|コ(?:ンゴ(?:民主)?共和国|ートジボワール|スタリカ|ロンビア|
ソボ|モロ)|エ(?:(?:ストニ|チオピ|リトリ)ア|(?:ルサルバ|クア)ドル|ジプト)|
イ(?:ンド(?:ネシア)?|ラ[クン]|スラエル|エメン|ギリス|タリア)|ト
(?:(?:リニダード・トバ|ー)ゴ|ル(?:クメニスタン|コ)|ンガ)|パ(?:ラ(?:グアイ|オ)|
プアニューギニア|キスタン|レスチナ|ナマ)|カ(?:(?:ザフスタ|メルー)ン|ーボベルデ|
ンボジア|タール|ナダ)|サ(?:ン(?:トメ・プリンシペ|マリノ)|(?:ウジアラビ|モ)ア)|
バ(?:(?:ーレー|チカ)ン|ングラデシュ|ルバドス|ヌアツ|ハマ)|ブ(?:ル(?:キナファソ|
ガリア|ネイ|ンジ)|ラジル|ータン)|ベ(?:ネズエラ|ラルーシ|トナム|リーズ|ルギー|
ナン)|チ(?:ェコ(?:スロバキア)?|ュニジア|ャド|リ)|ボ(?:(?:スニア・ヘルツェゴビ|
ツワ)ナ|リビア)|リ(?:(?:トアニ|ベリ|ビ)ア|ヒテンシュタイン)|ウ(?:ズベキスタン|
クライナ|ルグアイ|ガンダ)|ニ(?:ュージーランド|カラグア|ジェール|ウエ)|フ
(?:ィ(?:ンランド|リピン|ジー)|ランス)|(?:(?:赤道ギ|ケ)ニ|ユーゴスラビ)ア|キ
(?:(?:プロ|リバ|ルギ)ス|ューバ)|ガ(?:(?:イア|ー)ナ|ンビア|ボン)|オ
(?:ーストラ?リア|マーン|ランダ)|ソ(?:ビエト連邦|ロモン諸島|マリア)|ナ
(?:(?:イジェリ|ミビ)ア|ウル)|ル(?:クセンブルク|ーマニア|ワンダ)|ギ(?:ニア
(?:ビサウ)?|リシャ)|シ(?:エラレオネ|ンガポール|リア)|タ(?:ジキスタン|ンザニア|
イ王国)|ド(?:ミニカ(?:共和)?国|イツ)|グ(?:アテマラ|ルジア|レナダ)|ジ(?:ャマイカ|
ンバブエ|ブチ)|ミ(?:クロネシア連邦|ャンマー)|南(?:アフリカ共和国|スーダン)|ク
(?:ウェート|ロアチア)|ポ(?:ルトガル|ーランド)|東(?:ティモール|ドイツ)|ザ
(?:イール|ンビア)|ハ(?:ンガリー|イチ)|ペル(?:シア帝国|ー)|ロ(?:ーマ帝国|シア)|
(?:ネパー|ツバ)ル|ラ(?:トビア|オス)|レ(?:バノン|ソト)|ホンジュラス|デンマーク|
ノルウェー|メキシコ|ヨルダン|日本))(?^u:(?:ア(?:ル(?:(?:[バメ]ニ|ジェリ)ア|
ゼンチン)|ン(?:ティグア・バーブーダ|[ゴド]ラ)|メリカ(?:連合国南部連合|合衆国)|
フ(?:ガニスタン|リカ)|イ[スル]ランド|ゼルバイジャン|ラブ首長国連邦)|モ
(?:ン(?:テネグロ|ゴル国)|ーリ(?:シャス|タニア)|ル(?:ディブ|ドバ)|(?:ロッ|ナ)コ|
ザンビーク)|セ(?:ント(?:クリストファー・ネイビス|ルシア)|ルビア
(?:・モンテネグロ)?|(?:ーシェ|ネガ)ル)|ス(?:(?:ウェーデ|ペイ|ーダ)ン|リ
(?:ランカ|ナム)|ロ(?:バキ|ベニ)ア|ワジランド|イス)|(?:中(?:華(?:人民共和|民)|
央アフリカ共和)|朝鮮民主主義人民共和|プロイセン王|大韓民)国|マ(?:(?:ケドニア|リ)
共和国|ーシャル諸島|ダガスカル|レーシア|ラウイ|ルタ)|コ(?:ンゴ(?:民主)?共和国|
ートジボワール|スタリカ|ロンビア|ソボ|モロ)|エ(?:(?:ストニ|チオピ|リトリ)ア|
(?:ルサルバ|クア)ドル|ジプト)|イ(?:ンド(?:ネシア)?|ラ[クン]|スラエル|エメン|
ギリス|タリア)|ト(?:(?:リニダード・トバ|ー)ゴ|ル(?:クメニスタン|コ)|ンガ)|パ
(?:ラ(?:グアイ|オ)|プアニューギニア|キスタン|レスチナ|ナマ)|カ
(?:(?:ザフスタ|メルー)ン|ーボベルデ|ンボジア|タール|ナダ)|サ
(?:ン(?:トメ・プリンシペ|マリノ)|(?:ウジアラビ|モ)ア)|バ(?:(?:ーレー|チカ)ン|
ングラデシュ|ルバドス|ヌアツ|ハマ)|ブ(?:ル(?:キナファソ|ガリア|ネイ|ンジ)|
ラジル|ータン)|ベ(?:ネズエラ|ラルーシ|トナム|リーズ|ルギー|ナン)|チ
(?:ェコ(?:スロバキア)?|ュニジア|ャド|リ)|ボ(?:(?:スニア・ヘルツェゴビ|ツワ)ナ|
リビア)|リ(?:(?:トアニ|ベリ|ビ)ア|ヒテンシュタイン)|ウ(?:ズベキスタン|クライナ|
ルグアイ|ガンダ)|ニ(?:ュージーランド|カラグア|ジェール|ウエ)|フ
(?:ィ(?:ンランド|リピン|ジー)|ランス)|(?:(?:赤道ギ|ケ)ニ|ユーゴスラビ)ア|キ
(?:(?:プロ|リバ|ルギ)ス|ューバ)|ガ(?:(?:イア|ー)ナ|ンビア|ボン)|オ
(?:ーストラ?リア|マーン|ランダ)|ソ(?:ビエト連邦|ロモン諸島|マリア)|ナ
(?:(?:イジェリ|ミビ)ア|ウル)|ル(?:クセンブルク|ーマニア|ワンダ)|ギ
(?:ニア(?:ビサウ)?|リシャ)|シ(?:エラレオネ|ンガポール|リア)|タ(?:ジキスタン|
ンザニア|イ王国)|ド(?:ミニカ(?:共和)?国|イツ)|グ(?:アテマラ|ルジア|レナダ)|ジ
(?:ャマイカ|ンバブエ|ブチ)|ミ(?:クロネシア連邦|ャンマー)|南(?:アフリカ共和国|
スーダン)|ク(?:ウェート|ロアチア)|ポ(?:ルトガル|ーランド)|東(?:ティモール|
ドイツ)|ザ(?:イール|ンビア)|ハ(?:ンガリー|イチ)|ペル(?:シア帝国|ー)|ロ
(?:ーマ帝国|シア)|(?:ネパー|ツバ)ル|ラ(?:トビア|オス)|レ(?:バノン|ソト)|
ホンジュラス|デンマーク|ノルウェー|メキシコ|ヨルダン|日本))


使うときはコピペして、xとかで冗長な正規表現を許容するか、改行を消して使う。

生成コードは
https://github.com/overlast/private/blob/master/lang/perl/nlp/wikipedia_ja/generate_country_name_regexp.pl
に置いておいた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |