【问题标题】:Clustering a word and its abbreviation together in python在python中将一个单词及其缩写聚集在一起
【发布时间】:2017-07-27 11:38:56
【问题描述】:

我有一个 Python 字符串列表。

例如,

['FD for 5000','RD', 'Fixed Deposit for 10000', 'RD for 1000', 'Recurring deposit for 1000']

输入不必相同。列表中的字符串可以是任意顺序,列表可以是任意长度。

我想将包含单词及其缩写的字符串放在单独的列表中。

预期输出: {['FD 为 5000', '定存为 10000'], ['RD','RD for 1000', '定期存款 1000']}

我正在尝试将用户输入的 cmets 聚集在一起。一些用户可能会以缩写形式输入文本,而其他用户可能会以完整形式输入文本。因此,为了将相似的 cmets 组合在一起,我需要一种通用的方式。

不胜感激任何可能的解决方案。

【问题讨论】:

  • 聚类(无监督统计方法)不能做到这一点。
  • @Anony-Mousse 我直观地理解为什么这是真的,但是有更正式的论点吗?你能指点我的一些阅读材料吗?
  • 缩写不是聚类的一部分。

标签: python text text-analysis abbreviation


【解决方案1】:

有很多方法可以做到这一点。例如:

  1. 列表中所有奇怪的元素都是缩写。您可以使用列表理解来获取它们:

    [a for (a,b) in zip(a,range(10)) if b % 2 == 1]
    

    同样,非缩写:

    [a for (a,b) in zip(a,range(10)) if b % 2 == 0]
    
  2. 使用list[start:end:step]step = 2

【讨论】:

  • 您好,masteromusica,感谢您的回答,但我只是提供了列表作为示例。列表中的字符串可以是任何顺序,并且列表可以是任何大小。如果您可以提供一种更通用的方式来对文本进行聚类,那将会有所帮助。让我编辑我的问题。
  • @sofibijusenthil 除非您添加有关这些字符串属性的更多详细信息,否则我无法帮助您
  • 我正在尝试实际使用上述方法将用户输入的 cmets 聚集在一起。一些用户可能会以缩写形式输入文本,而其他用户可能会以完整形式输入文本。因此,为了将相似的 cmets 组合在一起,我需要一种通用的方式。
  • 找到一个共同的 thing 所有缩写共享(长度可能小于 X 吗?)并将列表推导与 if 语句一起使用。这是通用的,因为它会得到
猜你喜欢
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2014-12-06
  • 2019-08-22
  • 2023-01-05
  • 1970-01-01
相关资源
最近更新 更多