Rada Mihalcea

542 papers A* 46A 14B 54C 12Misc 17Journal 194Unranked 194
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Angana Borah, Zohaib Khan, Rada Mihalcea, Verónica Pérez-Rosas
2026 J jnl
CoRR
Guangwei Zhang, Jianing Zhu, Cheng Qian, Neil Gong, Rada Mihalcea, Zhaozhuo Xu, Jingrui He, Jiaqi Ma, Yun Huang, Chaowei Xiao, Bowen Li, Ahmed Abbasi, Dongwon Lee, Heng Ji, Denghui Zhang
2026 A* conf
AAAI
Joan Nwatu, Longju Bai, Oana Ignat, Rada Mihalcea
2026 conf
EACL (Volume 1: Long Papers)
David Guzman Piedrahita, Irene Strauss, Rada Mihalcea, Zhijing Jin
2026 conf
EACL (Volume 1: Long Papers)
Antonia Karamolegkou, Angana Borah, Eunjung Cho, Sagnik Ray Choudhury, Martina Galletti, Pranav Gupta, Oana Ignat, Priyanka Kargupta, Neema Kotonya, Hemank Lamba, Sun-Joo Lee, Arushi Mangla, Ishani Mondal, Fatima Zahra Moudakir, Deniz Nazar, Poli Nemkova, Dina Pisarevskaya, Naquee Rizwan, Nazanin Sabri, Keenan Samway, Dominik Stammbach, Anna Steinberg, David Tomás, Steven R. Wilson, Bowen Yi, Jessica H. Zhu, Arkaitz Zubiaga, Anders Søgaard, Alexander Fraser, Zhijing Jin, Rada Mihalcea, Joel R. Tetreault, Daryna Dementieva
2026 conf
EACL (Volume 1: Long Papers)
Angana Borah, Rada Mihalcea, Verónica Pérez-Rosas
2026 J jnl
CoRR
Francesco Ortu, Joeun Yook, Punya Syon Pandey, Keenan Samway, Bernhard Schölkopf, Alberto Cazzaniga, Rada Mihalcea, Zhijing Jin
2026 conf
EACL (Findings)
Keenan Samway, Miu Nicole Takagi, Rada Mihalcea, Bernhard Schölkopf, Ilias Chalkidis, Daniel Hershcovich, Zhijing Jin
2026 J jnl
CoRR
Keenan Samway, Miu Nicole Takagi, Rada Mihalcea, Bernhard Schölkopf, Ilias Chalkidis, Daniel Hershcovich, Zhijing Jin
2025 conf
ACL (2)
Álvaro Vega-Hidalgo, Artem Abzaliev, Thore Bergman, Rada Mihalcea
2025 J jnl
CoRR
Naihao Deng, Rada Mihalcea
2025 J jnl
CoRR
Neemesh Yadav, Francesco Ortu, Jiarui Liu, Joeun Yook, Bernhard Schölkopf, Rada Mihalcea, Alberto Cazzaniga, Zhijing Jin
2025 A* conf
EMNLP
Keenan Samway, Max Kleiman-Weiner, David Guzman Piedrahita, Rada Mihalcea, Bernhard Schölkopf, Zhijing Jin
2025 J jnl
CoRR
Keenan Samway, Max Kleiman-Weiner, David Guzman Piedrahita, Rada Mihalcea, Bernhard Schölkopf, Zhijing Jin
2025 conf
EMNLP (Findings)
Chimaobi Okite, Naihao Deng, Kiran Bodipati, Huaidian Hou, Joyce Chai, Rada Mihalcea
2025 J jnl
CoRR
Chimaobi Okite, Naihao Deng, Kiran Bodipati, Huaidian Hou, Joyce Chai, Rada Mihalcea
2025 conf
NAACL (Findings)
Yuen Chen, Vethavikashini Chithrra Raghuram, Justus Mattern, Rada Mihalcea, Zhijing Jin
2025 conf
ACL (Findings)
Ruiqi He, Yushu He, Longju Bai, Jiarui Liu, Zhenjie Sun, Zenghao Tang, He Wang, Hanchen Xia, Rada Mihalcea, Naihao Deng
2025 conf
ACL (Findings)
Naihao Deng, Kapotaksha Das, Rada Mihalcea, Vitaliy Popov, Mohamed Abouelenien
2025 J jnl
CoRR
Naihao Deng, Kapotaksha Das, Rada Mihalcea, Vitaliy Popov, Mohamed Abouelenien
2025 J jnl
CoRR
Joan Nwatu, Longju Bai, Oana Ignat, Rada Mihalcea
2025 J jnl
CoRR
David Guzman Piedrahita, Irene Strauss, Bernhard Schölkopf, Rada Mihalcea, Zhijing Jin
2025 conf
ACL (Findings)
Siyang Liu, Bianca Brie, Wenda Li, Laura Biester, Andrew Lee, James W. Pennebaker, Rada Mihalcea
2025 J jnl
CoRR
Siyang Liu, Bianca Brie, Wenda Li, Laura Biester, Andrew Lee, James W. Pennebaker, Rada Mihalcea
2025 conf
ACL (Findings)
Pengfei Hong, Navonil Majumder, Deepanway Ghosal, Somak Aditya, Rada Mihalcea, Soujanya Poria
2025 J jnl
CoRR
Sarah Jabbour, Trenton Chang, Anindya Das Antar, Joseph Peper, Insu Jang, Jiachen Liu, Jae-Won Chung, Shiqi He, Michael P. Wellman, Bryan Goodman, Elizabeth Bondi-Kelly, Kevin Samy, Rada Mihalcea, Mosharaf Chowdhury, David Jurgens, Lu Wang
2025 conf
NAACL (Short Papers)
Aylin Gunal, Bowen Yi, John Piette, Rada Mihalcea, Verónica Pérez-Rosas
2025 J jnl
CoRR
Aylin Gunal, Bowen Yi, John Piette, Rada Mihalcea, Verónica Pérez-Rosas
2025 J jnl
CoRR
Siyang Liu, Sahand Sabour, Xiaoyang Wang, Rada Mihalcea
2025 J jnl
CoRR
Sahand Sabour, June M. Liu, Siyang Liu, Chris Z. Yao, Shiyao Cui, Xuanming Zhang, Wen Zhang, Yaru Cao, Advait Bhat, Jian Guan, Wei Wu, Rada Mihalcea, Hongning Wang, Tim Althoff, Tatia M. C. Lee, Minlie Huang
2025 J jnl
CoRR
Charles Welch, Allison Lahnala, Vasudha Varadarajan, Lucie Flek, Rada Mihalcea, J. Lomax Boyd, João Sedoc
2025 A* conf
ICLR
Zhijing Jin, Max Kleiman-Weiner, Giorgio Piatti, Sydney Levine, Jiarui Liu, Fernando Gonzalez Adauto, Francesco Ortu, András Strausz, Mrinmaya Sachan, Rada Mihalcea, Yejin Choi, Bernhard Schölkopf
2025 conf
NAACL (Findings)
Oana Ignat, Xiaomeng Xu, Rada Mihalcea
2025 J jnl
CoRR
Emilio Villa-Cueva, S. M. Masrur Ahmed, Rendi Chevi, Jan Christian Blaise Cruz, Kareem Elzeky, Fermin Cristobal, Alham Fikri Aji, Skyler Wang, Rada Mihalcea, Thamar Solorio
2025 conf
ACL (Findings)
Angana Borah, Marwa Houalla, Rada Mihalcea
2025 J jnl
CoRR
Angana Borah, Marwa Houalla, Rada Mihalcea
2025 conf
EMNLP (Findings)
Emilio Villa-Cueva, S. M. Masrur Ahmed, Rendi Chevi, Jan Christian Blaise Cruz, Kareem Elzeky, Fermin Cristobal, Alham Fikri Aji, Skyler Wang, Rada Mihalcea, Thamar Solorio
2025 J jnl
CoRR
Antonia Karamolegkou, Angana Borah, Eunjung Cho, Sagnik Ray Choudhury, Martina Galletti, Rajarshi Ghosh, Pranav Gupta, Oana Ignat, Priyanka Kargupta, Neema Kotonya, Hemank Lamba, Sun-Joo Lee, Arushi Mangla, Ishani Mondal, Deniz Nazarova, Poli Nemkova, Dina Pisarevskaya, Naquee Rizwan, Nazanin Sabri, Dominik Stammbach, Anna Steinberg, David Tomás, Steven R. Wilson, Bowen Yi, Jessica H. Zhu, Arkaitz Zubiaga, Anders Søgaard, Alexander Fraser, Zhijing Jin, Rada Mihalcea, Joel R. Tetreault, Daryna Dementieva
2025 J jnl
CoRR
Rosiana Natalie, Wenqian Xu, Ruei-Che Chang, Rada Mihalcea, Anhong Guo
2025 J jnl
CoRR
Michela Taufer, Rada Mihalcea, Matthew Turk, Daniel P. Lopresti, Adam Wierman, Kevin R. B. Butler, Sven Koenig, David Danks, William Gropp, Manish Parashar, Yolanda Gil, William C. Regli, Rajmohan Rajaraman, David Jensen, Nadya Bliss, Mary Lou Maher
2025 J jnl
CoRR
Siyang Liu, Lawrence Chin-I An, Rada Mihalcea
2025 J jnl
CoRR
Angana Borah, Rada Mihalcea, Verónica Pérez-Rosas
2025 conf
IJCNLP-AACL (Findings)
Roberto Ceraolo, Dmitrii Kharlapenko, Ahmad Khan, Amélie Reymond, Rada Mihalcea, Bernhard Schölkopf, Mrinmaya Sachan, Zhijing Jin
2025 conf
ACL (Findings)
Naihao Deng, Rada Mihalcea
2025 J jnl
CoRR
Naihao Deng, Rada Mihalcea
2025 conf
ACL (Findings)
Neemesh Yadav, Jiarui Liu, Francesco Ortu, Roya Ensafi, Zhijing Jin, Rada Mihalcea
2025 J jnl
CoRR
Neemesh Yadav, Jiarui Liu, Francesco Ortu, Roya Ensafi, Zhijing Jin, Rada Mihalcea
2025 A* conf
EMNLP
Siqi Shen, Mehar Singh, Lajanugen Logeswaran, Moontae Lee, Honglak Lee, Rada Mihalcea
2025 J jnl
CoRR
Siqi Shen, Mehar Singh, Lajanugen Logeswaran, Moontae Lee, Honglak Lee, Rada Mihalcea
2025 J jnl
CoRR
Punya Syon Pandey, Hai Son Le, Devansh Bhardwaj, Rada Mihalcea, Zhijing Jin
2025 A conf
AAMAS
Rada Mihalcea
2025 J jnl
CoRR
Angana Borah, Zhijing Jin, Rada Mihalcea
2025 conf
NAACL (Long Papers)
Longju Bai, Angana Borah, Oana Ignat, Rada Mihalcea
2025 conf
NAACL (Long Papers)
Joan Nwatu, Oana Ignat, Rada Mihalcea
2025 J jnl
CoRR
Steffen Backmann, David Guzman Piedrahita, Emanuel Tewolde, Rada Mihalcea, Bernhard Schölkopf, Zhijing Jin
2025 J jnl
CoRR
Rada Mihalcea, Nazanin Andalibi, David Jensen, Matthew Turk, Pamela J. Wisniewski, Holly A. Yanco
2025 A* conf
AAAI
Rada Mihalcea, Oana Ignat, Longju Bai, Angana Borah, Luis Chiruzzo, Zhijing Jin, Claude Kwizera, Joan Nwatu, Soujanya Poria, Thamar Solorio
2024 conf
EACL (1)
Andrew Lee, Jonathan K. Kummerfeld, Lawrence C. An, Rada Mihalcea
2024 A* conf
ICML
Andrew Lee, Xiaoyan Bai, Itamar Pres, Martin Wattenberg, Jonathan K. Kummerfeld, Rada Mihalcea
2024 J jnl
CoRR
Andrew Lee, Xiaoyan Bai, Itamar Pres, Martin Wattenberg, Jonathan K. Kummerfeld, Rada Mihalcea
2024 conf
LREC/COLING
Katsumi Ibaraki, Winston Wu, Lu Wang, Rada Mihalcea
2024 conf
LREC/COLING
Oana Ignat, Longju Bai, Joan C. Nwatu, Rada Mihalcea
2024 J jnl
CoRR
Oana Ignat, Longju Bai, Joan Nwatu, Rada Mihalcea
2024 J jnl
CoRR
Santiago Castro, Amir Ziai, Avneesh Saluja, Zhuoning Yuan, Rada Mihalcea
2024 A* conf
NeurIPS
David Romero, Chenyang Lyu, Haryo Akbarianto Wibowo, Santiago Góngora, Aishik Mandal, Sukannya Purkayastha, Jesús-Germán Ortiz-Barajas, Emilio Villa-Cueva, Jinheon Baek, Soyeong Jeong, Injy Hamed, Zheng Xin Yong, Zheng Wei Lim, Paula Mónica Silva, Jocelyn Dunstan, Mélanie Jouitteau, David Le Meur, Joan Nwatu, Ganzorig Batnasan, Munkh-Erdene Otgonbold, Munkhjargal Gochoo, Guido Ivetta, Luciana Benotti, Laura Alonso Alemany, Hernán Maina, Jiahui Geng, Tiago Timponi Torrent, Frederico Belcavello, Marcelo Viridiano, Jan Christian Blaise Cruz, Dan John Velasco, Oana Ignat, Zara Burzo, Chenxi Whitehouse, Artem Abzaliev, Teresa Clifford, Grainne Caulfield, Teresa Lynn, Christian Salamea Palacios, Vladimir Araujo, Yova Kementchedjhieva, Mihail Mihaylov, Israel Abebe Azime, Henok Biadglign Ademtew, Bontu Fufa Balcha, Naome A. Etori, David Ifeoluwa Adelani, Rada Mihalcea, Atnafu Lambebo Tonja, Maria Camila Buitrago Cabrera, Gisela Vallejo, Holy Lovenia, Ruochen Zhang, Marcos Estecha-Garitagoitia, Mario Rodríguez-Cantelar, Toqeer Ehsan, Rendi Chevi, Muhammad Farid Adilazuarda, Ryandito Diandaru, Samuel Cahyawijaya, Fajri Koto, Tatsuki Kuribayashi, Haiyue Song, Aditya Khandavally, Thanmay Jayakumar, Raj Dabre, Mohamed Fazli Mohamed Imam, Kumaranage Ravindu Yasas Nagasinghe, Alina Dragonetti, Luis Fernando D'Haro, Olivier Niyomugisha, Jay Gala, Pranjal A. Chitale, Fauzan Farooqui, Thamar Solorio, Alham Fikri Aji
2024 J jnl
CoRR
David Romero, Chenyang Lyu, Haryo Akbarianto Wibowo, Teresa Lynn, Injy Hamed, Aditya Nanda Kishore, Aishik Mandal, Alina Dragonetti, Artem Abzaliev, Atnafu Lambebo Tonja, Bontu Fufa Balcha, Chenxi Whitehouse, Christian Salamea, Dan John Velasco, David Ifeoluwa Adelani, David Le Meur, Emilio Villa-Cueva, Fajri Koto, Fauzan Farooqui, Frederico Belcavello, Ganzorig Batnasan, Gisela Vallejo, Grainne Caulfield, Guido Ivetta, Haiyue Song, Henok Biadglign Ademtew, Hernán Maina, Holy Lovenia, Israel Abebe Azime, Jan Christian Blaise Cruz, Jay P. Gala, Jiahui Geng, Jesús-Germán Ortiz-Barajas, Jinheon Baek, Jocelyn Dunstan, Laura Alonso Alemany, Kumaranage Ravindu Yasas Nagasinghe, Luciana Benotti, Luis Fernando D'Haro, Marcelo Viridiano, Marcos Estecha-Garitagoitia, Maria Camila Buitrago Cabrera, Mario Rodríguez-Cantelar, Mélanie Jouitteau, Mihail Mihaylov, Mohamed Fazli Mohamed Imam, Muhammad Farid Adilazuarda, Munkhjargal Gochoo, Munkh-Erdene Otgonbold, Naome A. Etori, Olivier Niyomugisha, Paula Mónica Silva, Pranjal A. Chitale, Raj Dabre, Rendi Chevi, Ruochen Zhang, Ryandito Diandaru, Samuel Cahyawijaya, Santiago Góngora, Soyeong Jeong, Sukannya Purkayastha, Tatsuki Kuribayashi, Thanmay Jayakumar, Tiago Timponi Torrent, Toqeer Ehsan, Vladimir Araujo, Yova Kementchedjhieva, Zara Burzo, Zheng Wei Lim, Zheng Xin Yong, Oana Ignat, Joan Nwatu, Rada Mihalcea, Thamar Solorio, Alham Fikri Aji
2024 A* conf
ICLR
Zhijing Jin, Jiarui Liu, Zhiheng Lyu, Spencer Poff, Mrinmaya Sachan, Rada Mihalcea, Mona T. Diab, Bernhard Schölkopf
2024 J jnl
CoRR
Roberto Ceraolo, Dmitrii Kharlapenko, Amélie Reymond, Rada Mihalcea, Mrinmaya Sachan, Bernhard Schölkopf, Zhijing Jin
2024 J jnl
CoRR
Ruiqi He, Yushu He, Longju Bai, Jiarui Liu, Zhenjie Sun, Zenghao Tang, He Wang, Hanchen Xia, Rada Mihalcea, Naihao Deng
2024 J jnl
CoRR
Giorgio Piatti, Zhijing Jin, Max Kleiman-Weiner, Bernhard Schölkopf, Mrinmaya Sachan, Rada Mihalcea
2024 A* conf
NeurIPS
Giorgio Piatti, Zhijing Jin, Max Kleiman-Weiner, Bernhard Schölkopf, Mrinmaya Sachan, Rada Mihalcea
2024 J jnl
CoRR
Oana Ignat, Gayathri Ganesh Lakshmy, Rada Mihalcea
2024 conf
EMNLP (Findings)
Zhiheng Lyu, Zhijing Jin, Fernando Gonzalez Adauto, Rada Mihalcea, Bernhard Schölkopf, Mrinmaya Sachan
2024 conf
LREC/COLING
Do June Min, Verónica Pérez-Rosas, Ken Resnicow, Rada Mihalcea
2024 J jnl
CoRR
Do June Min, Verónica Pérez-Rosas, Kenneth Resnicow, Rada Mihalcea
2024 conf
ACL (1)
Sahand Sabour, Siyang Liu, Zheyuan Zhang, June M. Liu, Jinfeng Zhou, Alvionna S. Sunaryo, Tatia M. C. Lee, Rada Mihalcea, Minlie Huang
2024 J jnl
CoRR
Sahand Sabour, Siyang Liu, Zheyuan Zhang, June M. Liu, Jinfeng Zhou, Alvionna S. Sunaryo, Juanzi Li, Tatia M. C. Lee, Rada Mihalcea, Minlie Huang
2024 J jnl
CoRR
David Danks, Rada Mihalcea, Katie A. Siek, Mona Singh, Brian Dixon, Haley Griffin
2024 conf
LREC/COLING
Oana Ignat, Zhijing Jin, Artem Abzaliev, Laura Biester, Santiago Castro, Naihao Deng, Xinyi Gao, Aylin Gunal, Jacky He, Ashkan Kazemi, Muhammad Khalifa, Namho Koh, Andrew Lee, Siyang Liu, Do June Min, Shinka Mori, Joan Nwatu, Verónica Pérez-Rosas, Siqi Shen, Zekun Wang, Winston Wu, Rada Mihalcea
2024 conf
EMNLP (Findings)
Zhijing Jin, Nils Heil, Jiarui Liu, Shehzaad Dhuliawala, Yahang Qi, Bernhard Schölkopf, Rada Mihalcea, Mrinmaya Sachan
2024 J jnl
CoRR
Zhijing Jin, Nils Heil, Jiarui Liu, Shehzaad Dhuliawala, Yahang Qi, Bernhard Schölkopf, Rada Mihalcea, Mrinmaya Sachan
2024 J jnl
CoRR
Oana Ignat, Xiaomeng Xu, Rada Mihalcea
2024 J jnl
CoRR
Zhijing Jin, Sydney Levine, Max Kleiman-Weiner, Giorgio Piatti, Jiarui Liu, Fernando Gonzalez Adauto, Francesco Ortu, András Strausz, Mrinmaya Sachan, Rada Mihalcea, Yejin Choi, Bernhard Schölkopf
2024 J jnl
CoRR
Zhiheng Lyu, Zhijing Jin, Fernando Gonzalez, Rada Mihalcea, Bernhard Schölkopf, Mrinmaya Sachan
2024 J jnl
CoRR
Hanchen Xia, Feng Jiang, Naihao Deng, Cunxiang Wang, Guojiang Zhao, Rada Mihalcea, Yue Zhang
2024 J jnl
CoRR
Pengfei Hong, Deepanway Ghosal, Navonil Majumder, Somak Aditya, Rada Mihalcea, Soujanya Poria
2024 J jnl
CoRR
Naihao Deng, Zhenjie Sun, Ruiqi He, Aman Sikka, Yulong Chen, Lin Ma, Yue Zhang, Rada Mihalcea
2024 conf
ACL (Findings)
Naihao Deng, Zhenjie Sun, Ruiqi He, Aman Sikka, Yulong Chen, Lin Ma, Yue Zhang, Rada Mihalcea
2024 A* conf
ACM Multimedia
Navonil Majumder, Chia-Yu Hung, Deepanway Ghosal, Wei-Ning Hsu, Rada Mihalcea, Soujanya Poria
2024 J jnl
CoRR
Navonil Majumder, Chia-Yu Hung, Deepanway Ghosal, Wei-Ning Hsu, Rada Mihalcea, Soujanya Poria
2024 J jnl
CoRR
Siyang Liu, Trisha Maturi, Siqi Shen, Rada Mihalcea
2024 A* conf
EMNLP
Siyang Liu, Trisha Maturi, Bowen Yi, Siqi Shen, Rada Mihalcea
2024 J jnl
CoRR
Longju Bai, Angana Borah, Oana Ignat, Rada Mihalcea
2024 conf
LREC/COLING
Shinka Mori, Oana Ignat, Andrew Lee, Rada Mihalcea
2024 J jnl
CoRR
Shinka Mori, Oana Ignat, Andrew Lee, Rada Mihalcea
2024 J jnl
CoRR
Hua Shen, Tiffany Knearem, Reshmi Ghosh, Kenan Alkiek, Kundan Krishna, Yachuan Liu, Ziqiao Ma, Savvas Petridis, Yi-Hao Peng, Li Qiwei, Sushrita Rakshit, Chenglei Si, Yutong Xie, Jeffrey P. Bigham, Frank Bentley, Joyce Chai, Zachary C. Lipton, Qiaozhu Mei, Rada Mihalcea, Michael Terry, Diyi Yang, Meredith Ringel Morris, Paul Resnick, David Jurgens
2024 conf
LREC/COLING
Artem Abzaliev, Humberto Pérez Espinosa, Rada Mihalcea
2024 J jnl
CoRR
Artem Abzaliev, Humberto Pérez Espinosa, Rada Mihalcea
2024 conf
EMNLP (Findings)
Angana Borah, Rada Mihalcea
2024 J jnl
CoRR
Angana Borah, Rada Mihalcea
2024 J jnl
CoRR
Angana Borah, Aparna Garimella, Rada Mihalcea
2024 conf
NAACL-HLT
Siqi Shen, Lajanugen Logeswaran, Moontae Lee, Honglak Lee, Soujanya Poria, Rada Mihalcea
2024 J jnl
CoRR
Siqi Shen, Lajanugen Logeswaran, Moontae Lee, Honglak Lee, Soujanya Poria, Rada Mihalcea
2024 A* conf
EMNLP
Artem Abzaliev, Rada Mihalcea
2024 J jnl
CoRR
Joan Nwatu, Oana Ignat, Rada Mihalcea
2024 conf
ACI
Artem Abzaliev, Katsumi Ibaraki, Kohei Shibata, Rada Mihalcea
2024 J jnl
CoRR
Ian Stewart, Rada Mihalcea
2024 J jnl
CoRR
Rada Mihalcea, Oana Ignat, Longju Bai, Angana Borah, Luis Chiruzzo, Zhijing Jin, Claude Kwizera, Joan Nwatu, Soujanya Poria, Thamar Solorio
2023 J jnl
CoRR
Oana Ignat, Zhijing Jin, Artem Abzaliev, Laura Biester, Santiago Castro, Naihao Deng, Xinyi Gao, Aylin Gunal, Jacky He, Ashkan Kazemi, Muhammad Khalifa, Namho Koh, Andrew Lee, Siyang Liu, Do June Min, Shinka Mori, Joan Nwatu, Verónica Pérez-Rosas, Siqi Shen, Zekun Wang, Winston Wu, Rada Mihalcea
2023 J jnl
Inf. Fusion
Ambuj Mehrish, Navonil Majumder, Rishabh Bharadwaj, Rada Mihalcea, Soujanya Poria
2023 J jnl
IEEE Trans. Affect. Comput.
Soujanya Poria, Devamanyu Hazarika, Navonil Majumder, Rada Mihalcea
2023 conf
EMNLP (Findings)
Fernando Gonzalez Adauto, Zhijing Jin, Bernhard Schölkopf, Tom Hope, Mrinmaya Sachan, Rada Mihalcea
2023 J jnl
CoRR
Fernando Gonzalez, Zhijing Jin, Bernhard Schölkopf, Tom Hope, Mrinmaya Sachan, Rada Mihalcea
2023 A* conf
EMNLP
Joan Nwatu, Oana Ignat, Rada Mihalcea
2023 J jnl
CoRR
Joan Nwatu, Oana Ignat, Rada Mihalcea
2023 J jnl
CoRR
Zhijing Jin, Jiarui Liu, Zhiheng Lyu, Spencer Poff, Mrinmaya Sachan, Rada Mihalcea, Mona T. Diab, Bernhard Schölkopf
2023 A* conf
EMNLP
Winston Wu, Lu Wang, Rada Mihalcea
2023 J jnl
CoRR
Panfeng Li, Mohamed Abouelenien, Rada Mihalcea
2023 J jnl
CoRR
Naihao Deng, Yikai Liu, Mingye Chen, Winston Wu, Siyang Liu, Yulong Chen, Yue Zhang, Rada Mihalcea
2023 A conf
EACL
Andrew Lee, Jonathan K. Kummerfeld, Larry An, Rada Mihalcea
2023 J jnl
CoRR
Siyang Liu, Naihao Deng, Sahand Sabour, Yilin Jia, Minlie Huang, Rada Mihalcea
2023 Misc conf
ICASSP
Yingting Li, Ambuj Mehrish, Rishabh Bhardwaj, Navonil Majumder, Bo Cheng, Shuai Zhao, Amir Zadeh, Rada Mihalcea, Soujanya Poria
2023 J jnl
CoRR
Yingting Li, Ambuj Mehrish, Shuai Zhao, Rishabh Bhardwaj, Amir Zadeh, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2023 J jnl
CoRR
Yinghui He, Yufan Wu, Yilin Jia, Rada Mihalcea, Yulong Chen, Naihao Deng
2023 conf
EMNLP (Findings)
Yufan Wu, Yinghui He, Yilin Jia, Rada Mihalcea, Yulong Chen, Naihao Deng
2023 J jnl
CoRR
Oana Ignat, Santiago Castro, Weiji Li, Rada Mihalcea
2023 A conf
ICWSM
Yujian Liu, Laura Biester, Rada Mihalcea
2023 conf
EMNLP (Findings)
Deepanway Ghosal, Navonil Majumder, Roy Ka-Wei Lee, Rada Mihalcea, Soujanya Poria
2023 J jnl
CoRR
Deepanway Ghosal, Navonil Majumder, Roy Ka-Wei Lee, Rada Mihalcea, Soujanya Poria
2023 J jnl
CoRR
Ashkan Kazemi, Rada Mihalcea
2023 J jnl
CoRR
Zhijing Jin, Rada Mihalcea
2023 conf
ClinicalNLP@ACL
Do June Min, Verónica Pérez-Rosas, Rada Mihalcea
2023 B conf
FG
Kais Riani, Salem Sharak, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea, John Elson, Clay Maranville, Kwaku O. Prakah-Asante, Waqas Manzoor
2023 J jnl
CoRR
Zhiheng Lyu, Zhijing Jin, Justus Mattern, Rada Mihalcea, Mrinmaya Sachan, Bernhard Schölkopf
2023 conf
IJCNLP (1)
Ashkan Kazemi, Artem Abzaliev, Naihao Deng, Rui Hou, Scott A. Hale, Verónica Pérez-Rosas, Rada Mihalcea
2023 J jnl
Comput. Linguistics
Aparna Garimella, Carmen Banea, Rada Mihalcea
2023 conf
*SEM@ACL
Santiago Castro, Oana Ignat, Rada Mihalcea
2023 J jnl
CoRR
Santiago Castro, Oana Ignat, Rada Mihalcea
2023 A* conf
EMNLP
Siyang Liu, Naihao Deng, Sahand Sabour, Yilin Jia, Minlie Huang, Rada Mihalcea
2023 conf
ACIIW
Laura Biester, James W. Pennebaker, Rada Mihalcea
2023 conf
Tiny Papers @ ICLR
Qinyue Tan, Ashkan Kazemi, Rada Mihalcea
2023 conf
MLHC
Jiaai Xu, Rada Mihalcea, Elena Frank, Srijan Sen, Maggie Makar
2023 conf
EMNLP (Findings)
Do June Min, Verónica Pérez-Rosas, Ken Resnicow, Rada Mihalcea
2023 J jnl
CoRR
Do June Min, Verónica Pérez-Rosas, Kenneth Resnicow, Rada Mihalcea
2023 J jnl
CoRR
Yiwen Ding, Jiarui Liu, Zhiheng Lyu, Kun Zhang, Bernhard Schölkopf, Zhijing Jin, Rada Mihalcea
2023 A conf
ICWSM
MeiXing Dong, Ruixuan Sun, Laura Biester, Rada Mihalcea
2023 conf
EMNLP (Findings)
Naihao Deng, Xinliang Frederick Zhang, Siyang Liu, Winston Wu, Lu Wang, Rada Mihalcea
2023 J jnl
CoRR
Naihao Deng, Siyang Liu, Xinliang Frederick Zhang, Winston Wu, Lu Wang, Rada Mihalcea
2022 J jnl
CoRR
Ashkan Kazemi, Artem Abzaliev, Naihao Deng, Rui Hou, Davis Liang, Scott A. Hale, Verónica Pérez-Rosas, Rada Mihalcea
2022 conf
NLPerspectives@LREC
Laura Biester, Vanita Sharma, Ashkan Kazemi, Naihao Deng, Steven R. Wilson, Rada Mihalcea
2022 conf
ACL (1)
Deepanway Ghosal, Siqi Shen, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2022 J jnl
CoRR
Deepanway Ghosal, Siqi Shen, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2022 B conf
ICPR
Salem Sharak, Kapotaksha Das, Kais Riani, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2022 J jnl
Comput. Linguistics
Di Jin, Zhijing Jin, Zhiting Hu, Olga Vechtomova, Rada Mihalcea
2022 conf
AACL/IJCNLP (2)
Aparna Garimella, Rada Mihalcea, Akhash Amarnath
2022 J jnl
ACM Trans. Interact. Intell. Syst.
Kapotaksha Das, Michalis Papakostas, Kais Riani, Andrew Brian Gasiorowski, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2022 J jnl
CoRR
Anna Costello, Ekaterina Fedorova, Zhijing Jin, Rada Mihalcea
2022 J jnl
IEEE Access
Navonil Majumder, Deepanway Ghosal, Devamanyu Hazarika, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2022 conf
ACL (1)
Santiago Castro, Ruoyao Wang, Pingxuan Huang, Ian Stewart, Oana Ignat, Nan Liu, Jonathan C. Stroud, Rada Mihalcea
2022 B conf
SIGDIAL
Ian Stewart, Rada Mihalcea
2022 J jnl
Cogn. Comput.
Abhinaba Roy, Deepanway Ghosal, Erik Cambria, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2022 B conf
COLING
Santiago Castro, Naihao Deng, Pingxuan Huang, Mihai Burzo, Rada Mihalcea
2022 B conf
ICCP
Rada Mihalcea
2022 conf
ACL (1)
Siqi Shen, Verónica Pérez-Rosas, Charles Welch, Soujanya Poria, Rada Mihalcea
2022 conf
ACL (1)
Charles Welch, Chenxi Gu, Jonathan K. Kummerfeld, Verónica Pérez-Rosas, Rada Mihalcea
2022 conf
EMNLP (Findings)
Zhijing Jin, Abhinav Lalwani, Tejas Vaidhya, Xiaoyu Shen, Yiwen Ding, Zhiheng Lyu, Mrinmaya Sachan, Rada Mihalcea, Bernhard Schölkopf
2022 J jnl
CoRR
Zhijing Jin, Abhinav Lalwani, Tejas Vaidhya, Xiaoyu Shen, Yiwen Ding, Zhiheng Lyu, Mrinmaya Sachan, Rada Mihalcea, Bernhard Schölkopf
2022 J jnl
CoRR
Ashkan Kazemi, Zehua Li, Verónica Pérez-Rosas, Scott A. Hale, Rada Mihalcea
2022 conf
DE-FACTIFY@AAAI
Ashkan Kazemi, Zehua Li, Verónica Pérez-Rosas, Scott A. Hale, Rada Mihalcea
2022 conf
ACL (Findings)
Yiqun Yao, Rada Mihalcea
2022 J jnl
IEEE Trans. Affect. Comput.
Mehmet Umut Sen, Verónica Pérez-Rosas, Berrin A. Yanikoglu, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2022 J jnl
CoRR
Siqi Shen, Deepanway Ghosal, Navonil Majumder, Henry Lim, Rada Mihalcea, Soujanya Poria
2022 A* conf
EMNLP
Do June Min, Verónica Pérez-Rosas, Kenneth Resnicow, Rada Mihalcea
2022 conf
CHI Extended Abstracts
Su Lin Blodgett, Q. Vera Liao, Alexandra Olteanu, Rada Mihalcea, Michael J. Muller, Morgan Klaus Scheuerman, Chenhao Tan, Qian Yang
2022 conf
FAccT
Gauri Kambhatla, Ian Stewart, Rada Mihalcea
2022 Misc conf
FLAIRS
Kapotaksha Das, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2022 B conf
COLING
Artem Abzaliev, Andrew Owens, Rada Mihalcea
2022 A* conf
EMNLP
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2022 J jnl
CoRR
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2022 J jnl
CoRR
Justus Mattern, Zhijing Jin, Mrinmaya Sachan, Rada Mihalcea, Bernhard Schölkopf
2022 conf
NAACL-HLT
Laura Burdick, Jonathan K. Kummerfeld, Rada Mihalcea
2022 J jnl
CoRR
Laura Burdick, Jonathan K. Kummerfeld, Rada Mihalcea
2022 J jnl
CoRR
MeiXing Dong, Ruixuan Sun, Laura Biester, Rada Mihalcea
2022 J jnl
CoRR
Oana Ignat, Santiago Castro, Yuhang Zhou, Jiajun Bao, Dandan Shan, Rada Mihalcea
2022 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Oana Ignat, Santiago Castro, Yuhang Zhou, Jiajun Bao, Dandan Shan, Rada Mihalcea
2022 A* conf
NeurIPS
Zhijing Jin, Sydney Levine, Fernando Gonzalez Adauto, Ojasv Kamal, Maarten Sap, Mrinmaya Sachan, Rada Mihalcea, Josh Tenenbaum, Bernhard Schölkopf
2022 J jnl
CoRR
Zhijing Jin, Sydney Levine, Fernando Gonzalez, Ojasv Kamal, Maarten Sap, Mrinmaya Sachan, Rada Mihalcea, Josh Tenenbaum, Bernhard Schölkopf
2022 J jnl
CoRR
Santiago Castro, Naihao Deng, Pingxuan Huang, Mihai Burzo, Rada Mihalcea
2021 J jnl
Cogn. Comput.
Laura Burdick, Rada Mihalcea, Ryan L. Boyd, James W. Pennebaker
2021 conf
EMNLP (1)
Laura Burdick, Jonathan K. Kummerfeld, Rada Mihalcea
2021 B conf
SIGDIAL
Deepanway Ghosal, Pengfei Hong, Siqi Shen, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2021 J jnl
CoRR
Deepanway Ghosal, Pengfei Hong, Siqi Shen, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2021 C conf
EvoMUSART
Allison Lahnala, Gauri Kambhatla, Jiajun Peng, Matthew Whitehead, Gillian Minnehan, Eric Guldan, Jonathan K. Kummerfeld, Anil Çamci, Rada Mihalcea
2021 J jnl
CoRR
Allison Lahnala, Gauri Kambhatla, Jiajun Peng, Matthew Whitehead, Gillian Minnehan, Eric Guldan, Jonathan K. Kummerfeld, Anil Çamci, Rada Mihalcea
2021 J jnl
Inf. Fusion
Devamanyu Hazarika, Soujanya Poria, Roger Zimmermann, Rada Mihalcea
2021 J jnl
CoRR
Navonil Majumder, Deepanway Ghosal, Devamanyu Hazarika, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2021 conf
ACL/IJCNLP (Findings)
Allison Lahnala, Yuntian Zhao, Charles Welch, Jonathan K. Kummerfeld, Lawrence C. An, Kenneth Resnicow, Rada Mihalcea, Verónica Pérez-Rosas
2021 J jnl
CoRR
Allison Lahnala, Yuntian Zhao, Charles Welch, Jonathan K. Kummerfeld, Lawrence C. An, Kenneth Resnicow, Rada Mihalcea, Verónica Pérez-Rosas
2021 conf
ACL/IJCNLP (Findings)
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2021 J jnl
CoRR
Ashkan Kazemi, Zehua Li, Verónica Pérez-Rosas, Rada Mihalcea
2021 J jnl
CoRR
Santiago Castro, Ruoyao Wang, Pingxuan Huang, Ian Stewart, Nan Liu, Jonathan C. Stroud, Rada Mihalcea
2021 conf
EMNLP (1)
Md. Kamrul Hasan, James Spann, Masum Hasan, Md. Saiful Islam, Kurtis Haut, Rada Mihalcea, Ehsan Hoque
2021 conf
ACL/IJCNLP (Findings)
Zhijing Jin, Geeticka Chauhan, Brian Tse, Mrinmaya Sachan, Rada Mihalcea
2021 J jnl
CoRR
Zhijing Jin, Geeticka Chauhan, Brian Tse, Mrinmaya Sachan, Rada Mihalcea
2021 J jnl
CoRR
Ian Stewart, Rada Mihalcea
2021 A* conf
AAAI
Md. Kamrul Hasan, Sangwu Lee, Wasifur Rahman, Amir Zadeh, Rada Mihalcea, Louis-Philippe Morency, Ehsan Hoque
2021 conf
WWW (Companion Volume)
Rada Mihalcea
2021 J jnl
CoRR
Yiqun Yao, Michalis Papakostas, Mihai Burzo, Mohamed Abouelenien, Rada Mihalcea
2021 conf
NAACL-HLT
Yiqun Yao, Michalis Papakostas, Mihai Burzo, Mohamed Abouelenien, Rada Mihalcea
2021 conf
EMNLP (Findings)
Andrew Lee, Jonathan K. Kummerfeld, Larry An, Rada Mihalcea
2021 J jnl
CoRR
Andrew Lee, Jonathan K. Kummerfeld, Lawrence C. An, Rada Mihalcea
2021 conf
EMNLP (Findings)
Zhijing Jin, Zeyu Peng, Tejas Vaidhya, Bernhard Schölkopf, Rada Mihalcea
2021 J jnl
Proces. del Leng. Natural
Luis Chiruzzo, Santiago Castro, Santiago Góngora, Aiala Rosá, J. A. Meaney, Rada Mihalcea
2021 J jnl
Cogn. Comput.
Soujanya Poria, Navonil Majumder, Devamanyu Hazarika, Deepanway Ghosal, Rishabh Bhardwaj, Samson Yu Bai Jian, Pengfei Hong, Romila Ghosh, Abhinaba Roy, Niyati Chhaya, Alexander F. Gelbukh, Rada Mihalcea
2021 conf
SocialNLP@NAACL
MeiXing Dong, Xueming Xu, Yiwei Zhang, Ian Stewart, Rada Mihalcea
2021 J jnl
CoRR
MeiXing Dong, Xueming Xu, Yiwei Zhang, Ian Stewart, Rada Mihalcea
2021 conf
EMNLP (1)
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2021 J jnl
CoRR
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2021 B conf
ACII
Kais Riani, Salem Sharak, Kapotaksha Das, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea, John Elson, Clay Maranville, Kwaku O. Prakah-Asante, Waqas Manzoor
2021 A conf
IUI
Michalis Papakostas, Kais Riani, Andrew Brian Gasiorowski, Yan Sun, Mohamed Abouelenien, Rada Mihalcea, Mihai Burzo
2021 J jnl
ACM Trans. Manag. Inf. Syst.
Laura Biester, Katie Matton, Janarthanan Rajendran, Emily Mower Provost, Rada Mihalcea
2021 J jnl
CoRR
Thamar Solorio, Mahsa Shafaei, Christos Smailis, Mona T. Diab, Theodore Giannakopoulos, Heng Ji, Yang Liu, Rada Mihalcea, Smaranda Muresan, Ioannis A. Kakadiaris
2021 conf
EMNLP (1)
Oana Ignat, Santiago Castro, Hanwen Miao, Weiji Li, Rada Mihalcea
2021 J jnl
CoRR
Oana Ignat, Santiago Castro, Hanwen Miao, Weiji Li, Rada Mihalcea
2020 B conf
COLING
Aparna Garimella, Carmen Banea, Nabil Hossain, Rada Mihalcea
2020 J jnl
CoRR
Aparna Garimella, Carmen Banea, Nabil Hossain, Rada Mihalcea
2020 conf
AffCon@AAAI
Cristian-Paul Bara, Michalis Papakostas, Rada Mihalcea
2020 J jnl
CoRR
Laura Burdick, Jonathan K. Kummerfeld, Rada Mihalcea
2020 J jnl
CoRR
Soujanya Poria, Devamanyu Hazarika, Navonil Majumder, Rada Mihalcea
2020 B conf
COLING
Ashkan Kazemi, Verónica Pérez-Rosas, Rada Mihalcea
2020 J jnl
CoRR
Ashkan Kazemi, Verónica Pérez-Rosas, Rada Mihalcea
2020 conf
AACL/IJCNLP
Laura Biester, Carmen Banea, Rada Mihalcea
2020 conf
EMNLP (Findings)
Deepanway Ghosal, Navonil Majumder, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2020 J jnl
CoRR
Deepanway Ghosal, Navonil Majumder, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2020 conf
EMNLP (1)
Charles Welch, Jonathan K. Kummerfeld, Verónica Pérez-Rosas, Rada Mihalcea
2020 J jnl
CoRR
Charles Welch, Jonathan K. Kummerfeld, Verónica Pérez-Rosas, Rada Mihalcea
2020 B conf
SIGdial
Siqi Shen, Charles Welch, Rada Mihalcea, Verónica Pérez-Rosas
2020 J jnl
CoRR
Di Jin, Zhijing Jin, Zhiting Hu, Olga Vechtomova, Rada Mihalcea
2020 B conf
COLING
Charles Welch, Jonathan K. Kummerfeld, Verónica Pérez-Rosas, Rada Mihalcea
2020 J jnl
CoRR
Charles Welch, Jonathan K. Kummerfeld, Verónica Pérez-Rosas, Rada Mihalcea
2020 conf
NLP4COVID@EMNLP
Charles Welch, Allison Lahnala, Verónica Pérez-Rosas, Siqi Shen, Sarah Seraj, Larry An, Kenneth Resnicow, James W. Pennebaker, Rada Mihalcea
2020 J jnl
CoRR
Charles Welch, Allison Lahnala, Verónica Pérez-Rosas, Siqi Shen, Sarah Seraj, Larry An, Kenneth Resnicow, James W. Pennebaker, Rada Mihalcea
2020 J jnl
Comput. Speech Lang.
MeiXing Dong, Rada Mihalcea, Dragomir R. Radev
2020 conf
EMNLP (1)
Charles Welch, Rada Mihalcea, Jonathan K. Kummerfeld
2020 J jnl
CoRR
Charles Welch, Rada Mihalcea, Jonathan K. Kummerfeld
2020 J jnl
CoRR
Abhinaba Roy, Deepanway Ghosal, Erik Cambria, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2020 B conf
LREC
Zhentao Xu, Verónica Pérez-Rosas, Rada Mihalcea
2020 A* conf
ACL
Deepanway Ghosal, Devamanyu Hazarika, Abhinaba Roy, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2020 J jnl
CoRR
Deepanway Ghosal, Devamanyu Hazarika, Abhinaba Roy, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2020 B conf
LREC
Santiago Castro, Mahmoud Azab, Jonathan C. Stroud, Cristina Noujaim, Ruoyao Wang, Jia Deng, Rada Mihalcea
2020 conf
EMNLP (1)
Navonil Majumder, Pengfei Hong, Shanshan Peng, Jiankun Lu, Deepanway Ghosal, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2020 J jnl
CoRR
Navonil Majumder, Pengfei Hong, Shanshan Peng, Jiankun Lu, Deepanway Ghosal, Alexander F. Gelbukh, Rada Mihalcea, Soujanya Poria
2020 B conf
LREC
Mimansa Jaiswal, Cristian-Paul Bara, Yuanhang Luo, Mihai Burzo, Rada Mihalcea, Emily Mower Provost
2020 ed.
NLP4COVID@EMNLP
Karin Verspoor, Kevin Bretonnel Cohen, Michael Conway, Berry de Bruijn, Mark Dredze, Rada Mihalcea, Byron C. Wallace
2020 conf
NLP4COVID@EMNLP
Laura Biester, Katie Matton, Janarthanan Rajendran, Emily Mower Provost, Rada Mihalcea
2020 J jnl
CoRR
Laura Biester, Katie Matton, Janarthanan Rajendran, Emily Mower Provost, Rada Mihalcea
2020 J jnl
CoRR
Soujanya Poria, Navonil Majumder, Devamanyu Hazarika, Deepanway Ghosal, Rishabh Bhardwaj, Samson Yu Bai Jian, Romila Ghosh, Niyati Chhaya, Alexander F. Gelbukh, Rada Mihalcea
2020 B conf
LREC
Amy Rechkemmer, Steven R. Wilson, Rada Mihalcea
2020 conf
PETRA
Kais Riani, Michalis Papakostas, Hussein Kokash, Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2020 conf
MLHC
Do June Min, Verónica Pérez-Rosas, Shihchen Kuo, William H. Herman, Rada Mihalcea
2020 J jnl
CoRR
Deepanway Ghosal, Navonil Majumder, Rada Mihalcea, Soujanya Poria
2019 conf
NAACL-HLT (1)
Felix Soldner, Verónica Pérez-Rosas, Rada Mihalcea
2019 conf
TAC
Laura Burdick, Oana Ignat, Yiming Zhang, Rada Mihalcea, Mingzhe Wang, Steve Wilson, Yumou Wei, Jia Deng
2019 J jnl
CoRR
Jonathan C. Stroud, Ryan McCaffrey, Rada Mihalcea, Jia Deng, Olga Russakovsky
2019 A* conf
AAAI
Navonil Majumder, Soujanya Poria, Devamanyu Hazarika, Rada Mihalcea, Alexander F. Gelbukh, Erik Cambria
2019 J jnl
IEEE Access
Soujanya Poria, Navonil Majumder, Rada Mihalcea, Eduard H. Hovy
2019 J jnl
CoRR
Soujanya Poria, Navonil Majumder, Rada Mihalcea, Eduard H. Hovy
2019 J jnl
CoRR
Devamanyu Hazarika, Soujanya Poria, Roger Zimmermann, Rada Mihalcea
2019 J jnl
IEEE Multim.
Mohamed Abouelenien, Mihai Burzo, Verónica Pérez-Rosas, Rada Mihalcea, Haitian Sun, Bohan Zhao
2019 conf
ACL (1)
Oana Ignat, Laura Burdick, Jia Deng, Rada Mihalcea
2019 J jnl
CoRR
Oana Ignat, Laura Burdick, Jia Deng, Rada Mihalcea
2019 J jnl
IEEE Intell. Syst.
Charles Welch, Verónica Pérez-Rosas, Jonathan K. Kummerfeld, Rada Mihalcea, Erik Cambria
2019 conf
CICLing (2)
Charles Welch, Verónica Pérez-Rosas, Jonathan K. Kummerfeld, Rada Mihalcea
2019 J jnl
CoRR
Charles Welch, Verónica Pérez-Rosas, Jonathan K. Kummerfeld, Rada Mihalcea
2019 conf
ACL (1)
Soujanya Poria, Devamanyu Hazarika, Navonil Majumder, Gautam Naik, Erik Cambria, Rada Mihalcea
2019 conf
SocInfo
Yiting Shen, Steven R. Wilson, Rada Mihalcea
2019 J jnl
CoRR
Mimansa Jaiswal, Zakaria Aldeneh, Cristian-Paul Bara, Yuanhang Luo, Mihai Burzo, Rada Mihalcea, Emily Mower Provost
2019 conf
*SEM@NAACL-HLT
Li Zhang, Steven R. Wilson, Rada Mihalcea
2019 Misc conf
ICASSP
Mimansa Jaiswal, Zakaria Aldeneh, Cristian-Paul Bara, Yuanhang Luo, Mihai Burzo, Rada Mihalcea, Emily Mower Provost
2019 conf
SocInfo
MeiXing Dong, David Jurgens, Carmen Banea, Rada Mihalcea
2019 conf
ACL (1)
Steven R. Wilson, Rada Mihalcea
2019 J jnl
CoRR
Steven R. Wilson, Rada Mihalcea
2019 ed.
*SEM@NAACL-HLT
Rada Mihalcea, Ekaterina Shutova, Lun-Wei Ku, Kilian Evang, Soujanya Poria
2019 B conf
CoNLL
Mahmoud Azab, Noriyuki Kojima, Jia Deng, Rada Mihalcea
2019 J jnl
IEEE Comput. Intell. Mag.
Mihai Burzo, Verónica Pérez-Rosas, Daniel McDuff, Louis-Philippe Morency, Alexis Narvaez, Rada Mihalcea
2019 J jnl
IEEE Access
Tushar Maheshwari, Aishwarya N. Reganti, Soujanya Poria, Rada Mihalcea
2019 B conf
ICMI
Rui Hou, Verónica Pérez-Rosas, Stacy L. Loeb, Rada Mihalcea
2019 J jnl
CoRR
Rui Hou, Verónica Pérez-Rosas, Stacy L. Loeb, Rada Mihalcea
2019 conf
EMNLP/IJCNLP (1)
Mahmoud Azab, Stephane Dadian, Vivi Nastase, Larry An, Rada Mihalcea
2019 conf
ACL (1)
Santiago Castro, Devamanyu Hazarika, Verónica Pérez-Rosas, Roger Zimmermann, Rada Mihalcea, Soujanya Poria
2019 J jnl
CoRR
Santiago Castro, Devamanyu Hazarika, Verónica Pérez-Rosas, Roger Zimmermann, Rada Mihalcea, Soujanya Poria
2019 J jnl
CoRR
Navonil Majumder, Soujanya Poria, Gangeshwar Krishnamurthy, Niyati Chhaya, Rada Mihalcea, Alexander F. Gelbukh
2019 conf
ACL (1)
Verónica Pérez-Rosas, Xinyi Wu, Kenneth Resnicow, Rada Mihalcea
2019 conf
ACL (1)
Aparna Garimella, Carmen Banea, Eduard H. Hovy, Rada Mihalcea
2018 J jnl
CoRR
Konstantinos Pappas, Mahmoud Azab, Rada Mihalcea
2018 B conf
LREC
Verónica Pérez-Rosas, Xuetong Sun, Christy Li, Yuchen Wang, Kenneth Resnicow, Rada Mihalcea
2018 B conf
COLING
Verónica Pérez-Rosas, Bennett Kleinberg, Alexandra Lefevre, Rada Mihalcea
2018 conf
SocInfo (1)
Steven R. Wilson, Yiting Shen, Rada Mihalcea
2018 B conf
COLING
Devamanyu Hazarika, Soujanya Poria, Sruthi Gorantla, Erik Cambria, Roger Zimmermann, Rada Mihalcea
2018 J jnl
CoRR
Devamanyu Hazarika, Soujanya Poria, Sruthi Gorantla, Erik Cambria, Roger Zimmermann, Rada Mihalcea
2018 J jnl
CoRR
Navonil Majumder, Soujanya Poria, Devamanyu Hazarika, Rada Mihalcea, Alexander F. Gelbukh, Erik Cambria
2018 conf
TAC
Laura Wendlandt, Steven R. Wilson, Oana Ignat, Charles Welch, Li Zhang, Mingzhe Wang, Jia Deng, Rada Mihalcea
2018 conf
NAACL-HLT
Laura Wendlandt, Jonathan K. Kummerfeld, Rada Mihalcea
2018 J jnl
CoRR
Laura Wendlandt, Jonathan K. Kummerfeld, Rada Mihalcea
2018 A* conf
EMNLP
Devamanyu Hazarika, Soujanya Poria, Rada Mihalcea, Erik Cambria, Roger Zimmermann
2018 J jnl
CoRR
Soujanya Poria, Devamanyu Hazarika, Navonil Majumder, Gautam Naik, Erik Cambria, Rada Mihalcea
2018 J jnl
CoRR
Li Zhang, Steven R. Wilson, Rada Mihalcea
2018 J jnl
Nat. Lang. Eng.
Carmen Banea, Rada Mihalcea
2018 J jnl
CoRR
Li Zhang, Steven R. Wilson, Rada Mihalcea
2018 conf
NAACL-HLT
Mahmoud Azab, Mingzhe Wang, Max Olan Smith, Noriyuki Kojima, Jia Deng, Rada Mihalcea
2018 J jnl
CoRR
Mahmoud Azab, Mingzhe Wang, Max Olan Smith, Noriyuki Kojima, Jia Deng, Rada Mihalcea
2018 conf
SocInfo (2)
Yaoyiran Li, Rada Mihalcea, Steven R. Wilson
2018 B conf
LREC
Charles Welch, Jonathan K. Kummerfeld, Song Feng, Rada Mihalcea
2017 conf
EACL (2)
Carlo Strapparava, Rada Mihalcea
2017 conf
PETRA
Konstantinos Tsiakas, Michalis Papakostas, Michail Theofanidis, Morris Bell, Rada Mihalcea, Shouyi Wang, Mihai Burzo, Fillia Makedon
2017 J jnl
CoRR
Verónica Pérez-Rosas, Bennett Kleinberg, Alexandra Lefevre, Rada Mihalcea
2017 J jnl
IEEE Trans. Affect. Comput.
Yoonjung Choi, Janyce Wiebe, Rada Mihalcea
2017 A conf
CIKM
Rada Mihalcea
2017 A* conf
EMNLP
Aparna Garimella, Carmen Banea, Rada Mihalcea
2017 J jnl
IEEE Trans. Inf. Forensics Secur.
Mohamed Abouelenien, Verónica Pérez-Rosas, Rada Mihalcea, Mihai Burzo
2017 conf
PETRA
Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea, Kristen Rusinek, David Van Alstine
2017 Misc conf
SAC
Mohamed Abouelenien, Verónica Pérez-Rosas, Bohan Zhao, Rada Mihalcea, Mihai Burzo
2017 B conf
ACII
Vicki Liu, Carmen Banea, Rada Mihalcea
2017 conf
IJCNLP(1)
Shibamouli Lahiri, V. G. Vinod Vydiswaran, Rada Mihalcea
2017 conf
IJCNLP(1)
Verónica Pérez-Rosas, Quincy Davenport, Anna Mengdan Dai, Mohamed Abouelenien, Rada Mihalcea
2017 J jnl
Nat. Lang. Eng.
Shibamouli Lahiri, Rada Mihalcea, Po-Hsiang Lai
2017 conf
SocInfo (1)
Shibamouli Lahiri, Carmen Banea, Rada Mihalcea
2017 conf
IJCNLP(1)
Steven R. Wilson, Rada Mihalcea
2017 conf
SocInfo (1)
Laura Wendlandt, Rada Mihalcea, Ryan L. Boyd, James W. Pennebaker
2017 B conf
ICMI
Mohamed Abouelenien, Verónica Pérez-Rosas, Rada Mihalcea, Mihai Burzo
2017 conf
EACL (1)
Verónica Pérez-Rosas, Rada Mihalcea, Kenneth Resnicow, Satinder Singh, Lawrence C. An, Kathy J. Goggin, Delwyn Catley
2017 conf
ACL (1)
Verónica Pérez-Rosas, Rada Mihalcea, Kenneth Resnicow, Satinder Singh, Lawrence C. An
2017 ch.
Encyclopedia of Machine Learning and Data Mining
Rada Mihalcea
2016 conf
SocInfo (1)
Mahmoud Azab, Rada Mihalcea, Jacob D. Abernethy
2016 conf
PETRA
Mohamed Abouelenien, Rada Mihalcea, Mihai Burzo
2016 B conf
LREC
Carmen Banea, Xi Chen, Rada Mihalcea
2016 conf
CLPsych@HLT-NAACL
Verónica Pérez-Rosas, Rada Mihalcea, Kenneth Resnicow, Satinder Singh, Lawrence C. An
2016 conf
AAAI Spring Symposia
Steven R. Wilson, Rada Mihalcea, Ryan L. Boyd, James W. Pennebaker
2016 conf
NLP+CSS@EMNLP
Steven R. Wilson, Rada Mihalcea, Ryan L. Boyd, James W. Pennebaker
2016 conf
ACL (2)
Xianzhi Ruan, Steven R. Wilson, Rada Mihalcea
2016 conf
PETRA
Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2016 B conf
COLING
Aparna Garimella, Rada Mihalcea, James W. Pennebaker
2016 conf
AAAI Spring Symposia
Ho-gene Choe, Rada Mihalcea
2016 J jnl
CoRR
Konstantinos Pappas, Rada Mihalcea
2016 conf
SemEval@NAACL-HLT
Eneko Agirre, Carmen Banea, Daniel M. Cer, Mona T. Diab, Aitor Gonzalez-Agirre, Rada Mihalcea, German Rigau, Janyce Wiebe
2016 J jnl
CoRR
Konstantinos Pappas, Steven R. Wilson, Rada Mihalcea
2016 conf
ECCV (8)
Mingzhe Wang, Mahmoud Azab, Noriyuki Kojima, Rada Mihalcea, Jia Deng
2016 B conf
COLING
Charles Welch, Rada Mihalcea
2016 J jnl
IEEE Intell. Syst.
Rada Mihalcea, Aparna Garimella
2016 A* conf
AAAI
Joyce Yue Chai, Anoop Sarkar, Rada Mihalcea
2016 conf
PEOPLES@COLING
Aparna Garimella, Rada Mihalcea
2015 J jnl
Nat. Lang. Eng.
Vivi Nastase, Rada Mihalcea, Dragomir R. Radev
2015 conf
PETRA
Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea
2015 A* conf
EMNLP
Cornelia Caragea, Florin Adrian Bulgarov, Rada Mihalcea
2015 B conf
ICMI
Verónica Pérez-Rosas, Mohamed Abouelenien, Rada Mihalcea, Mihai Burzo
2015 A* conf
EMNLP
Verónica Pérez-Rosas, Rada Mihalcea
2015 A* conf
CVPR
Yu-Wei Chao, Zhan Wang, Rada Mihalcea, Jia Deng
2015 ed.
HLT-NAACL
Rada Mihalcea, Joyce Yue Chai, Anoop Sarkar
2015 ed.
WMDD@ICMI
Mohamed Abouelenien, Mihai Burzo, Rada Mihalcea, Verónica Pérez-Rosas
2015 conf
SemEval@NAACL-HLT
Eneko Agirre, Carmen Banea, Claire Cardie, Daniel M. Cer, Mona T. Diab, Aitor Gonzalez-Agirre, Weiwei Guo, Iñigo Lopez-Gazpio, Montse Maritxalar, Rada Mihalcea, German Rigau, Larraitz Uria, Janyce Wiebe
2015 conf
WMDD@ICMI
Mohamed Abouelenien, Rada Mihalcea, Mihai Burzo
2015 conf
HLT-NAACL
Mahmoud Azab, Chris Hokamp, Rada Mihalcea
2015 A conf
ICWSM
Ryan L. Boyd, Steven R. Wilson, James W. Pennebaker, Michal Kosinski, David J. Stillwell, Rada Mihalcea
2015 A* conf
EMNLP
Verónica Pérez-Rosas, Mohamed Abouelenien, Rada Mihalcea, Yao Xiao, C. J. Linton, Mihai Burzo
2015 conf
AAAI Workshop: Scholarly Big Data
Rada Mihalcea, Charles Welch
2015 J jnl
Nat. Lang. Eng.
Zornitsa Kozareva, Vivi Nastase, Rada Mihalcea
2014 B conf
LREC
Verónica Pérez-Rosas, Rada Mihalcea, Alexis Narvaez, Mihai Burzo
2014 B conf
LREC
Vanessa Loza, Shibamouli Lahiri, Rada Mihalcea, Po-Hsiang Lai
2014 J jnl
Comput. Speech Lang.
Alexandra Balahur, Rada Mihalcea, Andrés Montoyo
2014 conf
ACL (2)
Verónica Pérez-Rosas, Rada Mihalcea
2014 ch.
Text Mining
Verónica Pérez-Rosas, Cristian Bologa, Mihai Burzo, Rada Mihalcea
2014 B conf
ICMI
Mohamed Abouelenien, Verónica Pérez-Rosas, Rada Mihalcea, Mihai Burzo
2014 J jnl
Nat. Lang. Eng.
Ravi Som Sinha, Rada Mihalcea
2014 conf
MICAI (1)
Verónica Pérez-Rosas, Rada Mihalcea
2014 A conf
EACL
Cem Akkaya, Janyce Wiebe, Rada Mihalcea
2014 B conf
LREC
Chris Hokamp, Rada Mihalcea, Peter Schuelke
2014 conf
SemEval@COLING
Eneko Agirre, Carmen Banea, Claire Cardie, Daniel M. Cer, Mona T. Diab, Aitor Gonzalez-Agirre, Weiwei Guo, Rada Mihalcea, German Rigau, Janyce Wiebe
2014 J jnl
Comput. Speech Lang.
Carmen Banea, Rada Mihalcea, Janyce Wiebe
2014 conf
SemEval@COLING
Carmen Banea, Di Chen, Rada Mihalcea, Claire Cardie, Janyce Wiebe
2013 J jnl
CoRR
Shibamouli Lahiri, Rada Mihalcea
2013 B conf
ICMI
Rada Mihalcea, Verónica Pérez-Rosas, Mihai Burzo
2013 conf
*SEM@NAACL-HLT
Carmen Banea, Yoonjung Choi, Lingjia Deng, Samer Hassan, Michael Mohler, Bishan Yang, Claire Cardie, Rada Mihalcea, Janyce Wiebe
2013 conf
*SEM@NAACL-HLT
Hui Shen, Razvan C. Bunescu, Rada Mihalcea
2013 conf
TAC
Carmen Banea, Rada Mihalcea, Yoonjung Choi, Lingjia Deng, Janyce Wiebe, Ozan Irsoy, Detian Shi, Claire Cardie
2013 conf
OAIR
Madalina Mitran, Rada Mihalcea, Guillaume Cabanac, Mohand Boughanem
2013 B conf
IJCNLP
Bharath Dandala, Rada Mihalcea, Razvan C. Bunescu
2013 J jnl
IEEE Intell. Syst.
Verónica Pérez-Rosas, Rada Mihalcea, Louis-Philippe Morency
2013 J jnl
IEEE Trans. Affect. Comput.
Carmen Banea, Rada Mihalcea, Janyce Wiebe
2013 Misc conf
RANLP
Bharath Dandala, Chris Hokamp, Rada Mihalcea, Razvan C. Bunescu
2013 A conf
INTERSPEECH
Verónica Pérez-Rosas, Rada Mihalcea
2013 J jnl
Lang. Resour. Evaluation
Diana McCarthy, Ravi Som Sinha, Rada Mihalcea
2013 conf
PETRA
Verónica Pérez-Rosas, Alexis Narvaez, Mihai Burzo, Rada Mihalcea
2013 conf
BEA@NAACL-HLT
Shibamouli Lahiri, Rada Mihalcea
2013 conf
ACL (1)
Verónica Pérez-Rosas, Rada Mihalcea, Louis-Philippe Morency
2013 ch.
The People's Web Meets NLP
Bharath Dandala, Rada Mihalcea, Razvan C. Bunescu
2012 B conf
LREC
Carlo Strapparava, Rada Mihalcea, Alberto Battocchi
2012 B conf
LREC
Verónica Pérez-Rosas, Carmen Banea, Rada Mihalcea
2012 conf
EMNLP-CoNLL
Rada Mihalcea, Carlo Strapparava
2012 conf
*SEM@NAACL-HLT
Samer Hassan, Carmen Banea, Rada Mihalcea
2012 conf
ACL (Tutorial Abstracts)
Rada Mihalcea, Carmen Banea, Janyce Wiebe
2012 conf
WASSA@ACL
Rada Mihalcea
2012 ed.
CLfL@NAACL-HLT
David K. Elson, Anna Kazantseva, Rada Mihalcea, Stan Szpakowicz
2012 conf
SemEval@NAACL-HLT
Lucia Specia, Sujay Kumar Jauhar, Rada Mihalcea
2012 conf
COLING (Posters)
Hui Shen, Razvan C. Bunescu, Rada Mihalcea
2012 conf
*SEM@NAACL-HLT
Bharath Dandala, Rada Mihalcea, Razvan C. Bunescu
2012 B conf
ICMI
Rada Mihalcea, Mihai Burzo
2012 B conf
ICMI
Mihai Burzo, Daniel McDuff, Rada Mihalcea, Louis-Philippe Morency, Alexis Narvaez, Verónica Pérez-Rosas
2012 conf
SemEval@NAACL-HLT
Carmen Banea, Samer Hassan, Michael Mohler, Rada Mihalcea
2012 B conf
LREC
Erwin Fernandez-Ordonez, Rada Mihalcea, Samer Hassan
2012 conf
ICSC
Cem Akkaya, Janyce Wiebe, Rada Mihalcea
2012 conf
ACL (2)
Rada Mihalcea, Vivi Nastase
2011 conf
ACII (2)
Gözde Özbal, Carlo Strapparava, Rada Mihalcea, Daniele Pighin
2011 conf
ACL (System Demonstrations)
Hakan Ceylan, Rada Mihalcea
2011 B conf
IJCNLP
Chee Wee Leong, Rada Mihalcea
2011 conf
CLEF
Chee Wee Leong, Samer Hassan, Miguel E. Ruiz, Rada Mihalcea
2011 B conf
CoNLL
Cem Akkaya, Janyce Wiebe, Alexander Conrad, Rada Mihalcea
2011 A* conf
ACL
Michael Mohler, Razvan C. Bunescu, Rada Mihalcea
2011 J jnl
ACM Trans. Speech Lang. Process.
Samer Hassan, Rada Mihalcea
2011 conf
IWCS
Chee Wee Leong, Rada Mihalcea
2011 A* conf
AAAI
Samer Hassan, Rada Mihalcea
2011 A* ed.
ACL
Dekang Lin, Yuji Matsumoto, Rada Mihalcea
2011 conf
LaTeCH@ACL
Tze-I Yang, Andrew Torget, Rada Mihalcea
2011 B conf
ICMI
Louis-Philippe Morency, Rada Mihalcea, Payal Doshi
2011 conf
IWCS
Carmen Banea, Rada Mihalcea
2010 conf
Mturk@HLT-NAACL
Cem Akkaya, Alexander Conrad, Janyce Wiebe, Rada Mihalcea
2010 ch.
Intelligent Information Access
Carlo Strapparava, Rada Mihalcea
2010 C conf
CICLing
Rada Mihalcea, Carlo Strapparava, Stephen G. Pulman
2010 A* conf
EMNLP
Lei Shi, Rada Mihalcea, Mingjun Tian
2010 B conf
COLING
Carmen Banea, Rada Mihalcea, Janyce Wiebe
2010 conf
HLT-NAACL
Hakan Ceylan, Rada Mihalcea, Umut Ozertem, Elena Lloret, Manuel Palomar
2010 conf
SemEval@ACL
Rada Mihalcea, Ravi Som Sinha, Diana McCarthy
2010 conf
COLING (Posters)
Chee Wee Leong, Rada Mihalcea, Samer Hassan
2010 ch.
Encyclopedia of Machine Learning
Rada Mihalcea
2009 C conf
ISI
Chengyang Zhang, Yan Huang, Rada Mihalcea, Hector Cuellar
2009 J jnl
AI Mag.
Razvan C. Bunescu, Vitor R. Carvalho, Jan Chomicki, Vincent Conitzer, Michael T. Cox, Virginia Dignum, Zachary Dodds, Mark Dredze, David Furcy, Evgeniy Gabrilovich, Mehmet H. Göker, Hans W. Guesgen, Haym Hirsh, Dietmar Jannach, Ulrich Junker, Wolfgang Ketter, Alfred Kobsa, Sven Koenig, Tessa A. Lau, Lundy Lewis, Eric T. Matson, Ted Metzler, Rada Mihalcea, Bamshad Mobasher, Joelle Pineau, Pascal Poupart, Anita Raja, Wheeler Ruml, Norman M. Sadeh, Guy Shani, Daniel G. Shapiro, Sarabjot Singh Anand, Matthew E. Taylor, Kiri Wagstaff, Trey Smith, William E. Walsh, Rong Zhou
2009 Misc conf
RANLP
Ravi Som Sinha, Rada Mihalcea
2009 A* conf
EMNLP
Samer Hassan, Rada Mihalcea
2009 conf
Linguistic Annotation Workshop
Chee Wee Leong, Rada Mihalcea
2009 conf
HLT-NAACL
Yaw Gyamfi, Janyce Wiebe, Rada Mihalcea, Cem Akkaya
2009 Misc conf
RANLP
Samer Hassan, Rada Mihalcea
2009 C conf
CICLing
Rada Mihalcea, Stephen G. Pulman
2009 conf
SEW@NAACL-HLT
Ravi Som Sinha, Diana McCarthy, Rada Mihalcea
2009 A* conf
EMNLP
Cem Akkaya, Janyce Wiebe, Rada Mihalcea
2009 A conf
EACL
Michael Mohler, Rada Mihalcea
2009 C conf
CICLing
Hakan Ceylan, Rada Mihalcea
2009 conf
ACL/IJCNLP (2)
Rada Mihalcea, Carlo Strapparava
2009 conf
HLT-NAACL (Short Papers)
Kino Coursey, Rada Mihalcea
2009 B conf
CoNLL
Kino Coursey, Rada Mihalcea, William E. Moen
2008 B conf
LREC
Carmen Banea, Rada Mihalcea, Janyce Wiebe
2008 conf
ASIST
Kino Coursey, Rada Mihalcea, William E. Moen
2008 B conf
LREC
Michael Mohler, Rada Mihalcea
2008 B conf
IJCNLP
Rada Mihalcea, Vivi Nastase
2008 Misc conf
SAC
Carlo Strapparava, Rada Mihalcea
2008 A* conf
ACL
Andras Csomai, Rada Mihalcea
2008 J jnl
IEEE Intell. Syst.
Andras Csomai, Rada Mihalcea
2008 A* conf
EMNLP
Carmen Banea, Rada Mihalcea, Janyce Wiebe, Samer Hassan
2008 J jnl
AI Mag.
Dragomir R. Radev, Rada Mihalcea
2008 J jnl
Mach. Transl.
Rada Mihalcea, Chee Wee Leong
2007 C conf
CICLing
Rada Mihalcea, Stephen G. Pulman
2007 conf
EMNLP-CoNLL
Rada Mihalcea, Hakan Ceylan
2007 Misc conf
FLAIRS
Andras Csomai, Rada Mihalcea
2007 A* conf
ACL
Rada Mihalcea, Carmen Banea, Janyce Wiebe
2007 A conf
AIED
Andras Csomai, Rada Mihalcea
2007 A conf
ICWSM
Hugo Liu, Rada Mihalcea
2007 J jnl
Int. J. Semantic Comput.
Samer Hassan, Rada Mihalcea, Carmen Banea
2007 conf
ICSC
Samer Hassan, Rada Mihalcea, Carmen Banea
2007 conf
SemEval@ACL
Carlo Strapparava, Rada Mihalcea
2007 conf
WILF
Rada Mihalcea
2007 conf
SemEval@ACL
Rada Mihalcea, Andras Csomai, Massimiliano Ciaramita
2007 conf
SemEval@ACL
Samer Hassan, Andras Csomai, Carmen Banea, Ravi Som Sinha, Rada Mihalcea
2007 conf
ICSC
Ravi Som Sinha, Rada Mihalcea
2007 conf
HLT-NAACL
Rada Mihalcea
2007 A conf
CIKM
Rada Mihalcea, Andras Csomai
2006 conf
AAAI Spring Symposium: Computational Approaches to Analyzing Weblogs
Rada Mihalcea, Hugo Liu
2006 A* conf
AAAI
Rada Mihalcea, Courtney D. Corley, Carlo Strapparava
2006 C conf
CICLing
Andras Csomai, Rada Mihalcea
2006 conf
HLT-NAACL
Rada Mihalcea, Dragomir R. Radev
2006 J jnl
Comput. Intell.
Rada Mihalcea, Carlo Strapparava
2006 C conf
CICLing
Rada Mihalcea, Hugo Liu, Henry Lieberman
2006 C conf
CICLing
Rada Mihalcea
2006 J jnl
AI Mag.
Wolfgang Achtner, Esma Aïmeur, Sarabjot Singh Anand, Douglas E. Appelt, Naveen Ashish, Tiffany Barnes, Joseph E. Beck, M. Bernardine Dias, Prashant Doshi, Chris Drummond, William Elazmeh, Ariel Felner, Dayne Freitag, Hector Geffner, Christopher W. Geib, Richard Goodwin, Robert C. Holte, Frank Hutter, Fair Isaac, Nathalie Japkowicz, Gal A. Kaminka, Sven Koenig, Michail G. Lagoudakis, David B. Leake, Lundy Lewis, Hugo Liu, Ted Metzler, Rada Mihalcea, Bamshad Mobasher, Pascal Poupart, David V. Pynadath, Thomas Roth-Berghofer, Wheeler Ruml, Stefan Schulz, Sven Schwarz, Stephanie Seneff, Amit P. Sheth, Ron Sun, Michael Thielscher, Afzal Upal, Jason D. Williams, Steve J. Young, Dmitry Zelenko
2006 J jnl
IEEE Intell. Syst.
Rada Mihalcea, Carlo Strapparava
2006 Misc conf
AMTA
Rada Mihalcea, Ben Leong
2006 A* conf
ACL
Janyce Wiebe, Rada Mihalcea
2005 conf
IJCNLP (companion)
Rada Mihalcea, Paul Tarau
2005 A* conf
AAAI
Rada Mihalcea
2005 A* conf
ACL
Rada Mihalcea
2005 conf
INTETAIN
Rada Mihalcea, Carlo Strapparava
2005 conf
HLT/EMNLP
Rada Mihalcea, Carlo Strapparava
2005 conf
EMSEE@ACL
Courtney D. Corley, Rada Mihalcea
2005 conf
AAAI Spring Symposium: Knowledge Collection from Volunteer Contributors
Timothy Chklovski, Pedro M. Domingos, Henry Lieberman, Rada Mihalcea, Push Singh
2005 J jnl
Nat. Lang. Eng.
Rada Mihalcea, Michel Simard
2005 conf
AAAI Spring Symposium: Knowledge Collection from Volunteer Contributors
Andy Borman, Rada Mihalcea, Paul Tarau
2005 ed.
ParallelText@ACL
Philipp Koehn, Joel Martin, Rada Mihalcea, Christof Monz, Ted Pedersen
2005 C conf
CICLing
Lei Shi, Rada Mihalcea
2005 J jnl
AI Mag.
Michael L. Anderson, Thomas Barkowsky, Pauline Berry, Douglas S. Blank, Timothy Chklovski, Pedro M. Domingos, Marek J. Druzdzel, Christian Freksa, John Gersh, Mary Hegarty, Tze-Yun Leong, Henry Lieberman, Ric K. Lowe, Susann LuperFoy, Rada Mihalcea, Lisa Meeden, David P. Miller, Tim Oates, Robert L. Popp, Daniel G. Shapiro, Nathan Schurr, Push Singh, John Yen
2005 Misc conf
SAC
Paul Tarau, Rada Mihalcea, Elizabeth Figa
2005 A* conf
ACL
Rada Mihalcea, Andras Csomai
2005 conf
HLT/EMNLP
Rada Mihalcea
2005 conf
ParallelText@ACL
Joel Martin, Rada Mihalcea, Ted Pedersen
2004 conf
SENSEVAL@ACL
Rada Mihalcea, Vivi Nastase, Timothy Chklovski, Doina Tatar, Dan Tufis, Florentina Hristea
2004 B conf
CoNLL
Rada Mihalcea
2004 B conf
LREC
Vivi Nastase, Rada Mihalcea
2004 conf
ACL (Poster and Demonstration)
Rada Mihalcea
2004 conf
HLT-NAACL (Demonstration Papers)
Lei Shi, Rada Mihalcea
2004 B conf
COLING
Rada Mihalcea, Paul Tarau, Elizabeth Figa
2004 conf
SENSEVAL@ACL
Rada Mihalcea, Ehsanul Faruque
2004 A* conf
EMNLP
Rada Mihalcea, Paul Tarau
2004 conf
SENSEVAL@ACL
Rada Mihalcea, Timothy Chklovski, Adam Kilgarriff
2004 conf
SENSEVAL@ACL
Timothy Chklovski, Rada Mihalcea, Ted Pedersen, Amruta Purandare
2004 A conf
ECAI
Rada Mihalcea
2003 conf
ParallelTexts@NAACL-HLT
Rada Mihalcea, Ted Pedersen
2003 Misc conf
RANLP
Rada Mihalcea, Timothy Chklovski
2003 conf
LINC@EACL
Rada Mihalcea, Timothy Chklovski
2003 C conf
CICLing
Rada Mihalcea
2003 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Rada Mihalcea
2003 Misc conf
RANLP
Rada Mihalcea
2002 B conf
LREC
Rada Mihalcea
2002 conf
SENSEVAL
Timothy Chklovski, Rada Mihalcea
2002 conf
TREC
Rada Mihalcea
2002 C conf
CICLing
Rada Mihalcea
2002 J jnl
Int. J. Artif. Intell. Tools
Rada Mihalcea
2002 B conf
COLING
Rada Mihalcea
2002 B conf
CoNLL
Rada Mihalcea, Vivi Nastase
2002 J jnl
Nat. Lang. Eng.
Rada Mihalcea
2001 J jnl
Int. J. Artif. Intell. Tools
Rada Mihalcea, Dan I. Moldovan
2001 conf
TREC
Sanda M. Harabagiu, Dan I. Moldovan, Marius Pasca, Mihai Surdeanu, Rada Mihalcea, Roxana Girju, Vasile Rus, V. Finley Lacatusu, Paul Morarescu, Razvan C. Bunescu
2001 Misc conf
FLAIRS
Rada Mihalcea, Dan I. Moldovan
2001 A* conf
ACL
Sanda M. Harabagiu, Dan I. Moldovan, Marius Pasca, Rada Mihalcea, Mihai Surdeanu, Razvan C. Bunescu, Roxana Girju, Vasile Rus, Paul Morarescu
2001 B conf
ICTAI
Rada Mihalcea, Silvana I. Mihalcea
2000 conf
AAAI/IAAI
Rada Mihalcea
2000 Misc conf
FLAIRS
Rada Mihalcea, Dan I. Moldovan
2000 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Rada Mihalcea, Dan I. Moldovan
2000 conf
TREC
Sanda M. Harabagiu, Dan I. Moldovan, Marius Pasca, Rada Mihalcea, Mihai Surdeanu, Razvan C. Bunescu, Roxana Girju, Vasile Rus, Paul Morarescu
2000 A* conf
ACL
Dan I. Moldovan, Sanda M. Harabagiu, Marius Pasca, Rada Mihalcea, Roxana Girju, Richard Goodrum, Vasile Rus
2000 J jnl
IEEE Internet Comput.
Dan I. Moldovan, Rada Mihalcea
1999 A* conf
ACL
Rada Mihalcea, Dan I. Moldovan
1999 conf
AAAI/IAAI
Rada Mihalcea, Dan I. Moldovan
1999 Misc conf
FLAIRS
Rada Mihalcea, Dan I. Moldovan
1999 conf
TREC
Dan I. Moldovan, Sanda M. Harabagiu, Marius Pasca, Rada Mihalcea, Richard Goodrum, Roxana Girju, Vasile Rus
1998 Misc conf
FLAIRS
Dan I. Moldovan, Rada Mihalcea
1998 conf
WordNet@ACL/COLING
Rada Mihalcea, Dan I. Moldovan
redb/queries.py
← Index redb/queries.py python
"""
Database query functions for REDB.

Contains all functions that query ClickHouse for sample metadata,
deduplication checks, and catalog lookups.
"""
import os
import ast
import clickhouse_connect
from typing import List, Optional, Dict

