實踐篇(五):KBQA Demo,修改代碼以適用於Python 3.6

實戰參考與https://zhuanlan.zhihu.com/p/33363861,在此感謝這位浙江大學的大佬,語言精練,循序漸進,本人受益匪淺。

如果哪天這個實戰篇失效了,可私我,已保存。

本文不介紹原理,流程和原理參考上方鏈接即可。本文只介紹如何把python2版本的代碼轉成python3的。

1.修改query_main.py文件

  • 修改print,加括號即可。
  • raw_input()改爲input
  • 不用指定的編碼格式解碼字符串:
my_query = q2s.get_sparql(question.decode('utf-8'))
改爲

my_query = q2s.get_sparql(question)

 

 

2.jena_sparql_endpoint.py文件中修改print即可

3.word_tagging.py中raw_input()改爲input

4.以爲萬事大吉了,意想不到的錯誤出現了

報錯了!!!TypeError: cannot use a string pattern on a bytes-like object

解決方法word_tagging.py文件中再做修改:

return [Word(word.encode('utf-8'), tag) for word, tag in pseg.cut(sentence)]
修改爲
return [Word(word, tag) for word, tag in pseg.cut(sentence)]

5運行結果展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章