0

3列のファイルがあります。

ArabicWord POS EnglishTranslation 

これはアラビア語、そのPOStag、およびそのアラビア語の英語訳です。したがって、1つのアラビア語の単語は、POSタグが異なれば翻訳も異なる可能性があります。次に、このファイルをPythonのハッシュに保存します。しかし、私の問題は、各列のエンティティが複数回発生する可能性があることです(誰も一意ではありません)。このファイルを保存する1つの方法は、最初と2番目の列を連結して一意のエンティティを作成することです(特定のタグによる各アラビア語の単語は1つの翻訳のみが許可されます)が、プロセスをさらに進めるにはハッシュが必要なため、この方法ではプロセスが遅くなります。他に方法はありますか?

更新: 最初のアプローチは、ファイルを保存するために正常に機能します。しかし、今の私の問題は、これらのタプルをどのように使用するかです。dict [0]、dict [1]だけでアラビア語とそのposタグにアクセスできますが、英語の翻訳にアクセスするにはどうすればよいですか?

4

2 に答える 2

2

あなたの質問へのコメントによると、私は辞書の辞書を使用します:

データ構造の定義:

>>> words = { 'ArabicWord' : { 'POS1' : 'EnglishTranslation1' } }
>>> words['ArabicWord']['POS2'] = 'EnglishTranslation2'
>>> words
{'ArabicWord': {'POS2': 'EnglishTranslation2', 'POS1': 'EnglishTranslation1'}}

特定のアラビア語のすべてのPOSタグを検索する:

>>> words['ArabicWord'].keys()
['POS2', 'POS1']

特定のArabicWord/POSタグの組み合わせの英語翻訳を見つける:

>>> words['ArabicWord']['POS1']
'EnglishTranslation1'
于 2013-03-25T12:41:50.180 に答える
0

インメモリsqliteデータベースを使用することをお勧めします。これにより、データを3つの異なる列として引き続き処理できるようになり、必要なデータを簡単に取得できます。

于 2013-03-25T11:59:05.827 に答える