from redb import settings
from redb.s3_utils import generate_s3_key_from_hash


def get_supported_formats(magika_filter: Optional[str] = None) -> List[str]:
    """
    Get supported file formats from SUPPORTED_FORMATS env variable or magika_filter override.
    Expected format: SUPPORTED_FORMATS=['pebin', 'elf']

    Args:
        magika_filter: Optional single format to filter by (overrides env var)

    Returns:
        List of supported format strings, defaults to ['pebin'] if not set
    """
    # If magika_filter is provided, use it as the only format
    if magika_filter:
        return [magika_filter]

    formats_str = os.getenv('SUPPORTED_FORMATS', "['pebin']")
    try:
        formats = ast.literal_eval(formats_str)
        if isinstance(formats, list) and all(isinstance(f, str) for f in formats):
            return formats
        else:
            print(f"[WARNING] SUPPORTED_FORMATS must be a list of strings, got: {formats_str}")
            return ['pebin']
    except (ValueError, SyntaxError) as e:
        print(f"[WARNING] Failed to parse SUPPORTED_FORMATS '{formats_str}': {e}")
        return ['pebin']


def get_db_catalog_connection():
    """Create and return a ClickHouse client for catalog queries"""
    return clickhouse_connect.get_client(
        host=os.getenv("DB_HOST"),
        port=int(os.getenv("DB_PORT", "8123")),
        verify=os.getenv("DB_ENFORCE_SSL", "False").lower() == "true",
        username=os.getenv("DB_USER"),
        password=os.getenv("DB_PASSWORD"),
        database=os.getenv("DB_NAME")
    )


