如何训练斯坦福 NLP 情感分析工具

2024-05-02

地狱大家!我正在使用斯坦福核心 NLP 包,我的目标是对推文直播进行情感分析。

按原样使用情感分析工具对文本“态度”的分析非常差。许多积极因素被标记为中性,许多消极因素被评为积极。我已经在文本文件中获取了超过一百万条推文,但我不知道如何实际获取train该工具并创建我自己的模型。

链接到斯坦福情绪分析页面 http://nlp.stanford.edu/sentiment/code.html

“可以使用 PTB 格式数据集使用以下命令重新训练模型:”

java -mx8g edu.stanford.nlp.sentiment.SentimentTraining -numHid 25 -trainPath train.txt -devPath     dev.txt -train -model model.ser.gz

dev.txt 中的示例(前导 4 代表 5 ... 4/5 正中的极性)

(4 (4 (2 A) (4 (3 (3 warm) (2 ,)) (3 funny))) (3 (2 ,) (3 (4 (4 engaging) (2 film)) (2 .))))

test.txt 中的示例

(3 (3 (2 If) (3 (2 you) (3 (2 sometimes) (2 (2 like) (3 (2 to) (3 (3 (2 go) (2 (2 to) (2 (2 the) (2 movies)))) (3 (2 to) (3 (2 have) (4 fun))))))))) (2 (2 ,) (2 (2 Wasabi) (3 (3 (2 is) (2 (2 a) (2 (3 good) (2 (2 place) (2 (2 to) (2 start)))))) (2 .)))))

来自 train.txt 的示例

