使用一组具有已知标签的种子twitter用户以及他们之间的交互网络结构,将用户分类为标签。
reveal-user-classification的Python项目详细描述
使用一组具有已知标签的种子twitter用户以及他们之间交互网络的结构,将用户分类为标签。
功能
- [Reveal FP7](http://revealproject.eu/)用户网络配置文件分类器模块的实现。
- 利用arcte算法通过[显示图嵌入](https://github.com/MKLab-ITI/reveal-graph-embedding)进行图嵌入。
- 改进的基于图的用户分类和via[显示图嵌入](https://github.com/MKLab-ITI/reveal-graph-embedding)的社区权重。
- twitter通过[reveal user annotation](https://github.com/MKLab-ITI/reveal-user-annotation)列出用户注释的众包。
- 通过[显示用户注释](https://github.com/MKLab-ITI/reveal-user-annotation)与数据库进行消息传递和通信。
安装
###必需的包 -纽比 -短发 -SCIKIT学习 -网络 -[显示用户批注](https://github.com/MKLab-ITI/reveal-user-annotation) -[显示图嵌入](https://github.com/MKLab-ITI/reveal-graph-embedding)
###安装 在UNIX/Linux上为所有用户安装:
python3.4 setup.py build sudo python3.4 setup.py install
或者:
pip install reveal-user-classification
REALE-FP7集成
入口点脚本的名称是user_network_profile_classifier。
user_network_profile_classifier -uri $MONGO_DB_URI -id $MONGO_ASSESSMENT_ID -tak $TWITTER_APP_KEY -tas $TWITTER_APP_SECRET -rmquri $AMQP_URI -rmqq $AMQP_QUEUE_NAME -rmqe $AMQP_EXCHANGE -rmqrk $AMQP_ROUTING_KEY -ln $LATEST_N -lts $LOWER_TIMESTAMP -uts $UPPER_TIMESTAMP -nt $NUMBER_OF_PARALLEL_TASKS -nua $NUMBER_OF_USERS_TO_ANNOTATE -unpcdb $USER_NETWORK_PROFILE_CLASSIFIER_MONGO_DB
以下两个参数用于建立到Mongo数据库的连接 访问集合中的文档。
- $mongo-db-uri示例:“mongodb://admin:123456@127.0.0.1:27017”
- $mongo_assessment_id示例:“new_tweets_database_name.new_tweets_collection_name”,由“.”分隔,如图所示。
以下两个参数用于使用twitter应用程序从twitter获取数据。
- $twitter_app_key和$twitter_app_secret:都是从twitter开发站点中创建的应用中获取的。
以下四个参数用于将消息发布到rabbitmq队列。 队列用于在完成时发布“成功”消息, 同时也用于发布模块的结果。
- $amqp_uri示例:amqp://guest:guest@localhost:5672//
- 还必须提供:$amqp_queue_name、$amqp_exchange和$amqp_routing_key
可以考虑一些可选参数。以下三个可以一起使用,也可以分开使用; 否则将读取集合中的所有tweet。
- $latest_n:将从定义的集合中读取n个最新的按时间顺序排列的文档。 为了使其正常工作,tweets的“created_at”字段必须采用mongodb定义的正确时间格式。
- $lower_timestamp:unix时间戳;基于created_at tweet字段。只有在这个时间戳之后的tweets才会用于分析。
- $upper_timestamp:同样,用于上限。
以下四个参数为模块的执行设置了各种参数。
- $NoMyOrthOrthPixl任务:为每个评估分析启动启动的并行任务的数目。如果未指定,则尝试设置为核心数。
- $number_of_users_to_annotate:使用Twitter数据自动注释的用户数。每个用户至少需要额外的分钟。默认值为90。为了加快测试速度,请尝试较小的数字。
一些中间数据和由此产生的用户到主题的关联将被写入mongo数据库中,该数据库位于用于输入的mongo客户机上。
- $user_network_profile_classifier_mongo_db:应选择一个独特的名称,以免干扰为输入数据保留的数据库。写入结果的集合是:“用户主题集合”。
入口点脚本可以在/reveal_user_classification/entry_points/user_network_profile_classifier.py上查看 其中参数用法可以更详细地读取。