def fetch_s3_objects_by_repository(repository: Optional[str], index_prefix: str, decompile: bool, notes: Optional[str] = None, magika_filter: Optional[str] = None, yara_scan: bool = False, force: bool = False) -> List[Dict]:
    """
    Query the ClickHouse repository_upload_sessions table to get samples.
    S3 bucket comes from env var, S3 key is derived from sha256.

    Args:
        repository: Repository name (e.g., "bazaar", "malshare"). If None or "all-repos", queries all repositories.
        index_prefix: Table prefix for checking existing samples
        decompile: Whether we're in decompile mode (affects which table to check for existing)
        notes: Optional filter for notes field
        magika_filter: Optional single filetype to filter by (overrides SUPPORTED_FORMATS)
        yara_scan: Whether we're in YARA-only mode (skips "already processed" check)

    Returns:
        List of dicts with sha256, s3_bucket, s3_key for each sample
    """
    try:
        client = get_db_catalog_connection()
        s3_bucket = os.getenv('S3_BUCKET')

        if not s3_bucket:
            print("[ERROR] S3_BUCKET environment variable is required")
            return []

        # Get supported formats from env or magika_filter override
        supported_formats = get_supported_formats(magika_filter)
        print(f"[INFO] Querying for supported formats: {supported_formats}")

        # Build query - repository filter is optional
        # Join with catalog_samples to get first_seen date
        if repository and repository != "all-repos":
            query = """
                SELECT DISTINCT rus.sha256, rus.filetype_magika, cs.first_seen
                FROM repository_upload_sessions rus
                LEFT JOIN catalog_samples cs ON rus.sha256 = cs.sha256
                WHERE rus.repository = %(repo)s
                  AND rus.filetype_magika IN %(formats)s
            """
            params = {"repo": repository, "formats": supported_formats}
        else:
            # Query all repositories
            query = """
                SELECT DISTINCT rus.sha256, rus.filetype_magika, cs.first_seen
                FROM repository_upload_sessions rus
                LEFT JOIN catalog_samples cs ON rus.sha256 = cs.sha256
                WHERE rus.filetype_magika IN %(formats)s
            """
            params = {"formats": supported_formats}

        if notes:
            query += " AND rus.notes LIKE %(notes)s"
            params["notes"] = f"%{notes}%"

        # Execute query and convert to list of dictionaries
        result = client.query(query, parameters=params)

        # Build rows with s3_bucket and s3_key derived from sha256
        rows = []
        for row in result.result_rows:
            sha256 = row[0]
            # Handle binary string if needed
            if isinstance(sha256, bytes):
                sha256 = sha256.decode('utf-8')

            rows.append({
                'sha256': sha256,
                's3_bucket': s3_bucket,
                's3_key': generate_s3_key_from_hash(sha256),
                'filetype_magika': row[1],
                'first_seen': row[2]  # From catalog_samples (None if not found)
            })

        print(f"[DEBUG] Found {len(rows)} objects in repository_upload_sessions for repository {repository}")

        # Extract SHA256 hashes from the results for bulk checking
        sha256_list = [row.get('sha256') for row in rows if row.get('sha256')]

        if sha256_list and not force:
            # Check which hashes are already in the database
            existing_hashes = is_in_db_bulk(sha256_list, index_prefix, decompile, yara_scan, magika_filter)
            print(f"[INFO] Found {len(existing_hashes)} objects already in database")

            # Filter out rows with existing hashes
            rows = [row for row in rows if row.get('sha256') not in existing_hashes]
            print(f"[INFO] After filtering, {len(rows)} objects remain to be processed")
        elif force:
            print(f"[INFO] Force mode: skipping deduplication check, processing all {len(sha256_list)} objects")

        # Randomize the order of rows before returning
        import random
        random.shuffle(rows)

        return rows
    except Exception as e:
        print(f"[ERROR] Failed to query repository_upload_sessions: {e}")
        return []
    finally:
        if 'client' in locals():
            client.close()


