文本分析工具。

MLDToolkit的Python项目详细描述


MLD文章分析

CircleCI

MLD发音为Mold,是一个基于命令行的应用程序,它使用自然语言处理(NLP)技术分析用户输入的URL的新闻文章的音调、情感和词汇签名。在

免责声明

Jory的中学教育项目是由Jory的学生辅导计划和项目开发的。与任何商业或非商业实体没有任何附属关系、背书、所有权或赞助。本知识库的所有权不应解释为知识产权的贡献或创造;请参考知识产权来源归属的承诺历史。在

许可证

Apache 2.0 License适用

注释

截至2019年9月,该项目正在积极维护中。由于Watson SDK中的更改,它当前处于有限的功能状态。请参考issues

这个项目使用IBM Watson Tone Analyzer API,这需要一个IMB Creative云帐户。在

先决条件

克隆项目

要克隆此项目,请使用以下命令:

$ git clone https://github.com/jorymorrison/MLD.git

安装要求

安装所需的所有命令:

^{pr2}$

基本用途

一旦输入了新闻文章的URL,程序将处理文章的文本,并根据极性和主观性、语气和构成文章词汇签名的五个关键词输出情感。在

Enter the URL of a news article as the first argument when calling in command line:https://abcnews.go.com/Politics/john-mccain-memorials-start-longtime-senators-body-lying/story?id=57472926
Retrieving satus code...Successfully retrieved status code: 200
Successfully retrieved representation.
Creating results file...
Successfully created results file at: /home/libbymadren/MLD\'John McCain will always have our back': Politicians pay tribute to the late senator-2018-08-29 19:47:37.537351.txt
Successfully wrote retrieval status to results file.
Successfully wrote retrieval to results file.
Successfully retrieved document sentiment.
Successfully retrieved document tone.
Successfully accessed corpus with 2 invalid documents.
Successfully calculated lexical signature.
Successfully wrote output to results file.
Exiting program...

文章的标题、正文文本和所有输出结果都将提交到存储库中的results txt文件夹中。在

获取Watson API密钥

此程序第一次运行时,程序将搜索Watson API密钥。如果找不到,系统会指示您设置您的Watson用户名和密码。在

要访问Watson API密钥,请登录IBM Creative Cloud帐户并找到Tone Analyzer页面。单击Create,将为您生成用户名和密码。复制这些文件并通过编辑config.conf文件或设置环境变量在应用程序中设置它们:

$ export WATSON_USER="apikey"
$ export WATSON_PASS=<apikey-url>

输出概要

Json架构:

{
    "article": {
        "body": <body-text>,
		"date": <date>,
        "title": <title>,
        "url": <url>
    },
    "sentiment": {
        "polarity": <value 0-1>,
        "subjectivity": <value 0-1>
    },
    "signature": {
        <most frequent>: <value 0-1>,
        <most frequent>: <value 0-1>,
        <most frequent>: <value 0-1>,
        <most frequent>: <value 0-1>,
        <most frequent>: <value 0-1>
    },
    "tone": {
		<tone>: <value 0-1>,
		<tone>: <value 0-1>,
		<tone>: <value 0-1>,
		<tone>: <value 0-1>,
		<tone>: <value 0-1>,
		<tone>: <value 0-1>
	}
}

情绪:

极性:标度-1-1(-1表示非常负,0表示中性,1表示非常正)

主观性:评分0-1(0表示非常客观,1表示非常主观)

音调:

声调得分在0.5-1之间显示,较低的分数表示文档中较少出现的情绪,较高的分数表示可能在内容中感知到的情绪。分数高于0.75应该被认为是非常情绪化的。 有关IBM Watson音调分析器的深入文档,请转到:https://console.bluemix.net/docs/services/tone-analyzer/using-tone.html#using-the-general-purpose-endpoint

词汇签名:

根据词频/反文档频率(TF-IDF),词汇签名由文档中前5个单词表示。 有关如何计算TF-IDF的深入文档,请访问:https://http//www.tfidf.com 输出被格式化为一个字的键值对及其TF-IDF分数。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题