6

「まずは弁護士を皆殺しにしよう」-ウィリアム・シェイクスピア

上記の引用を踏まえて、文の全体的な意味を説明する 2 つの顕著なキーワードとして"kill"andを抜き出したいと思います。"lawyers"次の名詞/動詞の POS タグを抽出しました。

[["First", "NNP"], ["thing", "NN"], ["do", "VBP"], ["lets", "NNS"], ["kill", "VB"], ["lawyers", "NNS"]]

私が解決しようとしているより一般的な問題は、文を「最も重要な」*単語/タグに抽出して、文の全体的な「意味」*を要約することです。

*恐怖の引用に注意してください。これは非常に難しい問題であり、現時点で完全な解決策はおそらくないことを認識しています。それにもかかわらず、私は特定の問題 ( と の抽出) および一般的な問題 (キーワード/タグで文の全体的な意味を要約する) を解決する試みを見ることに興味が"kill"あり"lawyers"ます。

4

3 に答える 3

3
于 2012-07-13T02:10:16.037 に答える
2

簡単なアプローチの1つは、NN、VBなどのストップワードリストを保持することです。これらは、通常、文に多くの意味内容を追加しない高頻度の単語です。

以下のスニペットは、単語トークンのタイプごとに異なるリストを示していますが、動詞と名詞(このようなもの)の両方に単一のストップワードリストを使用することもできます

stop_words = dict(
    NNP=['first', 'second'],
    NN=['thing'],
    VBP=['do','done'],
    VB=[],
    NNS=['lets', 'things'],
)


def filter_stop_words(pos_list):
    return [[token, token_type] 
            for token, token_type in pos_list 
            if token.lower() not in stop_words[token_type]]
于 2012-07-10T05:06:50.063 に答える