def fetch_s3_objects_by_date_range(
    index_prefix: str,
    decompile: bool,
    start_date: str,
    end_date: str,
    repository: Optional[str] = None,
    notes: Optional[str] = None,
    magika_filter: Optional[str] = None,
    yara_scan: bool = False,
    force: bool = False,
    analyzed: bool = False
) -> List[Dict]:
    """
    Query samples from catalog_samples by first_seen date range, filtered to only include
    samples that exist in repository_upload_sessions (bulk/repo uploads only).

    Args:
        index_prefix: Table prefix for checking existing samples
        decompile: Whether we're in decompile mode
        start_date: Start date (inclusive) in YYYY-MM-DD format
        end_date: End date (exclusive) in YYYY-MM-DD format
        repository: Optional repository filter
        notes: Optional notes filter
        magika_filter: Optional single filetype to filter by (overrides SUPPORTED_FORMATS)
        yara_scan: Whether we're in YARA-only mode (skips "already processed" check)
        analyzed: Filter to only samples already in basic_properties (cross-database join)

    Returns:
        List of dicts with sha256, s3_bucket, s3_key for each sample
    """
    try:
        client = get_db_catalog_connection()
        s3_bucket = os.getenv('S3_BUCKET')

        if not s3_bucket:
            print("[ERROR] S3_BUCKET environment variable is required")
            return []

        # Get supported formats from env or magika_filter override
        supported_formats = get_supported_formats(magika_filter)
        print(f"[INFO] Querying for supported formats: {supported_formats}")

        # Join catalog_samples with repository_upload_sessions to:
        # 1. Filter by first_seen date from catalog_samples
        # 2. Only include samples that exist in repository_upload_sessions (not user uploads)
        # 3. Optionally filter to only already-analyzed samples (in basic_properties)
        analyzed_join = ""
        if analyzed:
            basic_table = f"{index_prefix}_basic_properties"
            analyzed_join = f"INNER JOIN {basic_table} bp ON cs.sha256 = bp.sha256"
            print(f"[INFO] Filtering to already-analyzed samples in {basic_table}")

        query = f"""
            SELECT DISTINCT cs.sha256, rus.filetype_magika, cs.first_seen
            FROM catalog_samples cs
            INNER JOIN repository_upload_sessions rus ON cs.sha256 = rus.sha256
            {analyzed_join}
            WHERE cs.first_seen >= %(start_date)s
              AND cs.first_seen < %(end_date)s
              AND rus.filetype_magika IN %(formats)s
        """
        params = {
            "start_date": start_date,
            "end_date": end_date,
            "formats": supported_formats
        }

        if repository:
            query += " AND rus.repository = %(repo)s"
            params["repo"] = repository

        if notes:
            query += " AND rus.notes LIKE %(notes)s"
            params["notes"] = f"%{notes}%"

        # Execute query
        result = client.query(query, parameters=params)

        # Build rows with s3_bucket and s3_key derived from sha256
        rows = []
        for row in result.result_rows:
            sha256 = row[0]
            # Handle binary string if needed
            if isinstance(sha256, bytes):
                sha256 = sha256.decode('utf-8')

            rows.append({
                'sha256': sha256,
                's3_bucket': s3_bucket,
                's3_key': generate_s3_key_from_hash(sha256),
                'filetype_magika': row[1],
                'first_seen': row[2]  # From catalog_samples
            })

        date_info = f"from {start_date} to {end_date}"
        repo_info = f" for repository {repository}" if repository else ""
        print(f"[DEBUG] Found {len(rows)} objects in catalog_samples {date_info}{repo_info}")

        # Extract SHA256 hashes from the results for bulk checking
        sha256_list = [row.get('sha256') for row in rows if row.get('sha256')]

        if sha256_list and not force:
            # Check which hashes are already in the database
            existing_hashes = is_in_db_bulk(sha256_list, index_prefix, decompile, yara_scan, magika_filter)
            print(f"[INFO] Found {len(existing_hashes)} objects already in database")

            # Filter out rows with existing hashes
            rows = [row for row in rows if row.get('sha256') not in existing_hashes]
            print(f"[INFO] After filtering, {len(rows)} objects remain to be processed")
        elif force:
            print(f"[INFO] Force mode: skipping deduplication check, processing all {len(sha256_list)} objects")

        # Randomize the order of rows before returning
        import random
        random.shuffle(rows)

        return rows
    except Exception as e:
        print(f"[ERROR] Failed to query catalog_samples by date range: {e}")
        return []
    finally:
        if 'client' in locals():
            client.close()


