含まれる単語の種類に基づいて各行にスコアを付けると、かなり良い指標が得られる場合があります。
EG 冒頭近くに挨拶の言葉がある行は挨拶です (また、挨拶には過去時制を参照するフレーズが含まれる場合があります。たとえば、前回お会いできてよかったです)。
Body には通常、「movie、concert」などの単語が含まれます。また、動詞 (go to、run、walk など) と、疑問符と提供物 (たとえば、want to、can we、should we、prefer..) も含まれます。 . http://nodebox.net/code/index.php/Linguistics#verb_conjugation
http://ogden.basic-english.org/
http://osteele.com/projects/pywordnet/をチェックしてください
署名には結びの言葉が含まれます。
必要な構造のメッセージを含むデータソースが見つかった場合は、頻度分析を行って、各単語が各セクションでどのくらいの頻度で発生するかを確認できます。
各単語にはスコア [挨拶スコア、本文スコア、署名スコアなど] が付けられます。たとえば、hello は、挨拶文で 900 回、本文で 10 回、署名で 3 回発生する可能性があります。これは hello が割り当てられることを意味します [900, 10, 3, ..] 歓声が割り当てられる可能性があります [10,3,100,..]
これで、約 500,000 語の大きなリストが作成されます。広い範囲を持たない単語は役に立ちません。たとえば、catch は [100,101,80..] = 21 の範囲 (追いついて良かった、魚を捕まえに行きたい、後で捕まえる) を持つ可能性があります。キャッチはどこでも発生する可能性があります。
単語数を約 10,000 に減らすことができるようになりました
ここで、行ごとに、[挨拶のスコア、本文のスコア、署名のスコア、..] の形式のスコアをその行に付けます。
このスコアは、各単語のベクトル スコアを加算して計算されます。
たとえば、「あなたの番号を教えてくれてありがとう」という文は次のようになります: [900, 10, 3, ..] + [10,3,100,..] + .. + .. + = [900+10+.., 10+3+..,3+100,..] =[1023,900,500,..] 言う
最大数が挨拶スコア位置の先頭にあるため、この文は挨拶です。
次に、行の 1 つにスコアを付けて、その行がどのコンポーネントにあるべきかを確認する必要がある場合は、単語ごとにそのスコアに追加します
計算の複雑さと精度の間には常にトレードオフがあります。適切な単語のセットを見つけて、計算の基礎となる適切なモデルを作成できれば、それは役に立ちます。