豪鬼メモ

一瞬千撃

英和辞書の曖昧一致検索と類語検索

オープンなデータで英和辞書と和英辞書を構築して検索する連載の5回目である。今回は、曖昧一致検索も含めた複雑なパターン一致検索を実装し、さらに類語検索も実装する。曖昧一致検索と類語検索は、辞書の利便性を飛躍的に高めてくれる。いつものデモサイトにそれらを実装しておいたので、実際に試してみてほしい。オープンなデータでできる範囲では、最善の英和・和英辞書が実現できていると思う。
f:id:fridaynight:20200925093414p:plain

続きを読む

WictionaryとWordNetから英和辞書を作ろう

英和辞書・和英辞書として使える辞書検索システムを作る連載の4回目である。今回はWictionaryから辞書データを抽出して、WordNetとも併合して、本物の英和辞書として使えるシステムを構築した。今回もデモサイトを作ったので、お試しいただきたい。凝った機能はまだ入れていないが、普通に使えるレベルになっていると思う。
f:id:fridaynight:20200914170906p:plain

続きを読む

WordNetを使った辞書検索システムのプロトタイプ

DBMで単語辞書を作る連載の3回目だ。今回はデモを実装した。仕様を単純化したプロトタイプであり、基本的な機能の説明をするのに丁度よいはずだ。それにもかかわらず、普通に実用できるものに仕上がっている。
f:id:fridaynight:20200816134652p:plain

続きを読む

Wikipediaの共起語を使ってシソーラス検索をしよう

前回、Wikipediaの記事を解析して、単語の共起語のデータベースを作った。今回は、共起語データベースを解析して類語を推定する。すなわち、共起語データベースをシソーラスとみなして、関連語の検索を行う。

続きを読む

Wikipediaを解析して共起語抽出をしよう

DBMで単語辞書を作る連載の2回目だ。今回作る辞書検索システムの看板機能は、類語検索である。そして、類語を自動的に推定するための一手法として、共起語を使う方法がある。ここでは、Wikipediaコーパスとして、共起語を抽出する。

続きを読む

DBMを使った検索エンジンの作り方

キーワード検索システムとか全文検索システムとか検索エンジンとか呼ばれる仕組みの肝は転置索引とか転置インデックスとか呼ばれるデータベースである。それは、検索語をキーとして、その検索語に該当する文書のIDのリストを値とする連想配列に他ならない。つまり、検索エンジンの肝はDBMである。この記事では、転置索引の効率的な構築方法について考察する。

続きを読む

reallocによる配列拡張の償却時間計算量

reallocを使ってメモリアロケーションのサイズを少しずつ伸ばしていく際に、償却時間計算量はO(N)になるだろうか、それともO(N^2)だろうか。結論としては、普通にやるとO(N^2)になる。ただし、セオリー通りにアプリケーション側で工夫するとO(N)にできる。性能テストをしてきちんと確認しておこう。

続きを読む

DBMで単語辞書を作ろう

データベースマネージャTkrzwを無事にリリースしたはよいが、ドッグフードは自分で食わないといけない。DBMを作るとまず最初にやりたくなるのが、それを使った単語辞書を作ることである。仕事柄、英和辞書と和英辞書はよく使うのだが、自分で作ったものを毎日便利に使っている。時間効率と空間効率に優れたDBMは辞書データを扱うのにうってつけだ。ということで、PythonでとDBMライブラリを使って単語辞書を実装していこう。

続きを読む