豪鬼メモ

一瞬千撃

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

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more

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

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

Read more

DBMで単語辞書を作ろう

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

Read more

レンタルVPSにUbuntu 20をインストールする手順

レンタルのVPSで自分のLinuxサーバを運用しているわけだが、その再インストールと再設定を行った。新しいドメイン名を取得して、新しいOSを入れて、Webサーバを立てて、開発環境を構築する。これはその手順の自分用のメモだが、似たようなことをしたい人には役立つかもしれない。

Read more