Kam-Fai Wong

412 papers A* 53A 9B 21C 4Misc 8Journal 176Unranked 132
YearRankTypeTitle / Venue / Authors
2026 A* conf
AAAI
Yiming Du, Bingbing Wang, Yang He, Bin Liang, Baojun Wang, Zhongyang Li, Lin Gui, Jeff Z. Pan, Ruifeng Xu, Kam-Fai Wong
2026 J jnl
Neurocomputing
Shiwei Chen, Bin Liang, Yue Yu, Kam-Fai Wong, Hui Wang, Ruifeng Xu
2026 J jnl
CoRR
Zhiwei Zhang, Fei Zhao, Rui Wang, Zezhong Wang, Bin Liang, Jiakang Wang, Yao Hu, Shaosheng Cao, Kam-Fai Wong
2025 A* conf
AAAI
Zhengwei Tao, Zhi Jin, Yifan Zhang, Xiancai Chen, Haiyan Zhao, Jia Li, Bin Liang, Chongyang Tao, Qun Liu, Kam-Fai Wong
2025 A* conf
AAAI
Bingbing Wang, Yiming Du, Bin Liang, Zhixin Bai, Min Yang, Baojun Wang, Kam-Fai Wong, Ruifeng Xu
2025 J jnl
CoRR
Liang Chen, Xueting Han, Li Shen, Jing Bai, Kam-Fai Wong
2025 J jnl
CoRR
Yiming Du, Bingbing Wang, Yang He, Bin Liang, Baojun Wang, Zhongyang Li, Lin Gui, Jeff Z. Pan, Ruifeng Xu, Kam-Fai Wong
2025 conf
ACL (Findings)
Han Zhang, Lin Gui, Yu Lei, Yuanzhao Zhai, Yehong Zhang, Zhuo Zhang, Yulan He, Hui Wang, Yue Yu, Kam-Fai Wong, Bin Liang, Ruifeng Xu
2025 A* conf
ICLR
Bin Liang, Shiwei Chen, Lin Gui, Hui Wang, Yue Yu, Ruifeng Xu, Kam-Fai Wong
2025 conf
NAACL (Findings)
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Yufei Wang, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2025 A* conf
AAAI
Bojia Zi, Shihao Zhao, Xianbiao Qi, Jianan Wang, Yukai Shi, Qianyu Chen, Bin Liang, Rong Xiao, Kam-Fai Wong, Lei Zhang
2025 J jnl
CoRR
Luyang Lin, Zijin Feng, Lingzhi Wang, Kam-Fai Wong
2025 J jnl
CoRR
Boyang Xue, Qi Zhu, Hongru Wang, Rui Wang, Sheng Wang, Hongling Xu, Fei Mi, Yasheng Wang, Lifeng Shang, Qun Liu, Kam-Fai Wong
2025 J jnl
ACM Trans. Asian Low Resour. Lang. Inf. Process.
Luyang Lin, Jing Li, Kam-Fai Wong
2025 A* conf
IJCAI
Lingzhi Wang, Xingshan Zeng, Kam-Fai Wong
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Yuxi Zhang, Huimin Wang, Binyang Li, Kam-Fai Wong
2025 J jnl
CoRR
Liang Chen, Xueting Han, Qizhou Wang, Bo Han, Jing Bai, Hinrich Schutze, Kam-Fai Wong
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Yiming Du, Bin Liang, Baojun Wang, Zhongyang Li, Binyang Li, Kam-Fai Wong
2025 J jnl
CoRR
Rui Wang, Ce Zhang, Jun-Yu Ma, Jianshu Zhang, Hongru Wang, Yi Chen, Boyang Xue, Tianqing Fang, Zhisong Zhang, Hongming Zhang, Haitao Mi, Dong Yu, Kam-Fai Wong
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Zezhong Wang, Bin Liang, Binyang Li, Kam-Fai Wong
2025 A* conf
EMNLP
Cai Ke, Yiming Du, Bin Liang, Yifan Xiang, Lin Gui, Zhongyang Li, Baojun Wang, Yue Yu, Hui Wang, Kam-Fai Wong, Ruifeng Xu
2025 J jnl
CoRR
Rui Wang, Hongru Wang, Boyang Xue, Jianhui Pang, Shudong Liu, Yi Chen, Jiahao Qiu, Derek Fai Wong, Heng Ji, Kam-Fai Wong
2025 J jnl
CoRR
Zhuoran Zhang, Feng Zhang, Shangyuan Li, Yang Shi, Yuanxing Zhang, Wei Chen, Tengjiao Wang, Kam-Fai Wong
2025 B conf
ICPADS
Luyang Lin, Lingzhi Wang, Jinsong Guo, Jing Li, Kam-Fai Wong
2025 A* conf
IJCAI
Shiman Zhao, Shangyuan Li, Wei Chen, Tengjiao Wang, Jiahui Yao, Jiabin Zheng, Kam-Fai Wong
2025 J jnl
CoRR
Shiman Zhao, Shangyuan Li, Wei Chen, Tengjiao Wang, Jiahui Yao, Jiabin Zheng, Kam-Fai Wong
2025 B conf
COLING
Luyang Lin, Lingzhi Wang, Jinsong Guo, Kam-Fai Wong
2025 A conf
RE
Zhiwei Zhang, Bin Liang, Kam-Fai Wong
2025 conf
ACL (1)
Yang Sun, Guanrong Chen, Hamid Alinejad-Rokny, Jianzhu Bao, Yuqi Huang, Bin Liang, Kam-Fai Wong, Min Yang, Ruifeng Xu
2025 A* conf
EMNLP
Zhengyi Zhao, Shubo Zhang, Yuxi Zhang, Yanxi Zhao, Yifan Zhang, Zezhong Wang, Huimin Wang, Yutian Zhao, Bin Liang, Yefeng Zheng, Binyang Li, Kam-Fai Wong, Xian Wu
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Yuxi Zhang, Yanxi Zhao, Yifan Zhang, Zezhong Wang, Xiaohui Wang, Yutian Zhao, Bin Liang, Yefeng Zheng, Binyang Li, Kam-Fai Wong, Xian Wu
2025 J jnl
CoRR
Yiming Du, Baojun Wang, Yifan Xiang, Zhaowei Wang, Wenyu Huang, Boyang Xue, Bin Liang, Xingshan Zeng, Fei Mi, Haoli Bai, Lifeng Shang, Jeff Z. Pan, Yuxin Jiang, Kam-Fai Wong
2025 J jnl
CoRR
Bojia Zi, Weixuan Peng, Xianbiao Qi, Jianan Wang, Shihao Zhao, Rong Xiao, Kam-Fai Wong
2025 conf
NAACL (Long Papers)
Ang Li, Jingqian Zhao, Bin Liang, Lin Gui, Hui Wang, Xi Zeng, Xingwei Liang, Kam-Fai Wong, Ruifeng Xu
2025 conf
ACL (Findings)
Boyang Xue, Hongru Wang, Rui Wang, Sheng Wang, Zezhong Wang, Yiming Du, Bin Liang, Wenxuan Zhang, Kam-Fai Wong
2025 J jnl
CoRR
Hongru Wang, Cheng Qian, Wanjun Zhong, Xiusi Chen, Jiahao Qiu, Shijue Huang, Bowen Jin, Mengdi Wang, Kam-Fai Wong, Heng Ji
2025 A* conf
ICLR
Liang Chen, Li Shen, Yang Deng, Xiaoyan Zhao, Bin Liang, Kam-Fai Wong
2025 J jnl
CoRR
Liang Chen, Li Shen, Yang Deng, Xiaoyan Zhao, Bin Liang, Kam-Fai Wong
2025 A* conf
EMNLP
Yiming Du, Yifan Xiang, Bin Liang, Dahua Lin, Kam-Fai Wong, Fei Tan
2025 J jnl
CoRR
Yiming Du, Yifan Xiang, Bin Liang, Dahua Lin, Kam-Fai Wong, Fei Tan
2025 J jnl
CoRR
Boyang Xue, Qi Zhu, Rui Wang, Sheng Wang, Hongru Wang, Fei Mi, Yasheng Wang, Lifeng Shang, Qun Liu, Kam-Fai Wong
2025 J jnl
Neural Networks
Meng Gao, Yutao Xie, Wei Chen, Feng Zhang, Fei Ding, Tengjiao Wang, Jiahui Yao, Jiabin Zheng, Kam-Fai Wong
2025 J jnl
CoRR
Yiming Du, Wenyu Huang, Danna Zheng, Zhaowei Wang, Sébastien Montella, Mirella Lapata, Kam-Fai Wong, Jeff Z. Pan
2025 conf
ACL (Findings)
Hongru Wang, Wenyu Huang, Yufei Wang, Yuanhao Xi, Jianqiao Lu, Huan Zhang, Nan Hu, Zeming Liu, Jeff Z. Pan, Kam-Fai Wong
2025 J jnl
CoRR
Hongru Wang, Wenyu Huang, Yufei Wang, Yuanhao Xi, Jianqiao Lu, Huan Zhang, Nan Hu, Zeming Liu, Jeff Z. Pan, Kam-Fai Wong
2025 A* conf
AAAI
Lingzhi Wang, Xingshan Zeng, Jinsong Guo, Kam-Fai Wong, Georg Gottlob
2025 conf
NAACL (Long Papers)
Hongru Wang, Boyang Xue, Baohang Zhou, Tianhua Zhang, Cunxiang Wang, Huimin Wang, Guanhua Chen, Kam-Fai Wong
2025 conf
ACL (Findings)
Hongru Wang, Deng Cai, Wanjun Zhong, Shijue Huang, Jeff Z. Pan, Zeming Liu, Kam-Fai Wong
2025 J jnl
CoRR
Hongru Wang, Deng Cai, Wanjun Zhong, Shijue Huang, Jeff Z. Pan, Zeming Liu, Kam-Fai Wong
2025 J jnl
CoRR
Bojia Zi, Penghui Ruan, Marco Chen, Xianbiao Qi, Shaozhe Hao, Shihao Zhao, Youze Huang, Bin Liang, Rong Xiao, Kam-Fai Wong
2025 conf
NAACL (Long Papers)
Yu Zhao, Alessio Devoto, Giwon Hong, Xiaotang Du, Aryo Pradipta Gema, Hongru Wang, Xuanli He, Kam-Fai Wong, Pasquale Minervini
2025 A* conf
EMNLP
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Yufei Wang, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2025 J jnl
CoRR
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Yufei Wang, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2025 A* conf
EMNLP
Zhengyi Zhao, Shubo Zhang, Zezhong Wang, Huimin Wang, Yutian Zhao, Bin Liang, Yefeng Zheng, Binyang Li, Kam-Fai Wong, Xian Wu
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Zezhong Wang, Huimin Wang, Yutian Zhao, Bin Liang, Yefeng Zheng, Binyang Li, Kam-Fai Wong, Xian Wu
2025 conf
NAACL (Long Papers)
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2025 J jnl
CoRR
Hongru Wang, Cheng Qian, Manling Li, Jiahao Qiu, Boyang Xue, Mengdi Wang, Heng Ji, Kam-Fai Wong
2025 conf
ACL (1)
Boyang Xue, Fei Mi, Qi Zhu, Hongru Wang, Rui Wang, Sheng Wang, Erxin Yu, Xuming Hu, Kam-Fai Wong
2025 J jnl
CoRR
Miaomiao Li, Hao Chen, Yang Wang, Tingyuan Zhu, Weijia Zhang, Kaijie Zhu, Kam-Fai Wong, Jindong Wang
2025 A* conf
ICML
Liang Chen, Xueting Han, Li Shen, Jing Bai, Kam-Fai Wong
2025 J jnl
CoRR
Liang Chen, Xueting Han, Li Shen, Jing Bai, Kam-Fai Wong
2025 J jnl
CoRR
Zhengyi Zhao, Shubo Zhang, Bin Liang, Binyang Li, Kam-Fai Wong
2024 J jnl
CoRR
Boyang Xue, Hongru Wang, Weichao Wang, Rui Wang, Sheng Wang, Zeming Liu, Kam-Fai Wong
2024 J jnl
IEEE Trans. Knowl. Data Eng.
Huimin Wang, Yunyan Zhang, Yifan Yang, Yefeng Zheng, Kam-Fai Wong
2024 J jnl
CoRR
Yu Zhao, Xiaotang Du, Giwon Hong, Aryo Pradipta Gema, Alessio Devoto, Hongru Wang, Xuanli He, Kam-Fai Wong, Pasquale Minervini
2024 A* conf
EMNLP
Hongru Wang, Rui Wang, Boyang Xue, Heming Xia, Jingtao Cao, Zeming Liu, Jeff Z. Pan, Kam-Fai Wong
2024 J jnl
CoRR
Hongru Wang, Rui Wang, Boyang Xue, Heming Xia, Jingtao Cao, Zeming Liu, Jeff Z. Pan, Kam-Fai Wong
2024 J jnl
CoRR
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Yufei Wang, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 J jnl
CoRR
Bojia Zi, Shihao Zhao, Xianbiao Qi, Jianan Wang, Yukai Shi, Qianyu Chen, Bin Liang, Kam-Fai Wong, Lei Zhang
2024 conf
ACL (Findings)
Baohang Zhou, Zezhong Wang, Lingzhi Wang, Hongru Wang, Ying Zhang, Kehui Song, Xuhui Sui, Kam-Fai Wong
2024 A* conf
SIGIR
Hongru Wang, Yujia Qin, Yankai Lin, Jeff Z. Pan, Kam-Fai Wong
2024 J jnl
CoRR
Minda Hu, Licheng Zong, Hongru Wang, Jingyan Zhou, Jingjing Li, Yichen Gao, Kam-Fai Wong, Yu Li, Irwin King
2024 conf
NAACL-HLT
Rui Wang, Hongru Wang, Fei Mi, Boyang Xue, Yi Chen, Kam-Fai Wong, Ruifeng Xu
2024 J jnl
IEEE Trans. Knowl. Data Eng.
Lingzhi Wang, Shafiq Joty, Wei Gao, Xingshan Zeng, Kam-Fai Wong
2024 J jnl
CoRR
Luyang Lin, Lingzhi Wang, Jinsong Guo, Jing Li, Kam-Fai Wong
2024 conf
EACL (Findings)
Luyang Lin, Lingzhi Wang, Xiaoyan Zhao, Jing Li, Kam-Fai Wong
2024 J jnl
CoRR
Luyang Lin, Lingzhi Wang, Xiaoyan Zhao, Jing Li, Kam-Fai Wong
2024 J jnl
CoRR
Luyang Lin, Lingzhi Wang, Jinsong Guo, Kam-Fai Wong
2024 conf
LREC/COLING
Wai-Chung Kwan, Huimin Wang, Hongru Wang, Zezhong Wang, Bin Liang, Xian Wu, Yefeng Zheng, Kam-Fai Wong
2024 J jnl
Comput. Speech Lang.
Hongru Wang, Wai-Chung Kwan, Min Li, Zimo Zhou, Kam-Fai Wong
2024 A* conf
EMNLP
Zijin Feng, Luyang Lin, Lingzhi Wang, Hong Cheng, Kam-Fai Wong
2024 Misc conf
ICASSP
Hongru Wang, Baohang Zhou, Zhengkun Zhang, Yiming Du, David Ho, Kam-Fai Wong
2024 conf
ACL (1)
Wai-Chung Kwan, Xingshan Zeng, Yufei Wang, Yusen Sun, Liangyou Li, Yuxin Jiang, Lifeng Shang, Qun Liu, Kam-Fai Wong
2024 A* conf
EMNLP
Wai-Chung Kwan, Xingshan Zeng, Yuxin Jiang, Yufei Wang, Liangyou Li, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 J jnl
CoRR
Wai-Chung Kwan, Xingshan Zeng, Yuxin Jiang, Yufei Wang, Liangyou Li, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 J jnl
CoRR
Ang Li, Jingqian Zhao, Bin Liang, Lin Gui, Hui Wang, Xi Zeng, Kam-Fai Wong, Ruifeng Xu
2024 conf
ACL (Findings)
Bin Liang, Ang Li, Jingqian Zhao, Lin Gui, Min Yang, Yue Yu, Kam-Fai Wong, Ruifeng Xu
2024 J jnl
CoRR
Bin Liang, Ang Li, Jingqian Zhao, Lin Gui, Min Yang, Yue Yu, Kam-Fai Wong, Ruifeng Xu
2024 J jnl
CoRR
Jingtao Cao, Zheng Zhang, Hongru Wang, Bin Liang, Hao Wang, Kam-Fai Wong
2024 conf
LREC/COLING
Xiaoyan Zhao, Lingzhi Wang, Zhanghao Wang, Hong Cheng, Rui Zhang, Kam-Fai Wong
2024 J jnl
CoRR
Yiming Du, Hongru Wang, Zhengyi Zhao, Bin Liang, Baojun Wang, Wanjun Zhong, Zezhong Wang, Kam-Fai Wong
2024 J jnl
CoRR
Bin Liang, Bingbing Wang, Zhixin Bai, Qiwei Lang, Mingwei Sun, Kaiheng Hou, Kam-Fai Wong, Ruifeng Xu
2024 conf
NAACL-HLT (Findings)
Rui Wang, Fei Mi, Yi Chen, Boyang Xue, Hongru Wang, Qi Zhu, Kam-Fai Wong, Ruifeng Xu
2024 J jnl
CoRR
Rui Wang, Fei Mi, Yi Chen, Boyang Xue, Hongru Wang, Qi Zhu, Kam-Fai Wong, Ruifeng Xu
2024 conf
NAACL-HLT
Zezhong Wang, Fangkai Yang, Lu Wang, Pu Zhao, Hongru Wang, Liang Chen, Qingwei Lin, Kam-Fai Wong
2024 conf
EMNLP (Findings)
Minda Hu, Licheng Zong, Hongru Wang, Jingyan Zhou, Jingjing Li, Yichen Gao, Kam-Fai Wong, Yu Li, Irwin King
2024 J jnl
CoRR
Lingzhi Wang, Xingshan Zeng, Jinsong Guo, Kam-Fai Wong, Georg Gottlob
2024 J jnl
CoRR
Hongru Wang, Boyang Xue, Baohang Zhou, Tianhua Zhang, Cunxiang Wang, Guanhua Chen, Huimin Wang, Kam-Fai Wong
2024 J jnl
CoRR
Yu Zhao, Alessio Devoto, Giwon Hong, Xiaotang Du, Aryo Pradipta Gema, Hongru Wang, Xuanli He, Kam-Fai Wong, Pasquale Minervini
2024 conf
NLPCC (4)
Shubo Zhang, Jing Wei, Zhengyi Zhao, Binyang Li, Kam-Fai Wong
2024 conf
NLPCC (2)
Hongru Wang, Huimin Wang, Lingzhi Wang, Minda Hu, Rui Wang, Boyang Xue, Yongfeng Huang, Kam-Fai Wong
2024 J jnl
CoRR
Zezhong Wang, Xingshan Zeng, Weiwen Liu, Liangyou Li, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 J jnl
CoRR
Bingbing Wang, Bin Liang, Chun-Mei Feng, Wangmeng Zuo, Zhixin Bai, Shijue Huang, Kam-Fai Wong, Ruifeng Xu
2024 J jnl
CoRR
Boyang Xue, Fei Mi, Qi Zhu, Hongru Wang, Rui Wang, Sheng Wang, Erxin Yu, Xuming Hu, Kam-Fai Wong
2024 J jnl
CoRR
Hongru Wang, Wenyu Huang, Yang Deng, Rui Wang, Zezhong Wang, Yufei Wang, Fei Mi, Jeff Z. Pan, Kam-Fai Wong
2024 conf
LREC/COLING
Hongru Wang, Boyang Xue, Baohang Zhou, Rui Wang, Fei Mi, Weichao Wang, Yasheng Wang, Kam-Fai Wong
2024 J jnl
CoRR
Hongru Wang, Boyang Xue, Baohang Zhou, Rui Wang, Fei Mi, Weichao Wang, Yasheng Wang, Kam-Fai Wong
2024 A* conf
EMNLP
Jingtao Cao, Zhang Zheng, Hongru Wang, Kam-Fai Wong
2024 J jnl
CoRR
Jingtao Cao, Zheng Zhang, Hongru Wang, Kam-Fai Wong
2024 conf
NAACL-HLT
Zhiming Mao, Haoli Bai, Lu Hou, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 J jnl
CoRR
Zhiming Mao, Haoli Bai, Lu Hou, Jiansheng Wei, Xin Jiang, Qun Liu, Kam-Fai Wong
2024 conf
ACL (1)
Liang Chen, Yatao Bian, Yang Deng, Deng Cai, Shuaiyi Li, Peilin Zhao, Kam-Fai Wong
2023 J jnl
CoRR
Hongru Wang, Lingzhi Wang, Yiming Du, Liang Chen, Jingyan Zhou, Yufei Wang, Kam-Fai Wong
2023 J jnl
Int. J. Autom. Comput.
Wai-Chung Kwan, Hongru Wang, Huimin Wang, Kam-Fai Wong
2023 A* conf
EMNLP
Geng Tu, Ran Jing, Bin Liang, Min Yang, Kam-Fai Wong, Ruifeng Xu
2023 conf
EMNLP (Findings)
Geng Tu, Bin Liang, Bing Qin, Kam-Fai Wong, Ruifeng Xu
2023 A* conf
EMNLP
Liang Chen, Yang Deng, Yatao Bian, Zeyu Qin, Bingzhe Wu, Tat-Seng Chua, Kam-Fai Wong
2023 J jnl
CoRR
Liang Chen, Yang Deng, Yatao Bian, Zeyu Qin, Bingzhe Wu, Tat-Seng Chua, Kam-Fai Wong
2023 J jnl
CoRR
Hongru Wang, Rui Wang, Fei Mi, Zezhong Wang, Ruifeng Xu, Kam-Fai Wong
2023 conf
ACL (1)
Huimin Wang, Wai-Chung Kwan, Kam-Fai Wong, Yefeng Zheng
2023 J jnl
CoRR
Huimin Wang, Wai-Chung Kwan, Kam-Fai Wong, Yefeng Zheng
2023 conf
EMNLP (Findings)
Hongru Wang, Rui Wang, Fei Mi, Yang Deng, Zezhong Wang, Bin Liang, Ruifeng Xu, Kam-Fai Wong
2023 J jnl
CoRR
Luyang Lin, Jing Li, Kam-Fai Wong
2023 J jnl
CoRR
Bojia Zi, Xianbiao Qi, Lingzhi Wang, Jianan Wang, Kam-Fai Wong, Lei Zhang
2023 B conf
SIGDIAL
Huimin Wang, Wai-Chung Kwan, Kam-Fai Wong
2023 J jnl
CoRR
Huimin Wang, Wai-Chung Kwan, Kam-Fai Wong
2023 conf
EMNLP (Findings)
Boyang Xue, Weichao Wang, Hongru Wang, Fei Mi, Rui Wang, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2023 J jnl
CoRR
Boyang Xue, Weichao Wang, Hongru Wang, Fei Mi, Rui Wang, Yasheng Wang, Lifeng Shang, Xin Jiang, Qun Liu, Kam-Fai Wong
2023 J jnl
IEEE Trans. Knowl. Data Eng.
Jing Ma, Jun Li, Wei Gao, Yang Yang, Kam-Fai Wong
2023 conf
EMNLP (Findings)
Chenran Cai, Qianlong Wang, Bin Liang, Bing Qin, Min Yang, Kam-Fai Wong, Ruifeng Xu
2023 J jnl
CoRR
Wai-Chung Kwan, Huimin Wang, Hongru Wang, Zezhong Wang, Xian Wu, Yefeng Zheng, Kam-Fai Wong
2023 conf
ACL (1)
Lingzhi Wang, Tong Chen, Wei Yuan, Xingshan Zeng, Kam-Fai Wong, Hongzhi Yin
2023 J jnl
CoRR
Lingzhi Wang, Tong Chen, Wei Yuan, Xingshan Zeng, Kam-Fai Wong, Hongzhi Yin
2023 J jnl
CoRR
Hongru Wang, Minda Hu, Yang Deng, Rui Wang, Fei Mi, Weichao Wang, Yasheng Wang, Wai-Chung Kwan, Irwin King, Kam-Fai Wong
2023 conf
EMNLP (Findings)
Hongru Wang, Minda Hu, Yang Deng, Rui Wang, Fei Mi, Weichao Wang, Yasheng Wang, Wai-Chung Kwan, Irwin King, Kam-Fai Wong
2023 J jnl
CoRR
Wai-Chung Kwan, Xingshan Zeng, Yufei Wang, Yusen Sun, Liangyou Li, Lifeng Shang, Qun Liu, Kam-Fai Wong
2023 conf
IJCNLP (1)
Hongru Wang, Zezhong Wang, Wai Chung Kwan, Kam-Fai Wong
2023 J jnl
ACM Trans. Inf. Syst.
Lingzhi Wang, Xingshan Zeng, Kam-Fai Wong
2023 conf
EMNLP (Findings)
Zezhong Wang, Luyao Ye, Hongru Wang, Wai-Chung Kwan, David Ho, Kam-Fai Wong
2023 conf
ACL (1)
Rui Wang, Jianzhu Bao, Fei Mi, Yi Chen, Hongru Wang, Yasheng Wang, Yitong Li, Lifeng Shang, Kam-Fai Wong, Ruifeng Xu
2023 J jnl
CoRR
Rui Wang, Hongru Wang, Fei Mi, Yi Chen, Ruifeng Xu, Kam-Fai Wong
2023 J jnl
CoRR
Zezhong Wang, Fangkai Yang, Lu Wang, Pu Zhao, Hongru Wang, Liang Chen, Qingwei Lin, Kam-Fai Wong
2023 A* conf
EMNLP
Jiangnan Li, Yice Zhang, Bin Liang, Kam-Fai Wong, Ruifeng Xu
2023 conf
EACL (Findings)
Lingzhi Wang, Mrinmaya Sachan, Xingshan Zeng, Kam-Fai Wong
2023 J jnl
CoRR
Lingzhi Wang, Mrinmaya Sachan, Xingshan Zeng, Kam-Fai Wong
2023 J jnl
CoRR
Hongru Wang, Huimin Wang, Lingzhi Wang, Minda Hu, Rui Wang, Boyang Xue, Hongyuan Lu, Fei Mi, Kam-Fai Wong
2023 conf
ACL (Findings)
Liang Chen, Hongru Wang, Yang Deng, Wai-Chung Kwan, Zezhong Wang, Kam-Fai Wong
2023 J jnl
CoRR
Liang Chen, Hongru Wang, Yang Deng, Wai-Chung Kwan, Zezhong Wang, Kam-Fai Wong
2023 conf
ACL (2)
Zhiming Mao, Huimin Wang, Yiming Du, Kam-Fai Wong
2023 J jnl
CoRR
Zhiming Mao, Huimin Wang, Yiming Du, Kam-Fai Wong
2023 J jnl
CoRR
Liang Chen, Yatao Bian, Yang Deng, Shuaiyi Li, Bingzhe Wu, Peilin Zhao, Kam-Fai Wong
2022 conf
EMNLP (Findings)
Wenbo Shang, Jiangjiang Zhao, Zezhong Wang, Binyang Li, Fangchun Yang, Kam-Fai Wong
2022 J jnl
CoRR
Wai-Chung Kwan, Hongru Wang, Huimin Wang, Kam-Fai Wong
2022 conf
EMNLP (Findings)
Zhiming Mao, Jian Li, Hongru Wang, Xingshan Zeng, Kam-Fai Wong
2022 J jnl
CoRR
Zhiming Mao, Jian Li, Hongru Wang, Xingshan Zeng, Kam-Fai Wong
2022 J jnl
CoRR
Lingzhi Wang, Shafiq R. Joty, Wei Gao, Xingshan Zeng, Kam-Fai Wong
2022 Misc conf
ICASSP
Hongru Wang, Huimin Wang, Zezhong Wang, Kam-Fai Wong
2022 conf
EMNLP (Findings)
Lingzhi Wang, Xingshan Zeng, Kam-Fai Wong
2022 J jnl
ACM Trans. Inf. Syst.
Xingshan Zeng, Jing Li, Lingzhi Wang, Kam-Fai Wong
2022 conf
ICNLSP
Zezhong Wang, Hongru Wang, Wai-Chung Kwan, Kam-Fai Wong
2022 conf
AACL/IJCNLP (1)
Lingzhi Wang, Huang Hu, Lei Sha, Can Xu, Daxin Jiang, Kam-Fai Wong
2022 A* conf
WWW
Lingzhi Wang, Jing Li, Xingshan Zeng, Kam-Fai Wong
2022 conf
ICNLSP
Hongru Wang, Mingyu Cui, Zimo Zhou, Kam-Fai Wong
2021 conf
EMNLP (1)
Huimin Wang, Kam-Fai Wong
2021 J jnl
CoRR
Lingzhi Wang, Jing Li, Xingshan Zeng, Haisong Zhang, Kam-Fai Wong
2021 conf
NAACL-HLT
Dingmin Wang, Chenghua Lin, Qi Liu, Kam-Fai Wong
2021 J jnl
CoRR
Lingzhi Wang, Huang Hu, Lei Sha, Can Xu, Kam-Fai Wong, Daxin Jiang
2021 J jnl
CoRR
Hongru Wang, Zhijing Jin, Jiarun Cao, Gabriel Pui Cheong Fung, Kam-Fai Wong
2021 J jnl
CoRR
Hongru Wang, Huimin Wang, Zezhong Wang, Kam-Fai Wong
2021 J jnl
CoRR
Hongru Wang, Zezhong Wang, Gabriel Pui Cheong Fung, Kam-Fai Wong
2021 conf
EMNLP (Findings)
Zhiming Mao, Xingshan Zeng, Kam-Fai Wong
2021 J jnl
CoRR
Zhiming Mao, Xingshan Zeng, Kam-Fai Wong
2021 J jnl
CoRR
Zezhong Wang, Hongru Wang, Wai-Chung Kwan, Jia Zhu, Gabriel Pui Cheong Fung, Kam-Fai Wong
2021 conf
ACL/IJCNLP (2)
Lingzhi Wang, Xingshan Zeng, Kam-Fai Wong
2021 J jnl
CoRR
Lingzhi Wang, Xingshan Zeng, Kam-Fai Wong
2021 conf
EMNLP (Findings)
Lingzhi Wang, Xingshan Zeng, Huang Hu, Kam-Fai Wong, Daxin Jiang
2021 J jnl
CoRR
Lingzhi Wang, Xingshan Zeng, Huang Hu, Kam-Fai Wong, Daxin Jiang
2021 J jnl
CoRR
Lingzhi Wang, Jing Li, Xingshan Zeng, Kam-Fai Wong
2021 J jnl
CoRR
Hongru Wang, Mingyu Cui, Zimo Zhou, Gabriel Pui Cheong Fung, Kam-Fai Wong
2020 J jnl
ACM Trans. Intell. Syst. Technol.
Jing Ma, Wei Gao, Shafiq R. Joty, Kam-Fai Wong
2020 conf
SemEval@COLING
Hongru Wang, Xiangru Tang, Sunny Lai, Kwong-Sak Leung, Jia Zhu, Gabriel Pui Cheong Fung, Kam-Fai Wong
2020 conf
EMNLP (1)
Lingzhi Wang, Jing Li, Xingshan Zeng, Haisong Zhang, Kam-Fai Wong
2020 J jnl
CoRR
Dingmin Wang, Chenghua Lin, Li Zhong, Kam-Fai Wong
2020 A* conf
ACL
Xingshan Zeng, Jing Li, Lu Wang, Zhiming Mao, Kam-Fai Wong
2020 J jnl
CoRR
Hongru Wang, Min Li, Zimo Zhou, Gabriel Pui Cheong Fung, Kam-Fai Wong
2020 A* conf
ACL
Huimin Wang, Baolin Peng, Kam-Fai Wong
2020 ed.
AACL/IJCNLP
Kam-Fai Wong, Kevin Knight, Hua Wu
2019 A* conf
ICDE
Tengjiao Wang, Binyang Li, Wei Chen, Yuxiao Zhang, Ying Han, Jinzhong Niu, Kam-Fai Wong
2019 J jnl
Int. J. Softw. Eng. Knowl. Eng.
Ho Chung Wu, Robert W. P. Luk, Kam-Fai Wong, Jian-Yun Nie
2019 A* conf
IJCAI
Qianlong Liu, Baoliang Cui, Zhongyu Wei, Baolin Peng, Haikuan Huang, Hongbo Deng, Jianye Hao, Xuanjing Huang, Kam-Fai Wong
2019 conf
EMNLP/IJCNLP (1)
Ming Liao, Jing Li, Haisong Zhang, Lingzhi Wang, Xixin Wu, Kam-Fai Wong
2019 A* conf
WWW
Jing Ma, Wei Gao, Kam-Fai Wong
2019 conf
ACL (1)
Xingshan Zeng, Jing Li, Lu Wang, Kam-Fai Wong
2019 J jnl
CoRR
Xingshan Zeng, Jing Li, Lu Wang, Kam-Fai Wong
2019 conf
EMNLP/IJCNLP (1)
Xingshan Zeng, Jing Li, Lu Wang, Kam-Fai Wong
2019 conf
NLPCC (2)
Xiang Lin, Xiangwen Liao, Tong Xu, Wenjing Pian, Kam-Fai Wong
2019 conf
ACL (1)
Jing Ma, Wei Gao, Shafiq R. Joty, Kam-Fai Wong
2018 J jnl
Comput. Linguistics
Jing Li, Yan Song, Zhongyu Wei, Kam-Fai Wong
2018 J jnl
CoRR
Jing Li, Yan Song, Zhongyu Wei, Kam-Fai Wong
2018 A* conf
AAAI
Dingmin Wang, Gabriel Pui Cheong Fung, Maxime Debosschere, Shichao Dong, Jia Zhu, Kam-Fai Wong
2018 Misc conf
ICASSP
Baolin Peng, Xiujun Li, Jianfeng Gao, Jingjing Liu, Yun-Nung Chen, Kam-Fai Wong
2018 A* conf
SIGIR
Chuang Fan, Qinghong Gao, Jiachen Du, Lin Gui, Ruifeng Xu, Kam-Fai Wong
2018 conf
ACL (1)
Baolin Peng, Xiujun Li, Jianfeng Gao, Jingjing Liu, Kam-Fai Wong
2018 conf
WWW (Companion Volume)
Jing Ma, Wei Gao, Kam-Fai Wong
2018 J jnl
CoRR
Baolin Peng, Xiujun Li, Jianfeng Gao, Jingjing Liu, Kam-Fai Wong
2018 conf
NAACL-HLT
Xingshan Zeng, Jing Li, Lu Wang, Nicholas Beauchamp, Sarah Shugars, Kam-Fai Wong
2018 J jnl
Comput. Ind. Eng.
Jaydeep Balakrishnan, Chun Hung Cheng, Kam-Fai Wong, Kwan-Ho Woo
2018 conf
ACL (1)
Jing Ma, Wei Gao, Kam-Fai Wong
2018 conf
ACL (2)
Zhongyu Wei, Qianlong Liu, Baolin Peng, Huaixiao Tou, Ting Chen, Xuanjing Huang, Kam-Fai Wong, Xiangying Dai
2018 B conf
LREC
Binyang Li, Jun Xiang, Le Chen, Xu Han, Xiaoyan Yu, Ruifeng Xu, Tengjiao Wang, Kam-Fai Wong
2017 conf
NLPCC
Xiangwen Liao, Lingying Zhang, Lin Gui, Kam-Fai Wong, Guolong Chen
2017 J jnl
CoRR
Baolin Peng, Xiujun Li, Jianfeng Gao, Jingjing Liu, Yun-Nung Chen, Kam-Fai Wong
2017 A* conf
EMNLP
Baolin Peng, Xiujun Li, Lihong Li, Jianfeng Gao, Asli Celikyilmaz, Sungjin Lee, Kam-Fai Wong
2017 J jnl
CoRR
Baolin Peng, Xiujun Li, Lihong Li, Jianfeng Gao, Asli Celikyilmaz, Sungjin Lee, Kam-Fai Wong
2017 conf
ACL (1)
Jing Ma, Wei Gao, Kam-Fai Wong
2017 conf
IJCNLP (Shared Tasks)
Liang-Chih Yu, Lung-Hao Lee, Jin Wang, Kam-Fai Wong
2017 conf
EACL (1)
Baolin Peng, Michael L. Seltzer, Y. C. Ju, Geoffrey Zweig, Kam-Fai Wong
2017 conf
NLP-TEA@IJCNLP
Gabriel Pui Cheong Fung, Maxime Debosschere, Dingmin Wang, Bo Li, Jia Zhu, Kam-Fai Wong
2017 conf
NTCIR
Qinghong Gao, Jiannan Hu, Ruifeng Xu, Lin Gui, Yulan He, Kam-Fai Wong, Qin Lu
2017 A* conf
IJCAI
Kaisong Song, Wei Gao, Shi Feng, Daling Wang, Kam-Fai Wong, Chengqi Zhang
2016 conf
COLING (Demos)
Shichao Dong, Gabriel Pui Cheong Fung, Binyang Li, Baolin Peng, Ming Liao, Jia Zhu, Kam-Fai Wong
2016 J jnl
CoRR
Kaisheng Yao, Baolin Peng, Geoffrey Zweig, Kam-Fai Wong
2016 A* conf
IJCAI
Jing Ma, Wei Gao, Prasenjit Mitra, Sejeong Kwon, Bernard J. Jansen, Kam-Fai Wong, Meeyoung Cha
2016 J jnl
CAAI Trans. Intell. Technol.
Xu Han, Binyang Li, Kam-Fai Wong, Zhongzhi Shi
2016 conf
IALP
Liang-Chih Yu, Lung-Hao Lee, Kam-Fai Wong
2016 ed.
ALR@COLING
Kôiti Hasida, Kam-Fai Wong, Nicoletta Calzorari, Key-Sun Choi
2016 conf
ACL (1)
Jing Li, Ming Liao, Wei Gao, Yulan He, Kam-Fai Wong
2015 conf
CICLing (2)
Ruifeng Xu, Zhaoyu Wang, Jun Xu, Junwen Chen, Qin Lu, Kam-Fai Wong
2015 J jnl
World Wide Web
Ruifeng Xu, Lin Gui, Jun Xu, Qin Lu, Kam-Fai Wong
2015 A conf
CIKM
Jing Ma, Wei Gao, Zhongyu Wei, Yueming Lu, Kam-Fai Wong
2015 conf
NLPCC
Jing Li, Zhongyu Wei, Hao Wei, Kangfei Zhao, Junwen Chen, Kam-Fai Wong
2015 A* conf
IJCAI
Kaisong Song, Shi Feng, Wei Gao, Daling Wang, Ge Yu, Kam-Fai Wong
2015 conf
NLPCC
Baolin Peng, Kaisheng Yao, Jing Li, Kam-Fai Wong
2015 conf
WAIM
Jia Zhu, Gabriel Pui Cheong Fung, Kam-Fai Wong, Binyang Li, Zhixu Li, Haoye Dong
2015 J jnl
CoRR
Baolin Peng, Zhengdong Lu, Hang Li, Kam-Fai Wong
2015 conf
CICLing (2)
Baolin Peng, Jing Li, Junwen Chen, Xu Han, Ruifeng Xu, Kam-Fai Wong
2015 conf
SemEval@NAACL-HLT
Xu Han, Binyang Li, Jing Ma, Yuxiao Zhang, Gaoyan Ou, Tengjiao Wang, Kam-Fai Wong
2015 A* conf
EMNLP
Jing Li, Wei Gao, Zhongyu Wei, Baolin Peng, Kam-Fai Wong
2014 conf
DASFAA (1)
Gaoyan Ou, Wei Chen, Binyang Li, Tengjiao Wang, Dongqing Yang, Kam-Fai Wong
2014 A* conf
EMNLP
Gaoyan Ou, Wei Chen, Tengjiao Wang, Zhongyu Wei, Binyang Li, Dongqing Yang, Kam-Fai Wong
2014 conf
SoMeRA@SIGIR
Zhongyu Wei, Wei Gao, Tarek El-Ganainy, Walid Magdy, Kam-Fai Wong
2014 B conf
LREC
Lanjun Zhou, Binyang Li, Zhongyu Wei, Kam-Fai Wong
2014 conf
ACL (System Demonstrations)
Binyang Li, Lanjun Zhou, Zhongyu Wei, Kam-Fai Wong, Ruifeng Xu, Yunqing Xia
2013 conf
NLPCC
Lin Gui, Ruifeng Xu, Jun Xu, Li Yuan, Yuanlin Yao, Jiyun Zhou, Qiaoyun Qiu, Shuwei Wang, Kam-Fai Wong, Ricky Cheung
2013 J jnl
Int. J. Comput. Linguistics Appl.
Zhongyu Wei, Yulan He, Simon Buckingham Shum, Rebecca Ferguson, Wei Gao, Kam-Fai Wong
2013 J jnl
Inf. Process. Manag.
Pei Yang, Wei Gao, Qi Tan, Kam-Fai Wong
2013 conf
ACL (2)
Zhongyu Wei, Junwen Chen, Wei Gao, Binyang Li, Lanjun Zhou, Yulan He, Kam-Fai Wong
2013 conf
CICLing (2)
Jun Xu, Ruifeng Xu, Yanzhen Zheng, Qin Lu, Kam-Fai Wong, Xiaolong Wang
2013 J jnl
CoRR
Duyu Tang, Bing Qin, Lanjun Zhou, Kam-Fai Wong, Yanyan Zhao, Ting Liu
2013 J jnl
ACM Trans. Intell. Syst. Technol.
Yulan He, Chenghua Lin, Wei Gao, Kam-Fai Wong
2013 A* conf
EMNLP
Shi Feng, Le Zhang, Binyang Li, Daling Wang, Ge Yu, Kam-Fai Wong
2013 conf
HT
Zhongyu Wei, Yulan He, Wei Gao, Binyang Li, Lanjun Zhou, Kam-Fai Wong
2013 conf
CCL
Binyang Li, Kam-Fai Wong, Lanjun Zhou, Zhongyu Wei, Jun Xu
2013 J jnl
CoRR
Benson Hin Kwong Ng, Kam-Fai Wong, Boon Toh Low
2012 J jnl
Inf. Process. Manag.
Ho Chung Wu, Robert W. P. Luk, Kam-Fai Wong, Jian-Yun Nie
2012 conf
COLING (Posters)
Lanjun Zhou, Wei Gao, Binyang Li, Zhongyu Wei, Kam-Fai Wong
2012 conf
ACL (2)
Pei Yang, Wei Gao, Qi Tan, Kam-Fai Wong
2012 conf
TREC
Wei Gao, Zhongyu Wei, Kam-Fai Wong
2012 B conf
LREC
Yulan He, Hassan Saif, Zhongyu Wei, Kam-Fai Wong
2012 A conf
ICWSM
Yulan He, Chenghua Lin, Wei Gao, Kam-Fai Wong
2012 J jnl
MIS Q.
Raymond Shaoyi Lau, Stephen S. Y. Liao, Kam-Fai Wong, Dickson K. W. Chiu
2011 conf
AIRS
Binyang Li, Lanjun Zhou, Wei Gao, Kam-Fai Wong, Zhongyu Wei
2011 J jnl
Int. J. Comput. Process. Orient. Lang.
Binyang Li, Kam-Fai Wong, Lanjun Zhou, Shi Feng
2011 J jnl
Int. Trans. Oper. Res.
Chun Hung Cheng, Kam-Fai Wong, Kwan-Ho Woo
2011 conf
TREC
Zhongyu Wei, Wei Gao, Lanjun Zhou, Binyang Li, Kam-Fai Wong
2011 J jnl
Knowl. Inf. Syst.
Shi Feng, Daling Wang, Ge Yu, Wei Gao, Kam-Fai Wong
2011 conf
ICEBE
Raymond Y. K. Lau, Wenping Zhang, Peter D. Bruza, Kam-Fai Wong
2011 A* conf
SIGIR
Dehong Gao, Renxian Zhang, Wenjie Li, Raymond Yiu-Keung Lau, Kam-Fai Wong
2011 A conf
CIKM
Raymond Yiu-Keung Lau, Chun Lam Lai, Peter Bruza, Kam-Fai Wong
2011 A* conf
ACL
Peng Cai, Wei Gao, Aoying Zhou, Kam-Fai Wong
2011 A* conf
SIGIR
Peng Cai, Wei Gao, Aoying Zhou, Kam-Fai Wong
2011 A* conf
EMNLP
Lanjun Zhou, Binyang Li, Wei Gao, Zhongyu Wei, Kam-Fai Wong
2011 A conf
ECIR
Peng Cai, Wei Gao, Kam-Fai Wong, Aoying Zhou
2010 conf
AIRS
Shi Feng, Daling Wang, Ge Yu, Binyang Li, Kam-Fai Wong
2010 A* conf
ACL
Binyang Li, Lanjun Zhou, Shi Feng, Kam-Fai Wong
2010 Misc conf
ICMLC
Binyang Li, Lan-Jim Zhou, Shi Feng, Kam-Fai Wong
2010 J jnl
ACM Trans. Inf. Syst.
Wei Gao, Cheng Niu, Jian-Yun Nie, Ming Zhou, Kam-Fai Wong, Hsiao-Wuen Hon
2010 A* conf
SIGIR
Wei Gao, Peng Cai, Kam-Fai Wong, Aoying Zhou
2010 conf
DASFAA (1)
Shi Feng, Daling Wang, Ge Yu, Binyang Li, Kam-Fai Wong
2010 conf
NTCIR
Lanjun Zhou, Yunqing Xia, Binyang Li, Kam-Fai Wong
2009 J jnl
Int. J. Comput. Process. Orient. Lang.
Ruifeng Xu, Qin Lu, Kam-Fai Wong, Wenjie Li
2009 J jnl
ACM Trans. Inf. Syst.
Edward Kai Fung Dang, Ho Chung Wu, Robert Wing Pong Luk, Kam-Fai Wong
2009 conf
ACL/IJCNLP
Wei Gao, John Blitzer, Ming Zhou, Kam-Fai Wong
2009 book
Kam-Fai Wong, Wenjie Li, Ruifeng Xu, Zheng-sheng Zhang
2009 A conf
ECIR
Wei Gao, Cheng Niu, Ming Zhou, Kam-Fai Wong
2009 conf
AIRS
Yunqing Xia, Boyi Hao, Kam-Fai Wong
2008 conf
NTCIR
Ruifeng Xu, Kam-Fai Wong, Yunqing Xia
2008 conf
TREC
Ho Chung Wu, Edward K. F. Dang, Robert Wing Pong Luk, G. Ngai, Yinghao Li, James Allan, Kui-Lam Kwok, Kam-Fai Wong
2008 B conf
COLING
Kam-Fai Wong, Mingli Wu, Wenjie Li
2008 J jnl
J. Res. Pract. Inf. Technol.
Nan Tang, Jeffrey Xu Yu, Kam-Fai Wong, Jianxin Li
2008 A* conf
ICDE
Nan Tang, Jeffrey Xu Yu, M. Tamer Özsu, Kam-Fai Wong
2008 ed.
AIRS
Hang Li, Ting Liu, Wei-Ying Ma, Tetsuya Sakai, Kam-Fai Wong, Guodong Zhou
2008 J jnl
ACM Trans. Inf. Syst.
Ho Chung Wu, Robert Wing Pong Luk, Kam-Fai Wong, Kui-Lam Kwok
2008 conf
Web Intelligence
Ruifeng Xu, Kam-Fai Wong, Qin Lu, Yunqing Xia, Wenjie Li
2008 conf
ICIC (1)
Ruifeng Xu, Kam-Fai Wong, Qin Lu, Yunqing Xia
2008 conf
ACL (2)
Yunqing Xia, Linlin Wang, Kam-Fai Wong, Mingxing Xu
2008 A* conf
ICDE
Nan Tang, Jeffrey Xu Yu, M. Tamer Özsu, Byron Choi, Kam-Fai Wong
2008 J jnl
Lang. Resour. Evaluation
Kam-Fai Wong, Yunqing Xia
2008 B conf
LREC
Ruifeng Xu, Yunqing Xia, Kam-Fai Wong, Wenjie Li
2008 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Yunqing Xia, Ruifeng Xu, Mingli Wu, Wenjie Li
2008 J jnl
Int. J. Comput. Process. Orient. Lang.
Yunqing Xia, Linlin Wang, Kam-Fai Wong
2008 J jnl
SIGIR Forum
Hang Li, Wei-Ying Ma, Jian-Yun Nie, Kam-Fai Wong
2007 J jnl
Inf. Process. Manag.
Ho Chung Wu, Robert W. P. Luk, Kam-Fai Wong, K. L. Kwok
2007 J jnl
Decis. Support Syst.
Dawei Song, Raymond Y. K. Lau, Peter D. Bruza, Kam-Fai Wong, Ding-Yi Chen
2007 conf
LAW@ACL
Ruifeng Xu, Qin Lu, Kam-Fai Wong, Wenjie Li
2007 A* conf
SIGIR
Wei Gao, Cheng Niu, Jian-Yun Nie, Ming Zhou, Jian Hu, Kam-Fai Wong, Hsiao-Wuen Hon
2007 C conf
CICLing
Mingli Wu, Wenjie Li, Qin Lu, Kam-Fai Wong
2007 conf
NTCIR
Ruifeng Xu, Kam-Fai Wong, Yunqing Xia
2007 A* conf
SIGIR
Ho Chung Wu, Robert W. P. Luk, Kam-Fai Wong
2006 A* conf
ACL
Yunqing Xia, Kam-Fai Wong, Wenjie Li
2006 J jnl
ACM Trans. Asian Lang. Inf. Process.
Tze Leung Chung, Robert Wing Pong Luk, Kam-Fai Wong, Kui-Lam Kwok, Dik Lun Lee
2006 conf
ICCPOL
Ruifeng Xu, Kam-Fai Wong, Qin Lu, Wenjie Li
2006 C conf
NLDB
D. Y. Wang, Robert Wing Pong Luk, Kam-Fai Wong, K. L. Kwok
2006 J jnl
World Wide Web
Kam-Fai Wong, Jeffrey Xu Yu, Nan Tang
2006 conf
ICCPOL
Yunqing Xia, Kam-Fai Wong
2006 conf
ICCPOL
Wei Xu, Chunfa Yuan, Wenjie Li, Mingli Wu, Kam-Fai Wong
2006 conf
ICCPOL
Wei Gao, Kam-Fai Wong, Yunqing Xia, Ruifeng Xu
2006 ed.
ICCPOL
Yuji Matsumoto, Richard Sproat, Kam-Fai Wong, Min Zhang
2006 B conf
LREC
Yunqing Xia, Kam-Fai Wong, Wenjie Li
2006 J jnl
Int. J. Comput. Process. Orient. Lang.
Wei Gao, Kam-Fai Wong
2006 B conf
DASFAA
Nan Tang, Jeffrey Xu Yu, Kam-Fai Wong, Haifeng Jiang
2006 J jnl
Int. J. Comput. Process. Orient. Lang.
Wenjie Li, Mingli Wu, Qin Lu, Kam-Fai Wong
2006 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Yunqing Xia, Wenjie Li
2006 conf
AIRS
Wei Gao, Kam-Fai Wong
2006 A conf
CIKM
Ho Chung Wu, Robert Wing Pong Luk, Kam-Fai Wong, K. L. Kwok
2005 ch.
The Language of Time - A Reader
Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2005 B conf
IJCNLP
Wei Li, Wenjie Li, Qin Lu, Kam-Fai Wong
2005 conf
NTCIR
Yunqing Xia, Kam-Fai Wong, Robert W. P. Luk
2005 A* conf
SIGIR
Ho Chung Wu, Robert W. P. Luk, Kam-Fai Wong, Kui-Lam Kwok, W. J. Li
2005 C conf
DEXA
Nan Tang, Jeffrey Xu Yu, Kam-Fai Wong, Kevin Lü, Jianxin Li
2005 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Yunqing Xia, Wenjie Li, Chunfa Yuan
2005 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong
2005 Misc conf
IKE
Kam-Fai Wong, Louise Guthrie, Wei Liu, Yunqing Xia
2005 conf
AIRS
Wei Li, Kam-Fai Wong, Chunfa Yuan, Wenjie Li, Yunqing Xia
2005 ed.
AIRS
Sung-Hyon Myaeng, Ming Zhou, Kam-Fai Wong, HongJiang Zhang
2005 conf
TREC
W. S. Wong, Ho Chung Wu, Robert Wing Pong Luk, Hong Va Leong, Kam-Fai Wong, Kui-Lam Kwok
2005 conf
SIGHAN@IJCNLP 2005
Yunqing Xia, Kam-Fai Wong, Wei Gao
2005 B ed.
IJCNLP
Robert Dale, Kam-Fai Wong, Jian Su, Oi Yee Kwong
2005 conf
NTCIR
Yun Xiao, Robert W. P. Luk, Kam-Fai Wong, Kui-Lam Kwok
2005 J jnl
J. Chin. Lang. Comput.
Yun Xiao, Robert W. P. Luk, Kam-Fai Wong, K. L. Kwok
2005 conf
ICPADS (1)
Nan Tang, Guoren Wang, Jeffrey Xu Yu, Kam-Fai Wong, Ge Yu
2004 A* conf
ACL
Wenjie Li, Kam-Fai Wong, Guihong Cao, Chunfa Yuan
2004 B conf
COLING
Guihong Cao, Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2004 conf
AIRS
Wei Gao, Kam-Fai Wong, Wai Lam
2004 B conf
IJCNLP
Paulo Cheong, Dawei Song, Peter Bruza, Kam-Fai Wong
2004 B conf
IJCNLP
Wei Gao, Kam-Fai Wong, Wai Lam
2004 conf
NTCIR
Robert W. P. Luk, Kam-Fai Wong
2004 conf
TREC
D. Y. Wang, Robert Wing Pong Luk, Kam-Fai Wong
2003 J jnl
Int. J. Comput. Process. Orient. Lang.
Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2003 J jnl
Comput. Oper. Res.
Jaydeep Balakrishnan, Chun Hung Cheng, Kam-Fai Wong
2003 conf
IRAL
Kam-Fai Wong, Nam-Kiu Chan, Kam-Lai Wong
2003 J jnl
Inf. Manag.
Tao Guan, Kam-Fai Wong
2003 J jnl
Comput. Intell.
Wenjie Li, Kam-Fai Wong
2002 J jnl
ACM Trans. Asian Lang. Inf. Process.
Honglan Jin, Kam-Fai Wong
2002 J jnl
IEEE Trans. Syst. Man Cybern. Part C
Chun Hung Cheng, Wing-Kin Lee, Kam-Fai Wong
2002 J jnl
ACM Trans. Asian Lang. Inf. Process.
Wenjie Li, Kam-Fai Wong
2002 conf
SIGHAN@COLING
Li Li, Chunfa Yuan, Kam-Fai Wong, Wenjie Li
2002 J jnl
Int. J. Softw. Eng. Knowl. Eng.
Xia Cai, Michael R. Lyu, Kam-Fai Wong
2002 J jnl
ACM Trans. Asian Lang. Inf. Process.
Kam-Fai Wong, Jun'ichi Tsujii
2002 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Wenjie Li, Chunfa Yuan, Xiaodan Zhu
2001 conf
Web Intelligence
Kam-Fai Wong, Yat Fan Su, Dongqing Yang, Shiwei Tang
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Boon Toh Low, Yongjie Ren
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Chunfa Yuan, Gang Chen, Kam-Fai Wong, Wenjie Li
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Kam-Fai Wong, Timothy Kun-Chung Chan, Chun Hung Cheng
2001 conf
NLPRS
Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2001 J jnl
ACM Trans. Inf. Syst.
Kam-Fai Wong, Dawei Song, Peter Bruza, Chun Hung Cheng
2001 J jnl
J. Assoc. Inf. Sci. Technol.
Wai Lam, Kam-Fai Wong, Chi-Yin Wong
2001 B conf
DASFAA
Yat Fan Su, Kam-Fai Wong
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Xiaofeng Meng, Kam-Fai Wong
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Ken C. W. Chow, Robert W. P. Luk, Kam-Fai Wong, Kui-Lam Kwok
2001 conf
NTCIR
Robert W. P. Luk, Kam-Fai Wong, K. L. Kwok
2001 J jnl
Commun. ACM
Kam-Fai Wong
2001 J jnl
Int. J. Comput. Process. Orient. Lang.
Xiaofeng Meng, Shan Wang, Kam-Fai Wong
2001 J jnl
J. Assoc. Inf. Sci. Technol.
Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2000 J jnl
J. Am. Soc. Inf. Sci.
Peter Bruza, Dawei Song, Kam-Fai Wong
2000 B conf
EDBT
Qiu Yue Wang, Jeffrey Xu Yu, Kam-Fai Wong
2000 B conf
ICTAI
Raymond Lau, Arthur H. M. ter Hofstede, Peter Bruza, Kam-Fai Wong
2000 C conf
APSEC
Xia Cai, Michael R. Lyu, Kam-Fai Wong, Roy Ko
2000 Misc conf
FLAIRS
Dawei Song, Kam-Fai Wong, Peter Bruza, Chun Hung Cheng
2000 conf
IRAL
Ken C. W. Chow, Robert W. P. Luk, Kam-Fai Wong, K. L. Kwok
2000 J jnl
Int. J. Comput. Process. Orient. Lang.
Wenjie Li, Kam-Fai Wong, Chunfa Yuan
2000 ed.
IRAL
Kam-Fai Wong, Dik Lun Lee, Jong-Hyeok Lee
2000 J jnl
Inf. Manag.
Kam-Fai Wong, Chun Hung Cheng, Jaideep Motwani
2000 conf
TREC
Honglan Jin, Kam-Fai Wong
2000 conf
IRAL
C. K. P. Wong, Robert Wing Pong Luk, Kam-Fai Wong, K. L. Kwok
1999 J jnl
J. Am. Soc. Inf. Sci.
Kwok-Shing Cheng, Gilbert H. Young, Kam-Fai Wong
1999 conf
ICSC
Yongjie Ren, Kam-Fai Wong, Boon Toh Low
1999 A* conf
SIGIR
Peter Bruza, Dawei Song, Kam-Fai Wong
1999 J jnl
Comput. Networks
Tao Guan, Kam-Fai Wong
1999 J jnl
Distributed Parallel Databases
Boris Y. L. Chan, Hong Va Leong, Antonio Si, Kam-Fai Wong
1999 Misc conf
FLAIRS
Dawei Song, Kam-Fai Wong, Peter Bruza, Chun Hung Cheng
1998 J jnl
Softw. Pract. Exp.
Kam-Fai Wong, Vincent Y. Lum, Wai-Ip Lam
1998 J jnl
Knowl. Based Syst.
M. Howard Williams, Kam-Fai Wong
1998 J jnl
Simul. Pract. Theory
Kam-Fai Wong
1998 A conf
UAI
Benson Hin Kwong Ng, Kam-Fai Wong, Boon Toh Low
1998 J jnl
J. Comput. Sci. Technol.
Xiaofeng Meng, Kam-Fai Wong, Suen Man Yip, Vincent Y. Lum, Shan Wang
1995 conf
ROCLING (1)
Wenjie Li, Haihua Pan, Ming Zhou, Kam-Fai Wong, Vincent Y. Lum
1995 B conf
DASFAA
Gary C. K. Lam, Vincent Y. Lum, Kam-Fai Wong
1995 A conf
ICDCS
Kam-Fai Wong
1994 B conf
COMPSAC
Kam-Fai Wong, Vincent Y. Lum
1994 Misc conf
SAC
Kam-Fai Wong, Benoît Dageville
1993 J jnl
J. Syst. Softw.
Kam-Fai Wong
1993 conf
PARLE
Kam-Fai Wong, M. Howard Williams, S. Leunig, Martin L. Kersten, M. Jean-Noel, Béatrice Finance, Benoît Dageville, Michel Couprie, Phil Broughton, Didier Boudigue, Björn Bergsten, Frédéric Andrès
1992 conf
PARLE
Colin J. Skelton, Carsten Hammer, M. Lopez, Mike Reeve, Paul Townsend, Kam-Fai Wong
1991 B conf
DASFAA
Kam-Fai Wong, M. Howard Williams
1990 conf
SIGSMALL/PC Symposium
Kam-Fai Wong, M. Howard Williams
1989 A* conf
ISCA
Kam-Fai Wong, M. Howard Williams
1989 J jnl
Inf. Process. Lett.
Kam-Fai Wong
1988 conf
JCDKB
Kam-Fai Wong, M. Howard Williams
1988 conf
SIGSMALL/PC
Kam-Fai Wong, M. Howard Williams
1988 J jnl
Knowl. Based Syst.
M. Howard Williams, G. Chen, D. Ferbrache, P. A. Massey, S. Salvini, Hamish Taylor, Kam-Fai Wong
1987
Kam-Fai Wong
redb/extractors/decompiler/_archive/DecompileBinja-archive.py
← Index redb/extractors/decompiler/_archive/DecompileBinja-archive.py python
import hashlib
import inspect
import json
import os
import time
import threading
from datetime import datetime, timezone
from typing import Dict, Any, Optional

