Beispiel #1
0
def make_dic(CODE, THISDIR):
	hin0 = "名詞"
	hin1 = "固有名詞"
	hin2 = "一般"
	with open(path.join(THISDIR, OUT_FILE), "w") as file:
		## romadic
		cost = 500.0
		step = 0.5
		for i in romadic:
			k = i[0]
			for p in [('a', 'ア'), ('i', 'イ'), ('u', 'ウ'), ('e', 'エ'), ('o', 'オ')]:
				k1 = k1 = alpha2mb(k.lower() + p[0])
				y = i[1] + p[1] + 'ー'
				pros = "%d/%d" % (0, i[2] + 2)
				# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
				s = "%s,,,%.1f,%s,%s,%s,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin0,hin1,hin2,k1,y,y,pros)
				if isGoodEntry(s): file.write(s.encode(CODE))
			cost += step
			for p in [('a', 'ア'), ('i', 'イ'), ('u', 'ウ'), ('e', 'エ'), ('o', 'オ')]:
				k1 = k1 = alpha2mb(p[0] + k.lower())
				y = p[1] + i[1] + 'ー'
				pros = "%d/%d" % (0, i[2] + 2)
				# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
				s = "%s,,,%.1f,%s,%s,%s,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin0,hin1,hin2,k1,y,y,pros)
				if isGoodEntry(s): file.write(s.encode(CODE))
			cost += step
		for i in romadic:
			k = i[0]
			if k != 'nn':
				k1 = k1 = alpha2mb(k.lower() + 'x')
				y = i[1] + 'ックスー'
				pros = "%d/%d" % (0, i[2] + 4)
				# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
				s = "%s,,,%.1f,%s,%s,%s,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin0,hin1,hin2,k1,y,y,pros)
				if isGoodEntry(s): file.write(s.encode(CODE))
				cost += step
		for i in romadic:
			k = i[0]
			if k != 'nn':
				k1 = k1 = alpha2mb(k.lower() + 'n')
				y = i[1] + 'ンー'
				pros = "%d/%d" % (0, i[2] + 2)
				# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
				s = "%s,,,%.1f,%s,%s,%s,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin0,hin1,hin2,k1,y,y,pros)
				if isGoodEntry(s): file.write(s.encode(CODE))
				cost += step
		for i in romadic:
			k = i[0]
			if len(k) != 1:
				k1 = k1 = alpha2mb(k.lower())
				y = i[1] + 'ー'
				pros = "%d/%d" % (0, i[2] + 1)
				# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
				s = "%s,,,%.1f,%s,%s,%s,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin0,hin1,hin2,k1,y,y,pros)
				if isGoodEntry(s): file.write(s.encode(CODE))
				cost += step
