2017-11-09 8 views
1

バイグラムでトピックモデルを構築したいと考えています。 Javaでこれを実装するには、どのような方法が推奨されますか?マレットを使ったトピックモデリングでバイグラムをサポートするJava Api

現在、GoogleではMallet Java APIを使用しています。 具体的には、ParallelTopicModelは、トークンをインスタンスオブジェクトのデータパラメータに渡します。

ありがとうございます。

答えて

1

nグラムを考慮する最も簡単で信頼性の高い方法は、入力を変更することです。たとえば、new yorknew_yorkに置き換えて、_を文字として受け入れるパターンを使用してトークン化することができます。マレットはあなたがドキュメントをインポートする場合、単一のトークンとして扱うために文字列を含むファイルを指定することができます:

bin/mallet import-file --help 
A tool for creating instance lists of feature vectors from comma-separated-values 
... 
--replacement-files FILE [FILE ...] 
    files containing string replacements, one per line: 
    'A B [tab] C' replaces A B with C, 
    'A B' replaces A B with A_B 
    Default is (null) 

使用のこのモードは、特定のnグラムを特定する必要があります。また、すべてのバイグラムを含むように入力ファイルを変更することもできますので、to be or not to beto_be be_or or_not not_to to_beになります。それが何か役に立つものがあるかどうかは分かりません。

n-gram識別を「ネイティブに」サポートするトピックモデルのバリエーションもありますが、トレーニング時間とモデルの品質に大きなコストがかかります。私はそれらのいずれかを使用することをお勧めしません。

関連する問題