def fetch_analyzed_samples(
    index_prefix: str,
    decompile: bool,
    magika_filter: Optional[str] = None,
    yara_scan: bool = False,
    force: bool = False,
    rerun: bool = False
) -> List[Dict]:
    """
    Query samples from basic_properties that have already been analyzed.
    Useful for reprocessing with decompilation or specific modules.

    Args:
        index_prefix: Table prefix for ClickHouse
        decompile: Whether we're in decompile mode (affects filtering)
        magika_filter: Optional single filetype to filter by (overrides SUPPORTED_FORMATS)
        yara_scan: Whether we're in YARA-only mode (skips decompile filtering)
        force: Skip all deduplication checks when True
        rerun: Query disassembled table directly (only already-disassembled samples)

    Returns:
        List of dicts with sha256, s3_bucket, s3_key for each analyzed sample
    """
    try:
        client = settings.create_clickhouse_client()
        s3_bucket = os.getenv('S3_BUCKET')

        if not s3_bucket:
            print("[ERROR] S3_BUCKET environment variable is required")
            return []

        # Rerun mode: query directly from disassembled_functions_references
        # instead of basic_properties. This targets only samples that already
        # went through binja successfully.
        if rerun:
            disassembled_table = _get_code_dedup_table(magika_filter)
            basic_table = f"{index_prefix}_basic_properties"

            # Join with basic_properties to get filetype_magika and apply format filters
            conditions = []
            params = {}

            if magika_filter:
                conditions.append("bp.filetype_magika = %(magika)s")
                params["magika"] = magika_filter
            else:
                supported_formats = get_supported_formats()
                conditions.append("bp.filetype_magika IN %(formats)s")
                params["formats"] = supported_formats

            query = (
                f"SELECT DISTINCT d.sha256, bp.filetype_magika "
                f"FROM {disassembled_table} d FINAL "
                f"INNER JOIN {basic_table} bp FINAL ON d.sha256 = bp.sha256"
            )
            if conditions:
                query += " WHERE " + " AND ".join(conditions)

            result = client.query(query, parameters=params)

            rows = []
            for row in result.result_rows:
                sha256 = row[0]
                if isinstance(sha256, bytes):
                    sha256 = sha256.decode('utf-8')
                rows.append({
                    'sha256': sha256,
                    's3_bucket': s3_bucket,
                    's3_key': generate_s3_key_from_hash(sha256),
                    'filetype_magika': row[1]
                })

            print(f"[INFO] Rerun mode: found {len(rows)} already-disassembled samples in {disassembled_table}")

            import random
            random.shuffle(rows)
            return rows

        basic_table = f"{index_prefix}_basic_properties"

        # Build query
        conditions = []
        params = {}

        if magika_filter:
            conditions.append("filetype_magika = %(magika)s")
            params["magika"] = magika_filter
        else:
            supported_formats = get_supported_formats()
            conditions.append("filetype_magika IN %(formats)s")
            params["formats"] = supported_formats

        query = f"SELECT DISTINCT sha256, filetype_magika FROM {basic_table} FINAL"
        if conditions:
            query += " WHERE " + " AND ".join(conditions)

        result = client.query(query, parameters=params)

        rows = []
        for row in result.result_rows:
            sha256 = row[0]
            if isinstance(sha256, bytes):
                sha256 = sha256.decode('utf-8')
            rows.append({
                'sha256': sha256,
                's3_bucket': s3_bucket,
                's3_key': generate_s3_key_from_hash(sha256),
                'filetype_magika': row[1]
            })

        print(f"[DEBUG] Found {len(rows)} analyzed samples in {basic_table}")

        # In YARA-only mode, filter out already-scanned samples (unless force)
        if yara_scan and not force:
            sha256_list = [r['sha256'] for r in rows]
            if sha256_list:
                already_scanned = _check_yara_matches_bulk(sha256_list)
                print(f"[INFO] Found {len(already_scanned)} already YARA-scanned samples")
                rows = [r for r in rows if r['sha256'].lower() not in already_scanned]
                print(f"[INFO] After filtering, {len(rows)} samples remain for YARA scanning")
        # In decompile mode, filter out already-disassembled samples (unless force)
        # We check disassembly (not decompilation) because disassembly is the ground truth:
        # disassembly always succeeds, decompilation may not, so a missing decompile
        # entry doesn't mean the sample wasn't analyzed.
        elif decompile and not force:
            sha256_list = [r['sha256'] for r in rows]
            if sha256_list:
                disassembled_table = _get_code_dedup_table(magika_filter)
                batch_size = 3900

                already_disassembled = set()
                for i in range(0, len(sha256_list), batch_size):
                    batch = sha256_list[i:i+batch_size]
                    placeholders = "','".join(batch)
                    check_query = f"SELECT DISTINCT sha256 FROM {disassembled_table} FINAL WHERE sha256 IN ('{placeholders}')"
                    check_result = client.query(check_query)
                    for check_row in check_result.result_rows:
                        hash_value = check_row[0]
                        if isinstance(hash_value, bytes):
                            hash_value = hash_value.decode('utf-8')
                        already_disassembled.add(hash_value)

                print(f"[INFO] Found {len(already_disassembled)} already-disassembled samples")
                rows = [r for r in rows if r['sha256'] not in already_disassembled]
                print(f"[INFO] After filtering, {len(rows)} samples remain for decompilation")
        elif force:
            print(f"[INFO] Force mode: returning all {len(rows)} analyzed samples")

        # Randomize the order of rows before returning
        import random
        random.shuffle(rows)

        return rows
    except Exception as e:
        print(f"[ERROR] Failed to query analyzed samples: {e}")
        return []
    finally:
        if 'client' in locals():
            client.close()