Beispiel #2
0
def make_dic(IN_FILE, CODE, THISDIR):
    import re

    d = [
        ["alt", "オルト"],
        ["acrobat", "アクロバット"],
        ["adobe", "アドビー", "1/4", 1000],
        ["about", "アバウト", "2/4"],
        ["ass", "アス", "1/2", 10000],
        ["azure", "アジュール", None, 100],
        ["api", "エーピーアイ", None, 500],
        ["animations", "アニメイションズ"],
        ["audio", "オーディオ", "1/4", 610],
        ["app", "アップ"],
        ["approximately", "アプロクシメットゥリー", "3/10"],
        # ['anpi', 		'アンピ',			"1/3", 1000],
        ["asian", "アジアン", "1/4", 1000],
        # ['asahi', 		'アサヒ',			"1/3", 1000],
        ["appropriately", "アプロプリエトリィ"],
        ["agreed", "アグリード"],
        ["akb", "エーケービー", "1/6", 1000],
        ["au", "エーユー", "1/4", 600],
        ["allowed", "アラウド", "2/4"],
        ["adsl", "エーディーエスエル" "1/8"],
        ["akita", "アキタ", None, 1000],
        ["aomori", "アオモリ", None, 1000],
        ["asshuku", "アッシュク", "0/4"],
        ["blank", "ブランク"],
        ["biz", "ビズ"],
        ["bazaar", "バザール"],
        ["blog", "ブログ", None, 1000],
        ["butt", "バットゥ", "1/4", 10000],
        ["cam", "キャム"],
        ["ctrl", "コントロール"],
        ["console", "コンソール"],
        ["caps", "キャプス"],
        ["cygwin", "シグウィン"],
        ["choose", "チュウズ", None, 1000],
        ["cortana", "コルタナ"],
        ["cygdrive", "シグドライブ", None, 1000],
        ["completely", "コンプリートリィ"],
        ["cycles", "サイクルズ"],
        ["conspicuously", "コンスピシャスリィ"],
        ["changed", "チェインジド"],
        ["characters", "キャラクターズ"],
        ["controls", "コントゥロウルズ"],
        ["currently", "カレントリ"],
        ["clicks", "クリックス"],
        ["contains", "コンテインズ", "3/6"],
        ["covered", "カバード", "1/4"],
        ["considered", "コンシダード"],
        ["closed", "クローズド", "2/5"],
        ["contributions", "コントリビューションズ"],
        ["co", "シーオー", "1/4", 1000],
        ["delete", "デリート"],
        ["del", "デリート"],
        ["doxygen", "ドキシゲン"],
        ["dev", "デブ"],
        ["desktop", "デスクトップ", None, 1000],
        ["documents", "ドキュメンツ", "1/5"],
        ["distributable", "ディストリビュータブル", "5/9"],
        ["drivers", "ドゥライバーズ"],
        ["directly", "ダイレクトリィ"],
        ["draggable", "ドゥラッガブル", "2/6"],
        ["designed", "デザインド", "2/5"],
        ["database", "デイタベイス", "1/5"],
        ["docs", "ドックス", "1/4", 600],
        ["explorer", "エクスプローラ"],
        ["esc", "エスケープ"],
        ["enter", "エンター"],
        ["editions", "エディションズ"],
        ["essentials", "エセンシャルズ"],
        ["extentions", "エクステンションズ"],
        ["edu", "エデュー", "1/3", 1000],
        ["epub", "イーパブ"],
        ["expressly", "エクスプレスリィ"],
        ["entered", "エンタード"],
        ["errors", "エラーズ"],
        ["editable", "エディタブル", "1/5"],
        ["everyone", "エブリワン", "1/5"],
        ["euc", "イーユーシー", "1/6", 1000],
        ["firefox", "ファイアフォックス"],
        ["for", "フォー"],
        ["foryou", "フォーユー"],
        ["folders", "フォルダーズ"],
        ["favo", "ファボ"],
        ["failed", "フェイルド"],
        ["facebook", "フェイスブック", None, 1000],
        ["favorites", "フェイバリッツ", "1/6"],
        ["flanger", "フランジャー"],
        ["files", "ファイルズ", "1/4", 600],
        ["focusable", "フォウカサブル", "1/6"],
        ["faq", "エフエーキュー", "1/6", 1000],
        ["fukushima", "フクシマ", "2/4", 1000],
        ["guide", "ガイド", None, 1000],
        ["google", "グーグル"],
        ["gnu", "グニュー"],
        ["guidebook", "ガイドブック", None, 1000],
        ["gamba", "ガンバ", "1/3", 1000],
        # ['genpatsu',	'ゲンパツ',		"1/4", 1000],
        ["git", "ギットゥ"],
        ["gpu", "ジーピーユー"],
        ["home", "ホーム"],
        ["hub", "ハブ"],
        ["href", "エイチレフ"],
        ["home", "ホーム", None, 1000],
        # ['hinan', 		'ヒナン', 			"1/3", 1000],
        # ['horijun',		'ホリジュン',		"1/4", 1000],
        # ['hokkaido', 	'ホッカイドー', 	None, 1000],
        ["hachinohe", "ハチノヘ", None, 1000],
        ["internet", "インターネット"],
        ["insert", "インサート"],
        ["iis", "アイアイエス"],
        ["impaired", "インペアド"],
        ["incorporate", "インコーポレイト"],
        ["incorporates", "インコーポレイツ"],
        ["ioc", "アイオーシー"],
        # ['inosenaoki',	'イノセナオキ',	"1/7", 1000],
        ["inaccurate", "インアキュレイト"],
        ["iconified", "アイコニファイド", "1/8"],
        ["interactively", "インタラクティブリィ"],
        ["iaea", "アイエーイーエー", "7/8", 1000],
        ["id", "アイディー", "3/4", 1000],
        # ['it', 			'アイティー', 			"3/4", 1000],
        ["ime", "アイエムイー", "0/6", 600],
        ["iwate", "イワテ", None, 1000],
        ["java", "ジャバ"],
        ["jaxa", "ジャクサ"],
        ["jis", "ジス", "1/2", 1000],
        ["japan", "ジャパン", "2/3", 1000],
        ["japanese", "ジャパニーズ", "3/5", 900],
        ["jp", "ジェーピー", "1/4", 1000],
        ["konica", "コニカ"],
        ["kinect", "キネクト"],
        ["kddi", "ケーディーディーアイ"],
        ["killed", "キルド"],
        ["keyboard", "キーボード", None, 1000],
        # ['kahoku', 		'カホク', 			"1/3", 1000],
        # ['kurogen',		'クロゲン',		"1/4", 1000],
        ["keys", "キーズ"],
        ["kesennuma", "ケセンヌマ", None, 1000],
        ["kantei", "カンテー", None, 1000],
        ["kashima", "カシマ", None, 1000],
        ["kita", "キタ", "0/2"],
        ["libre", "リブレ"],
        ["levels", "レベルズ"],
        ["locks", "ロックス"],
        ["layered", "レイヤード", "1/5"],
        ["manage", "マネイジ", None, 1000],
        ["micro", "マイクロ"],
        ["mozilla", "モジラ"],
        ["media", "メディア", "1/3", 1000],
        ["mixi", "ミクシー"],
        ["matlab", "マトラブ", None, 1000],
        ["mouse", "マウス", "1/3", 500],
        ["medic", "メディック", "1/4", 1000],
        # ['mizu',			'ミズ',			"2/2", 1000],
        # ['minpo', 		'ミンポー',		"1/4", 1000],
        ["moves", "ムーブズ"],
        ["morioka", "モリオカ", "2/4", 1000],
        ["miyagi", "ミヤギ", "1/3", 1000],
        ["mei", "メイ", "1/2", 100],
        ["meiryo", "メイリョー", "1/4"],
        ["notepad", "ノートパッド", None, 1000],
        ["nullsoft", "ヌルソフト", None, 1000],
        ["npo", "エヌピーオー", "2/6", 1000],
        ["nec", "エヌイーシー", "1/6"],
        ["nvda", "エヌブイディーエー", "1/8", 1000],
        ["nico", "ニコ", "1/2", 1000],
        ["niigata", "ニーガタ", "0/4", 1000],
        ["nishimoto", "ニシモト"],
        ["nippon", "ニッポン", "3/4", None, "固有名詞"],
        ["nvaccess", "エヌブイアクセス", "5/8", None, "固有名詞"],
        ["open", "オープン"],
        ["office", "オフィス"],
        ["operation", "オペレーション", None, 1000],
        ["opensource", "オープンソース", None, 1000],
        ["output", "アウトプット", None, 1000],
        ["opened", "オープンド", "1/5"],
        ["oshu", "オーシュー", None, 1000],
        ["python", "パイソン"],
        ["pro", "プロ"],
        ["plugins", "プラグインズ", None, 1000],
        ["pref", "プリフ", "1/3", 1000],
        ["previously", "プリビアスリ"],
        ["permission", "パーミッション"],
        ["page", "ページ", "1/3", 600],
        ["quickly", "クイックリィ"],
        ["radio", "ラジオ", "1/3", 800],
        ["redistributable", "リディストリビュータブル", "6/10"],
        ["renderings", "レンダリングズ"],
        ["rect", "レクト"],
        ["resample", "リサンプル"],
        ["reuse", "リユーズ"],
        ["runs", "ランズ"],
        ["runtime", "ランタイム", "3/5"],
        ["rendered", "レンダード"],
        ["required", "リクワイアード", "3/7"],
        ["shift", "シフト"],
        ["skype", "スカイプ", "2/4"],
        ["soft", "ソフト"],
        ["setup", "セットアップ"],
        ["systems", "システムズ"],
        ["shared", "シェアード"],
        ["shares", "シェアーズ"],
        ["suite", "スイート", "2/4", 1000],
        ["settings", "セッティングズ", "1/6"],
        # ['seikatsu',	'セーカツ',		"1/4", 1000],
        # ['sagasu',		'サガス',			"1/3", 1000],
        ["shimpo", "シンポー", "1/4", 1000],
        ["shimbun", "シンブン", "1/4", 1000],
        ["speaks", "スピークス"],
        ["simultaneously", "サイマルテニアスリィ"],
        ["synth", "シンセ"],
        ["shimane", "シマネ", "1/3"],
        ["sjis", "エスジス", "0/4", 1000],
        ["saigai", "サイガイ", None, 1000],
        ["sumaho", "スマホ", "1/3"],
        ["smap", "スマップ", "2/4"],
        ["think", "シンク"],
        ["threatened", "スレッテンド"],
        ["thoroughly", "サラフリィ"],
        ["talk", "トーク"],
        ["tab", "タブ"],
        ["tunes", "チューンズ", "1/4", 10],
        ["tools", "ツールズ", "1/4"],
        ["togetter", "トゥギャッター"],
        ["tube", "チューブ", "1/3", 600],
        ["time", "タイム", None, 1000],
        ["tepco", "テプコ", "1/3", 1000],
        ["types", "タイプス"],
        # ['teiden', 		'テーデン',		"1/4", 1000],
        # ['tokuho',		'トクホー',		"1/4", 1000],
        # ['takeyama', 	'タケヤマ',		"1/4", 1000],
        # ['takeshi',		'タケシ',			"1/3", 1000],
        ["turns", "ターンズ"],
        ["toggles", "トグルズ"],
        ["tsukuba", "ツクバ", None, 1000],
        ["tochigi", "トチギ", None, 1000],
        ["update", "アップデート"],
        ["ui", "ユーアイ"],
        ["uac", "ユーエーシー"],
        ["ustream", "ユーストリーム", None, 1000],
        ["ubuntu", "ウブンツー", None, 1000],
        ["unicode", "ユニコウドゥ"],
        ["usa", "ユーエスエー", "0/6"],
        ["unenforceable", "アンエンフォーサブル"],
        ["unveil", "アンベイル"],
        ["undefined", "アンデファインドゥ"],
        ["unicode", "ユニコウドゥ"],
        ["untitled", "アンタイトルド"],
        ["unlocks", "アンロックス"],
        ["usb", "ユーエスビー", "1/6", 1000],
        ["users", "ユーザーズ", "1/5"],
        ["version", "バージョン"],
        ["versions", "バージョンズ"],
        ["vantage", "バンテージ"],
        ["visum", "ビズム"],
        ["waic", "ウェイク"],
        ["wave", "ウェーブ"],
        ["welcome", "ウェルカム"],
        ["windows", "ウィンドウズ"],
        ["ware", "ウェアー", None, 1000],
        ["warranties", "ワランティーズ"],
        ["wikipedia", "ウイキペディーア", "0/8", 1000],
        ["xna", "エクスエヌエー"],
        ["you", "ユー", None, 660],
        ["yahoo", "ヤフー", "2/3", 1000],
        ["yamagata", "ヤマガタ", None, 1000],
        ["zune", "ズーン"],
    ]
    k = {}
    for i in d:
        k[i[0]] = True
    for line in open(IN_FILE):
        if line[0] == "#":
            continue
        a1, a2 = line.rstrip().decode("UTF-8").split(" ")
        a1 = re.sub("'", "\\'", a1)
        a1 = a1.lower()
        if not k.has_key(a1):
            d.append([a1, a2])
            k[a1] = True
    d.sort()
    with open(path.join(THISDIR, OUT_FILE), "w") as file:
        for i in d:
            k = i[0]
            # skip such as SHE'LL
            if "'" in k:
                continue
            alpha_count = len(k)
            k1 = alpha2mb(k.lower())
            y = i[1]
            # default pros
            mora_count = len(y)
            pros = "0/%d" % mora_count
            # default cost
            cost = DEFAULT_COST
            if alpha_count <= 2:
                cost = cost * 5
            # override by entry
            hin1 = "一般"
            if len(i) >= 3 and i[2] is not None:
                pros = i[2]
            if len(i) >= 4 and i[3] is not None:
                cost = i[3]
            if len(i) >= 5 and i[4] is not None:
                hin1 = i[4]
            # 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
            s = "%s,,,%d,名詞,%s,*,*,*,*,%s,%s,%s,%s,C0\n" % (k1, cost, hin1, k1, y, y, pros)
            file.write(s.encode(CODE))
