标准化推文数据的位置信息

社会演员多 nlp 187

原文标题Standardized the location information of tweets data

我正在处理来自推文的用户位置信息。我想从这些用户输入数据中获取标准化的位置标签。如果位置在美国,则返回州名,否则返回国名。基本上是一些东西像:

text = ["New York, NY, USA", "Santa Monica, California", "ShanDong, China"]
output = text.standardize()

output
["New York", "California", "China"]

并且对用户的拼写错误应该有一定的容忍度。有推荐的图书馆吗?对此的任何想法将不胜感激!

原文链接:https://stackoverflow.com//questions/71896685/standardized-the-location-information-of-tweets-data

回复

我来回复
  • leo_val的头像
    leo_val 评论

    这就是我要做的,实际上我最近在一个带有推文的项目中做了:列出美国境内可能的州。然后,创建一个函数来检查某个字符串是否包含任何状态的单词。如果是这样,请打印州名。否则,在逗号后打印字符串的最后一个单词。

    text = ["New York, NY, USA", "Santa Monica, California", "ShanDong, China"]
    
     states = ['Alaska', 'Alabama', 'Arkansas', 'American Samoa', 'Arizona', 'California', 'Colorado', 'Connecticut', 'District of Columbia', 'Delaware', 'Florida', 'Georgia', 'Guam', 'Hawaii', 'Iowa', 'Idaho', 'Illinois', 'Indiana', 'Kansas', 'Kentucky', 'Louisiana', 'Massachusetts', 'Maryland', 'Maine', 'Michigan', 'Minnesota', 'Missouri', 'Northern Mariana Islands', 'Mississippi', 'Montana', 'National', 'North Carolina', 'North Dakota', 'Nebraska', 'New Hampshire', 'New Jersey', 'New Mexico', 'Nevada', 'New York', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Puerto Rico', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Virginia', 'Virgin Islands', 'Vermont', 'Washington', 'Wisconsin', 'West Virginia', 'Wyoming']
    
    def standartize(text):
        for state in states:
            if text.__contains__(state):
                return(state)
        return(text.split(", ")[-1])
    
    text_2 = [standartize(i) for i in text]
    # Prints ['New York', 'California', 'China']
    
    2年前 0条评论