def is_in_db(sha256, index_prefix, client=None):
    """
    Check if a sample with given SHA256 already exists in the database

    Args:
        sha256: File's SHA256 hash
        index_prefix: Table prefix for ClickHouse
        client: Optional ClickHouse client instance

    Returns:
        bool: True if file exists, False otherwise
    """
    table = f"{index_prefix}_basic_properties"
    close_client = False

    try:
        if client is None:
            client = settings.create_clickhouse_client()
            close_client = True

        # No need for FINAL when checking existence with LIMIT 1
        # Any version of the row proves the sample exists
        query = f"SELECT 1 FROM {table} WHERE sha256 = %(sha256)s LIMIT 1"
        result = client.query(query, parameters={"sha256": sha256})

        return len(result.result_rows) > 0
    except Exception as e:
        print(f"[ERROR] Failed to check if file is in DB: {e}")
        return False
    finally:
        if close_client and client:
            client.close()


def _get_code_dedup_table(magika_filter: Optional[str] = None) -> str:
    """
    Return the code-analysis table used for deduplication based on filetype.

    APK samples are disassembled into code_apk_smali_methods_references;
    everything else uses {CLICKHOUSE_CODE_PREFIX}_disassembled_functions_references.
    """
    if magika_filter == "apk":
        return "code_apk_smali_methods_references"
    code_prefix = os.getenv("CLICKHOUSE_CODE_PREFIX", "code_binja")
    return f"{code_prefix}_disassembled_functions_references"


