首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的文本分类与检索

Python中的文本分类与检索
EN

Stack Overflow用户
提问于 2014-11-13 18:14:20
回答 2查看 199关注 0票数 0

我正在做一个小项目,需要一些帮助来搜索字符串中的文本。

让我们假设我有一个主要的string1,例如:贷款协调员

让我说我有另一个string2,例如:财政学生贷款协调员

假设我有另一个string3,如:

让我说我有另一个string4,如:协调器

假设我有另一个string5,如:财务助理

。。

在Python中,找到与string1有关的所有字符串的最佳批准者是什么?例如:

由于字符串中的文本贷款协调员,字符串2必须处理字符串1。

因为单词Loan,String 3有一些事情要做。

字符串4有一些事情要做,因为协调器这个词。

字符串5没有什么可做的,所以我不关心这个字符串。

2、3和4应该返回“找到”或表示存在小匹配的内容。

。。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-13 18:17:03

你可以使用集合交集。在字符串中设置一组独特的单词来进行比较。然后,使用来自其他字符串的一组单词进行交集。保留任何具有非空交集的字符串。

代码语言:javascript
复制
>>> s1 = 'Loan Coordinator'
>>> sList = ['Financial Student Loan Coordinator', 'Loan Operator', 'Coordinator', 'Financial Assistant']

>>> unique = set(s1.split())  # unique words in string 1

>>> [i for i in sList if unique & set(i.split())]
['Financial Student Loan Coordinator', 'Loan Operator', 'Coordinator']
票数 1
EN

Stack Overflow用户

发布于 2014-11-13 18:23:13

代码语言:javascript
复制
#!/usr/bin/env python
import sys


def tokenise(s):
    return set([word.lower() for word in s.split()])


def match_strings(primary, secondary):
    primary_tokens = tokenise(primary)
    secondary_tokens = tokenise(secondary)

    matches = primary_tokens.intersection(secondary_tokens)
    if matches:
        print "{} matches because of {}".format(secondary, ", ".join(matches))
    else:
        print "{} doesnt match".format(secondary)


if __name__ == "__main__":
    primary = sys.argv[1]
    secondaries = sys.argv[2:]

    for secondary in secondaries:
        match_strings(primary, secondary)

运行代码:

代码语言:javascript
复制
~/string_matcher.py "Loan Coordinator" "Financial Student Loan Coordinator" "Loan Operator" "Coordinator" "Financial Assistant"
Financial Student Loan Coordinator matches because of coordinator, loan
Loan Operator matches because of loan
Coordinator matches because of coordinator
Financial Assistant doesnt match
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26915681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档