Skip to content

[FORK] Generate SKK dictionary from Wikipedia(Japanese edition)

Notifications You must be signed in to change notification settings

krisfail/skkdict-jawiki-kris

 
 

Repository files navigation

skkdict-jawiki-kris

Fork元と何が違うの?

tokuhirom/jawiki-kana-kanji-dict との違い
SKKの辞書としての実用性を優先すること。そのためには多少の語が漏れてもかまわないという方針。そのため除外はかなり大雑把。

  • ASCII文字、ひらがな、カタカナ、約物しか含まない候補を除外
  • L辞書に入っている語の除外の強化(調整中)
    • 例えばあくせられーた /一方通行/などは一方通行という語がL辞書に入っているので(読みと関係なく)除外される。
    • 有害な当て字や誤検出を一掃できるが巻き込みも多い。要調整
  • 単純に、除外すべき読みの追加(一般的に除外すべきものはいくつか溜まったらプルリクを送る予定)
  • ニコニコ大百科とピクシブ百科事典の見出しを利用(ncaq氏による生成物による)してさらに語句を補充
  • その他ルールベースの除外(coming soon™)

これらの変更により、辞書としての適格性が微妙になるので、MeCab等の辞書作成機能は無効にした。

これは何?

wikipedia 日本語版のデータ(など)を元に、SKK/MeCab の辞書をつくるスクリプトです。

github actions で wikipedia から定期的にデータを取得して SKK-JISYO.jawiki を、定期的に更新するようにしています。 (github actions を利用することで、メンテナが何もしなくても自動的に更新されることを期待しています。)

Requirements

  • python 3.4+
    • jaconv
    • pytests
    • Levenshtein
    • janome
    • romkan
  • bunzip2
  • gnu make
  • ripgrep
  • aria2
  • sed

How to contribute

  • check.pyに条件を追加します(これにより、デグレしづらくなります)
  • 手元でmake checkを実行して、実行失敗することを確認します。
  • grep 対象ワード dat/*として、対象のワードの状態をみます。
  • user_simpledic.csvjawiki/*.pyのルールを変更します。

どう動いているのか

.github/workflows/python-app.yml が GitHub Actions の定義ファイルです。これにより、定期的に辞書ファイルが再生成されます。

処理のフローは以下の通りです。試行錯誤/途中のステップのバグが発見しやすいように、複数ステップに分割されています。

image

  • make を実行すれば、一通りファイルが実行されます。
  • make check を実行すると、辞書ファイルを生成し、辞書ファイルの正当性を確認します。
  • make test を実行すると、テストスイートを実行します。

LICENSE

Python scripts are licensed under:

The MIT License (MIT)

Copyright © 2020 Tokuhiro Matsuno, http://64p.org/ <[email protected]>
Copyright © 2023 Kris Walton, http://kris.fail/ <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Wikipedia license is: Wikipedia:ウィキペディアを二次利用する(tl,dr; CC BY-SA 4.0 or GFDL)

自動生成されたファイルは Wikipedia 等のコンテンツに対する軽微利用であり、かつ生成されたファイルには著作権上の創作性がないと私(yuuki76)は考えています。
したがって、権利については私は一切主張しないこととします。

謝辞

Wikipedia 日本語版がなければ、(もちろん)このプロジェクトはありえませんでしたし、今後も継続的に利用可能な新語辞書を作れるのは、Wikipedia あってこそです。 Wikipedia 日本語版の貢献者各位に感謝いたします。 ニコニコ大百科とピクシブ百科事典の共通部分のデータは、既存のdic-nico-intersection-pixivを利用させていただきました。感謝いたします。

About

[FORK] Generate SKK dictionary from Wikipedia(Japanese edition)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Makefile 0.2%