def is_in_code_db(sha256, client=None, filetype=None):
    """
    Check if a sample with given SHA256 has already been disassembled.

    Args:
        sha256: File's SHA256 hash
        client: Optional ClickHouse client instance
        filetype: Magika filetype label (e.g. 'apk') to pick the right code table

    Returns:
        bool: True if file has been disassembled, False otherwise
    """
    table = _get_code_dedup_table(filetype)
    close_client = False

    try:
        if client is None:
            client = settings.create_clickhouse_client()
            close_client = True

        query = f"SELECT 1 FROM {table} WHERE sha256 = %(sha256)s LIMIT 1"
        result = client.query(query, parameters={"sha256": sha256})

        return len(result.result_rows) > 0
    except Exception as e:
        print(f"[ERROR] Failed to check if file is in code DB: {e}")
        return False
    finally:
        if close_client and client:
            client.close()


def _check_yara_matches_bulk(sha256_list):
    """
    Check which samples have already been YARA-scanned by querying yara_matches.

    The yara_matches table uses FixedString(32) binary sha256, so we convert
    hex strings with unhex().

    Args:
        sha256_list: List of hex SHA256 strings to check

    Returns:
        set: Set of hex SHA256 hashes that already have YARA matches
    """
    # unhex('64hexchars') adds 9 chars overhead per entry vs plain '64hexchars'.
    # 3900 works for plain strings (~67 chars each = 261K) but overflows
    # max_query_size (262144) with unhex() wrapping (~73 chars each = 285K).
    # 3500 × 73 = 255K stays safely under the limit.
    batch_size = 3500
    already_scanned = set()

    try:
        client = settings.create_clickhouse_client()

        total_batches = (len(sha256_list) + batch_size - 1) // batch_size
        for batch_num, i in enumerate(range(0, len(sha256_list), batch_size), 1):
            batch = sha256_list[i:i+batch_size]
            unhex_list = ",".join(f"unhex('{h}')" for h in batch)
            query = f"SELECT DISTINCT hex(sha256) FROM yara_matches FINAL WHERE sha256 IN ({unhex_list})"
            result = client.query(query)
            for row in result.result_rows:
                hash_value = row[0]
                if isinstance(hash_value, bytes):
                    hash_value = hash_value.decode('utf-8')
                already_scanned.add(hash_value.lower())

            if batch_num % 100 == 0 or batch_num == total_batches:
                print(f"[INFO] YARA dedup progress: batch {batch_num}/{total_batches}, found {len(already_scanned)} so far")

        print(f"[INFO] YARA dedup: found {len(already_scanned)} already-scanned samples")
        return already_scanned

    except Exception as e:
        raise RuntimeError(f"YARA dedup query failed — aborting to prevent reprocessing all samples: {e}")
    finally:
        if 'client' in locals():
            client.close()


