卿少納言

卿少納言

JavaScript & Japanese, Python & Polyglot, TypeScript & Translate.
zhihu
github
email
x
follow

FreeMdict_返信 xiaoyifang 先輩

要約:この記事は、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 などのツールを介して実現するのではなく。

黒本式#

日本語に不慣れですが、ここに関係がありますか?

|500

中国の日本語学習者にはあまり関係ないと思います。あなたが指摘している部分は主に日本語のローマ字(あなたがピンインとして考えても良い、どちらも西文字母です)に影響を与えます。

具体的には、処理する内容は中国語における通用の簡体字ピンイン方式とウェイトーマピンイン方式の違いに似ています。これを有効にすると、以下のような効果が得られます:

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)。

しかし、私は古いコンピュータを見つけましたので、後で時間を見つけて分詞コーパスを作成する予定です。国慶節から大サンプル検証を開始する予定です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。