borscht package¶
Submodules¶
borscht.ChainGenerator module¶
-
class
borscht.ChainGenerator.
ChainGenerator
(text)¶ Bases:
object
マルコフ連鎖に用いるチェーン(連鎖)を生成し、必要があれば JSON形式で出力・保存できるクラスです。
- text : str
- チェーン生成の元になる文。
- tagger : MeCab.Tagger
- 形態素解析に用いる Tagger オブジェクト。
- chain : dict
- マルコフ連鎖に用いるチェーンが格納された辞書型配列。
-
BEGIN
= 'BOS'¶
-
END
= 'EOS'¶
-
dump
()¶
-
generate_chain
()¶ マルコフ連鎖に用いるチェーンを生成します。
- chain : dict
- マルコフ連載に用いるチェーン。 key: 3階マルコフ用の3つ組 val: 出現回数
-
generate_triplet_block
(morphemes)¶ 引数で渡された形態素の配列から、形態素毎の3つ組を生成し、 出現回数など、チェーンの生成に必要な情報を合わせたブロックを返します。
- morphemes : list of str
- 形態素配列。3つ以上の形態素が含まれている場合のみ有効。
- triplet_blocks : dict
- 3つ組とその出現回数が格納されたブロックの辞書型配列。 引数に渡された形態素の数自体が3つ以下の場合は空の辞書型配列が渡されます。 key: 3つ組 (tuple) val: 出現回数 (int)
-
morphological_analysis
(sentence)¶ 引数に渡された一文の形態素解析をします。
- sentence : str
- 解析する文。
- morphemes : list of str
- 形態素で分割された結果のリスト。
-
splitting_text
(text)¶ 引数に渡された長めの文章を一文ずつに分割します。
- text : str
- 解析する文。
- sentences : list of str
- 分割された一文ずつのリスト。
borscht.TextGenerator module¶
-
class
borscht.TextGenerator.
TextGenerator
(chain_json_filepath)¶ Bases:
object
Chainに基づいて文章を生成するクラスです。
- chain : list
- マルコフ連鎖に用いるチェーンが格納された配列。
-
generate
()¶ ランダムに一文を生成します。
-
get_chain_data
(filepath)¶ チェーン情報を JSONファイルから取得します。
- chain : list
- チェーンが格納された配列。
-
get_first_triplet
()¶ 文章のはじまりの3つ組をランダムに取得します。
- triplet : tuple
- 文章のはじまりの3つ組が格納されたタプル。
-
get_probable_triplet
(triplet_blocks)¶ 引数として渡された三つ組の配列の中から確率的に一つ選び返します。
- triplet_blocks : list
- 複数の “3つ組とそれに関する情報” が格納された配列。
- triplet : dict
- 確率的に選んだ 3つ組
-
get_triplet
(prefix1, prefix2)¶ prefix1 と prefix2 から suffix をランダムに取得します。
- prefix1 : str
- 1つ目のprefix
- prefix2 : str
- 2つ目のprefix
-
search_chain
(*queries)¶ 引数から指定された条件に合致するものをチェーンから取得します。
- queries : tuple or list
- チェーンの検索条件。
- result : list
- 取得したチェーン情報の配列。