【问题标题】:How to replace short words into full words from tweets using python如何使用python将推文中的短词替换为完整词
【发布时间】:2018-05-07 18:35:41
【问题描述】:

我正在对推文进行情绪分析。大多数推文都包含简短的单词,我想将它们替换为原始/完整的单词。

假设这条推文是:

I was wid Ali.

我要转换:

wid -> with

同样

wud -> would
u -> you
r -> are

我有 6000 条推文,其中有很多简短的单词。 我怎样才能替换它们? python中是否有可用于此任务的库?或任何在线可用的短词词典?

我阅读了Replace appostrophe/short words in python 问题的答案,但它只提供了撇号字典。

目前我正在使用 NLTK,但使用 NLTK 无法完成此任务。

【问题讨论】:

  • 我怀疑有没有这方面的字典,因为这些词没有以任何方式标准化。如果我是你,我会写你自己的字典。
  • Mirriam Webster has a definition for wid. 这可以说是一个有效的英文单词。 The same is true of wud. 如果您找到一种方法来使用上下文来解释输入错误的单词,特别是当字典中有该单词的条目时,您应该在上面写一篇论文并发表,我相信 NLP 社区会觉得这是一项了不起的成就。
  • @JacobG。那么这将需要很多时间。你建议我用什么聪明的方法?
  • @ChootsMagoots 好的,上面两个有定义,但我说还有很多其他词......比如你。我想替换 U -> 你同样 r -> are .. etc
  • SO 不擅长设计问题。你会更好地考虑你的要求是什么,只写一些代码。示例:假设我们不想检查数据集中的所有词,只检查特定大小以下的词。而且我们不想检查它们是否完美的英语,只是“纠正”您存储在(Python)字典中的一些众所周知的自定义。如果这还不够好,那么您需要退后一步,考虑一下您的设计、需求、API 等。SO 不是讨论的地方。

标签: python twitter nlp nltk data-science


【解决方案1】:

以下网站似乎有必要的字典: https://www.noslang.com/search 您可以从您的 python 代码发送请求并取回翻译。

这是工作代码:

import requests
prefixStr = '<div class="translation-text">'
postfixStr = '</div'

slangText = 'I was wid Ali.'

r = requests.post('https://www.noslang.com/', {'action': 'translate', 'p': 
slangText, 'noswear': 'noswear', 'submit': 'Translate'})
startIndex = r.text.find(prefixStr)+len(prefixStr)
endIndex = startIndex + r.text[startIndex:].find(postfixStr)
print(r.text[startIndex:endIndex])

【讨论】:

  • 本站不提供API。我是 python 新手.. 你能帮我看看如何从 python 发送请求并返回翻译吗?
  • 我已经更新了我的答案。请看上面的代码。
  • 嗨,比拉尔。请评论上面的代码。它对你有用吗?
猜你喜欢
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 2011-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
相关资源
最近更新 更多