1

「辞書の単語」と名前を含む英語とドイツ語のテキストがあります。

例: 「...フィレンツェで画家レオナルドが建てた...」

各単語が名前であるか、それぞれの言語の単語であるかを判断する必要があるJavaプログラムがあります。

例 name={..., Florence, Leonardo, ...}, language words={..., In, the, painter, built, ...}

私は2つのアプローチを見ています:

  1. それぞれの辞書リストを使用し、それをハッシュ構造にロードし、その単語が含まれているか (言語の単語)、含まれていないか (名前/スペルミス) を確認します。

    問題/問題:

    名前が除外されているドイツ語の単語リストが見つかりませんでした

    語屈曲 (ドイツ語では複雑) はリストにない可能性があります

  2. サービス/APIを使用して単語を別の言語に翻訳し、単語が変更されているか(言語の単語)、変更されていないか(名前/スペルミス)を確認します。

    問題/問題:

    名前も翻訳される場合があります。例: フローレンス > フローレンツ

    オフライン辞書リスト/APIが見つかりませんでした。だから私はオンラインサービスを使うのが道だと思いますが、グーグル翻訳のような大きなものは無料ではありません.

もちろん、辞書の単語に似た名前があり、どちらのアプローチでもそれらは辞書の単語として識別されますが、問題はありません。

主な質問は次のとおりです。英語とドイツ語の名前のない包括的な辞書リストはありますか?

代わりに: タスクを実行するための無料 (オンライン) API はありますか? 別の解決策はありますか?

4

2 に答える 2

0

最初の文字が大文字かどうかを確認すると、多くの名前を見つけることができます。その後、文末文字{"。"、 "!"、 "?"}の後に続くものをすべて除外します。

それが物語のようなものであると仮定すると、名前が複数回表示されると想定するのはかなり安全です。すでに見つけたすべての名前を使用して、文末文字の後に表示されるすべての大文字の単語のリストと照合します。平等な人を追加します。

2番目の部分は、発生するものだけでなく、すべての発生が必要な場合にのみ実行する必要があります。

少なくとも、それが私がそれにアプローチする方法です。

編集:私はドイツ語にあまり精通していませんが、私のアプローチには確かにドイツ語に関するいくつかの問題があります。その言語については、JoopEggenのソリューションを参照してください。

于 2013-03-14T17:06:21.167 に答える
0

はい、名前以外の名詞も大文字になるため、ドイツ語は少し問題があります。

ただし、言語特性が 1 つあります。「美しいフローレンツ」(「das schöne Florenz」)とは言えますが、人名の前に冠詞/形容詞を使用することは非常にまれです。複数形の例外として、「the Müllers」(「die Müllers」) も考えられます。

したがって、地理的な名前などのリストのみが必要です。

そして、前に冠詞/形容詞 (der/die/das/... および -e/-en/-...) を検出します。

于 2013-03-14T17:07:26.840 に答える