如果你根据它包含的单词类型对每一行进行评分,你可能会得到一个相当好的指示。
EG 开头附近带有问候语的一行是问候语(问候语也可能包含表示过去时的短语,例如上次见到你很高兴)
正文通常包含诸如“电影、音乐会”等词。它还将包含动词(去、跑步、步行等)和问号和提供(例如想要、我们可以、应该我们、更喜欢……) . 查看http://nodebox.net/code/index.php/Linguistics#verb_conjugation
http://ogden.basic-english.org/
http://osteele.com/projects/pywordnet/
签名将包含结束词。
如果您找到具有所需结构的消息的数据源,则可以进行一些频率分析,以查看每个单词在每个部分中出现的频率。
每个单词都会得到一个分数 [salutation score, body score, signature score,..] 例如,hello 可能在称呼中出现 900 次,在正文中出现 10 次,在签名中出现 3 次。这意味着你好会被分配 [900, 10, 3, ..] 欢呼声可能会被分配 [10,3,100,..]
现在你将有一个大约 500,000 个单词的大列表。范围不大的词是没有用的。例如,catch 可能有 [100,101,80..] = 21 的范围(赶上来很好,想去钓一条鱼,稍后再钓)。catch 可以发生在任何地方。
现在您可以将字数减少到大约 10,000 个
现在对于每一行,也给该行打一个分数,形式为 [salutation score, body score, signature score,..]
这个分数是通过添加每个单词的向量分数来计算的。
例如,一句“你好,为我提供你的电话号码而欢呼”可以是:[900, 10, 3, ..] + [10,3,100,..] + .. + .. + = [900+10+.., 10+3+..,3+100,..] =[1023,900,500,..] 说
那么因为最大的数字在salutation score位置的开头,所以这句话是一个salutation。
那么如果你必须对你的一条线进行评分以查看该线应该在哪个组件中,对于每个单词,你都会添加到它的分数上
祝你好运,计算复杂性和准确性之间总是存在权衡。如果你能找到一组好的单词并建立一个好的模型来为你的计算奠定基础,那将会有所帮助。