我应该使用哪种聊天文本数据表示法来进行用户分类?
What representation of chat text data should I use for user classification?
我正在尝试训练一个分类器来对 2 个用户之间的聊天文本进行分类,以便稍后我可以预测这两个用户中谁更有可能说 X sentence/word。为了到达那里,我从聊天记录中挖掘文本并以两个词数组结束,UserA_words
和 UserB_words
。
我必须以哪种格式转换此数组以将其传递给 naiveBayes 或 SVM 等分类器?我如何通过例如一袋单词表示到分类器?
您问的是应该使用哪种 ML 表示来对聊天文本进行用户分类。
词袋和词向量是文本处理中常用的主要表示形式。然而,聊天的用户分类不是通常的文本处理任务,我们寻找指示特定用户的明显特征。
这里有一些:
- 每条评论的字长、字长、句长
- 打字速度(特别是如果你有以秒为单位的时间戳)
- 标点符号的比例(例如 80 个字符中的 17 个标点符号 = 17/80)
- 资本化比例
- 数字比例
- 空格比例
- character n-grams(注意这些可以提取例如 l0ser, f##k, :-) )
- 使用 Unicode(表情符号、符号,例如星星)
- 特定标点符号的比例(例如,有多少个“.”、“!”、“?”、“*”、“#”)
- 字数统计,尤其是。任何统计异常
- 你能想到的任何其他似乎对这两个用户有预测意义的东西,例如每句话拼错的单词数(可能是实际的拼写错误,或者来自手机上的预测滑动)
我正在尝试训练一个分类器来对 2 个用户之间的聊天文本进行分类,以便稍后我可以预测这两个用户中谁更有可能说 X sentence/word。为了到达那里,我从聊天记录中挖掘文本并以两个词数组结束,UserA_words
和 UserB_words
。
我必须以哪种格式转换此数组以将其传递给 naiveBayes 或 SVM 等分类器?我如何通过例如一袋单词表示到分类器?
您问的是应该使用哪种 ML 表示来对聊天文本进行用户分类。
词袋和词向量是文本处理中常用的主要表示形式。然而,聊天的用户分类不是通常的文本处理任务,我们寻找指示特定用户的明显特征。 这里有一些:
- 每条评论的字长、字长、句长
- 打字速度(特别是如果你有以秒为单位的时间戳)
- 标点符号的比例(例如 80 个字符中的 17 个标点符号 = 17/80)
- 资本化比例
- 数字比例
- 空格比例
- character n-grams(注意这些可以提取例如 l0ser, f##k, :-) )
- 使用 Unicode(表情符号、符号,例如星星)
- 特定标点符号的比例(例如,有多少个“.”、“!”、“?”、“*”、“#”)
- 字数统计,尤其是。任何统计异常
- 你能想到的任何其他似乎对这两个用户有预测意义的东西,例如每句话拼错的单词数(可能是实际的拼写错误,或者来自手机上的预测滑动)