from redb.extractors.enum import Tag
from redb.extractors.extractor import Extractor
import magic
import pefile
import ppdeep
import tlsh

# Import our BinjaDecompiler (conditional)
from redb.extractors.decompiler.bninja.decompiler import BinaryNinjaDecompiler

class DecompileBinja(Extractor):
    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        filetype=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
        )
        self.log.debug(inspect.currentframe().f_code.co_name)

        # Check if Binary Ninja is available
       # if not BINARYNINJA_AVAILABLE:
        #     self.log.error("Binary Ninja is not available in this container")
        #    raise ImportError(
        #        "Binary Ninja module not found - not available in feature extraction container"
        #    )
        self.analysis_results = None
        self.binja_decompiler = None
        self.filetype = filetype

        # Convert TIMEOUT to integer with a default of 1200 seconds (20 minutes)
        try:
            self.BINJA_TIMEOUT = int(os.getenv("BINJA_TIMEOUT", "1200"))
        except ValueError:
            self.log.warning(
                "Invalid BINJA_TIMEOUT value, using default of 1200 seconds"
            )
            self.BINJA_TIMEOUT = 1200

        # Convert TIMEOUT to integer with a default of 1200 seconds (20 minutes)
        try:
            self.DECOMPILE_EXTRACTOR_TIMEOUT = int(
                os.getenv("DECOMPILE_EXTRACTOR_TIMEOUT", "2580")
            )
        except ValueError:
            self.log.warning(
                "Invalid DECOMPILE_EXTRACTOR_TIMEOUT value, using default of 2580 seconds"
            )
            self.DECOMPILE_EXTRACTOR_TIMEOUT = 2580

    def __enter__(self):
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.cleanup_run()

    def calculate_md5(self, input_str):
        """Calculate MD5 hash of a string."""
        return hashlib.md5(input_str.encode("utf-8")).hexdigest()

    def is_dotnet(self):
        """Check if the binary is a .NET assembly.

        Returns:
            bool: True if the file is a .NET assembly, False otherwise
        """
        try:
            if self.filetype == "pebin":
                file_type = magic.from_buffer(self.binary)
                if ".Net" in file_type:
                    return True
                pe = pefile.PE(self.filepath)
                for entry in pe.OPTIONAL_HEADER.DATA_DIRECTORY:
                    # IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR is typically 14
                    if (
                        entry.name == "IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR"
                        and entry.Size > 0
                    ):
                        return True
                return False
        except AttributeError as e:
            self.log.error(
                f"AttributeError error dotnet file {self.hash.sha256} Full error : {e}"
            )
            return False

    def cleanup_run(self):
        """Clean up after analysis."""
        try:
            # BinaryNinjaDecompiler uses context manager pattern (__enter__/__exit__)
            # Cleanup happens automatically when exiting the 'with' block
            self.binja_decompiler = None

            # Force garbage collection
            import gc

            gc.collect()

        except Exception as e:
            self.log.error(f"Error in cleanup: {e}")

    def analyze_binary(self) -> Optional[Dict[str, Any]]:
        """Run Binary Ninja analysis and return results."""
        self.log.debug("Starting binary analysis")

        try:
            # Use BinaryNinjaDecompiler as a context manager to ensure proper setup/cleanup
            with BinaryNinjaDecompiler(
                filepath=self.filepath,
                timeout=self.BINJA_TIMEOUT,
                log=self.log,
                exporters=self.exporters,
                index_prefix=self.index_prefix,
                filetype=self.filetype,
            ) as decompiler:
                self.binja_decompiler = decompiler

                if decompiler.extract():
                    # Store results before context manager exits
                    results = decompiler.analysis_results
                    return results
                else:
                    self.log.error("BinaryNinjaDecompiler extraction failed")
                    return None

        except Exception as e:
            self.log.error(f"Error in Binary Ninja analysis: {e}")
            import traceback
            self.log.error(f"Traceback: {traceback.format_exc()}")
            return None

        finally:
            self.cleanup_run()

    def extract(self):
        """Extract and process all analysis results."""
        self.log.debug(inspect.currentframe().f_code.co_name)

        # Create a flag to track if extraction completed
        extraction_completed = False
        extraction_result = False
        extraction_error = None

        # Define the extraction process as a separate function
        def do_extraction():
            nonlocal extraction_completed, extraction_result, extraction_error
            try:
                results = self.analyze_binary()
                if not results:
                    extraction_result = False
                else:
                    self.analysis_results = results
                    extraction_result = True
            except Exception as e:
                extraction_error = e
                extraction_result = False
            finally:
                extraction_completed = True

        # Start extraction in a separate thread
        extraction_thread = threading.Thread(target=do_extraction)
        extraction_thread.daemon = True
        extraction_thread.start()

        # Wait for the extraction to complete or timeout
        start_time = time.time()
        while (
            not extraction_completed
            and (time.time() - start_time) < self.DECOMPILE_EXTRACTOR_TIMEOUT
        ):
            time.sleep(1)

        if not extraction_completed:
            self.log.error(
                f"Extraction timed out after {self.DECOMPILE_EXTRACTOR_TIMEOUT} seconds"
            )
            # Force cleanup
            self.cleanup_run()
            return None

        if extraction_error:
            self.log.error(f"Error in extraction: {extraction_error}")
            return None

        # Return the actual analysis results, not just a boolean
        return self.analysis_results if extraction_result else None

    def prepare_export_data(self, exporter_type: str) -> Any:
        """Prepare data for database export."""
        self.log.debug(inspect.currentframe().f_code.co_name)
        if not self.analysis_results:
            return None

        # # Delegate to the BinjaDecompiler for consistent export formatting
        # if self.binja_decompiler:
        #     return self.binja_decompiler.prepare_export_data(exporter_type)
        # else:
        #     self.log.error("BinjaDecompiler not available for export preparation")
        #     return None

        if exporter_type == "ClickHouseExporter":
            now = datetime.now(timezone.utc)

            def prepare_array_field(value, array_type):
                """Helper to prepare array fields with proper null handling"""
                if value is None:
                    return []
                return value

            # Add a helper function to handle empty strings
            def ensure_not_empty(value, default="UNKNOWN"):
                """Ensure a string value is not empty"""
                if value is None or value == "":
                    return default
                return value

            def ssdeep_disassembly(func):
                try:
                    if len(func) > 1:
                        return ppdeep.hash(func)
                    return ""
                except Exception as e:
                    self.log.error(f"Error in disassembly ssdeep hash calculation: {e}")
                    return ""

            def tlsh_disassembly(func):
                try:
                    if len(func) >= 50:
                        return tlsh.hash(func.encode("utf-8"))
                    return ""
                except Exception as e:
                    self.log.error(f"Error in disassembly tlsh hash calculation: {e}")
                    return ""

            return {
                "multi_table": True,
                "decompiled_content": {
                    "table": "code_binja_decompiled_functions_content",
                    "data": [
                        [
                            f["decompiled_function_hash"],
                            f["decompiled_function"],
                            f["function_type"],
                            now,
                        ]
                        for f in self.analysis_results["decompiled"]
                    ],
                    "column_names": [
                        "decompiled_function_hash",
                        "decompiled_function",
                        "function_type",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",
                        "String",
                        "Enum8('USER'=1, 'LIBRARY'=2, 'THUNK'=3, 'EXTERNAL'=4, 'UNKNOWN'=5)",
                        "DateTime64(3, 'UTC')",
                    ],
                },
                "decompiled_refs": {
                    "table": "code_binja_decompiled_functions_references",
                    "data": [
                        [
                            self.analysis_results["sha256"],
                            self.analysis_results["sha1"],
                            self.analysis_results["md5"],
                            f["decompiled_function_hash"],
                            f["disassembled_function_hash"],  # New linking field
                            f["decompiled_function_name"],
                            f["decompiled_function_prototype"],
                            f["decompiled_function_address"],
                            now,
                        ]
                        for f in self.analysis_results["decompiled"]
                    ],
                    "column_names": [
                        "sha256",
                        "sha1",
                        "md5",
                        "decompiled_function_hash",
                        "disassembled_function_hash",  # New linking field
                        "decompiled_function_name",
                        "decompiled_function_prototype",
                        "decompiled_function_address",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",
                        "FixedString(40)",
                        "FixedString(32)",
                        "FixedString(64)",
                        "Nullable(FixedString(64))",  # New linking field
                        "LowCardinality(String)",
                        "LowCardinality(String)",
                        "UInt64",
                        "DateTime64(3, 'UTC')",
                    ],
                },
                "disassembled_content": {
                    "table": "code_binja_disassembled_functions_content",
                    "data": [
                        [
                            f["disassembled_function_hash"],
                            f.get("disassembled_function", ""),
                            f.get("disassembled_function_no_addresses", ""),
                            f.get("function_type", "UNKNOWN"),
                            f.get("instructions_count", 0),
                            prepare_array_field(
                                f.get("instructions_types"), "LowCardinality(String)"
                            ),
                            f.get("control_flow_count", 0),
                            prepare_array_field(
                                f.get("memory_access_pattern"), "LowCardinality(String)"
                            ),
                            prepare_array_field(
                                f.get("register_usage"), "LowCardinality(String)"
                            ),
                            f.get("data_references_count", 0),
                            f.get("max_block_size", 0),
                            f.get("num_calls", 0),
                            f.get("stack_size", 0),
                            now,
                        ]
                        for f in self.analysis_results["disassembled"]
                    ],
                    "column_names": [
                        "disassembled_function_hash",
                        "disassembled_function",
                        "disassembled_function_no_addresses",
                        "function_type",
                        "instructions_count",
                        "instructions_types",
                        "control_flow_count",
                        "memory_access_pattern",
                        "register_usage",
                        "data_references_count",
                        "max_block_size",
                        "num_calls",
                        "stack_size",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",
                        "String",
                        "String",
                        "Enum8('USER'=1, 'LIBRARY'=2, 'THUNK'=3, 'EXTERNAL'=4, 'UNKNOWN'=5)",
                        "UInt32",
                        "Array(LowCardinality(String))",
                        "UInt32",
                        "Array(LowCardinality(String))",
                        "Array(LowCardinality(String))",
                        "UInt32",
                        "Nullable(UInt32)",
                        "Nullable(UInt32)",
                        "Nullable(Int32)",
                        "DateTime64(3, 'UTC')",
                    ],
                },
                "disassembled_refs": {
                    "table": "code_binja_disassembled_functions_references",
                    "data": [
                        [
                            self.analysis_results["sha256"],
                            self.analysis_results["sha1"],
                            self.analysis_results["md5"],
                            f["disassembled_function_hash"],
                            f["decompiled_function_hash"],
                            f["disassembled_function_name"],
                            f["disassembled_function_address"],
                            ssdeep_disassembly(
                                f.get("disassembled_function_no_addresses", "")
                            ),
                            tlsh_disassembly(
                                f.get("disassembled_function_no_addresses", "")
                            ),
                            now,
                        ]
                        for f in self.analysis_results["disassembled"]
                    ],
                    "column_names": [
                        "sha256",
                        "sha1",
                        "md5",
                        "disassembled_function_hash",
                        "decompiled_function_hash",
                        "disassembled_function_name",
                        "disassembled_function_address",
                        "ssdeep_disassembly",
                        "tlsh_disassembly",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",
                        "FixedString(40)",
                        "FixedString(32)",
                        "FixedString(64)",
                        "Nullable(FixedString(64))",
                        "LowCardinality(String)",
                        "UInt64",
                        "Nullable(String)",
                        "Nullable(FixedString(72))",
                        "DateTime64(3, 'UTC')",
                    ],
                },
                "cfg_blocks": {
                    "table": "code_binja_cfg_blocks",
                    "data": [
                        [
                            b["block_id"],
                            self.analysis_results["sha256"],
                            self.analysis_results["sha1"],
                            self.analysis_results["md5"],
                            b["function_address"],
                            b["block_start_address"],
                            b["block_end_address"],
                            b["block_size"],
                            b["instructions_count"],
                            b["block_instructions"],  # MD5 hash of instructions
                            b["predecessor_blocks"],
                            b["successor_blocks"],
                            b["depth"],
                            b["position"],
                            b["branch_type"],
                            b["block_type"],
                            b["flags"],
                            b["dominators"],
                            b["post_dominators"],
                            now,
                        ]
                        # Flatten: iterate through all functions, then all blocks in each function
                        for func_cfg in self.analysis_results["cfg"]
                        if func_cfg is not None  # Handle None from failed extractions
                        for b in func_cfg["blocks"]
                    ],
                    "column_names": [
                        "block_id",
                        "sha256",
                        "sha1",
                        "md5",
                        "function_address",
                        "block_start_address",
                        "block_end_address",
                        "block_size",
                        "instructions_count",
                        "block_instructions_hash",
                        "predecessor_blocks",
                        "successor_blocks",
                        "depth",
                        "position",
                        "branch_type",
                        "block_type",
                        "flags",
                        "dominators",
                        "post_dominators",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",  # block_id (SHA256)
                        "FixedString(64)",  # sha256
                        "FixedString(40)",  # sha1
                        "FixedString(32)",  # md5
                        "UInt64",  # function_address
                        "UInt64",  # block_start_address
                        "UInt64",  # block_end_address
                        "UInt32",  # block_size
                        "UInt16",  # instructions_count
                        "FixedString(32)",  # block_instructions_hash (MD5)
                        "Array(UInt64)",  # predecessor_blocks
                        "Array(UInt64)",  # successor_blocks
                        "UInt16",  # depth
                        "UInt16",  # position
                        "Enum8('DIRECT'=1, 'CONDITIONAL'=2, 'CALL'=3, 'RETURN'=4, 'FALLTHROUGH'=5, 'INDIRECT'=6, 'UNKNOWN'=7)",  # branch_type
                        "Enum8('CODE'=1, 'DATA'=2, 'THUNK'=3)",  # block_type
                        "Array(String)",  # flags (EntryBlock, ExitBlock, LoopBlock)
                        "Array(UInt16)",  # dominators
                        "Array(UInt16)",  # post_dominators
                        "DateTime64(3, 'UTC')",  # analysis_date
                    ],
                },
                "function_analysis_errors": {
                    "table": "function_analysis_errors_binja",
                    "data": [
                        [
                            self.analysis_results["sha256"],
                            f["function_name"],
                            f["function_address"],
                            f.get("error_location", "unknown"),
                            f.get("error_message", ""),
                            f.get("error_details", ""),
                            f.get("error_type", "unknown"),
                            self.calculate_md5(
                                f"{f['error_message']}{f['function_name']}{f['function_address']}{f['error_location']}"
                            ),
                            "new",
                            now,
                        ]
                        for f in self.analysis_results["errors"]
                    ],
                    "column_names": [
                        "sha256",
                        "function_name",
                        "function_address",
                        "error_location",
                        "error_message",
                        "error_details",
                        "error_type",
                        "error_hash",
                        "status",
                        "analysis_date",
                    ],
                    "column_type_names": [
                        "FixedString(64)",
                        "Nullable(String)",
                        "UInt64",
                        "LowCardinality(String)",
                        "Nullable(String)",
                        "Nullable(String)",
                        "Nullable(String)",
                        "FixedString(32)",
                        "Enum8('new'=1, 'investigating'=2, 'fixed'=3, 'wontfix'=4)",
                        "DateTime64(3, 'UTC')",
                    ],
                },
            }

    def tag(self) -> str:
        """Return the tag for this extractor."""
        return Tag.DECOMPILED.value

    def get_clickhouse_table(self) -> str:
        """Not used directly as we're handling multiple tables."""
        pass


if __name__ == "__main__":
    # Setup basic logging
    import logging

    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger("DecompileBinja")

    # Parse command line arguments
    import argparse

    parser = argparse.ArgumentParser(description="Binary Ninja Decompiler Wrapper")
    parser.add_argument("filepath", help="Path to the binary file to analyze")
    parser.add_argument(
        "--output", "-o", help="Output JSON file path (default: stdout)"
    )
    parser.add_argument(
        "--timeout",
        "-t",
        type=int,
        default=1200,
        help="Analysis timeout in seconds (default: 1200)",
    )
    args = parser.parse_args()

    # Create and run the extractor
    with DecompileBinja(args.filepath, logger) as extractor:
        success = extractor.extract()

        if not success:
            logger.error("Analysis failed")
            exit(1)

        # Output results
        if args.output:
            with open(args.output, "w") as f:
                json.dump(extractor.analysis_results, f)
            logger.info(f"Results written to {args.output}")
        else:
            print(json.dumps(extractor.analysis_results))