В настоящее время я использую TextBlob для создания чат-бота, и я до сих пор извлекал именованные сущности, используя извлечение имен существительных и находя pos-тег NNP.При вводе вопроса тестового пользователя, такого как «Последний сингл Уилла Смита?», Я правильно получаю «Уилл Смит».Но я хочу иметь возможность искать не только «Уилл Смит», но и «Уильям Смит», «Билл Смит», «Уилли Смит», «Билли Смит» - в основном другие широко известные варианты названия на английском языке.Я использую API Spotipy, когда пытаюсь получить художников Spotify.Что я сейчас делаю в PyCharm:
while True:
response = input()
searchQuery = TextBlob(response)
who = []
for item, tag in searchQuery.tags:
if tag == "NNP":
for nounPhrase in searchQuery.noun_phrases:
np = TextBlob(nounPhrase)
if item.lower() in np.words:
if nounPhrase not in who:
who.append(nounPhrase)
print(who)
if who:
for name in who:
if spotifyObject.search(name, 50, 0, 'artist', None):
searchResults = spotifyObject.search(name, 50, 0, 'artist', None)
artists = searchResults['artists']['items']
for a in artists:
print(a['name'])