Beispiel #3
0
def make_dic(IN_FILE, CODE, THISDIR):
	import re
	d = [
		['alt', 	'オルト'],
		['acrobat', 'アクロバット'],
		['adobe', 	'アドビー', "1/4", 1000],
		['about', 	'アバウト', '2/4'],
		['ass', 	'アス', "1/2", 10000],
		['azure', 	'アジュール', None, 100],
		['api',     'エーピーアイ', None, 500],
		['animations',     'アニメイションズ'],
		['audio', 		'オーディオ', 		"1/4", 610],
		['app',         'アップ'],
		['approximately', 'アプロクシメットゥリー', "3/10"],
		#['anpi', 		'アンピ',			"1/3", 1000],
		['asian',		'アジアン',		"1/4", 1000],
		#['asahi', 		'アサヒ',			"1/3", 1000],
		['appropriately', 'アプロプリエトリィ'],
		['agreed', 'アグリード'],
		['akb', 		'エーケービー',		"1/6", 1000],
		['au', 			'エーユー', 			"1/4", 600],
		['allowed', 'アラウド', "2/4"],
		['adsl',		'エーディーエスエル'	"1/8",	],
		['akita', 		'アキタ', None, 1000],
		['aomori', 		'アオモリ', None, 1000],
		['asshuku',		'アッシュク',		"0/4",	],
		
		['blank', 	'ブランク'],
		['biz', 	'ビズ'],
		['bazaar', 	'バザール'],
		['blog', 		'ブログ', None, 1000],
		['butt', 'バットゥ', "1/4", 10000],
		['backups', 'バックアップス'],
		
		['cam', 	'キャム'],
		['ctrl', 	'コントロール'],
		['console', 'コンソール'],
		['caps', 	'キャプス'],
		['cygwin', 	'シグウィン'],
		['choose',  'チュウズ', None, 1000],
		['cortana', 'コルタナ'],
		['cygdrive', 	'シグドライブ', None, 1000],
		['completely', 'コンプリートリィ'],
		['cycles', 'サイクルズ'],
		['conspicuously', 'コンスピシャスリィ'],
		['changed', 'チェインジド'],
		['characters', 'キャラクターズ'],
		['controls', 'コントゥロウルズ'],
		['currently', 'カレントリ'],
		['clicks', 'クリックス'],
		['contains', 'コンテインズ', '3/6'],
		['covered', 'カバード', '1/4'],
		['considered', 'コンシダード'],
		['closed', 'クローズド', "2/5"],
		['contributions', 'コントリビューションズ'],
		['co', 			'シーオー', 			"1/4", 1000],
		['certainly','サートゥンリー','1/6'],
		
		['delete', 	'デリート'],
		['del', 	'デリート'],
		['doxygen', 'ドキシゲン'],
		['dev',			'デブ'],
		['desktop', 	'デスクトップ', None, 1000],
		['documents',   'ドキュメンツ', "1/5"],
		['distributable', 'ディストリビュータブル', "5/9"],
		['drivers', 'ドゥライバーズ'],
		['directly', 'ダイレクトリィ'],
		['draggable', 'ドゥラッガブル', '2/6'],
		['designed', 'デザインド', "2/5"],
		['database', 'デイタベイス', "1/5"],
		['docs',		'ドックス', 			"1/4", 600],
		
		['explorer', 'エクスプローラ'],
		['esc', 	'エスケープ'],
		['enter', 	'エンター'],
		['editions', 'エディションズ'],
		['essentials', 'エセンシャルズ'],
		['extentions', 'エクステンションズ'],
		['edu',			'エデュー',		"1/3", 1000],
		['epub', 'イーパブ'],
		['expressly', 'エクスプレスリィ'],
		['entered', 'エンタード'],
		['errors', 'エラーズ'],
		['editable', 'エディタブル', '1/5'],
		['everyone', 'エブリワン', "1/5"],
		['euc', 		'イーユーシー', 		"1/6", 1000],
		['explicitly', 		'イクスプリシットリィ'],
		
		['firefox', 'ファイアフォックス'],
		['for', 	'フォー'],
		['foryou', 	'フォーユー'],
		['folders', 'フォルダーズ'],
		['favo', 'ファボ'],
		['failed', 'フェイルド'],
		['facebook', 	'フェイスブック', None, 1000],
		['favorites',   'フェイバリッツ', "1/6"],
		['flanger', 'フランジャー'],
		['files',		'ファイルズ', 			"1/4", 600],
		['focusable', 'フォウカサブル', '1/6'],
		['faq', 		'エフエーキュー',		"1/6", 1000],
		['fukushima', 	'フクシマ', 		"2/4", 1000],
		
		['guide', 	'ガイド', None, 1000],
		['google', 	'グーグル'],
		['gnu', 	'グニュー'],
		['guidebook', 	'ガイドブック', None, 1000],
		['gamba', 		'ガンバ', 			"1/3", 1000],
		#['genpatsu',	'ゲンパツ',		"1/4", 1000],
		['git', 'ギットゥ'],
		['gpu', 'ジーピーユー'],
		['gaming', 'ゲイミング'],
		
		['hub', 	'ハブ'],
		['href',	'エイチレフ'],
		['home', 		'ホーム', None, 1000],
		#['hinan', 		'ヒナン', 			"1/3", 1000],
		#['horijun',		'ホリジュン',		"1/4", 1000],
		#['hokkaido', 	'ホッカイドー', 	None, 1000],
		['hachinohe', 	'ハチノヘ', None, 1000],
		['homepage', 	'ホームページ', None, 1000],
		['hidari', 	'ヒダリ'],
		
		['internet', 'インターネット'],
		['insert', 	'インサート'],
		['iis', 	'アイアイエス'],
		['impaired', 'インペアド'],
		['incorporate', 'インコーポレイト'],
		['incorporates', 'インコーポレイツ'],
		['ioc', 	'アイオーシー'],
		#['inosenaoki',	'イノセナオキ',	"1/7", 1000],
		['inaccurate', 'インアキュレイト'],
		['iconified', 'アイコニファイド', '1/8'],
		['interactively', 'インタラクティブリィ'],
		['iaea', 		'アイエーイーエー',	"7/8", 1000],
		['id', 			'アイディー', 			"3/4", 1000],
		#['it', 			'アイティー', 			"3/4", 1000],
		['ime',			'アイエムイー', 		"0/6", 600],
		['iwate', 		'イワテ', None, 1000],
		['inking', 		'インキング'],
		['instagram', 		'インスタグラム'],
		
		['java', 	'ジャバ'],
		['jaxa',    'ジャクサ'],
		['jis', 		'ジス', 			"1/2", 1000],
		['japan', 		'ジャパン',		"2/3", 1000],
		['japanese', 	'ジャパニーズ',	"3/5", 900],
		['jp', 			'ジェーピー', 			"1/4", 1000],
		
		['konica', 	'コニカ'],
		['kinect', 	'キネクト'],
		['kddi', 	'ケーディーディーアイ'],
		['killed', 	'キルド'],
		['keyboard', 	'キーボード', None, 1000],
		#['kahoku', 		'カホク', 			"1/3", 1000],
		#['kurogen',		'クロゲン',		"1/4", 1000],
		['keys', 'キーズ'],
		['kesennuma', 	'ケセンヌマ', None, 1000],
		['kantei', 		'カンテー', None, 1000],
		['kashima', 	'カシマ', None, 1000],
		['kita',		'キタ', "0/2"],
		
		['libre', 'リブレ'],
		['levels', 'レベルズ'],
		['locks', 'ロックス'],
		['layered', 'レイヤード', '1/5'],
		
		['manage',  'マネイジ', None, 1000],
		['micro', 	'マイクロ'],
		['mozilla', 'モジラ'],
		['media',   'メディア', "1/3", 1000],
		['mixi', 	'ミクシー'],
		['matlab', 		'マトラブ', None, 1000],
		['mouse',       'マウス', "1/3", 500],
		['medic', 		'メディック',		"1/4", 1000],
		#['mizu',			'ミズ',			"2/2", 1000],
		#['minpo', 		'ミンポー',		"1/4", 1000],
		['moves', 'ムーブズ'],
		['morioka', 	'モリオカ', 		"2/4", 1000],
		['miyagi', 		'ミヤギ',			"1/3", 1000],
		['mei',			'メイ',			"1/2", 100],
		['meiryo',		'メイリョー',	"1/4"],
		['metered',		'ミータードゥ'],
		
		['notepad', 	'ノートパッド', None, 1000],
		['nullsoft', 	'ヌルソフト', None, 1000],
		['npo', 		'エヌピーオー',		"2/6", 1000],
		['nec',			'エヌイーシー',		"1/6",	],
		['nvda', 		'エヌブイディーエー', 	"1/8", 1000],
		['nico', 		'ニコ', 				"1/2", 1000],
		['niigata', 	'ニーガタ', 		"0/4", 1000],
		['nishimoto', 	'ニシモト'],
		['nippon',		'ニッポン', "3/4", None, '固有名詞'],
		['nvaccess',	'エヌブイアクセス', "5/8", None, '固有名詞'],
		
		['open', 	'オープン'],
		['office', 	'オフィス'],
		['operation', 	'オペレーション', None, 1000],
		['opensource', 	'オープンソース', None, 1000],
		['output', 		'アウトプット', None, 1000],
		['opened', 'オープンド', "1/5"],
		['oshu', 		'オーシュー', None, 1000],
		['onsite', 	'オンサイトゥ', None, 1000],
		['obviously','オブビアスリー',],
		
		['python', 	'パイソン'],
		['pro', 	'プロ'],
		['plugins', 	'プラグインズ', None, 1000],
		['pref', 		'プリフ',			"1/3", 1000],
		['previously', 'プリビアスリ'],
		['permission', 'パーミッション'],
		['page',		'ページ', 			"1/3", 600],

		['quickly', 'クイックリィ'],
		
		['radio', 	'ラジオ', "1/3", 800],
		['redistributable', 'リディストリビュータブル', "6/10"],
		['renderings', 'レンダリングズ'],
		['rect', 'レクト'],
		['resample', 'リサンプル'],
		['reuse', 'リユーズ'],
		['runs', 'ランズ'],
		['runtime', 'ランタイム', '3/5'],
		['rendered', 'レンダード'],
		['required', 'リクワイアード', '3/7'],
		['recently','リーセントゥリー'],
		
		['shift', 	'シフト'],
		['skype', 	'スカイプ', "2/4"],
		['soft', 	'ソフト'],
		['setup',	'セットアップ'],
		['systems', 'システムズ'],
		['shared',  'シェアード'],
		['shares',  'シェアーズ'],
		['suite', 		'スイート', 		"2/4", 1000],
		['settings',    'セッティングズ', "1/6"],
		#['seikatsu',	'セーカツ',		"1/4", 1000],
		#['sagasu',		'サガス',			"1/3", 1000],
		['shimpo', 		'シンポー', 		"1/4", 1000],
		['shimbun', 	'シンブン',		"1/4", 1000],
		['speaks', 'スピークス'],
		['simultaneously', 'サイマルテニアスリィ'],
		['synth', 'シンセ'],
		['shimane',		'シマネ', "1/3"],
		['sjis', 		'エスジス', 			"0/4", 1000],
		['saigai', 		'サイガイ', None, 1000],
		['sumaho',		'スマホ',		"1/3",	],
		['smap',		'スマップ',		"2/4",	],
		['sr',		'エスアール',		"3/5",	],
		['someone',		'サムワン',		"1/4",	],
		['sometime',	'サムタイム',	"1/5",	],
		
		['think', 	'シンク'],
		['threatened', 'スレッテンド'],
		['thoroughly', 'サラフリィ'],
		['talk', 	'トーク'],
		['tab', 	'タブ'],
		['tunes', 	'チューンズ', '1/4', 10],
		['tools', 	'ツールズ', '1/4'],
		['togetter', 	'トゥギャッター'],
		['tube', 	'チューブ', '1/3', 600],
		['time', 		'タイム', None, 1000],
		['tepco', 		'テプコ',			"1/3", 1000],
		['types',       'タイプス'],
		#['teiden', 		'テーデン',		"1/4", 1000],
		#['tokuho',		'トクホー',		"1/4", 1000],
		#['takeyama', 	'タケヤマ',		"1/4", 1000],
		#['takeshi',		'タケシ',			"1/3", 1000],
		['turns', 'ターンズ'],
		['toggles', 'トグルズ'],
		['tsukuba', 	'ツクバ', None, 1000],
		['tochigi', 	'トチギ', None, 1000],
		['themes', 	'スィームズ'],
		['tasks', 	'タスクス'],
		['teatime', 	'ティータイム'],
		['tiflotecnia', 'ティフロテクニア'],
		
		['update', 	'アップデート'],
		['ui', 	'ユーアイ'],
		['uac', 	'ユーエーシー'],
		['ustream', 	'ユーストリーム', None, 1000],
		['ubuntu', 		'ウブンツー', None, 1000],
		['unicode', 'ユニコウドゥ'],
		['usa',	'ユーエスエー', "0/6"],
		['unenforceable', 'アンエンフォーサブル'],
		['unveil', 'アンベイル'],
		['undefined', 'アンデファインドゥ'],
		['unicode', 'ユニコウドゥ'],
		['untitled', 'アンタイトルド'],
		['unlocks', 'アンロックス'],
		['usb', 		'ユーエスビー',		"1/6", 1000],
		['users', 'ユーザーズ', "1/5"],
		['updates', 'アップデーツ'],
		['uninstall', 'アンインストール'],
		
		['version', 'バージョン'],
		['versions', 'バージョンズ'],
		['vantage', 'バンテージ'],
		['visum', 'ビズム'],
		['viewing', 'ビューイング'],
		
		['waic', 	'ウェイク'],
		['wave', 	'ウェーブ'],
		['welcome', 'ウェルカム'],
		['windows', 'ウィンドウズ'],
		['ware', 		'ウェアー', None, 1000],
		['warranties', 		'ワランティーズ'],
		['wikipedia', 	'ウイキペディーア',	"0/8", 1000],
		['warehouse',	'ウェアーハウス',	"1/6"],
		
		['xna',     'エクスエヌエー'],
		
		['you', 	'ユー', None, 660],
		['yahoo', 		'ヤフー',			"2/3", 1000],
		['yamagata', 	'ヤマガタ', None, 1000],
		
		['zune', 	'ズーン'],
	]
	k = {}
	for i in d:
		k[i[0]] = True
	for line in open_file(IN_FILE, 'r', 'utf-8'):
		if line[0] == '#': continue
		a1, a2 = decode_str(line.rstrip(), 'utf-8').split(' ')
		a1 = re.sub("'", "\\'", a1)
		a1 = a1.lower()
		if a1 not in k:
			d.append([a1, a2])
			k[a1] = True
	d.sort()
	with open_file(path.join(THISDIR, OUT_FILE), "w", CODE) as file:
		for i in d:
			k = i[0]
			# skip such as SHE'LL
			if "'" in k:
				continue
			alpha_count = len(k)
			k1 = alpha2mb(k.lower())
			# https://github.com/nvdajp/nvdajpmiscdep/issues/53
			# skip 'WORDS' (ワーズ)
			if k1 == "words":
				continue
			y = i[1]
			# 'WORD' ワードゥ -> ワード
			if y == "ワードゥ":
				y = "ワード"
			# work around ポッ゜シビリティー
			y = re.sub("゜", "", y)
			# default pros
			mora_count = len(y)
			pros = "0/%d" % mora_count
			# default cost
			cost = DEFAULT_COST
			if alpha_count <= 2: cost = cost * 5
			# override by entry
			hin1 = '一般'
			if len(i) >= 3 and i[2] is not None: pros = i[2]
			if len(i) >= 4 and i[3] is not None: cost = i[3]
			if len(i) >= 5 and i[4] is not None: hin1 = i[4]
			# 表層形,左文脈ID,右文脈ID,コスト,品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音
			s = "%s,,,%d,名詞,%s,*,*,*,*,%s,%s,%s,%s,C0\n" % (k1,cost,hin1,k1,y,y,pros)
			file.write(encode_str(s, CODE))