net.trialpc.sticktools.model
インタフェース LangModel

既知のサブインタフェースの一覧:
DocumentModel, SentenceModel
既知の実装クラスの一覧:
AbstractLangModel, BaseDocument, BaseModel, BaseSentence, DocCollection, LocalContextDocument, MultiSmoothedModel, SentenceWrappedDocument, SmoothedModel, WrapDocument, WrapModel

public interface LangModel

ユニグラム言語モデルが最低限実装すべきメソッドを定義します。 ユニグラム言語モデルとは、文書中の語(単語)が前後の単語との依存性がないと仮定して、 単純に語の集合(bag of words)として表現する言語モデルのことです。

このインターフェース中では、(term)という単語がよく用いられています。 この言語モデルでは、主に英語についての言語モデルを対象としているため、 多くの場合は単語と同じ意味で用いられます。しかし、実装によっては、語は意味を成さないアルファベット列や、 顔文字などの記号列である場合もあります。

インターフェースの中では定義されていませんが、LangModel インターフェースを実装するクラスは、 それぞれのインスタンスを識別するために、ID を保持することを推奨します。 また、その ID によって自然順序付けを定義することを推奨します。

LangModel インターフェースを容易に実装するために、AbstractLangModel クラスが提供されています。  特に制約がない場合は、AbstractLangModel クラスを拡張することも検討してみてください。

作成者:
tetsu
関連項目:
ModelBuilder, AbstractLangModel, LangModels

メソッドの概要
 boolean containsTerm(java.lang.String term)
          語 term が語彙に含まれるかどうかを返します。
 boolean containsTerms(java.util.Collection<java.lang.String> c)
          コレクション c に含まれる語が語彙に 1 つ以上含まれるかを返します。
 java.util.Set<java.lang.String> getVocabulary()
          この言語モデルの語彙を返します。
 boolean isModifiable()
          言語モデルに含まれる語を変更可能かどうかを返します。
 int numOfTerms()
          この言語モデルに含まれる語の総数を返します。
 int numOfVocabulary()
          この言語モデルに含まれる語の種類数(語彙数)を返します。
 int termCount(java.lang.String term)
          語 term の出現回数を返します。
 float termFrequency(java.lang.String term)
          語 term の相対頻度を返します。
 

メソッドの詳細

termCount

int termCount(java.lang.String term)

term の出現回数を返します。 出現回数は頻度とも呼ばれます。通常、このメソッドで返される値は 0 以上です。

パラメータ:
term - 語(通常は単語と同義)
戻り値:
term の出現回数
例外:
java.lang.NullPointerException - termnull である場合。(任意のオペレーション)

termFrequency

float termFrequency(java.lang.String term)
term の相対頻度を返します。 相対頻度とは、全体を 1 とした時の term の頻度のことです。 通常、このメソッドで返される値は 0 以上です。

パラメータ:
term - 語(通常は単語と同義)
戻り値:
term の相対頻度
例外:
java.lang.NullPointerException - termnull である場合。(任意のオペレーション)

numOfTerms

int numOfTerms()
この言語モデルに含まれる語の総数を返します。 語の総数は、語彙の延べ語数とも呼ばれます。 通常、このメソッドで返される値は 0 以上です。

戻り値:
語の総数

numOfVocabulary

int numOfVocabulary()
この言語モデルに含まれる語の種類数(語彙数)を返します。 語の種類数は、語彙の異なり語数とも呼ばれます。 通常、このメソッドで返される値は 0 以上です。

戻り値:
語の種類数
関連項目:
getVocabulary()

getVocabulary

java.util.Set<java.lang.String> getVocabulary()
この言語モデルの語彙を返します。 言語モデルに語彙が 1 つも存在しない場合は、空の Set が返されます。

戻り値:
語彙を示すセット

containsTerm

boolean containsTerm(java.lang.String term)

term が語彙に含まれるかどうかを返します。 このメソッドでは、引数に null が与えられても基本的には NullPointerException をスローすることはありません。

パラメータ:
term - 語
戻り値:
term が含まれているなら true
関連項目:
getVocabulary()

containsTerms

boolean containsTerms(java.util.Collection<java.lang.String> c)

コレクション c に含まれる語が語彙に 1 つ以上含まれるかを返します。

パラメータ:
c - 語を含むコレクション
戻り値:
語が言語モデルの語彙に 1 つでも含まれる場合は true
例外:
java.lang.NullPointerException - cnull である場合
関連項目:
getVocabulary()

isModifiable

boolean isModifiable()

言語モデルに含まれる語を変更可能かどうかを返します。

変更可能とは、語の追加や削除の処理が含まれます。 変更可能でない場合は、LangModel で定義されているメソッドは、 引数に応じて常に一定の値、またはインスタンスを返します。

戻り値:
変更可能であれば true、変更不可能であれば false