|
@@ -9,24 +9,26 @@ wv = KeyedVectors.load("/data/pythonProject/video_to_word/models/word2vec.wordve
|
|
|
|
|
|
|
|
|
|
@logger.catch()
|
|
@logger.catch()
|
|
-@router.post("/related_words/", description="获取相关词", summary="获取相关词")
|
|
|
|
|
|
+@router.post("/related_words/", description="获取相关词/推荐词", summary="获取相关词/推荐词")
|
|
def get_related_words(word: str):
|
|
def get_related_words(word: str):
|
|
|
|
+ response = {'code': 0,
|
|
|
|
+ "success": True,
|
|
|
|
+ "result": []}
|
|
try:
|
|
try:
|
|
- similar_word_lst = wv.most_similar(word, topn=10)
|
|
|
|
- similar_word_lst = [item[0] for item in similar_word_lst if item[1] > 0.8]
|
|
|
|
- response = {'code': 0,
|
|
|
|
- "success": True,
|
|
|
|
- "result": similar_word_lst}
|
|
|
|
|
|
+ if word in wv:
|
|
|
|
+ similar_word_lst = wv.most_similar(word, topn=10)
|
|
|
|
+ similar_word_lst = [item[0] for item in similar_word_lst if item[1] > 0.73]
|
|
|
|
+ response['result'] = similar_word_lst
|
|
logger.info(f"request body: {word}, response body: {response}")
|
|
logger.info(f"request body: {word}, response body: {response}")
|
|
return response
|
|
return response
|
|
except:
|
|
except:
|
|
response = {"code": -1,
|
|
response = {"code": -1,
|
|
"message": traceback.format_exc(),
|
|
"message": traceback.format_exc(),
|
|
"success": False,
|
|
"success": False,
|
|
- "result": None}
|
|
|
|
|
|
+ "result": []}
|
|
logger.error(f"request body: {word}, response body: {response}")
|
|
logger.error(f"request body: {word}, response body: {response}")
|
|
return response
|
|
return response
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
- pass
|
|
|
|
|
|
+ get_related_words('社交')
|