(3 (2 (2 The) (2 Rock)) (4 (3 (2 is) (4 (2 destined) (2 (2 (2 (2 (2 to) (2 (2 be) (2 (2 the) (2 (2 21st) (2 (2 (2 Century) (2 's)) (2 (3 new) (2 (2 ``) (2 Conan)))))))) (2 '')) (2 and)) (3 (2 that) (3 (2 he) (3 (2 's) (3 (2 going) (3 (2 to) (4 (3 (2 make) (3 (3 (2 a) (3 splash)) (2 (2 even) (3 greater)))) (2 (2 than) (2 (2 (2 (2 (1 (2 Arnold) (2 Schwarzenegger)) (2 ,)) (2 (2 Jean-Claud) (2 (2 Van) (2 Damme)))) (2 or)) (2 (2 Steven) (2 Segal))))))))))))) (2 .)))

我接下来有两个问题。

每个文件的意义和区别是什么? Train.txt/Dev.txt/Test.txt ?

我如何使用充满推文的原始、未解析的文本文件来训练我自己的模型?

我对 NLP 很陌生,所以如果我缺少任何必需的信息或任何东西,请批评!谢谢你!


每个文件的意义和区别是什么? Train.txt/Dev.txt/Test.txt ?

这是标准的机器学习术语。训练集用于(令人惊讶地)训练模型。开发集用于调整模型可能具有的任何参数。您通常会做的是选择一个参数值,在训练集上训练模型,然后检查训练后的模型在开发集上的表现如何。然后,您选择另一个参数值并重复。此过程可帮助您找到模型的合理参数值。

完成此操作后,您可以继续测试模型在测试集上的表现。这是unseen- 你的模型以前从未遇到过任何这些数据。测试集与训练和开发集分开非常重要,否则您将根据以前见过的数据有效地评估模型。这是错误的,因为它不会让您了解模型的实际效果。

我如何使用一个原始的、未解析的文本文件来训练我自己的模型,其中包含 推文?

您不能也不应该使用一组未解析的文档进行训练。递归深度模型的全部要点(以及它表现如此出色的原因)是它可以从解析树的每个级别的情感注释中学习。您上面给出的句子可以这样格式化:



(4 
    (4 
        (2 A) 
        (4 
            (3 (3 warm) (2 ,)) (3 funny)
        )
    ) 
    (3 
        (2 ,) 
        (3 
            (4 (4 engaging) (2 film)) (2 .)
        )
    )
)
  

通常,情感分析器是通过文档级注释进行训练的。您只有一个分数,并且该分数适用于整个文档,忽略了文档中的短语可能表达不同情绪的事实。斯坦福大学团队投入了大量精力来注释文档中的每个短语以表达情感。例如,这个词film其本身的情绪是中性的:(2 film)。然而,这句话engaging film是非常积极的:(4 (4 engaging) (2 film)) (2 .)

如果您已标记推文,则可以使用任何其他文档级情感分类器。这情感分析 /questions/tagged/sentiment-analysisstackoverflow 上的 tag 已经有一些非常好的答案,我不会在这里重复。

PS 你给你的推文贴上标签了吗?全部100万吗?如果你这样做了,我愿意为该文件付给你很多钱:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何训练斯坦福 NLP 情感分析工具 的相关文章

随机推荐

  • Angular Service Worker,缓存离线应用程序的 api 调用

    我正在尝试让服务工作者以角度方式处理 API 请求 我希望该应用程序能够离线工作 并且我有以下配置 name api urls https x com cacheConfig strategy performance maxSize 20
  • 如果基于更改值,Azure 逻辑应用程序条件无法在循环中工作

    我需要编写一个简单的 LogicApp 它连接到 http 端点 接收一些 JSON 循环遍历 JSON 消息 并根据消息中的值将其分块提交到不同的 http 端点 在这样做时 我得出的结论是 For Each 循环内的条件始终评估循环之前
  • 如何在多个设备上运行 Uiautomator 测试?

    我正在尝试在 bat 文件中进行 Uiautomator android Ui 测试 但我无法让它们并行运行 这是我的执行流程并连接了 3 个设备 gt adb devices XXXX XXXX XXXX gt adb push bin
  • bigquery url 解码

    有没有一种简单的方法可以在 BigQuery 查询语言中进行网址解码 我正在使用一个表 该表有一列包含某些值中的 URL 编码字符串 例如 http xyz com example php url http 3A 2F 2Fwww exam
  • 使用 html/javascript/css 的弹出表单

    我必须在弹出窗口中打开一个 html 表单 弹出窗口不应该是一个窗口 通常使用 window open 创建 而应该像下面的链接中出现的那样 在 Firefox 中打开 http www w3schools com js tryit asp
  • 如何获取 UITableView 中特定行的高度

    In my UITableView我使用委托方法为不同的行设置了不同的高度 tableView heightForRowAtIndexPath 现在给定一个NSIndexPath 我想获取之前为特定行指定的高度 你可以用这个 CGRect
  • CIFIlter 是否有替代方案可以在 watch os 6 中生成二维码

    我正在开发一个独立于手表的应用程序 我想在 watchkit 上生成二维码 但是由于 coreImage 不能与 watchkit 一起使用 我们还有其他方法可以做到这一点吗 Thanks 我使用支持 watchos 的库 例如EFQRCo
  • 以编程方式将 LinearLayout 高度更改为 0

    我正在调整大小LinearLayout从原来的高度到0 with ViewGroup LayoutParams params getLayoutParams params height newHeight requestLayout 一切正
  • 代码改进:此模式的更好替代方案?

    在类似的问题中 这种模式叫什么 软锁 https stackoverflow com questions 7259436 what is this pattern called soft lock 我询问下面的代码清单的模式名称 publi
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • 有没有办法忽略 ASP.NET Core 中 HTTP 日志记录中的 swagger 响应?

    我有一个使用 net 7 创建的 asp net Web api 我启用了http 日志记录 https learn microsoft com en us aspnet core fundamentals http logging vie
  • Smart Lock 登录提示 setPhoneNumberIdentifierSupported 不起作用

    我正在尝试使用 HintRequest 获取用户电话号码 PendingIntent intent Auth CredentialsApi getHintPickerIntent googleApiClient new HintReques
  • 如何响应 vaadin 中表格行的点击

    我有以下代码 public Button getBtnSubmit com vaadin ui Button ClickListener l if null l btnSubmit addListener l return btnSubmi
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 我可以设置默认的全局 Java 套接字超时吗?

    我遇到了一个问题 应用程序中涉及 http 和 ftp 连接的各个位置在 java net SocketInputStream socketRead0 上无限期地挂起 在终止 java 进程之前一次观察几个小时 我想全局覆盖默认的套接字超时
  • “ok glass”菜单中没有连接消息

    我正在开发一个应用程序 当用户从菜单中选择选项时 它会在时间轴中添加一张实时卡 就像示例应用程序一样 我注意到 当您没有任何连接时 玻璃上的本机应用程序 例如 Google 会在 ok glass 菜单中显示 无网络连接 消息 并且无法运行
  • Javascript对象引用链接到数组中的对象?

    如果我有一个对象 var array var theobject null array push song The Song artist The Artist song Another Song artist Another Artist
  • R如何删除字符串中非常特殊的字符?

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • Plotly 中所有地理范围的列表

    我正在尝试使用在地图上绘制数据plotly js 我知道您可以通过以下方式获得一个国家的地图 layout dict title geo dict scope usa 我们有可用范围的列表吗 不同的地区 某个地方 我尝试过谷歌搜索但似乎找不
  • 如何训练斯坦福 NLP 情感分析工具

    地狱大家 我正在使用斯坦福核心 NLP 包 我的目标是对推文直播进行情感分析 按原样使用情感分析工具对文本 态度 的分析非常差 许多积极因素被标记为中性 许多消极因素被评为积极 我已经在文本文件中获取了超过一百万条推文 但我不知道如何实际获