要約:この記事は、FreeMdict とGoldenDictのメンテナである xiaoyifang による Hunspell に関する議論です。
形態素辞書は EPWING(hunspell)と連携しませんが、これを修正する方法はありますか?私はすでに元の goldendict の GitHub で問題を開いています。xiaoyifang のフォークでもう一つ問題を開くべきですか?
機械翻訳:
形態学辞書は EPWING(hunspell)と一緒に機能しませんが、これを修正する方法はありますか?私はすでに元の goldendict の GitHub で問題を開いています。xiaoyifang のフォークでもう一つ問題を開くべきですか?
申し訳ありませんが、あなたがその問題を修正したとしても、私は一つ説明したいことがあります:goldendict の hunspell 機能の推論結果は、拡張子が.dic のファイルに収録された単語によって決定され、読み込まれない辞書には影響されません。
一方、欧路辞典の Android 版のメカニズムは異なり、ユーザーが読み込む辞書に影響されます(あなたの疑念はこのソフトウェアにおいては成り立ちます)。
また、私は日本語が英語のように完全にクリップボードで単語を調べることができるようになるには、いくつかの問題が hunspell では(おそらく)解決できないと思います —— 日本語の形態変化は英語よりもはるかに複雑であり、日本語には独特のレイアウトルールがあるため、私は特に『日本語非辞書形辞典』を作成しました。これらの投稿とそのディスカッションエリアを参照して、いくつかの概要を理解してください:
ここでは日本語の形態変化の特徴について話されています
https://forum.freemdict.com/t/topic/11523
ここでは日本語特有のレイアウトルールについて話されています
https://forum.freemdict.com/t/topic/14241/17
もしもっと知りたい場合は、私は時間を作って日本語の特異性について体系的かつ詳細に説明する記事を整理します(おそらく 1 ヶ月ほどかかりますが、整理ができたら特にお知らせします)。
もし可能であれば、私は GoldenDict が上記の問題をネイティブに処理できることを望んでいます。ここで言及された方法 [https://forum.freemdict.com/t/topic/14241]—— スクリプトや Quicker などのツールを介して実現する必要はありません。
黒本式#
日本語に不慣れですが、ここに関係がありますか?
中国の日本語学習者とはあまり関係がないと思います。あなたが指摘している部分は主に日本語のローマ字(あなたがそれをピンインと考えても良い、どちらも西文字母です)に影響を与えます。
具体的には、処理する内容は中国語で通用する簡体字ピンイン方式とウェイトーマピンイン方式の違いに似ています。これを有効にすると、結果は次のようになります:
Tsinghua University は Qinghua University に処理され、
Tsingtao は Qingdao に処理され、
Peking University は Beijing University に処理されます
(これらの例はあまり厳密ではないかもしれません。なぜなら、一部の綴り方は現在の普通話の発音に基づいていないからです)
つまり、これは主にローマ字(または西文字母)の綴り方の違いを解決するものです。そして、中国の日本語学習者はローマ字(例えば taberu)を使って単語を調べることはほとんどなく、一般的には仮名(例えばたべる)や漢字(例えば食べる)を使って調べますが、私は一部の外国人が設計した辞書サイトで彼らがローマ字で調べることをサポートしているのを見たので、こうした機能があるのです(しかし、中国人はほとんど使わないでしょう)。
私は英語の時制による問題を解決したいと思っています。例えば次のように:(比較と説明を容易にするために、例文は私が作成したものです)
私はご飯を食べている(私は夕食を食べています)
I am having dinner
私はご飯を食べていた(その時、私は夕食を食べていました)
I was having dinner
私はご飯を食べた。(私は夕食を食べました)
I had dinner。
私はご飯を食べなかった(私は夕食を食べませんでした)
I didn't have dinner。
母親は私をご飯を食べさせる。(母は私に夕食を食べさせます)
Mom lets me have supper
母親は私をご飯を食べさせない。(母は私に夕食を食べさせません)
Mom won't let me have dinner。
太字の部分は 2 つの言語の動詞(または通常の構成法機能で区別すべき部分)であり、英語では異なる意味を表現する際に形態変化が 1 つの動詞に連続して発生することはありません(したがって、動詞の変形ははるかに少なく、3 種類だけです)。一方、日本語では異なる意味を表現する際に形態変化が動詞に多重にネストされます(したがって、上記の各文は新しい変形であり、これ以上のものもあります)。これにより、日本語の構成法ファイルは非常に複雑になるため、私は他の解決策を試みたいと思いました。
私の解決策はあまり学術的ではありません(太字の部分は私が提案した方法で区別すべき部分です):
私はご飯を食べている(私は夕食を食べています)
I am having dinner
私はご飯を食べていた(その時、私は夕食を食べていました)
I was having dinner
私はご飯を食べた。(私は夕食を食べました)
I had dinner。
私はご飯を食べなかった(私は夕食を食べませんでした)
I didn't have dinner。
母親は私をご飯を食べさせる。(母は私に夕食を食べさせます)
Mom lets me have supper
母親は私をご飯を食べさせない。(母は私に夕食を食べさせません)
Mom won't let me have dinner。
見ると、食べるのるという最末尾の仮名には一定の繰り返しがあるため、私は語尾の最後の仮名の変形を列挙して mdx ファイル(つまり「日本語非辞書形辞典 v1」と「日本語非辞書形辞典 v2」)を作成しました —— 食べら、食べり、食べれ、食べさ、食べま、食べろなどのエントリーはすべて食べるを指し、次に「日本語非辞書形辞典 v3」で Python と JavaScript を使用して列挙ルールに基づいて 2 つのスクリプトを作成し、元の形を逆推導し、「日本語非辞書形辞典 v2」の結果と照合しました。(左右互搏の術ですが、一定の検証価値もあります)
以上のように、私の考えを実践に移し、6 ヶ月間の実際のテストを経て(フォーラムでフィードバックを受けました)、深刻な問題は発見されませんでした。したがって、次にサラ辞書に PR を提出し(コミュニケーションが少し楽になるため、加えて私は goldendict で使用されている C++ や C を理解していないため)、実際の効果を観察します。
あまり役に立たない参考:平文式ローマ字 - ウィキペディア、自由な百科事典 (wikipedia.org)
Mecab#
日本語の形態学的解析、例えば基本形の抽出については、業界には既存のライブラリがあります。現在見られる最も人気のあるいくつかのオープンソースライブラリはすべて、辞書(ipadic/unidic)に基づく解析であり、カスタムルールを使用した解析もありますが、辞書に基づいて機械学習された結果です。手書きのルールによる解析には何か問題がありますか?できればもっと大きなサンプルでテストしてください: https://clrd.ninjal.ac.jp/unidic/
(削除しても無駄です、私はすでにメールでアーカイブしました)
あなたが推薦したそのツールは、記事を分析するためのもので、単語を選択するために設計されたものではないと思います。二者には一定の違いがあります(例えば、単語を選択する際に文脈がほとんど失われること;また、選択するテキストがクリーンアップされていないため、特別な前処理が必要です)。
しかし、私たちは彼らの処理の詳細を参考にして、一定の修正を行うことができます(分割などは気にしなくてよく、私たちは分割後の推論プロセスにのみ注目すればよいです)。
以下は私が半分作成したノートで、皆さんに少しアイデアを提供します(非コンピュータ専攻なので、Python しか分からないので、皆さんを誤解させないでください):
開発者は他の言語のソースコードを提供しています。こちら(ゆっくり下にスクロールするしかなく、検索できないのはどういうわけか……)
しかし、ダウンロードした後、ファイルがあまりにも小さいことに気づきました。
3 つの Python ファイルで日本語の NLP が実現できるのか?233、やはりパッケージ化された exe を呼び出す必要がある(でも私は処理の詳細を研究したいので、バイナリコードを読むわけにはいかない……)…… さらに、python2 の構文を使用しています……
なので、さらに研究を進めませんでした。
また、あきらめずに別のものを探しました:
(SamuraiT/mecab-python3: mecab-python. you can find original version here //taku910.github.io/mecab/)
非公式インターフェースですが、Python インターフェースを提供していますが、実際の処理プロセスも(おそらく)Python ではありません。
大サンプル検証について#
私はコードを書きたくないし、他の人に書かせたくもないので削除しました。現代の検索エンジンは基本的にこの一連の辞書と形態学的分析ツールを使用していますが、クライアント側で使用するには適していません。あなたが改善を要約するのは素晴らしいですが、できれば大サンプルでテストしてください。そうすれば、クライアント開発者も使用する自信が持てます。
はい、私はあなたの意見に同意します。大サンプルで検証する必要があります。単に手動で収集するのは遅すぎます(実際には、このアイデアが生まれ、意識的に変形を収集し始めたのは 2 年前のことですが、6 ヶ月前に実際に手を動かしてみて、まだ多くのものを見落としていることに気づきました)。
あなたが推薦した mecab では、分割結果に 2 列のデータがあれば検証比較に使用できますが、私の手元にはまだ分割語料がないので、以前は簡単に説明しただけです。
[ ] Mecab の分割語料を持っている方は、[email protected]まで送ってください。必要なのは
書字形
と書字形基本形
の 2 列のデータだけです。感謝します:)
2 ヶ月が経過しましたが、やはり一つのファイルも受け取っていません(もしかしたら、特別にスレッドを立てるべきかもしれません 233)。
しかし、私は古いコンピュータを見つけましたので、後で時間を作って分割語料を作成し、国慶節から大サンプル検証を開始する予定です。