如何使用python正则表达式判断两个单词的含义是否相同

时间:2019-04-27 08:44:31

标签: python regex dictionary

我有些话是这样的:

['Java开发工程师', 'Java高级开发工程师', 'java开发工程师', 'JAVA开发工程师', '高级Java开发工程师', 'Java中级开发工程师', '高级java开发工程师', 'Java工程师', 'java工程师', 'JAVA工程师', 'Java架构师', '高级Java工程师', '高级java工程师', 'JAVA大数据开发工程师定岗生', '高级JAVA开发工程师', 'java+人工智能(AI)开发签约实习生', 'Java软件工程师', 'java软件工程师与人工智能开发委培', 'java高级开发工程师', 'Java开发实习生']

首先,某些词具有相同的含义,例如: java开发工程师= Java工程师= JAVA工程师, 另一个例子: 高级Java工程师= Java高级工程师
现在我想查找它们是否具有相同的含义,然后可以将它们添加到列表中。

代码如下:

cursor.execute("select title from job_java")
results = cursor.fetchall()
counter = dict()
for (item,) in results:
    counter[item] = counter.get(item, 0) + 1  # this codes
counter_sort = sorted(counter.items(), key=lambda value: value[1], reverse=True)

我期望的是'java工程师'和'JAVA工程师'计数器添加到相同的字典索引和此高级Java工程师 = Java高级工程师

我是python的实习生,可以给我建议吗? 因此,我可以更具体地执行此操作。 https://img.shownmmp.top/job.png

1 个答案:

答案 0 :(得分:0)

如果您的同义词在词典中:

synonyms = {"java开发工程师": "Java工程师", 
            "Java工程师": "JAVA工程师", 
            "高级Java工程师": "Java高级工程师"}

如果单词的同义词为:

word = synonyms.get(word, word)