AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

英辞郎辞書から熟語を含む単語列を検索

austere budget Augustow audio-frequency amplifier

austere budget = 緊縮予算
Augustow = 【地名】アウグスツフ
audio-frequency amplifier = 可聴周波数増幅器

いわゆる最長一致法的に検索したいとして、熟語と単語が混在してるとややこしいね。
全組み合わせなら、5P1+5P2+5P3+5P4+5P5あるのかな
順列組み合わせとして


英辞郎辞書がテキストで140MBあるから読み込むのに時間がかかる
連想配列に入れるから辞書引きは一瞬だけど
メモリがあればバイナリーサーチみたいな手法はいらないね。
NoSQLなデーモンに辞書を入れておけば、読み込み時間はいらなくなるので
高速化できますね。もしくはmysqlに入れてしまう。


あと、英辞郎辞書って、Iとかoneselfみたいな基本的な単語は登録されてない(^^;)
↑ちゃんとありましたw


熟語中の熟語や単語も引けるように改造

audio frequency generator

audio frequency generator = 低周波発振器
audio frequency = 可聴周波数◆【略】AF
audio = 【名-1】音声 
frequency = 【名-1】頻発、頻繁に起きること 
frequency generator = 周波数発生器
generator = 【名-1】発電機、発生器 

熟語の中に熟語が含まれている場合もちゃんと訳がとれてますね

上記の例は

austere budget Augustow audio-frequency amplifier

austere budget = 緊縮予算
austere = 【形-1】切り詰めた、禁欲的な、緊縮型の 
budget = 【名-1】予算、予算案、予算額、経費、運営費、家計、生活費 
Augustow = 【地名】アウグスツフ
audio-frequency amplifier = 可聴周波数増幅器
amplifier = 【名-1】〔音楽用の〕アンプ(リファイア) 

でも、実際は最長一致すれば、それ以下は無視でいいのかな?