在Python中将文本描述组合在一起

时间:2017-05-29 10:58:43

标签: python text nlp cluster-analysis similarity

我有以下数据集:

-- Your "changed" query.

UNION -- or UNION ALL, look up the difference, cuz I forgot it.

-- Your original query.
HAVING count(ugf.usergroupid) = 0

其中列data = pd.DataFrame({'Members':['Biology PhD student', 'Chemistry Master student', 'Engineering undergraduate student', 'Administration staff', 'Reception staff', 'Research Associate Chemistry', 'Associate Statistics'], 'UCode':[1,1,1,2,2,1,1],'id':['aaa100','aaa121','aa123','bb212','bb214','aa111','aa109']}) data Members UCode id 0 Biology PhD student 1 aaa100 1 Chemistry Master student 1 aaa121 2 Engineering undergraduate student 1 aa123 3 Administration staff 2 bb212 4 Reception staff 2 bb214 5 Research Associate Chemistry 1 aa111 6 Associate Statistics 1 aa109 包含描述每个列出成员函数的字符串。

您建议哪种文本分析只使用df.Members列的信息(文本)来查找类似成员的组?例如,在这个玩具示例中,分析应返回两个不同的组。我正在考虑两个字符串/单词列表之间的相似度。 任何建议/帮助非常感谢。 谢谢, 马可

3 个答案:

答案 0 :(得分:1)

简单的等字计数器,例如

from collections import Counter

WordCounter = Counter()
for text in members:
    words = text.split(' ')
    for word in words:
        WordCounter[word] += 1

print(WordCounter.most_common(3))
  

<强>输出:       [(&#39;学生&#39;,3),(&#39;员工&#39;,2),(&#39;员工&#39;,2)]

答案 1 :(得分:0)

您需要转换string&#39;会员&#39;进入word-vector然后执行聚类这些向量,如果你不知道 apriori组的数量,或分类任务,如果您确实知道类/组的数量。

答案 2 :(得分:0)

我可以向你推荐一些东西,我不是专家,但我找到了一个工具,在一个类似的情况下为我服务。 Gensim是一个支持文本分析的python工具,其中一些功能可以帮助您找到文档中的主题。检查this教程,我认为它对您非常有用。它会让你了解如何使用。 现在这些都是非常小的文档,所以我建议你寻找一些方法来改进这类数据的分析,比如biterms或者其他东西,因为它们的长度可能会给你带来一些问题。 我希望这会对你有所帮助。