def is_in_db_bulk(sha256_list, index_prefix, decompile, yara_scan=False, magika_filter=None):
    """
    Check which samples from a list of SHA256 hashes should be skipped.

    Args:
        sha256_list: List of SHA256 hashes to check
        index_prefix: Table prefix for ClickHouse
        decompile: Whether we're in decompile mode
        yara_scan: Whether we're in YARA-only mode (checks yara_matches table)
        magika_filter: Magika filetype label (e.g. 'apk') to pick the right code table

    Returns:
        set: Set of SHA256 hashes that should be skipped
    """
    if not sha256_list:
        return set()

    # YARA-only mode: check yara_matches table for already-scanned samples
    if yara_scan:
        return _check_yara_matches_bulk(sha256_list)

    basic_table = f"{index_prefix}_basic_properties"
    batch_size = 3900

    try:
        client = settings.create_clickhouse_client()

        # Step 1: Check basic_properties (required for both modes)
        in_basic_properties = set()
        for i in range(0, len(sha256_list), batch_size):
            batch = sha256_list[i:i+batch_size]
            placeholders = "','".join(batch)
            query = f"SELECT DISTINCT sha256 FROM {basic_table} FINAL WHERE sha256 IN ('{placeholders}')"
            result = client.query(query)
            for row in result.result_rows:
                hash_value = row[0]
                if isinstance(hash_value, bytes):
                    hash_value = hash_value.decode('utf-8')
                in_basic_properties.add(hash_value)

        if not decompile:
            # Analysis mode: skip samples already in basic_properties
            return in_basic_properties

        # Decompile mode: skip samples NOT in basic_properties + already decompiled
        not_in_basic = set(sha256_list) - in_basic_properties

        if not in_basic_properties:
            return set(sha256_list)  # None ready for decompilation

        # Step 2: Check disassembled table for samples that ARE in basic_properties
        # Disassembly is the ground truth for code analysis (it always succeeds,
        # unlike decompilation which may fail).
        disassembled_table = _get_code_dedup_table(magika_filter)

        already_disassembled = set()
        samples_to_check = list(in_basic_properties)
        for i in range(0, len(samples_to_check), batch_size):
            batch = samples_to_check[i:i+batch_size]
            placeholders = "','".join(batch)
            query = f"SELECT DISTINCT sha256 FROM {disassembled_table} FINAL WHERE sha256 IN ('{placeholders}')"
            result = client.query(query)
            for row in result.result_rows:
                hash_value = row[0]
                if isinstance(hash_value, bytes):
                    hash_value = hash_value.decode('utf-8')
                already_disassembled.add(hash_value)

        return not_in_basic | already_disassembled

    except Exception as e:
        print(f"[ERROR] Failed to check hashes in DB: {e}")
        return set()
    finally:
        if 'client' in locals():
            client.close()